Compare commits

...

337 Commits

Author SHA1 Message Date
John Preston
8f0606c9b6 fixed warning in os x and linux, 0.8.56 stable version 2015-09-10 16:43:46 +03:00
John Preston
1174936fb3 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-09-10 16:41:41 +03:00
John Preston
dbbf360e32 fixed report button in 0.8.56 stable version 2015-09-10 16:40:29 +03:00
John Preston
dcf1eb6321 os x and linux warning fixed in 0.8.56, win version uses prev commit 2015-09-10 16:29:37 +03:00
John Preston
825567a44f version 0.8.56 stable prepared 2015-09-10 16:20:22 +03:00
John Preston
1dfe3a60c4 langs updated 2015-09-10 16:13:53 +03:00
John Preston
cc1d46b486 Merge branch 'master' of https://bitbucket.org/johnprestonmail/telegram-desktop 2015-09-10 14:22:28 +03:00
John Preston
ee8ddd3714 langs updated 2015-09-10 14:22:18 +03:00
John Preston
00783d116a Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-09-10 14:20:50 +03:00
John Preston
96e69c091f custom links support done 2015-09-10 14:20:28 +03:00
John Preston
7bc27ba0bf fixed item resize on entities receive 2015-09-10 13:30:59 +03:00
John Preston
a42a76a4ec Merge branch 'master' of https://bitbucket.org/johnprestonmail/telegram-desktop 2015-09-09 18:36:54 +03:00
John Preston
f6740f6c9e langs updated 2015-09-09 18:17:20 +03:00
John Preston
0a80ef0006 writing report spam statuses to local storage 2015-09-09 11:19:25 +03:00
John Preston
ce678bad68 handling errors for spammers 2015-09-09 10:46:31 +03:00
John Preston
7a278729e1 report spam almost done 2015-09-08 20:22:29 +03:00
John Preston
28e09ab39e report spam panel added 2015-09-08 15:20:30 +03:00
John Preston
c45d9e9860 fixed crash in showNextNotify, started reportspam button 2015-09-07 18:53:46 +03:00
John Preston
ff39a2eacc Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-09-07 12:02:44 +03:00
John Preston
56d110efc2 fixed notifications in OS X 10.8 2015-09-07 12:02:17 +03:00
Christoph Auer
46f2154eab Updated README.md
Corrected style different typos (reverted from commit 12aeef86ea)
2015-09-04 16:15:57 +02:00
Christoph Auer
12aeef86ea Updated README.md
Corrected style different typos
2015-09-04 16:13:49 +02:00
John Preston
42d297f192 finally prepared 0.8.55 version 2015-09-02 13:22:15 +03:00
John Preston
4d7e90f7e9 fixed adding contacts from shared contacts 2015-09-02 13:20:33 +03:00
John Preston
ad089cb8da fixed entities update, version 0.8.55 stable 2015-09-02 00:33:44 +03:00
John Preston
fef40bb59f changelog added to 0.8.55 2015-09-01 17:00:32 +03:00
John Preston
cc4cd486bf version 0.8.55 prepared 2015-09-01 16:53:56 +03:00
John Preston
b0c23fb875 fixed couple of crashes, webpage doc init, added tooltips to overview, fixed shared links empty url, langs updated for 0.8.55 stable version 2015-09-01 16:50:56 +03:00
John Preston
25b6740f91 version 0.8.54.dev prepared, two crash fixes 2015-08-31 18:05:57 +03:00
John Preston
a0f7a4607d Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-31 18:04:29 +03:00
John Preston
3fe8b28a02 langs updated 2015-08-31 18:03:25 +03:00
John Preston
d840ec37db preparing new dev version, date tooltip on timestamp hover, year marks in old day labels, new auth code / sms algo 2015-08-31 17:27:20 +03:00
John Preston
84436a34b0 gifs and pdfs attached by link, prepare for 0.8.54 stable version 2015-08-30 17:57:21 +03:00
John Preston
5226bb485b Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-28 19:30:47 +03:00
John Preston
77b0ca2220 fixed entities, version 0.8.53.dev 2015-08-28 19:30:32 +03:00
John Preston
9ac90115d8 fix for os x build, 0.8.53.dev 2015-08-28 18:59:43 +03:00
John Preston
9a51e2c7e3 fixed mail links in Win10, include muted chats in the unread badge setting, shared links overview and search, version 0.8.53.dev 2015-08-28 18:15:56 +03:00
John Preston
bfde1d2143 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-24 13:53:14 +03:00
John Preston
4afa1aace0 serverside links parsing used 2015-08-24 13:53:04 +03:00
John Preston
8dff205949 links support started 2015-08-21 14:23:44 +03:00
telegramdesktop
85a2fb1876 Merge pull request #1020 from eduardosm/disable-updater
Allow to disable the updater using a marco
2015-08-20 13:41:13 +03:00
Eduardo Sánchez Muñoz
4e65b2724d Allow to disable the updater using a marco
Adding "DEFINES += TDESKTOP_DISABLE_AUTOUPDATE" to Telegram.pro would disable the updater. This eases creating packages for Linux distributions, where updates are handled by the corresponding package manager.
2015-08-20 00:00:37 +02:00
John Preston
5a1079e367 version 0.8.52 with some fixes 2015-08-19 16:54:17 +03:00
John Preston
20f1610d60 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-17 12:29:32 +03:00
John Preston
6dfa9dd3b5 langs updated, version 0.8.51 stable 2015-08-17 12:29:00 +03:00
John Preston
6a05924dcf version 0.8.51 prepared, with win7 and winxp fix 2015-08-16 19:37:56 +03:00
John Preston
2039cd4660 fixed win7 start 2015-08-16 18:27:34 +03:00
John Preston
8259314721 fixed crash in notifyShowNext(), not always enum pinned icons 2015-08-16 17:42:41 +03:00
John Preston
d32e476d96 version 0.8.50.dev fixed crash in Go to FAQ 2015-08-14 19:31:29 +03:00
John Preston
856502a06a Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-14 18:50:03 +03:00
John Preston
48ee79ed9d langs updated for 0.8.50.dev 2015-08-14 18:49:49 +03:00
John Preston
1897dad06b Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-14 18:48:18 +03:00
John Preston
a95822b2ec version 0.8.50.dev - fixes in Windows toast notifications support, fixes in linux input methods 2015-08-14 18:47:56 +03:00
John Preston
4cb22530ae Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-14 18:30:24 +03:00
John Preston
fa501b18e4 crashfix in sending audio files 2015-08-14 18:24:40 +03:00
John Preston
9002a49fcc added patch for fcitx input in linux 2015-08-13 18:26:38 +03:00
John Preston
6621171e60 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-13 18:11:18 +03:00
John Preston
c16ea77c52 altering AppUserModelId in pinned shortcut in Windows 2015-08-13 18:11:07 +03:00
John Preston
efa62ece72 added fcitx inputcontext plugin for linux version 2015-08-13 18:09:04 +03:00
telegramdesktop
869194f16a Merge pull request #819 from ner0x652/patch-1
Update README.md with a new supported OS
2015-08-13 15:36:10 +03:00
telegramdesktop
b5c4c34164 Merge pull request #843 from NgoHuy/ibus
Add Ibus supported by Qt5 officially
2015-08-13 15:23:21 +03:00
John Preston
30e96a1d5e improved translation, 0.8.49.dev 2015-08-12 21:09:03 +03:00
John Preston
82dc07ee42 fixed warnings, version 0.8.49.dev 2015-08-12 21:05:25 +03:00
John Preston
6a41d307bb Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-12 21:02:31 +03:00
John Preston
afac237f03 improved window activation in os x 2015-08-12 21:02:20 +03:00
John Preston
8511181508 version 0.8.49.dev - block/unblock users in profile, ask question and faq link in Settings, Windows 8/8.1/10 toast notifications 2015-08-12 21:01:32 +03:00
John Preston
cf9737e762 Windows 8/8.1/10 toast notifications support added 2015-08-11 22:50:48 +03:00
John Preston
1b16064db6 0.8.48 stable version with clear history and conversation search 2015-08-08 12:28:34 +03:00
John Preston
bcd8334263 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-08 12:23:20 +03:00
John Preston
897699dd04 langs updated 2015-08-08 12:22:47 +03:00
John Preston
3a97bfd110 deadlock fixed in mtpConnection 2015-08-08 12:14:47 +03:00
John Preston
9792d5df76 fixed warnings, version 0.8.47.dev 2015-08-07 15:20:19 +03:00
John Preston
5dd8eab606 version 0.8.47.dev - search in conversation, clear history, delete conversation, saving cleared conversations locally, removed contacts from left column 2015-08-07 15:11:50 +03:00
John Preston
61729119c5 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop 2015-08-05 18:27:09 +03:00
John Preston
6225bd3bcb fixed crash on sticker send, version 0.8.46 2015-08-05 16:48:27 +03:00
John Preston
aabf136690 search in conversation, clear history and delete conversation for all chats 2015-08-04 18:01:47 +03:00
John Preston
ad8e3f36ad fixed pointer, version 0.8.45 2015-08-03 13:22:05 +03:00
John Preston
0d381870a7 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-03 13:05:56 +03:00
John Preston
2a66ab036c Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-03 12:59:55 +03:00
John Preston
af948466f4 langs updated, version 0.8.45 2015-08-03 12:59:41 +03:00
John Preston
d50f3f475f fixed crash in send actions 2015-08-03 11:25:25 +03:00
John Preston
df78831592 trying appindicator first in xfce 2015-08-02 22:15:26 +03:00
John Preston
a0dc865bdc version 0.8.45 stable 2015-08-02 21:07:46 +03:00
John Preston
878604225c langs updated 2015-08-02 21:04:53 +03:00
John Preston
85d0c42d73 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-08-02 20:40:58 +03:00
John Preston
c89ee8224c gnome using custom tray icon, win10 multiple desktops shadow fix 2015-08-02 20:40:44 +03:00
John Preston
bf74d02079 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-08-02 11:07:34 +03:00
John Preston
a9a4623c63 fixed photosendbox doc and contact display 2015-08-02 11:07:26 +03:00
John Preston
b9022ada09 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-08-01 16:13:00 +03:00
John Preston
f290fef3a3 added XCODEold.md to git 2015-08-01 15:56:30 +03:00
John Preston
29b8596439 instructions updated 2015-08-01 15:56:10 +03:00
John Preston
14ae657073 improved deploy script 2015-08-01 11:34:56 +03:00
John Preston
637b6d9e6e Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-08-01 11:33:45 +03:00
John Preston
86325e889f 0.8.44 dev version - media typings support 2015-08-01 11:33:00 +03:00
John Preston
84a790f3cd added mac32 version for deploy 2015-07-31 17:26:37 +03:00
John Preston
ab23ef4c4f version 0.8.43 stable 2015-07-31 17:18:40 +03:00
John Preston
9aba996403 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-07-31 16:43:42 +03:00
John Preston
c735b6655d fixed autoupdater, 0.8.42.dev version 2015-07-31 16:43:18 +03:00
John Preston
55e7ab75c9 PrepareMac fixed 2015-07-31 14:11:23 +03:00
John Preston
eab0af50e0 version 0.8.43 stable 2015-07-31 14:04:08 +03:00
John Preston
f5259b58e5 fixed bug in dev -> stable update, version 0.8.42.dev 2015-07-31 13:32:33 +03:00
John Preston
559e387d15 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-07-30 12:48:29 +02:00
John Preston
db78095c79 0.8.43 stable version (equal to 0.8.42.dev) 2015-07-30 12:47:12 +02:00
John Preston
46ad7a31ad returned Xcode project to Qt 5.5 2015-07-28 15:58:59 +02:00
John Preston
b5d7af65f8 0.8.42.dev version ready - dev updates to stable, new mac32 update url (for old OS X versions) 2015-07-28 15:49:16 +02:00
John Preston
b0d67a65a8 temp downgrade to Qt 5.4 on OS X (Qt 5.5 does not support OS X 10.7) 2015-07-28 15:47:21 +02:00
John Preston
aaf347432b stable version 0.8.42 - new unread loading and Qt 5.5.0 2015-07-25 18:54:01 +02:00
John Preston
021fbb8ad4 fixed crash in recording 2015-07-25 01:43:11 +02:00
John Preston
5fe1b7b51f fixed two crashes, enabled not qt tray icon in pantheon env 2015-07-24 10:37:17 +02:00
John Preston
f0c580db2d fixed unity count, version 0.8.41.dev 2015-07-21 18:12:21 +02:00
John Preston
8339c51017 added pretty number formatting to Xcode and Qt Creator projects, version 0.8.41.dev 2015-07-21 17:49:14 +02:00
John Preston
af7cd9680d qt patch updated, version 0.8.41.dev 2015-07-21 17:40:51 +02:00
John Preston
20e7d9e036 fixed some issues with forwarding, Great Minds sticker pack info, windows start 2015-07-21 17:35:08 +02:00
John Preston
f1de06424e Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-07-21 16:55:43 +02:00
John Preston
ff0f8c254f new dev version 0.8.41 with pretty number formatting, Qt tray icon for all linux systems and more 2015-07-21 16:55:23 +02:00
John Preston
f0f0be9452 fixed Qt tray icon for KDE, using Qt tray icon for all graphic envs, testing 2015-07-21 15:29:38 +02:00
John Preston
c553ed6775 added flac mime type when sending files, version 0.8.40.dev 2015-07-17 22:30:24 +03:00
John Preston
c786a2bf9c new history loading (one-request loading always), fixed audio unlistened status on media send, fixed flac playing, fixed os x crashes, version 0.8.40.dev 2015-07-17 22:17:37 +03:00
John Preston
e193a86eaa fixed Qt 5.5 image scale crash, fixed empty photo in mediaview crash 2015-07-15 14:23:59 +03:00
John Preston
d5afafcdd0 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-07-14 22:07:37 +03:00
John Preston
5b9cdbd98a dev version 0.8.39 - Qt 5.5.0, repeat button in audio play 2015-07-14 22:07:21 +03:00
John Preston
20fe4ccc55 Qt 5.5.0 added to Xcode and Qt Creator project files 2015-07-14 19:48:49 +03:00
John Preston
8bb376798e removed old warning disable for clang 2015-07-14 16:18:37 +03:00
John Preston
7d51682edd moving to Qt 5.5.0 2015-07-14 15:21:13 +03:00
John Preston
f37159911c Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-07-13 20:56:55 +03:00
John Preston
4f7f569ddd fixed double play of audio after download complete 2015-07-13 20:56:44 +03:00
John Preston
b352d38acf multimedia keys handle added 2015-07-13 20:55:59 +03:00
John Preston
5663841742 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-07-13 14:14:19 +03:00
John Preston
8e2943fe11 filling optimized 2015-07-13 14:14:15 +03:00
John Preston
5595570dfe optimized emoji insert 2015-07-13 14:08:17 +03:00
John Preston
afa28e9754 optimized emoji insertion 2015-07-13 13:45:09 +03:00
John Preston
5a38cb4581 fixed crash 2015-07-12 18:39:56 +03:00
John Preston
cf119568a1 version 0.8.38 graphics changed 2015-07-03 21:03:47 +03:00
John Preston
8b1195df8d Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-07-03 19:20:15 +03:00
John Preston
7021156732 version 0.8.38 stable with media playback and force_reply in conversations with bots 2015-07-03 19:19:46 +03:00
John Preston
4f2ff9e343 added padding in player, bot commands description QString -> Text (emoji support) 2015-07-03 18:55:22 +03:00
John Preston
3dc7c3e776 playerwidget added to .xcodeproj and .pro files, version 0.8.37.dev 2015-07-03 14:00:11 +03:00
John Preston
e509c14ed1 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop into dev 2015-07-03 13:48:39 +03:00
John Preston
a65ef6fb00 preparing version 0.8.37.dev 2015-07-03 13:48:28 +03:00
John Preston
4c1d12fa70 langs updated 2015-07-03 13:46:48 +03:00
John Preston
1268774517 audio player done 2015-07-03 11:47:16 +03:00
John Preston
61a2a44584 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop into dev 2015-07-01 01:59:21 +03:00
John Preston
89d68cab3e version 0.8.36 prepared 2015-07-01 00:27:56 +03:00
John Preston
f7d55005c4 audio documents playback added, audio documents suppress on voice message, and both suppress on notify added 2015-07-01 00:07:05 +03:00
John Preston
387694f477 langs updated for 0.8.35.dev 2015-06-30 09:40:35 +03:00
John Preston
bc58c73fb4 improved deadlock fix 0.8.35.dev version 2015-06-30 01:22:14 +03:00
John Preston
a4223ec3e0 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-06-30 01:09:29 +03:00
John Preston
d57f6a973f version 0.8.35.dev ready with some optimizations 2015-06-30 01:09:23 +03:00
John Preston
24ffa08d6e langs updated 2015-06-30 01:06:40 +03:00
John Preston
4b2fccf762 changelog for stable version added 2015-06-29 15:47:25 +03:00
John Preston
da5887fbb5 fixed two layout bugs 2015-06-29 15:43:41 +03:00
John Preston
9926357af5 fixed one deadlock, langs change name -> username 2015-06-29 15:25:28 +03:00
John Preston
ef9aaf659c fixed drag-n-drop in OS X for 0.8.34.dev version 2015-06-28 18:41:13 +03:00
John Preston
dd797d5d46 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-06-28 16:16:30 +03:00
John Preston
9c91bc1677 QDrag exec moved to timeout for 0.8.34.dev 2015-06-28 16:16:25 +03:00
John Preston
4f3aaa3e7f fixed overview for 0.8.34.dev 2015-06-28 16:15:07 +03:00
John Preston
51451181f8 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-06-28 15:37:43 +03:00
John Preston
405dfbebae forward by drag-n-drop from media overview, fixed video overview, stickers enlarged and optimized, preparing version 0.8.34.dev 2015-06-28 15:37:10 +03:00
John Preston
8e82b8894d forward-by-drag-n-drop done for images, documents, stickers and messages-by-date 2015-06-27 16:02:00 +03:00
John Preston
b84101b12e Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-06-26 12:08:20 +03:00
John Preston
5182c58292 langs updated 2015-06-26 12:08:14 +03:00
John Preston
d81d6bbeaa drag-n-drop files to dialogs list 2015-06-26 12:07:59 +03:00
John Preston
ddac19788f fixed ipv6 edit in mac/linux for version 0.8.33.dev 2015-06-25 22:05:20 +03:00
John Preston
990c085fc5 version 0.8.33.dev changelog added 2015-06-25 21:08:20 +03:00
John Preston
2940561ee2 added IPv6 setting checkbox in Connection Type box in Settings, version 0.8.33.dev 2015-06-25 21:04:40 +03:00
John Preston
890352ef97 version 0.8.32 crashfix + ipv6 disabled because of KIS 2015-06-25 13:12:38 +03:00
John Preston
88c44caf9d 0.8.31.dev version ready 2015-06-24 23:05:14 +03:00
John Preston
3f6664c82a version 0.8.30.dev fixed commands list 2015-06-24 21:40:32 +03:00
John Preston
793a2ec90c version 0.8.30 with bots support and forward-by-dragndrop 2015-06-24 20:24:48 +03:00
John Preston
780d00bd8c langs updated 2015-06-24 14:10:05 +03:00
John Preston
607169cbda version 0.8.29.dev with some more improvements 2015-06-22 11:51:39 +03:00
John Preston
fd1cbb45f2 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-06-22 11:50:10 +03:00
John Preston
c113eafdc8 langs updated 2015-06-22 11:49:55 +03:00
Severus
0647bbba0e Add Ibus symbol to Qt5 inputmethod 2015-06-21 10:20:56 +07:00
John Preston
ea83f90e15 start button positioning fixed 2015-06-20 01:13:56 +03:00
John Preston
dfd5cb4f4e sticker set menu named Add Stickers, improved stickers panel 2015-06-20 00:58:01 +03:00
John Preston
ea4186eb0c Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-06-19 15:41:19 +03:00
John Preston
e7914ac468 improved custom keyboard 2015-06-19 15:39:33 +03:00
John Preston
052e0b827a improved sync, version 0.8.28.dev 2015-06-18 20:50:41 +03:00
John Preston
689b51e607 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-18 20:27:22 +03:00
John Preston
11384743bc improved mentions dropdown, version 0.8.28.dev 2015-06-18 20:24:54 +03:00
John Preston
d8d733e24d langs updated 2015-06-18 20:22:49 +03:00
John Preston
391b370b0f changed s|sg to start|startgroup in telegram.me links, version 0.8.27.dev 2015-06-17 23:29:58 +03:00
John Preston
9b863fcf5b version 0.8.27.dev ready 2015-06-17 23:07:25 +03:00
John Preston
609868858b Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-17 22:43:09 +03:00
John Preston
c291bf0861 version 0.8.27.dev ready 2015-06-17 22:43:03 +03:00
John Preston
bfd5482c15 langs updated 2015-06-17 22:42:44 +03:00
John Preston
52ea153c31 langs updated 2015-06-17 22:05:05 +03:00
John Preston
287c99ed2f 0.8.26.dev version with lang updates 2015-06-17 00:11:34 +03:00
John Preston
8e60f54dac Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-17 00:04:22 +03:00
John Preston
1f3fae53ca removed QCoreWlanEnginePlugin, some langs updates 2015-06-17 00:04:18 +03:00
John Preston
05ac97526e 0.8.26.dev version with fixed schema 2015-06-17 00:01:43 +03:00
John Preston
5fadfed47a test markup removed, version 0.8.25.dev ready 2015-06-15 20:48:25 +03:00
John Preston
ec1d547f27 warnings fixed, 0.8.25.dev code for os x and linux 2015-06-15 20:36:16 +03:00
John Preston
9fee0ace4c styles gen tab fixed, linux nautilus changed to xdg-open, source for 0.8.25.dev version 2015-06-15 20:30:02 +03:00
John Preston
84c2a33c18 0.8.25.dev version with ipv6, bots profiles, keyboard and command autocomplete + elided text align fixed 2015-06-15 20:19:24 +03:00
Cornel Punga
8e1c10463f Update README.md with a new supported OS
It also work on Fedora 22. Tested!
2015-06-11 12:34:35 +03:00
John Preston
83744e77d1 bot description displayed in message history, bot commands are highlighted and sent by click 2015-06-10 18:54:24 +03:00
John Preston
85635dbefd 31 layer, IPv6 support, bot support started 2015-06-10 15:48:26 +03:00
telegramdesktop
11e6d04dc7 Merge pull request #671 from Streppel/patch-2
Updated build instructions for linux
2015-06-09 13:19:34 +03:00
telegramdesktop
e89e909c5e Merge pull request #613 from Streppel/patch-1
Update QTCREATOR.md
2015-06-09 13:16:49 +03:00
John Preston
7afda6dfc3 changelog added in 0.8.24 2015-06-08 15:25:23 +03:00
John Preston
3a35b6c5fd version 0.8.24 with new sticker packs buttons done 2015-06-08 15:24:21 +03:00
John Preston
c449e45def Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-08 15:19:42 +03:00
John Preston
6c704e3595 langs done 2015-06-08 15:19:25 +03:00
John Preston
318794692f trying to fix undefined behaviour in notifyShowNext() 2015-06-06 20:08:44 +03:00
John Preston
62a0878198 linear anim for sticker packs icons 2015-06-05 20:06:37 +03:00
John Preston
cb1c8c4aea version 0.8.23.dev with sticker packs buttons prepared 2015-06-05 18:59:58 +03:00
John Preston
1ee5c14b85 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-05 18:55:58 +03:00
John Preston
01410e5d92 fixed crash in new sticker icons 2015-06-05 18:55:46 +03:00
John Preston
0e5d26a469 sticker packs buttons improved for os x 2015-06-05 18:37:11 +03:00
John Preston
95e5b7be0b stickers pan with packs buttons 2015-06-05 18:02:20 +03:00
John Preston
6d8f277904 version 0.8.22.dev prepared - new OpenAL version, new Auto-Update (no temp -> ready rename), some fixes 2015-06-04 16:04:34 +03:00
John Preston
b6325ec9d4 0.8.24.dev test (not production!) version ready, updaters improved (no tdata copying while updating) 2015-06-04 14:59:30 +03:00
John Preston
3373a2f382 skipping tdata folder when updating in linux, log file name fixed for Updater in os x 2015-06-04 14:51:52 +03:00
John Preston
9fcd878f1d Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-04 13:55:29 +03:00
John Preston
1c50c35abe 0.8.23.dev test (not production!) version ready, autoupdater cleaning old ready dir 2015-06-04 13:54:56 +03:00
John Preston
6a0ee57054 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-04 13:52:29 +03:00
John Preston
00adfa6f3d improved logging of Updater in os x 2015-06-04 13:52:16 +03:00
John Preston
6058c8862e improved Updater in Linux (DebugLogs for Updater in working dir) 2015-06-04 13:50:53 +03:00
John Preston
e5f2f68188 fixed recording display, 0.8.22.dev test version ready (not production!) 2015-06-03 21:35:26 +03:00
John Preston
c6ee2772e2 new updater fixed for os x, 0.8.22.dev test version (not production) 2015-06-03 21:29:57 +03:00
John Preston
16caff1ca4 test dev version 0.8.22 (not production!) prepared, fixed display of group from which I left 2015-06-03 21:20:57 +03:00
John Preston
ac2ae16f47 MSVC instruction improved for OpenAL, merging autoupdate code for all OSs (not tested yet!) 2015-06-03 21:13:01 +03:00
John Preston
c40758f30d openal updated in Windows 2015-06-03 15:18:46 +03:00
John Preston
16aafe28d5 added minimum system version to Info.plist, added suspended flag to OpenAL handle 2015-06-03 14:57:14 +03:00
John Preston
db96605332 changelog added in 0.8.21 stable 2015-06-02 17:37:15 +03:00
John Preston
31954f5266 stable version 0.8.21 2015-06-02 17:31:25 +03:00
John Preston
66718de562 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-02 17:01:13 +03:00
John Preston
e2d02f4e4b fixed gif animations on retina display 2015-06-02 17:00:30 +03:00
John Preston
e3d4bf192f 0.8.20.dev version linux local8bit -> utf8 2015-06-02 15:29:02 +03:00
John Preston
e7b94f3d3a version 0.8.20.dev prepared (some fixes) 2015-06-02 14:22:00 +03:00
John Preston
30be7af3e3 langs updated 2015-06-02 14:17:14 +03:00
John Preston
9069b4b269 langs updated for 0.8.19.dev 2015-06-01 23:40:09 +03:00
John Preston
040c80ae0b Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-01 23:29:28 +03:00
John Preston
a87c9b15d2 FixMake done for linux 32bit 2015-06-01 23:29:21 +03:00
John Preston
635cae4f94 version 0.8.19 with fixed stickerpacks and voice messages changelog 2015-06-01 23:24:09 +03:00
John Preston
67e6d12384 fixed build instructions 2015-06-01 15:56:55 +03:00
John Preston
9ccdc0e94b fixed build instructions 2015-06-01 15:52:44 +03:00
John Preston
762c0aa579 fixed build instructions 2015-06-01 15:49:53 +03:00
John Preston
5dc78932d7 instructions for building ffmpeg added 2015-06-01 15:44:10 +03:00
John Preston
e9c5f18142 fixed circle, final 0.8.18.dev-2 2015-06-01 14:21:41 +03:00
John Preston
175023b2dc Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-06-01 14:15:30 +03:00
John Preston
0a7c42c59a linux audio capture improved 2015-06-01 14:15:07 +03:00
John Preston
42122fdea0 added some stickers logging , 0.8.18 dev version ready 2015-06-01 13:58:46 +03:00
John Preston
4bfe65d8ab ffmpeg added to os x build 2015-06-01 12:42:56 +03:00
John Preston
1b06fe1220 ffmpeg audio play / capture done in os x 2015-05-30 19:30:47 +03:00
John Preston
1b11a7feae voice message recording / sending done 2015-05-29 21:52:43 +03:00
John Preston
6b60b51775 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-05-26 11:19:52 +03:00
John Preston
981162e6b9 ffmpeg support for audio added 2015-05-26 11:19:47 +03:00
John Preston
c5dd99b1f1 added libmpg123 and libfaad to linux version 2015-05-24 21:58:42 +03:00
John Preston
53c536d76d libmpg123, libfaad and libmp4ff added to os x build 2015-05-24 21:39:07 +03:00
John Preston
e3ab8821b9 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-05-24 20:59:04 +03:00
John Preston
6befea6a13 implemented .mp3 playing through libmpg123 and .m4a playing through libfaad2 in voice messages 2015-05-24 20:58:39 +03:00
John Preston
f24e3c6192 fixed audio mark as read after download 2015-05-23 18:57:16 +03:00
John Preston
63e593b3a8 fixed retina boxshadow 2015-05-22 14:43:47 +03:00
John Preston
7ca4ec1bed box shadows and bg changed, retina shadow draw fixed 2015-05-22 14:14:52 +03:00
John Preston
8ed1961886 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-05-21 18:09:07 +03:00
John Preston
ad44e45695 version 0.8.17 prepare fixed 2015-05-21 18:08:53 +03:00
John Preston
962ec1e454 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-05-21 16:52:23 +03:00
John Preston
bcc718b5a9 QTKit.framework removed from build 2015-05-21 16:52:15 +03:00
John Preston
ac50119dd9 version 0.8.17 crash fix 2015-05-21 16:46:49 +03:00
John Preston
e953e11b7f rounding gifs in messages history 2015-05-21 15:08:05 +03:00
John Preston
18361ce144 sticker packs order now is saved, new packs added to the top, fixed emoji categories icons 2015-05-21 13:44:26 +03:00
John Preston
cfdacb09ac improved langs support, v 0.8.16 commit 2015-05-21 01:02:55 +03:00
John Preston
5bb83afc7a version 0.8.16 stable - fixed select of a sticker reply 2015-05-21 00:33:39 +03:00
John Preston
f35853c42e version 0.8.15.dev ready 2015-05-20 22:54:15 +03:00
John Preston
44492b9e2d fixed round corners for forward bubble and for retina 2015-05-20 22:50:05 +03:00
John Preston
a46bb46e54 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-05-20 22:29:08 +03:00
John Preston
84c190c293 langs updated 2015-05-20 22:28:52 +03:00
John Preston
9da4a21f94 caption display in video, caption display in mediaview, removed Loading / Failed webpage display, rounded corners everywhere 2015-05-20 22:28:24 +03:00
John Preston
2a3a351445 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-05-20 00:20:14 +03:00
John Preston
928cd0a8cb Great Minds went to langpack 2015-05-20 00:19:11 +03:00
John Preston
509d2189c1 added stickersetbox to .pro file 2015-05-19 19:02:41 +03:00
John Preston
725fa87188 removing new added stickers from custom 2015-05-19 18:58:22 +03:00
John Preston
147eaab59a prepared version 0.8.14.dev 2015-05-19 18:48:00 +03:00
John Preston
890ec34202 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-05-19 18:46:51 +03:00
John Preston
92858dc7d3 sticker packs done 2015-05-19 18:46:45 +03:00
John Preston
4440b42848 openssl multithread locks support added 2015-05-19 18:42:32 +03:00
John Preston
136fd5c8e1 added lock for dcOptions, emojibox large emoji display, session management improved, new emoji dropdown started 2015-05-14 19:50:04 +03:00
John Preston
d92356ce28 improved emoji text replaces 2015-05-12 18:01:49 +03:00
John Preston
47f673aa69 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop into dev 2015-05-12 17:25:56 +03:00
John Preston
64d4a3e8a8 removed QT_STYLE_OVERRIDE env variable read 2015-05-12 15:03:10 +03:00
John Preston
87e72fc7aa langs updated 2015-05-12 14:53:50 +03:00
John Preston
6d44a3ec95 emoji sprites improved 2015-05-11 16:33:02 +03:00
John Preston
eb47eabba4 langs updated 2015-05-11 16:31:37 +03:00
John Preston
cfb0de69f0 next layer, stickerdata moved from documentdata 2015-05-11 15:44:27 +03:00
John Preston
2d46cc4c11 preparing version 0.8.13 with new emoji pan 2015-05-11 13:18:57 +03:00
John Preston
9761c5bb56 fixed 0.8.12.dev version 2015-05-08 19:01:11 +03:00
John Preston
7d6bf487a7 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-05-08 17:44:40 +03:00
John Preston
6fda783fc1 version 0.8.12.dev with new emojis support 2015-05-08 17:44:07 +03:00
John Preston
aeaa039542 cmd+backspace support added 2015-05-08 17:36:05 +03:00
John Preston
62e85b1cf0 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-05-08 16:08:36 +03:00
John Preston
080a08fa76 some optimizations in shortchatmessage 2015-05-08 16:06:53 +03:00
John Preston
be1eb1c693 Merge branch 'emojis' into dev 2015-05-08 16:02:33 +03:00
John Preston
daf5d4acdb removed temp code 2015-05-08 16:02:24 +03:00
John Preston
f4781b9117 recent emojis more frequent update 2015-05-08 15:58:34 +03:00
John Preston
0f778431f5 new emoji support done 2015-05-08 15:45:14 +03:00
John Preston
2121ce1210 version 0.8.11 stable is prepared 2015-05-01 12:14:43 +03:00
John Preston
c54aadcac3 version 0.8.10.dev with fixes in webpage layout, history load and history msgs reg 2015-05-01 02:05:19 +03:00
John Preston
3fc74166de langs updated 2015-05-01 02:03:22 +03:00
John Preston
749b13adec dev version 0.8.9 fixed telegram.me joinchat 2015-04-30 18:11:21 +03:00
John Preston
c33ddf49ff langs updated 2015-04-30 18:09:06 +03:00
John Preston
bc1e2dcb54 langs updated 2015-04-30 16:58:21 +03:00
John Preston
9a193ed88f new emojis rendered 2015-04-30 16:56:33 +03:00
John Preston
fb32c5bcd1 version 0.8.8.dev - audio listened status, photo caption display, map places name-address display, gray muted badges, invite links support, some fixes 2015-04-30 16:53:36 +03:00
John Preston
67b46d9aac Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into emojis 2015-04-25 16:55:12 +03:00
Natan Streppel
4b3b641152 Updated build instructions for linux
Qt project changed their domain to qt.io
2015-04-24 23:45:34 -03:00
John Preston
aeb2ec68ef added some debug info in autoupdate, version 0.8.7 stable prepared 2015-04-24 19:02:45 +03:00
John Preston
e1c304c2e5 langs updated, qt multimedia dependency removed from xcode project 2015-04-24 18:59:02 +03:00
John Preston
c7de9d4668 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-04-23 22:58:41 +03:00
John Preston
45aa6dff75 langs updated 2015-04-23 22:58:35 +03:00
John Preston
8b0562b946 lang updated 2015-04-23 22:58:02 +03:00
John Preston
373f1a0ff0 added old chat bg to git and to telegram_linux.qrc 2015-04-23 19:03:31 +03:00
John Preston
058f6bd8de Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-04-23 19:02:11 +03:00
John Preston
a707f7b9e7 0.8.6 prepared - forwarded info display in media (except photos and stickers), grouped forwarded notification, old bg returned, critical mtproto fix 2015-04-23 19:01:43 +03:00
John Preston
61d1574023 added forwarded and from names in files / audios / videos / contacts display, grouped notification for many forwarded messages, fix of getDifference() for new_session_created 2015-04-23 18:50:11 +03:00
John Preston
fe59898e5c changed chat bg in linux resource file 2015-04-22 15:05:29 +03:00
John Preston
0df1952a04 changelog added 2015-04-22 14:33:52 +03:00
John Preston
1d8ec7c7d6 dev-version 0.8.5 prepared - new photoviewer, new default chat background 2015-04-22 14:21:45 +03:00
John Preston
b770ea4f8d optimized new mediaview, os x new mediaview done 2015-04-19 22:01:45 +03:00
John Preston
b31f2d952c regen emojis started 2015-04-19 14:16:48 +03:00
John Preston
370c47d95b new photoviewer adapted for documents 2015-04-19 13:29:19 +03:00
John Preston
9b3767e77c Merge branch 'master' of https://github.com/telegramdesktop/tdesktop into dev 2015-04-16 18:00:43 +03:00
John Preston
196b643e7d Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-04-16 18:00:16 +03:00
John Preston
c9626c140c sending ping_delay_disconnect instead of getDifference by no-updates timeouts 2015-04-16 17:59:42 +03:00
John Preston
a356a4dc06 dont cache default background image, cmd+m minimizes window in os x 2015-04-16 14:14:25 +03:00
John Preston
34d5c3777b Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-04-15 11:07:27 +02:00
John Preston
ac74a08d53 fixed crash in photo update from 2015-04-15 09:23:39 +02:00
John Preston
47b0f901c8 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2015-04-13 10:59:32 +01:00
John Preston
18103aae75 xcode project updated 2015-04-13 10:59:28 +01:00
John Preston
cc9ae13297 fixed vimeo links preview 2015-04-13 10:58:30 +01:00
John Preston
334b3ac706 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop into dev 2015-04-13 10:41:01 +01:00
John Preston
a9063eb87b Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2015-04-13 09:58:34 +01:00
John Preston
175e0f71ce fixed reply to text color 2015-04-13 09:58:13 +01:00
John Preston
782c254ea0 started photoviewer redesign 2015-04-11 11:04:10 +01:00
Natan Streppel
14bd911879 Update QTCREATOR.md
updated correct path to patch, which is actually under /Telegram and not on /tdesktop
2015-03-29 13:36:55 -03:00
296 changed files with 79801 additions and 41993 deletions

84
MSVC.md
View File

@@ -39,7 +39,7 @@ Extract to **D:\TBuild\Libraries**
http://www.zlib.net/ > Download [**zlib source code, version 1.2.8, zipfile format**](http://zlib.net/zlib128.zip)
Extract to **D:\TBuild\Libraries\**
Extract to **D:\\TBuild\\Libraries\\**
#####Building library
@@ -66,13 +66,23 @@ or download in ZIP and extract to **D:\TBuild\Libraries\**, rename **libexif-0.6
* Build Debug configuration
* Build Release configuration
####OpenAL Soft
####OpenAL Soft, slightly patched
Get sources by git in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild/libraries** and run
git clone git://repo.or.cz/openal-soft.git
to have **D:\TBuild\Libraries\openal-soft\CMakeLists.txt**
to have **D:\TBuild\Libraries\openal-soft\CMakeLists.txt**, then in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild/libraries/openal-soft** and run
git checkout 9479ea656b
Apply patch
* OR copy (with overwrite!) everything from **D:\\TBuild\\tdesktop\\\_openal\_patch\\** to **D:\\TBuild\\Libraries\\openal-soft\\**
* OR in Git Bash go to **/d/tbuild/libraries/openal-soft/** and run
git apply ./../../tdesktop/Telegram/_openal_patch.diff
#####Building library
@@ -87,48 +97,60 @@ to have **D:\TBuild\Libraries\openal-soft\CMakeLists.txt**
* OpenAL32 Properties > C/C++ > Code Generation > Runtime Library = **Multi-threaded (/MT)** **OK**
* common Properties > C/C++ > Code Generation > Runtime Library = **Multi-threaded (/MT)** **OK**
####libogg 1.3.2
Get sources from http://xiph.org/downloads/ in [ZIP](http://downloads.xiph.org/releases/ogg/libogg-1.3.2.zip) and extract to **D:\TBuild\Libraries\**
#####Building library
* Open in VS2013 **D:\TBuild\Libraries\libogg-1.3.2\win32\VS2010\libogg_static.sln** > One-way upgrade **OK**
* Build Debug configuration
* Build Release configuration
####Opus codec, opusfile
####Opus codec
Get sources by git in [Git Bash](http://git-scm.com/downloads) go to **/d/tbuild/libraries** and run
git clone git://git.opus-codec.org/opus.git
git clone git://git.xiph.org/opusfile.git
git clone https://github.com/telegramdesktop/opus.git
to have **D:\TBuild\Libraries\opus\win32**
#####Building libraries
* Open in VS2013 **D:\TBuild\Libraries\opus\win32\VS2010\opus.sln** > One-way upgrade **OK**
* Open in VS2013 **D:\TBuild\Libraries\opus\win32\VS2010\opus.sln**
* Build Debug configuration
* Build Release configuration
* Open in VS2013 **D:\TBuild\Libraries\opusfile\win32\VS2010\opusfile.sln** > One-way upgrade **OK**
* For **Debug** and **Release** configurations
* opusfile > C/C++ > General > Additional include directories > Add **../../../libogg-1.3.2/include;**
* Build Debug configuration
* Build Release configuration
* Build Release configuration (it will be required in **FFmpeg** build!)
####Qt 5.4.0, slightly patched
####FFmpeg
http://download.qt-project.org/official_releases/qt/5.4/5.4.0/single/qt-everywhere-opensource-src-5.4.0.zip
https://www.ffmpeg.org/download.html > Download [ffmpeg-2.6.3.tar.bz2](http://ffmpeg.org/releases/ffmpeg-2.6.3.tar.bz2)
Extract to **D:\TBuild\Libraries\**, rename **qt-everywhere-opensource-src-5.4.0** to **QtStatic** to have **D:\TBuild\Libraries\QtStatic\qtbase\** folder
Extract to **D:\\TBuild\\Libraries**
http://msys2.github.io/ > Download [msys2-x86_64-20150512.exe](http://sourceforge.net/projects/msys2/files/Base/x86_64/msys2-x86_64-20150512.exe/download) and install to **D:\\msys64**
#####Building libraries
Download [yasm for Win64](http://www.tortall.net/projects/yasm/releases/yasm-1.3.0-win64.exe) from http://yasm.tortall.net/Download.html, rename **yasm-1.3.0-win64.exe** to **yasm.exe** and place it to your Visual C++ **bin** directory, like **\\Program Files (x86)\\Microsoft Visual Studio 12\\VC\\bin\\**
Open **VS2013 x86 Native Tools Command Prompt.bat** (should be in **\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Common7\\Tools\\Shortcuts\\** folder), go to **D:\\msys64\\** and launch **msys2_shell.bat**, there run
PATH="/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN:$PATH"
cd /d/TBuild/Libraries/ffmpeg-2.6.3
pacman -S msys/make
pacman -S mingw64/mingw-w64-x86_64-opus
pacman -S pkg-config
PKG_CONFIG_PATH="/mingw64/lib/pkgconfig:$PKG_CONFIG_PATH"
./configure --toolchain=msvc --disable-programs --disable-everything --enable-libopus --enable-decoder=aac --enable-decoder=aac_latm --enable-decoder=aasc --enable-decoder=mp1 --enable-decoder=mp1float --enable-decoder=mp2 --enable-decoder=mp2float --enable-decoder=mp3 --enable-decoder=mp3adu --enable-decoder=mp3adufloat --enable-decoder=mp3float --enable-decoder=mp3on4 --enable-decoder=mp3on4float --enable-decoder=wavpack --enable-decoder=opus --enable-decoder=vorbis --enable-decoder=wmalossless --enable-decoder=wmapro --enable-decoder=wmav1 --enable-decoder=wmav2 --enable-decoder=wmavoice --enable-decoder=flac --enable-encoder=libopus --enable-parser=aac --enable-parser=aac_latm --enable-parser=mpegaudio --enable-parser=opus --enable-parser=vorbis --enable-parser=flac --enable-demuxer=aac --enable-demuxer=wav --enable-demuxer=mp3 --enable-demuxer=ogg --enable-demuxer=mov --enable-demuxer=flac --enable-muxer=ogg --enable-muxer=opus --extra-ldflags="-libpath:/d/TBuild/Libraries/opus/win32/VS2010/Win32/Release celt.lib silk_common.lib silk_float.lib"
make
make install
####Qt 5.5.0, slightly patched
http://download.qt-project.org/official_releases/qt/5.5/5.5.0/single/qt-everywhere-opensource-src-5.5.0.zip
Extract to **D:\TBuild\Libraries\**, rename **qt-everywhere-opensource-src-5.5.0** to **QtStatic** to have **D:\TBuild\Libraries\QtStatic\qtbase\** folder
Apply patch
* OR copy (with overwrite!) everything from **D:\TBuild\tdesktop\\\_qt\_5\_4\_0\_patch\** to **D:\TBuild\Libraries\QtStatic\**
* OR copy **D:\TBuild\tdesktop\\\_qt\_5\_4\_0\_patch.diff** to **D:\TBuild\Libraries\QtStatic\**, go there in Git Bash and run
* OR copy (with overwrite!) everything from **D:\TBuild\tdesktop\\\_qt\_5\_5\_0\_patch\** to **D:\TBuild\Libraries\QtStatic\**
* OR in Git Bash go to **/d/TBuild/Libraries/QtStatic/** and run
git apply _qt_5_4_0_patch.diff
git apply ./../../tdesktop/Telegram/_qt_5_5_0_patch.diff
#####Building library
@@ -161,8 +183,8 @@ Close all VS2013 instances and install to default location
* Launch VS2013 for configuring Qt Addin
* QT5 > Qt Options > Add
* Version name: **QtStatic.5.4.0**
* Version name: **QtStatic.5.5.0**
* Path: **D:\TBuild\Libraries\QtStatic\qtbase**
* Default Qt/Win version: **QtStatic.5.4.0** **OK**
* Default Qt/Win version: **QtStatic.5.5.0** **OK**
* File > Open > Project/Solution > **D:\TBuild\tdesktop\Telegram.sln**
* Build \ Build Solution (Debug and Release configurations)

View File

@@ -4,7 +4,7 @@
* Install git by command **sudo apt-get install git** in Terminal
* Install g++ by command **sudo apt-get install g++** in Terminal
* Install Qt Creator from [**Downloads page**](https://qt-project.org/downloads)
* Install Qt Creator from [**Downloads page**](https://www.qt.io/download/)
For 32 bit Ubuntu you need to install g++ version 4.8 manually by such commands
@@ -34,27 +34,24 @@ Install dev libraries
Install audio libraries
####libogg-1.3.2
[Download libogg-1.3.2 sources](http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.xz) from http://xiph.org/downloads, extract to **/home/user/TBuild/Libraries**, go to **/home/user/TBuild/Libraries/libogg-1.3.2** and run
./configure
make
sudo make install
####Opus codec 1.1
[Download opus-1.1 sources](http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz) from http://www.opus-codec.org/downloads, extract to **/home/user/TBuild/Libraries**, go to **/home/user/TBuild/Libraries/opus-1.1** and run
Download [opus-1.1 sources](http://downloads.xiph.org/releases/opus/opus-1.1.tar.gz) from http://www.opus-codec.org/downloads, extract to **/home/user/TBuild/Libraries**, go to **/home/user/TBuild/Libraries/opus-1.1** and run
./configure
make
sudo make install
####opusfile-0.6
####FFmpeg
[Download opusfile-0.6 sources](http://downloads.xiph.org/releases/opus/opusfile-0.6.tar.gz) from http://www.opus-codec.org/downloads, extract to **/home/user/TBuild/Libraries**, go to **/home/user/TBuild/Libraries/opusfile-0.6** and run
Download sources [ffmpeg-2.6.3.tar.bz2](http://ffmpeg.org/releases/ffmpeg-2.6.3.tar.bz2) from https://www.ffmpeg.org/download.html, extract to **/home/user/TBuild/Libraries** to have **/home/user/TBuild/Libraries/ffmpeg-2.6.3**, go to **/home/user/TBuild/Libraries/ffmpeg-2.6.3** and run
sudo apt-get update
sudo apt-get -y --force-yes install autoconf automake build-essential libass-dev libfreetype6-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texi2html zlib1g-dev
sudo apt-get install yasm
./configure --prefix=/usr/local --disable-programs --disable-everything --enable-libopus --enable-decoder=aac --enable-decoder=aac_latm --enable-decoder=aasc --enable-decoder=mp1 --enable-decoder=mp1float --enable-decoder=mp2 --enable-decoder=mp2float --enable-decoder=mp3 --enable-decoder=mp3adu --enable-decoder=mp3adufloat --enable-decoder=mp3float --enable-decoder=mp3on4 --enable-decoder=mp3on4float --enable-decoder=wavpack --enable-decoder=opus --enable-decoder=vorbis --enable-decoder=wmalossless --enable-decoder=wmapro --enable-decoder=wmav1 --enable-decoder=wmav2 --enable-decoder=wmavoice --enable-decoder=flac --enable-encoder=libopus --enable-parser=aac --enable-parser=aac_latm --enable-parser=mpegaudio --enable-parser=opus --enable-parser=vorbis --enable-parser=flac --enable-demuxer=aac --enable-demuxer=wav --enable-demuxer=mp3 --enable-demuxer=ogg --enable-demuxer=mov --enable-demuxer=flac --enable-muxer=ogg --enable-muxer=opus
./configure
make
sudo make install
@@ -72,25 +69,35 @@ In Terminal go to **/home/user/TBuild/Libraries** and run
git clone git://repo.or.cz/openal-soft.git
then go to **/home/user/TBuild/Libraries/openal-soft/build** and run
then go to **/home/user/TBuild/Libraries/openal-soft/build** and run
sudo apt-get install cmake
cmake -D LIBTYPE:STRING=STATIC ..
make
sudo make install
####Qt 5.4.0, slightly patched
####libxkbcommon (required for Fcitx Qt plugin)
http://download.qt-project.org/official_releases/qt/5.4/5.4.0/single/qt-everywhere-opensource-src-5.4.0.tar.gz
In Terminal go to **/home/user/TBuild/Libraries** and run
Extract to **/home/user/TBuild/Libraries**, rename **qt-everywhere-opensource-src-5.4.0** to **QtStatic** to have **/home/user/TBuild/Libraries/QtStatic/qtbase** folder
sudo apt-get install xutils-dev bison python-xcbgen
git clone https://github.com/xkbcommon/libxkbcommon.git
./autogen.sh --disable-x11
make
sudo make install
####Qt 5.5.0, slightly patched
http://download.qt-project.org/official_releases/qt/5.5/5.5.0/single/qt-everywhere-opensource-src-5.5.0.tar.gz
Extract to **/home/user/TBuild/Libraries**, rename **qt-everywhere-opensource-src-5.5.0** to **QtStatic** to have **/home/user/TBuild/Libraries/QtStatic/qtbase** folder
Apply patch:
* OR copy (with overwrite!) everything from **/home/user/TBuild/tdesktop/\_qt\_5\_4\_0\_patch/** to **/home/user/TBuild/Libraries/QtStatic/**
* OR copy **/home/user/TBuild/tdesktop/\_qt\_5\_4\_0\_patch.diff** to **/home/user/TBuild/Libraries/QtStatic/**, go there in Terminal and run
* OR copy (with overwrite!) everything from **/home/user/TBuild/tdesktop/Telegram/\_qt\_5\_5\_0\_patch/** to **/home/user/TBuild/Libraries/QtStatic/**
* OR copy **/home/user/TBuild/tdesktop/Telegram/\_qt\_5\_5\_0\_patch.diff** to **/home/user/TBuild/Libraries/QtStatic/**, go there in Terminal and run
git apply _qt_5_4_0_patch.diff
git apply _qt_5_5_0_patch.diff
#####Building library
@@ -109,8 +116,8 @@ building (**make** command) will take really long time.
###Building Telegram Desktop
* Launch Qt Creator, all projects will be taken from **/home/user/TBuild/tdesktop/Telegram**
* Tools > Options > Build & Run > Qt Versions tab > Add > File System /usr/local/Qt-5.4.0/bin/qmake > **Qt 5.4.0 (Qt-5.4.0)** > Apply
* Tools > Options > Build & Run > Kits tab > Desktop (default) > change **Qt version** to **Qt 5.4.0 (Qt-5.4.0)** > Apply
* Tools > Options > Build & Run > Qt Versions tab > Add > File System /usr/local/Qt-5.5.0/bin/qmake > **Qt 5.5.0 (Qt-5.5.0)** > Apply
* Tools > Options > Build & Run > Kits tab > Desktop (default) > change **Qt version** to **Qt 5.5.0 (Qt-5.5.0)** > Apply
* Open MetaStyle.pro, configure project with paths **/home/user/TBuild/tdesktop/Linux/DebugIntermediateStyle** and **/home/user/TBuild/tdesktop/Linux/ReleaseIntermediateStyle** and build for Debug
* Open MetaEmoji.pro, configure project with paths **/home/user/TBuild/tdesktop/Linux/DebugIntermediateEmoji** and **/home/user/TBuild/tdesktop/Linux/ReleaseIntermediateEmoji** and build for Debug
* Open MetaLang.pro, configure project with paths **/home/user/TBuild/tdesktop/Linux/DebugIntermediateLang** and **/home/user/TBuild/tdesktop/Linux/ReleaseIntermediateLang** and build for Debug

View File

@@ -6,36 +6,32 @@ Source code is published under GPL v3, license is available [here](https://githu
###Supported systems
* Windows XP
* Windows Vista
* Windows 7
* Windows 8 (**not** RT)
* Windows 8.1 (**not** RT)
* OS X 10.7
* OS X 10.8
* OS X 10.9
* Ubuntu 12.04
* Ubuntu 13.04
* Ubuntu 14.04
* Windows XP - Windows 10 (**not** RT)
* Mac OS X 10.8 - Mac OS X 10.10
* Mac OS X 10.6 - Mac OS X 10.7 (separate build)
* Ubuntu 12.04 - Ubuntu 14.04
* Fedora 22
###Third-party
* Qt 5.4.0, slightly patched ([LGPL](http://qt-project.org/doc/qt-5/lgpl.html))
* Qt 5.3.2 and 5.5.0, slightly patched ([LGPL](http://qt-project.org/doc/qt-5/lgpl.html))
* OpenSSL 1.0.1g ([OpenSSL License](https://www.openssl.org/source/license.html))
* zlib 1.2.8 ([zlib License](http://www.zlib.net/zlib_license.html))
* libexif 0.6.20 ([LGPL](https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html))
* LZMA SDK 9.20 ([public domain](http://www.7-zip.org/sdk.html))
* liblzma ([public domain](http://tukaani.org/xz/))
* OpenAL Soft ([LGPL](http://kcat.strangesoft.net/openal.html))
* Opus codec, opusfile ([BSD license](http://www.opus-codec.org/license/))
* libogg ([BSD license](http://www.xiph.org/downloads/))
* Opus codec ([BSD license](http://www.opus-codec.org/license/))
* FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html))
* Open Sans font ([Apache License](http://www.apache.org/licenses/LICENSE-2.0.html))
###[Build instructions for Visual Studio 2013](https://github.com/telegramdesktop/tdesktop/blob/master/MSVC.md)
###[Build instructions for XCode 5.1.1](https://github.com/telegramdesktop/tdesktop/blob/master/XCODE.md)
###[Build instructions for XCode 6.4](https://github.com/telegramdesktop/tdesktop/blob/master/XCODE.md)
###[Build instructions for Qt Creator 3.1.2 Ubuntu](https://github.com/telegramdesktop/tdesktop/blob/master/QTCREATOR.md)
###[Build instructions for XCode 6.4 for OS X 10.6 and 10.7](https://github.com/telegramdesktop/tdesktop/blob/master/XCODEold.md)
###[Build instructions for Qt Creator 3.2.0 Ubuntu](https://github.com/telegramdesktop/tdesktop/blob/master/QTCREATOR.md)
##Projects in Telegram solution
@@ -66,15 +62,12 @@ for Mac:
####MetaEmoji
from two folders
* SourceFiles/art/Emoji
* SourceFiles/art/Emoji_200x
and some inner config creates four sprites and text2emoji replace code
creates four sprites and text2emoji replace code
* SourceFiles/art/emoji.png
* SourceFiles/art/emoji_125x.png
* SourceFiles/art/emoji_150x.png
* SourceFiles/art/emoji_200x.png
* SourceFiles/art/emoji_250x.png
* SourceFiles/gui/emoji_config.cpp
####MetaStyle

View File

@@ -52,13 +52,10 @@ Global
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|Win32.Build.0 = Release|Win32
{6F483617-7C84-4E7E-91D8-1FF28A4CE3A0}.Release|x64.ActiveCfg = Release|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|Win32.ActiveCfg = Debug|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|Win32.Build.0 = Debug|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|x64.ActiveCfg = Debug|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|Win32.ActiveCfg = Deploy|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|Win32.Build.0 = Deploy|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|x64.ActiveCfg = Release|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|Win32.ActiveCfg = Release|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|Win32.Build.0 = Release|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|x64.ActiveCfg = Release|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|Win32.ActiveCfg = Debug|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|Win32.Build.0 = Debug|Win32

View File

@@ -1,20 +1,21 @@
AppVersion=`./Version.sh | awk -F " " '{print $1}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $2}'`
DevChannel=`./Version.sh | awk -F " " '{print $3}'`
AppVersionStrMajor=`./Version.sh | awk -F " " '{print $1}'`
AppVersion=`./Version.sh | awk -F " " '{print $2}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $3}'`
DevChannel=`./Version.sh | awk -F " " '{print $4}'`
DevPostfix=''
if [ "$DevChannel" != "0" ]; then
DevPostfix='.dev'
fi
if [ ! -f "./../Linux/Release/deploy/$AppVersionStr$DevPostfix/tlinuxupd$AppVersion" ]; then
if [ ! -f "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tlinuxupd$AppVersion" ]; then
echo "tlinuxupd$AppVersion not found!";
exit 1
fi
if [ ! -f "./../Linux/Release/deploy/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.tar.xz" ]; then
if [ ! -f "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.tar.xz" ]; then
echo "tsetup.$AppVersionStr$DevPostfix.tar.xz not found!"
exit 1
fi
scp ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/tlinuxupd$AppVersion tmaster:tdesktop/www/tlinux/
scp ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.tar.xz tmaster:tdesktop/www/tlinux/
scp ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tlinuxupd$AppVersion tmaster:tdesktop/www/tlinux/
scp ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.tar.xz tmaster:tdesktop/www/tlinux/

View File

@@ -1,21 +1,22 @@
AppVersion=`./Version.sh | awk -F " " '{print $1}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $2}'`
DevChannel=`./Version.sh | awk -F " " '{print $3}'`
AppVersionStrMajor=`./Version.sh | awk -F " " '{print $1}'`
AppVersion=`./Version.sh | awk -F " " '{print $2}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $3}'`
DevChannel=`./Version.sh | awk -F " " '{print $4}'`
DevPostfix=''
if [ "$DevChannel" != "0" ]; then
DevPostfix='.dev'
fi
if [ ! -f "./../Linux/Release/deploy/$AppVersionStr$DevPostfix/tlinux32upd$AppVersion" ]; then
if [ ! -f "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tlinux32upd$AppVersion" ]; then
echo "tlinux32upd$AppVersion not found!"
exit 1
fi
if [ ! -f "./../Linux/Release/deploy/$AppVersionStr$DevPostfix/tsetup32.$AppVersionStr$DevPostfix.tar.xz" ]; then
if [ ! -f "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup32.$AppVersionStr$DevPostfix.tar.xz" ]; then
echo "tsetup32.$AppVersionStr$DevPostfix.zip not found!"
exit 1
fi
scp ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/tlinux32upd$AppVersion tmaster:tdesktop/www/tlinux32/
scp ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/tsetup32.$AppVersionStr$DevPostfix.tar.xz tmaster:tdesktop/www/tlinux32/
scp ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tlinux32upd$AppVersion tmaster:tdesktop/www/tlinux32/
scp ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup32.$AppVersionStr$DevPostfix.tar.xz tmaster:tdesktop/www/tlinux32/

View File

@@ -1,38 +1,65 @@
AppVersion=`./Version.sh | awk -F " " '{print $1}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $2}'`
DevChannel=`./Version.sh | awk -F " " '{print $3}'`
AppVersionStrMajor=`./Version.sh | awk -F " " '{print $1}'`
AppVersion=`./Version.sh | awk -F " " '{print $2}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $3}'`
DevChannel=`./Version.sh | awk -F " " '{print $4}'`
DevPostfix=''
if [ "$DevChannel" != "0" ]; then
DevPostfix='.dev'
fi
if [ ! -f "./../Mac/Release/deploy/$AppVersionStr$DevPostfix/tmacupd$AppVersion" ]; then
echo "tmacupd$AppVersion not found!"
exit 1
if [ ! -f "./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tmacupd$AppVersion" ]; then
echo "tmacupd$AppVersion not found!"
exit 1
fi
if [ ! -f "./../Mac/Release/deploy/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.dmg" ]; then
echo "tsetup.$AppVersionStr$DevPostfix.dmg not found!"
exit 1
if [ ! -f "./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.dmg" ]; then
echo "tsetup.$AppVersionStr$DevPostfix.dmg not found!"
exit 1
fi
if [ ! -f "./../../tother/tsetup/tupdate$AppVersion" ]; then
echo "tupdate$AppVersion not found!"
exit 1
if [ ! -f "./../../tother/tmac32/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tmac32upd$AppVersion" ]; then
echo "tmac32upd$AppVersion not found!"
exit 1
fi
if [ ! -f "./../../tother/tsetup/tportable.$AppVersionStr$DevPostfix.zip" ]; then
echo "tportable.$AppVersionStr$DevPostfix.zip not found!"
exit 1
if [ ! -f "./../../tother/tmac32/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup32.$AppVersionStr$DevPostfix.dmg" ]; then
echo "tsetup32.$AppVersionStr$DevPostfix.dmg not found!"
exit 1
fi
if [ ! -f "./../../tother/tsetup/tsetup.$AppVersionStr$DevPostfix.exe" ]; then
echo "tsetup.$AppVersionStr$DevPostfix.exe not found!"
exit 1
if [ ! -f "./../../tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tupdate$AppVersion" ]; then
echo "tupdate$AppVersion not found!"
exit 1
fi
scp ./../Mac/Release/deploy/$AppVersionStr$DevPostfix/tmacupd$AppVersion tmaster:tdesktop/www/tmac/
scp ./../Mac/Release/deploy/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.dmg tmaster:tdesktop/www/tmac/
scp ./../../tother/tsetup/tupdate$AppVersion tmaster:tdesktop/www/tsetup/
scp ./../../tother/tsetup/tportable.$AppVersionStr$DevPostfix.zip tmaster:tdesktop/www/tsetup/
scp ./../../tother/tsetup/tsetup.$AppVersionStr$DevPostfix.exe tmaster:tdesktop/www/tsetup/
if [ ! -f "./../../tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tportable.$AppVersionStr$DevPostfix.zip" ]; then
echo "tportable.$AppVersionStr$DevPostfix.zip not found!"
exit 1
fi
if [ ! -f "./../../tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.exe" ]; then
echo "tsetup.$AppVersionStr$DevPostfix.exe not found!"
exit 1
fi
if [ ! -d "./../../../Dropbox/Telegram/deploy/$AppVersionStrMajor" ]; then
mkdir "./../../../Dropbox/Telegram/deploy/$AppVersionStrMajor"
fi
scp ./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tmacupd$AppVersion tmaster:tdesktop/www/tmac/
scp ./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.dmg tmaster:tdesktop/www/tmac/
scp ./../../tother/tmac32/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tmac32upd$AppVersion tmaster:tdesktop/www/tmac32/
scp ./../../tother/tmac32/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup32.$AppVersionStr$DevPostfix.dmg tmaster:tdesktop/www/tmac32/
scp ./../../tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tupdate$AppVersion tmaster:tdesktop/www/tsetup/
scp ./../../tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tportable.$AppVersionStr$DevPostfix.zip tmaster:tdesktop/www/tsetup/
scp ./../../tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.exe tmaster:tdesktop/www/tsetup/
mv -v ./../../tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix ./../../../Dropbox/Telegram/deploy/$AppVersionStrMajor/
cp -v ./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tmacupd$AppVersion ./../../../Dropbox/Telegram/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -v ./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.dmg ./../../../Dropbox/Telegram/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -rv ./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram.app.dSYM ./../../../Dropbox/Telegram/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -v ./../../tother/tmac32/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tmac32upd$AppVersion ./../../../Dropbox/Telegram/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -v ./../../tother/tmac32/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup32.$AppVersionStr$DevPostfix.dmg ./../../../Dropbox/Telegram/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -rv ./../../tother/tmac32/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram.app.dSYM ./../../../Dropbox/Telegram/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram32.app.dSYM

View File

@@ -1,26 +1,39 @@
AppVersion=`./Version.sh | awk -F " " '{print $1}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $2}'`
DevChannel=`./Version.sh | awk -F " " '{print $3}'`
AppVersionStrMajor=`./Version.sh | awk -F " " '{print $1}'`
AppVersion=`./Version.sh | awk -F " " '{print $2}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $3}'`
DevChannel=`./Version.sh | awk -F " " '{print $4}'`
DevPostfix=''
if [ "$DevChannel" != "0" ]; then
DevPostfix='.dev'
fi
if [ ! -f "./../Win32/Deploy/deploy/$AppVersionStr$DevPostfix/tupdate$AppVersion" ]; then
echo "tupdate$AppVersion not found!"
exit 1
if [ ! -f "./../Win32/Deploy/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tupdate$AppVersion" ]; then
echo "tupdate$AppVersion not found!"
exit 1
fi
if [ ! -f "./../Win32/Deploy/deploy/$AppVersionStr$DevPostfix/tportable.$AppVersionStr$DevPostfix.zip" ]; then
echo "tportable.$AppVersionStr$DevPostfix.zip not found!"
exit 1
if [ ! -f "./../Win32/Deploy/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tportable.$AppVersionStr$DevPostfix.zip" ]; then
echo "tportable.$AppVersionStr$DevPostfix.zip not found!"
exit 1
fi
if [ ! -f "./../Win32/Deploy/deploy/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.exe" ]; then
echo "tsetup.$AppVersionStr$DevPostfix.exe not found!"
exit 1
if [ ! -f "./../Win32/Deploy/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.exe" ]; then
echo "tsetup.$AppVersionStr$DevPostfix.exe not found!"
exit 1
fi
cp -v ./../Win32/Deploy/deploy/$AppVersionStr$DevPostfix/tupdate$AppVersion /z/TBuild/tother/tsetup/
cp -v ./../Win32/Deploy/deploy/$AppVersionStr$DevPostfix/tportable.$AppVersionStr$DevPostfix.zip /z/TBuild/tother/tsetup/
cp -v ./../Win32/Deploy/deploy/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.exe /z/TBuild/tother/tsetup/
if [ ! -d "/z/TBuild/tother/tsetup/$AppVersionStrMajor" ]; then
mkdir "/z/TBuild/tother/tsetup/$AppVersionStrMajor"
fi
if [ ! -d "/z/TBuild/tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix" ]; then
mkdir "/z/TBuild/tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix"
fi
cp -v ./../Win32/Deploy/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tupdate$AppVersion /z/TBuild/tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -v ./../Win32/Deploy/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tportable.$AppVersionStr$DevPostfix.zip /z/TBuild/tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -v ./../Win32/Deploy/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.exe /z/TBuild/tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -v ./../Win32/Deploy/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram.pdb /z/TBuild/tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -v ./../Win32/Deploy/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Updater.exe /z/TBuild/tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cp -v ./../Win32/Deploy/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Updater.pdb /z/TBuild/tother/tsetup/$AppVersionStrMajor/$AppVersionStr$DevPostfix/

View File

@@ -23,7 +23,9 @@ Replace '\-lfontconfig' '\/usr\/lib\/x86_64\-linux\-gnu\/libfontconfig\.a \/usr\
Replace '\-lfreetype' '\/usr\/lib\/x86_64\-linux\-gnu\/libfreetype\.a'
Replace '\-lpng' '\/usr\/lib\/x86_64\-linux\-gnu\/libpng\.a'
Replace '\-lXext' '\/usr\/lib\/x86_64\-linux\-gnu\/libXext\.a'
Replace '\-lopusfile' '\/usr\/local\/lib\/libopusfile\.a'
Replace '\-lopus' '\/usr\/local\/lib\/libopus\.a'
Replace '\-lopenal' '\/usr\/local\/lib\/libopenal\.a'
Replace '\-logg' '\/usr\/local\/lib\/libogg\.a'
Replace '\-lavformat' '\/usr\/local\/lib\/libavformat\.a'
Replace '\-lavcodec' '\/usr\/local\/lib\/libavcodec\.a'
Replace '\-lswresample' '\/usr\/local\/lib\/libswresample\.a'
Replace '\-lavutil' '\/usr\/local\/lib\/libavutil\.a'

View File

@@ -23,7 +23,9 @@ Replace '\-lfontconfig' '\/usr\/lib\/i386\-linux\-gnu\/libfontconfig\.a \/usr\/l
Replace '\-lfreetype' '\/usr\/lib\/i386\-linux\-gnu\/libfreetype\.a'
Replace '\-lpng' '\/usr\/lib\/i386\-linux\-gnu\/libpng\.a'
Replace '\-lXext' '\/usr\/lib\/i386\-linux\-gnu\/libXext\.a'
Replace '\-lopusfile' '\/usr\/local\/lib\/libopusfile\.a'
Replace '\-lopus' '\/usr\/local\/lib\/libopus\.a'
Replace '\-lopenal' '\/usr\/local\/lib\/libopenal\.a'
Replace '\-logg' '\/usr\/local\/lib\/libogg\.a'
Replace '\-lavformat' '\/usr\/local\/lib\/libavformat\.a'
Replace '\-lavcodec' '\/usr\/local\/lib\/libavcodec\.a'
Replace '\-lswresample' '\/usr\/local\/lib\/libswresample\.a'
Replace '\-lavutil' '\/usr\/local\/lib\/libavutil\.a'

View File

@@ -27,7 +27,7 @@ HEADERS += \
./SourceFiles/_other/memain.h \
./SourceFiles/_other/genemoji.h \
INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui\
./../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore\
INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui\
./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore\
./../../Libraries/QtStatic/qtbase/include\

View File

@@ -105,7 +105,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;qtharfbuzzngd.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;qtharfbuzzngd.lib;qtpcred.lib;qtfreetyped.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
@@ -123,7 +123,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;glu32.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;glu32.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
@@ -142,7 +142,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;glu32.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;glu32.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>

View File

@@ -21,6 +21,7 @@
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 07D795491B5544B200DE9598 /* qtpcre */; };
1A681B886F50EE30FBE62B4B /* Qt5PrintSupport in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DBF506D10449BFABD45B82DA /* Qt5PrintSupport */; };
1BB705CDB741E2B7450201A5 /* Cocoa.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */; };
328FD74542F6E2C873EE4D4B /* ApplicationServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DFD7912080BC557230093752 /* ApplicationServices.framework */; };
@@ -62,160 +63,161 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "/usr/local/Qt-5.4.0/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
060A694B42A4555240009936 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri"; sourceTree = "<absolute>"; };
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; };
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.4.0/mkspecs/common/unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/unix.conf"; sourceTree = "<absolute>"; };
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri"; sourceTree = "<absolute>"; };
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri"; sourceTree = "<absolute>"; };
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "/usr/local/Qt-5.5.0/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
060A694B42A4555240009936 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri"; sourceTree = "<absolute>"; };
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; };
07D795491B5544B200DE9598 /* qtpcre */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtpcre; path = "usr/local/Qt-5.5.0/lib/libqtpcre$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.0/mkspecs/common/unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/unix.conf"; sourceTree = "<absolute>"; };
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri"; sourceTree = "<absolute>"; };
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri"; sourceTree = "<absolute>"; };
1F47C130E1F45B4A5A91DB5E /* genemoji.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = genemoji.cpp; path = SourceFiles/_other/genemoji.cpp; sourceTree = "<absolute>"; };
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri"; sourceTree = "<absolute>"; };
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri"; sourceTree = "<absolute>"; };
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri"; sourceTree = "<absolute>"; };
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri"; sourceTree = "<absolute>"; };
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri"; sourceTree = "<absolute>"; };
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri"; sourceTree = "<absolute>"; };
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
311004331A04F3D69C98643C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri"; sourceTree = "<absolute>"; };
346287C9E754E7C458153F03 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri"; sourceTree = "<absolute>"; };
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri"; sourceTree = "<absolute>"; };
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri"; sourceTree = "<absolute>"; };
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri"; sourceTree = "<absolute>"; };
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri"; sourceTree = "<absolute>"; };
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri"; sourceTree = "<absolute>"; };
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri"; sourceTree = "<absolute>"; };
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri"; sourceTree = "<absolute>"; };
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri"; sourceTree = "<absolute>"; };
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri"; sourceTree = "<absolute>"; };
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri"; sourceTree = "<absolute>"; };
346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri"; sourceTree = "<absolute>"; };
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri"; sourceTree = "<absolute>"; };
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri"; sourceTree = "<absolute>"; };
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri"; sourceTree = "<absolute>"; };
3AC2626B26B65AA88F06BFB5 /* memain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = memain.cpp; path = SourceFiles/_other/memain.cpp; sourceTree = "<absolute>"; };
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri"; sourceTree = "<absolute>"; };
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf"; sourceTree = "<absolute>"; };
45DB132B756499D4DF38430E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.4.0/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4C6C71914B1926119120DACD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri"; sourceTree = "<absolute>"; };
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri"; sourceTree = "<absolute>"; };
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf"; sourceTree = "<absolute>"; };
45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.5.0/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri"; sourceTree = "<absolute>"; };
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri"; sourceTree = "<absolute>"; };
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri"; sourceTree = "<absolute>"; };
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri"; sourceTree = "<absolute>"; };
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri"; sourceTree = "<absolute>"; };
58308B26DE991A86E8589883 /* genemoji.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = genemoji.h; path = SourceFiles/_other/genemoji.h; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "/usr/local/Qt-5.4.0/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri"; sourceTree = "<absolute>"; };
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri"; sourceTree = "<absolute>"; };
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri"; sourceTree = "<absolute>"; };
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri"; sourceTree = "<absolute>"; };
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf"; sourceTree = "<absolute>"; };
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf"; sourceTree = "<absolute>"; };
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.4.0/mkspecs/qdevice.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/qdevice.pri"; sourceTree = "<absolute>"; };
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri"; sourceTree = "<absolute>"; };
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri"; sourceTree = "<absolute>"; };
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri"; sourceTree = "<absolute>"; };
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri"; sourceTree = "<absolute>"; };
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.4.0/mkspecs/common/macx.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/macx.conf"; sourceTree = "<absolute>"; };
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri"; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
85061B1DA49D125991117950 /* /usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf"; sourceTree = "<absolute>"; };
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri"; sourceTree = "<absolute>"; };
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri"; sourceTree = "<absolute>"; };
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri"; sourceTree = "<absolute>"; };
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri"; sourceTree = "<absolute>"; };
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri"; sourceTree = "<absolute>"; };
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri"; sourceTree = "<absolute>"; };
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri"; sourceTree = "<absolute>"; };
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri"; sourceTree = "<absolute>"; };
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri"; sourceTree = "<absolute>"; };
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.4.0/mkspecs/common/clang.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/clang.conf"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqwbmp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "/usr/local/Qt-5.5.0/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri"; sourceTree = "<absolute>"; };
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri"; sourceTree = "<absolute>"; };
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri"; sourceTree = "<absolute>"; };
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri"; sourceTree = "<absolute>"; };
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf"; sourceTree = "<absolute>"; };
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf"; sourceTree = "<absolute>"; };
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.0/mkspecs/qdevice.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/qdevice.pri"; sourceTree = "<absolute>"; };
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri"; sourceTree = "<absolute>"; };
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri"; sourceTree = "<absolute>"; };
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri"; sourceTree = "<absolute>"; };
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri"; sourceTree = "<absolute>"; };
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.0/mkspecs/common/macx.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/macx.conf"; sourceTree = "<absolute>"; };
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri"; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
85061B1DA49D125991117950 /* /usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf"; sourceTree = "<absolute>"; };
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri"; sourceTree = "<absolute>"; };
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri"; sourceTree = "<absolute>"; };
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri"; sourceTree = "<absolute>"; };
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri"; sourceTree = "<absolute>"; };
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri"; sourceTree = "<absolute>"; };
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri"; sourceTree = "<absolute>"; };
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri"; sourceTree = "<absolute>"; };
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri"; sourceTree = "<absolute>"; };
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri"; sourceTree = "<absolute>"; };
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.0/mkspecs/common/clang.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/clang.conf"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqwbmp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri"; sourceTree = "<absolute>"; };
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri"; sourceTree = "<absolute>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri"; sourceTree = "<absolute>"; };
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri"; sourceTree = "<absolute>"; };
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri"; sourceTree = "<absolute>"; };
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri"; sourceTree = "<absolute>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri"; sourceTree = "<absolute>"; };
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri"; sourceTree = "<absolute>"; };
93E4BE1A02365B73BAF00B73 /* moc_genemoji.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_genemoji.cpp; path = GeneratedFiles/Debug/moc_genemoji.cpp; sourceTree = "<absolute>"; };
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri"; sourceTree = "<absolute>"; };
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri"; sourceTree = "<absolute>"; };
9742F24EE18EA44D52824F1E /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri"; sourceTree = "<absolute>"; };
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri"; sourceTree = "<absolute>"; };
9DFF62A901D70814B8A323D4 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri"; sourceTree = "<absolute>"; };
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri"; sourceTree = "<absolute>"; };
A1A67BEAA744704B29168D39 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri"; sourceTree = "<absolute>"; };
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri"; sourceTree = "<absolute>"; };
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri"; sourceTree = "<absolute>"; };
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf"; sourceTree = "<absolute>"; };
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri"; sourceTree = "<absolute>"; };
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri"; sourceTree = "<absolute>"; };
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri"; sourceTree = "<absolute>"; };
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri"; sourceTree = "<absolute>"; };
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri"; sourceTree = "<absolute>"; };
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf"; sourceTree = "<absolute>"; };
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri"; sourceTree = "<absolute>"; };
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri"; sourceTree = "<absolute>"; };
AB745978DF0F41D1801ABDA6 /* .qmake.stash */ = {isa = PBXFileReference; lastKnownFileType = file; path = .qmake.stash; sourceTree = "<absolute>"; };
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri"; sourceTree = "<absolute>"; };
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri"; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri"; sourceTree = "<absolute>"; };
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri"; sourceTree = "<absolute>"; };
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri"; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri"; sourceTree = "<absolute>"; };
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri"; sourceTree = "<absolute>"; };
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri"; sourceTree = "<absolute>"; };
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri"; sourceTree = "<absolute>"; };
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri"; sourceTree = "<absolute>"; };
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri"; sourceTree = "<absolute>"; };
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri"; sourceTree = "<absolute>"; };
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri"; sourceTree = "<absolute>"; };
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri"; sourceTree = "<absolute>"; };
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri"; sourceTree = "<absolute>"; };
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri"; sourceTree = "<absolute>"; };
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri"; sourceTree = "<absolute>"; };
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri"; sourceTree = "<absolute>"; };
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri"; sourceTree = "<absolute>"; };
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri"; sourceTree = "<absolute>"; };
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri"; sourceTree = "<absolute>"; };
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri"; sourceTree = "<absolute>"; };
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri"; sourceTree = "<absolute>"; };
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri"; sourceTree = "<absolute>"; };
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri"; sourceTree = "<absolute>"; };
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri"; sourceTree = "<absolute>"; };
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri"; sourceTree = "<absolute>"; };
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri"; sourceTree = "<absolute>"; };
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri"; sourceTree = "<absolute>"; };
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri"; sourceTree = "<absolute>"; };
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri"; sourceTree = "<absolute>"; };
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri"; sourceTree = "<absolute>"; };
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri"; sourceTree = "<absolute>"; };
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri"; sourceTree = "<absolute>"; };
C3345709A0BD182590087379 /* MetaEmoji.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MetaEmoji.app; sourceTree = BUILT_PRODUCTS_DIR; };
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri"; sourceTree = "<absolute>"; };
C505A18319B9B63C63877858 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri"; sourceTree = "<absolute>"; };
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri"; sourceTree = "<absolute>"; };
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri"; sourceTree = "<absolute>"; };
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri"; sourceTree = "<absolute>"; };
CFFBE05DB004895080314289 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri"; sourceTree = "<absolute>"; };
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri"; sourceTree = "<absolute>"; };
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri"; sourceTree = "<absolute>"; };
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri"; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqdds$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri"; sourceTree = "<absolute>"; };
C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri"; sourceTree = "<absolute>"; };
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri"; sourceTree = "<absolute>"; };
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri"; sourceTree = "<absolute>"; };
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri"; sourceTree = "<absolute>"; };
CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri"; sourceTree = "<absolute>"; };
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri"; sourceTree = "<absolute>"; };
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri"; sourceTree = "<absolute>"; };
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri"; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqdds$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D4B32C2222F82AC56BADEB21 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.4.0/mkspecs/qconfig.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/qconfig.pri"; sourceTree = "<absolute>"; };
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri"; sourceTree = "<absolute>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "/usr/local/Qt-5.4.0/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "/usr/local/Qt-5.4.0/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri"; sourceTree = "<absolute>"; };
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri"; sourceTree = "<absolute>"; };
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri"; sourceTree = "<absolute>"; };
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "/usr/local/Qt-5.4.0/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DF8188E30892A4654B984221 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri"; sourceTree = "<absolute>"; };
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.0/mkspecs/qconfig.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/qconfig.pri"; sourceTree = "<absolute>"; };
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri"; sourceTree = "<absolute>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "/usr/local/Qt-5.5.0/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "/usr/local/Qt-5.5.0/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri"; sourceTree = "<absolute>"; };
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri"; sourceTree = "<absolute>"; };
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri"; sourceTree = "<absolute>"; };
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "/usr/local/Qt-5.5.0/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri"; sourceTree = "<absolute>"; };
DFD7912080BC557230093752 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri"; sourceTree = "<absolute>"; };
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri"; sourceTree = "<absolute>"; };
E432DA897A5F027987342E8F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri"; sourceTree = "<absolute>"; };
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri"; sourceTree = "<absolute>"; };
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri"; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "/usr/local/Qt-5.4.0/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri"; sourceTree = "<absolute>"; };
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri"; sourceTree = "<absolute>"; };
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri"; sourceTree = "<absolute>"; };
E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri"; sourceTree = "<absolute>"; };
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri"; sourceTree = "<absolute>"; };
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri"; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "/usr/local/Qt-5.5.0/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri"; sourceTree = "<absolute>"; };
E981470FA003A8DCE3C52E59 /* memain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memain.h; path = SourceFiles/_other/memain.h; sourceTree = "<absolute>"; };
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri"; sourceTree = "<absolute>"; };
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri"; sourceTree = "<absolute>"; };
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri"; sourceTree = "<absolute>"; };
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.4.0/mkspecs/common/mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/mac.conf"; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0A58515945747E36783CC21 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri"; sourceTree = "<absolute>"; };
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri"; sourceTree = "<absolute>"; };
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri"; sourceTree = "<absolute>"; };
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri"; sourceTree = "<absolute>"; };
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.0/mkspecs/common/mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/mac.conf"; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri"; sourceTree = "<absolute>"; };
F13124A218B58585B027D96A /* MetaEmoji.pro */ = {isa = PBXFileReference; lastKnownFileType = text; path = MetaEmoji.pro; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri"; sourceTree = "<absolute>"; };
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf"; sourceTree = "<absolute>"; };
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri"; sourceTree = "<absolute>"; };
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri"; sourceTree = "<absolute>"; };
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri"; sourceTree = "<absolute>"; };
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri"; sourceTree = "<absolute>"; };
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf"; sourceTree = "<absolute>"; };
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri"; sourceTree = "<absolute>"; };
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri"; sourceTree = "<absolute>"; };
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri"; sourceTree = "<absolute>"; };
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri"; sourceTree = "<absolute>"; };
FCC237CA5AD60B9BA4447615 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri"; sourceTree = "<absolute>"; };
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri"; sourceTree = "<absolute>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -247,6 +249,7 @@
F4D3747C3A03B25EDC9057BB /* qwebp in Link Binary With Libraries */,
9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */,
8D33FE22B9BBADC7FA46C15B /* qtharfbuzzng in Link Binary With Libraries */,
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */,
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */,
);
name = "Link Binary With Libraries";
@@ -294,127 +297,127 @@
isa = PBXGroup;
children = (
F13124A218B58585B027D96A /* MetaEmoji.pro */,
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.4.0/mkspecs/qdevice.pri */,
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf */,
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.4.0/mkspecs/common/unix.conf */,
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.4.0/mkspecs/common/mac.conf */,
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.4.0/mkspecs/common/macx.conf */,
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf */,
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf */,
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.4.0/mkspecs/common/clang.conf */,
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf */,
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.4.0/mkspecs/qconfig.pri */,
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri */,
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri */,
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri */,
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri */,
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri */,
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri */,
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri */,
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri */,
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri */,
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri */,
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri */,
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri */,
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri */,
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri */,
4C6C71914B1926119120DACD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri */,
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri */,
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri */,
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri */,
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri */,
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri */,
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri */,
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri */,
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri */,
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri */,
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */,
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri */,
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri */,
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri */,
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri */,
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri */,
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri */,
E432DA897A5F027987342E8F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri */,
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri */,
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri */,
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri */,
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri */,
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri */,
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri */,
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri */,
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri */,
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */,
DF8188E30892A4654B984221 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri */,
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri */,
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */,
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri */,
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri */,
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri */,
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri */,
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */,
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri */,
C505A18319B9B63C63877858 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri */,
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri */,
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri */,
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri */,
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri */,
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri */,
311004331A04F3D69C98643C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri */,
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri */,
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */,
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri */,
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri */,
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri */,
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri */,
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri */,
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri */,
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri */,
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri */,
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri */,
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri */,
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri */,
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri */,
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri */,
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */,
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */,
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri */,
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */,
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri */,
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */,
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri */,
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */,
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */,
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri */,
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri */,
45DB132B756499D4DF38430E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri */,
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri */,
F0A58515945747E36783CC21 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */,
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */,
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */,
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */,
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri */,
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri */,
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri */,
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri */,
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri */,
CFFBE05DB004895080314289 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri */,
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */,
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */,
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */,
060A694B42A4555240009936 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri */,
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri */,
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */,
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */,
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */,
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */,
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */,
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */,
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */,
346287C9E754E7C458153F03 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri */,
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri */,
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf */,
85061B1DA49D125991117950 /* /usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf */,
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.0/mkspecs/qdevice.pri */,
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf */,
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.0/mkspecs/common/unix.conf */,
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.0/mkspecs/common/mac.conf */,
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.0/mkspecs/common/macx.conf */,
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf */,
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf */,
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.0/mkspecs/common/clang.conf */,
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf */,
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.0/mkspecs/qconfig.pri */,
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri */,
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri */,
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri */,
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri */,
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri */,
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri */,
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri */,
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri */,
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri */,
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri */,
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri */,
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri */,
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri */,
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri */,
4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri */,
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri */,
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri */,
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri */,
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri */,
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri */,
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri */,
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri */,
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri */,
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri */,
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */,
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri */,
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri */,
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri */,
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri */,
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri */,
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri */,
E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri */,
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri */,
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri */,
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri */,
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri */,
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri */,
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri */,
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri */,
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri */,
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */,
DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri */,
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri */,
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */,
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri */,
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri */,
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri */,
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri */,
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */,
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri */,
C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri */,
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri */,
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri */,
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri */,
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri */,
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri */,
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri */,
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri */,
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri */,
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri */,
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri */,
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri */,
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri */,
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri */,
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri */,
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri */,
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri */,
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri */,
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri */,
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri */,
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri */,
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri */,
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */,
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */,
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri */,
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */,
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri */,
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */,
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri */,
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */,
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */,
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri */,
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri */,
45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri */,
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri */,
F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */,
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */,
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */,
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */,
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri */,
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri */,
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri */,
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri */,
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri */,
CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri */,
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */,
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */,
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */,
060A694B42A4555240009936 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri */,
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri */,
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */,
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */,
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */,
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */,
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */,
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */,
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */,
346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri */,
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri */,
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf */,
85061B1DA49D125991117950 /* /usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf */,
AB745978DF0F41D1801ABDA6 /* .qmake.stash */,
);
name = "Supporting Files";
@@ -431,6 +434,7 @@
AF39DD055C3EF8226FBE929D /* Frameworks */ = {
isa = PBXGroup;
children = (
07D795491B5544B200DE9598 /* qtpcre */,
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */,
DFD7912080BC557230093752 /* ApplicationServices.framework */,
9742F24EE18EA44D52824F1E /* CoreServices.framework */,
@@ -515,7 +519,7 @@
6DB9C3763D02B1415CD9D565 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0610;
LastUpgradeCheck = 0630;
};
buildConfigurationList = DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "MetaEmoji" */;
compatibilityVersion = "Xcode 3.2";
@@ -589,6 +593,7 @@
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -597,25 +602,25 @@
GCC_WARN_UNUSED_FUNCTION = NO;
GCC_WARN_UNUSED_VARIABLE = NO;
HEADER_SEARCH_PATHS = (
../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
GeneratedFiles/Debug,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INFOPLIST_FILE = Emoji.plist;
INSTALL_DIR = ../Mac/ReleaseEmoji/;
LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++";
LIBRARY_SEARCH_PATHS = (
/System/Library/Frameworks/,
"/usr/local/Qt-5.4.0/lib",
"/usr/local/Qt-5.4.0/plugins/platforms",
"/usr/local/Qt-5.4.0/plugins/imageformats",
"/usr/local/Qt-5.5.0/lib",
"/usr/local/Qt-5.5.0/plugins/platforms",
"/usr/local/Qt-5.5.0/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/ReleaseIntermediateEmoji/;
@@ -644,10 +649,10 @@
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L/usr/local/Qt-5.4.0/lib",
"-L/usr/local/Qt-5.4.0/plugins/platforms",
"-L/usr/local/Qt-5.5.0/lib",
"-L/usr/local/Qt-5.5.0/plugins/platforms",
"-lcups",
"-L/usr/local/Qt-5.4.0/plugins/imageformats",
"-L/usr/local/Qt-5.5.0/plugins/imageformats",
"-lz",
"-lm",
);
@@ -677,6 +682,7 @@
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
@@ -686,25 +692,25 @@
GCC_WARN_UNUSED_FUNCTION = NO;
GCC_WARN_UNUSED_VARIABLE = NO;
HEADER_SEARCH_PATHS = (
../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
GeneratedFiles/Debug,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INFOPLIST_FILE = Emoji.plist;
INSTALL_DIR = ../Mac/DebugEmoji/;
LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++";
LIBRARY_SEARCH_PATHS = (
/System/Library/Frameworks/,
"/usr/local/Qt-5.4.0/lib",
"/usr/local/Qt-5.4.0/plugins/platforms",
"/usr/local/Qt-5.4.0/plugins/imageformats",
"/usr/local/Qt-5.5.0/lib",
"/usr/local/Qt-5.5.0/plugins/platforms",
"/usr/local/Qt-5.5.0/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/DebugIntermediateEmoji/;
@@ -734,10 +740,10 @@
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L/usr/local/Qt-5.4.0/lib",
"-L/usr/local/Qt-5.4.0/plugins/platforms",
"-L/usr/local/Qt-5.5.0/lib",
"-L/usr/local/Qt-5.5.0/plugins/platforms",
"-lcups",
"-L/usr/local/Qt-5.4.0/plugins/imageformats",
"-L/usr/local/Qt-5.5.0/plugins/imageformats",
"-lz",
"-lm",
);

View File

@@ -1,25 +1,25 @@
#############################################################################
# Makefile for building: ../Mac/DebugEmoji/MetaEmoji.app/Contents/MacOS/MetaEmoji
# Generated by qmake (3.0) (Qt 5.4.0)
# Generated by qmake (3.0) (Qt 5.5.0)
# Project: MetaEmoji.pro
# Template: app
# Command: /usr/local/Qt-5.4.0/bin/qmake -spec macx-xcode -o MetaEmoji.xcodeproj/project.pbxproj MetaEmoji.pro
# Command: /usr/local/Qt-5.5.0/bin/qmake -spec macx-xcode -o MetaEmoji.xcodeproj/project.pbxproj MetaEmoji.pro
#############################################################################
MAKEFILE = project.pbxproj
MOC = /usr/local/Qt-5.4.0/bin/moc
UIC =
MOC = /usr/local/Qt-5.5.0/bin/moc
UIC =
LEX = flex
LEXFLAGS =
LEXFLAGS =
YACC = yacc
YACCFLAGS = -d
DEFINES = -D_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB
INCPATH = -I/usr/local/Qt-5.4.0/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore -I../../Libraries/QtStatic/qtbase/include -I/usr/local/Qt-5.4.0/include -I/usr/local/Qt-5.4.0/include/QtGui -I/usr/local/Qt-5.4.0/include/QtCore -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers
INCPATH = -I/usr/local/Qt-5.5.0/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore -I../../Libraries/QtStatic/qtbase/include -I/usr/local/Qt-5.5.0/include -I/usr/local/Qt-5.5.0/include/QtGui -I/usr/local/Qt-5.5.0/include/QtCore -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers
DEL_FILE = rm -f
MOVE = mv -f
IMAGES =
IMAGES =
PARSERS =
preprocess: $(PARSERS) compilers
clean preprocess_clean: parser_clean compiler_clean
@@ -54,7 +54,7 @@ GeneratedFiles/Debug/moc_genemoji.cpp: ../../Libraries/QtStatic/qtbase/include/Q
../../Libraries/QtStatic/qtbase/include/QtCore/QCoreApplication \
../../Libraries/QtStatic/qtbase/include/QtGui/QGuiApplication \
SourceFiles/_other/genemoji.h
/usr/local/Qt-5.4.0/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.4.0/mkspecs/macx-clang -I. -I/usr/local/Qt-5.4.0/include/QtGui/5.4.0/QtGui -I/usr/local/Qt-5.4.0/include/QtCore/5.4.0/QtCore -I/usr/local/Qt-5.4.0/include -I/usr/local/Qt-5.4.0/include/QtGui -I/usr/local/Qt-5.4.0/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/_other/genemoji.h -o GeneratedFiles/Debug/moc_genemoji.cpp
/usr/local/Qt-5.5.0/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.0/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.0/include/QtGui/5.5.0/QtGui -I/usr/local/Qt-5.5.0/include/QtCore/5.5.0/QtCore -I/usr/local/Qt-5.5.0/include -I/usr/local/Qt-5.5.0/include/QtGui -I/usr/local/Qt-5.5.0/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/_other/genemoji.h -o GeneratedFiles/Debug/moc_genemoji.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
@@ -66,5 +66,5 @@ compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean
compiler_clean: compiler_moc_header_clean

View File

@@ -27,7 +27,7 @@ HEADERS += \
./SourceFiles/_other/mlmain.h \
./SourceFiles/_other/genlang.h \
INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui\
./../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore\
INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui\
./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore\
./../../Libraries/QtStatic/qtbase/include\

View File

@@ -105,7 +105,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;qtharfbuzzngd.lib;Qt5Widgetsd.lib;Qt5Networkd.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;qtharfbuzzngd.lib;qtpcred.lib;qtfreetyped.lib;Qt5Widgetsd.lib;Qt5Networkd.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
@@ -123,7 +123,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
@@ -140,7 +140,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>

View File

@@ -23,6 +23,7 @@
/* Begin PBXBuildFile section */
0E4EEB1BFC9FA7662AD934C6 /* moc_genlang.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 680437016D61255E7F889A94 /* moc_genlang.cpp */; settings = {ATTRIBUTES = (); }; };
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 07D795491B5544B200DE9598 /* qtpcre */; };
1A681B886F50EE30FBE62B4B /* Qt5PrintSupport in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DBF506D10449BFABD45B82DA /* Qt5PrintSupport */; };
1BB705CDB741E2B7450201A5 /* Cocoa.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */; };
328FD74542F6E2C873EE4D4B /* ApplicationServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DFD7912080BC557230093752 /* ApplicationServices.framework */; };
@@ -63,160 +64,161 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "/usr/local/Qt-5.4.0/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
060A694B42A4555240009936 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri"; sourceTree = "<absolute>"; };
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; };
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.4.0/mkspecs/common/unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/unix.conf"; sourceTree = "<absolute>"; };
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri"; sourceTree = "<absolute>"; };
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri"; sourceTree = "<absolute>"; };
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri"; sourceTree = "<absolute>"; };
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri"; sourceTree = "<absolute>"; };
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri"; sourceTree = "<absolute>"; };
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri"; sourceTree = "<absolute>"; };
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri"; sourceTree = "<absolute>"; };
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri"; sourceTree = "<absolute>"; };
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
311004331A04F3D69C98643C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "/usr/local/Qt-5.5.0/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
060A694B42A4555240009936 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri"; sourceTree = "<absolute>"; };
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; };
07D795491B5544B200DE9598 /* qtpcre */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtpcre; path = "usr/local/Qt-5.5.0/lib/libqtpcre$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.0/mkspecs/common/unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/unix.conf"; sourceTree = "<absolute>"; };
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri"; sourceTree = "<absolute>"; };
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri"; sourceTree = "<absolute>"; };
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri"; sourceTree = "<absolute>"; };
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri"; sourceTree = "<absolute>"; };
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri"; sourceTree = "<absolute>"; };
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri"; sourceTree = "<absolute>"; };
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri"; sourceTree = "<absolute>"; };
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri"; sourceTree = "<absolute>"; };
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
33A9E861B2FAD8C39E154E7C /* MetaLang.pro */ = {isa = PBXFileReference; lastKnownFileType = text; path = MetaLang.pro; sourceTree = "<absolute>"; };
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri"; sourceTree = "<absolute>"; };
346287C9E754E7C458153F03 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri"; sourceTree = "<absolute>"; };
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri"; sourceTree = "<absolute>"; };
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri"; sourceTree = "<absolute>"; };
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri"; sourceTree = "<absolute>"; };
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri"; sourceTree = "<absolute>"; };
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf"; sourceTree = "<absolute>"; };
45DB132B756499D4DF38430E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.4.0/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4C6C71914B1926119120DACD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri"; sourceTree = "<absolute>"; };
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri"; sourceTree = "<absolute>"; };
346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri"; sourceTree = "<absolute>"; };
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri"; sourceTree = "<absolute>"; };
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri"; sourceTree = "<absolute>"; };
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri"; sourceTree = "<absolute>"; };
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri"; sourceTree = "<absolute>"; };
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf"; sourceTree = "<absolute>"; };
45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.5.0/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri"; sourceTree = "<absolute>"; };
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri"; sourceTree = "<absolute>"; };
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri"; sourceTree = "<absolute>"; };
54D6D1A7260739988F6FC406 /* genlang.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = genlang.h; path = SourceFiles/_other/genlang.h; sourceTree = "<absolute>"; };
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri"; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "/usr/local/Qt-5.4.0/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri"; sourceTree = "<absolute>"; };
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri"; sourceTree = "<absolute>"; };
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri"; sourceTree = "<absolute>"; };
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri"; sourceTree = "<absolute>"; };
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf"; sourceTree = "<absolute>"; };
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri"; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "/usr/local/Qt-5.5.0/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri"; sourceTree = "<absolute>"; };
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri"; sourceTree = "<absolute>"; };
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri"; sourceTree = "<absolute>"; };
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri"; sourceTree = "<absolute>"; };
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf"; sourceTree = "<absolute>"; };
669AB12AE74AC219B4669D79 /* genlang.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = genlang.cpp; path = SourceFiles/_other/genlang.cpp; sourceTree = "<absolute>"; };
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf"; sourceTree = "<absolute>"; };
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf"; sourceTree = "<absolute>"; };
680437016D61255E7F889A94 /* moc_genlang.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_genlang.cpp; path = GeneratedFiles/Debug/moc_genlang.cpp; sourceTree = "<absolute>"; };
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.4.0/mkspecs/qdevice.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/qdevice.pri"; sourceTree = "<absolute>"; };
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri"; sourceTree = "<absolute>"; };
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri"; sourceTree = "<absolute>"; };
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri"; sourceTree = "<absolute>"; };
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri"; sourceTree = "<absolute>"; };
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.4.0/mkspecs/common/macx.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/macx.conf"; sourceTree = "<absolute>"; };
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri"; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.0/mkspecs/qdevice.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/qdevice.pri"; sourceTree = "<absolute>"; };
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri"; sourceTree = "<absolute>"; };
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri"; sourceTree = "<absolute>"; };
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri"; sourceTree = "<absolute>"; };
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri"; sourceTree = "<absolute>"; };
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.0/mkspecs/common/macx.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/macx.conf"; sourceTree = "<absolute>"; };
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri"; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
83FFCB79DDEB015B4A5CB301 /* MetaLang.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MetaLang.app; sourceTree = BUILT_PRODUCTS_DIR; };
85061B1DA49D125991117950 /* /usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf"; sourceTree = "<absolute>"; };
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri"; sourceTree = "<absolute>"; };
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri"; sourceTree = "<absolute>"; };
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri"; sourceTree = "<absolute>"; };
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri"; sourceTree = "<absolute>"; };
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri"; sourceTree = "<absolute>"; };
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri"; sourceTree = "<absolute>"; };
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri"; sourceTree = "<absolute>"; };
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri"; sourceTree = "<absolute>"; };
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri"; sourceTree = "<absolute>"; };
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.4.0/mkspecs/common/clang.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/clang.conf"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqwbmp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
85061B1DA49D125991117950 /* /usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf"; sourceTree = "<absolute>"; };
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri"; sourceTree = "<absolute>"; };
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri"; sourceTree = "<absolute>"; };
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri"; sourceTree = "<absolute>"; };
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri"; sourceTree = "<absolute>"; };
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri"; sourceTree = "<absolute>"; };
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri"; sourceTree = "<absolute>"; };
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri"; sourceTree = "<absolute>"; };
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri"; sourceTree = "<absolute>"; };
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri"; sourceTree = "<absolute>"; };
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.0/mkspecs/common/clang.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/clang.conf"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqwbmp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri"; sourceTree = "<absolute>"; };
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri"; sourceTree = "<absolute>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri"; sourceTree = "<absolute>"; };
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri"; sourceTree = "<absolute>"; };
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri"; sourceTree = "<absolute>"; };
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri"; sourceTree = "<absolute>"; };
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri"; sourceTree = "<absolute>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri"; sourceTree = "<absolute>"; };
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri"; sourceTree = "<absolute>"; };
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri"; sourceTree = "<absolute>"; };
9742F24EE18EA44D52824F1E /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri"; sourceTree = "<absolute>"; };
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri"; sourceTree = "<absolute>"; };
9DFF62A901D70814B8A323D4 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri"; sourceTree = "<absolute>"; };
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri"; sourceTree = "<absolute>"; };
A1A67BEAA744704B29168D39 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri"; sourceTree = "<absolute>"; };
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri"; sourceTree = "<absolute>"; };
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri"; sourceTree = "<absolute>"; };
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri"; sourceTree = "<absolute>"; };
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri"; sourceTree = "<absolute>"; };
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri"; sourceTree = "<absolute>"; };
A83296E7180A28ABB0FD85D2 /* mlmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mlmain.cpp; path = SourceFiles/_other/mlmain.cpp; sourceTree = "<absolute>"; };
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf"; sourceTree = "<absolute>"; };
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri"; sourceTree = "<absolute>"; };
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri"; sourceTree = "<absolute>"; };
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf"; sourceTree = "<absolute>"; };
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri"; sourceTree = "<absolute>"; };
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri"; sourceTree = "<absolute>"; };
AB745978DF0F41D1801ABDA6 /* .qmake.stash */ = {isa = PBXFileReference; lastKnownFileType = file; path = .qmake.stash; sourceTree = "<absolute>"; };
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri"; sourceTree = "<absolute>"; };
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri"; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri"; sourceTree = "<absolute>"; };
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri"; sourceTree = "<absolute>"; };
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri"; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri"; sourceTree = "<absolute>"; };
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri"; sourceTree = "<absolute>"; };
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri"; sourceTree = "<absolute>"; };
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri"; sourceTree = "<absolute>"; };
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri"; sourceTree = "<absolute>"; };
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri"; sourceTree = "<absolute>"; };
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri"; sourceTree = "<absolute>"; };
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri"; sourceTree = "<absolute>"; };
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri"; sourceTree = "<absolute>"; };
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri"; sourceTree = "<absolute>"; };
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri"; sourceTree = "<absolute>"; };
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri"; sourceTree = "<absolute>"; };
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri"; sourceTree = "<absolute>"; };
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri"; sourceTree = "<absolute>"; };
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri"; sourceTree = "<absolute>"; };
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri"; sourceTree = "<absolute>"; };
C505A18319B9B63C63877858 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri"; sourceTree = "<absolute>"; };
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri"; sourceTree = "<absolute>"; };
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri"; sourceTree = "<absolute>"; };
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri"; sourceTree = "<absolute>"; };
CFFBE05DB004895080314289 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri"; sourceTree = "<absolute>"; };
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri"; sourceTree = "<absolute>"; };
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri"; sourceTree = "<absolute>"; };
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri"; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqdds$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri"; sourceTree = "<absolute>"; };
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri"; sourceTree = "<absolute>"; };
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri"; sourceTree = "<absolute>"; };
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri"; sourceTree = "<absolute>"; };
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri"; sourceTree = "<absolute>"; };
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri"; sourceTree = "<absolute>"; };
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri"; sourceTree = "<absolute>"; };
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri"; sourceTree = "<absolute>"; };
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri"; sourceTree = "<absolute>"; };
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri"; sourceTree = "<absolute>"; };
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri"; sourceTree = "<absolute>"; };
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri"; sourceTree = "<absolute>"; };
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri"; sourceTree = "<absolute>"; };
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri"; sourceTree = "<absolute>"; };
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri"; sourceTree = "<absolute>"; };
C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri"; sourceTree = "<absolute>"; };
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri"; sourceTree = "<absolute>"; };
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri"; sourceTree = "<absolute>"; };
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri"; sourceTree = "<absolute>"; };
CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri"; sourceTree = "<absolute>"; };
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri"; sourceTree = "<absolute>"; };
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri"; sourceTree = "<absolute>"; };
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri"; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqdds$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D4B32C2222F82AC56BADEB21 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.4.0/mkspecs/qconfig.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/qconfig.pri"; sourceTree = "<absolute>"; };
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri"; sourceTree = "<absolute>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "/usr/local/Qt-5.4.0/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "/usr/local/Qt-5.4.0/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri"; sourceTree = "<absolute>"; };
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.0/mkspecs/qconfig.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/qconfig.pri"; sourceTree = "<absolute>"; };
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri"; sourceTree = "<absolute>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "/usr/local/Qt-5.5.0/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "/usr/local/Qt-5.5.0/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri"; sourceTree = "<absolute>"; };
D7D645CBFF3B86CF39CEF3DA /* mlmain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mlmain.h; path = SourceFiles/_other/mlmain.h; sourceTree = "<absolute>"; };
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri"; sourceTree = "<absolute>"; };
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri"; sourceTree = "<absolute>"; };
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "/usr/local/Qt-5.4.0/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DF8188E30892A4654B984221 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri"; sourceTree = "<absolute>"; };
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri"; sourceTree = "<absolute>"; };
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri"; sourceTree = "<absolute>"; };
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "/usr/local/Qt-5.5.0/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri"; sourceTree = "<absolute>"; };
DFD7912080BC557230093752 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri"; sourceTree = "<absolute>"; };
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri"; sourceTree = "<absolute>"; };
E432DA897A5F027987342E8F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri"; sourceTree = "<absolute>"; };
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri"; sourceTree = "<absolute>"; };
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri"; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "/usr/local/Qt-5.4.0/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri"; sourceTree = "<absolute>"; };
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri"; sourceTree = "<absolute>"; };
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri"; sourceTree = "<absolute>"; };
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri"; sourceTree = "<absolute>"; };
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.4.0/mkspecs/common/mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/mac.conf"; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0A58515945747E36783CC21 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri"; sourceTree = "<absolute>"; };
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf"; sourceTree = "<absolute>"; };
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri"; sourceTree = "<absolute>"; };
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri"; sourceTree = "<absolute>"; };
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri"; sourceTree = "<absolute>"; };
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri"; sourceTree = "<absolute>"; };
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri"; sourceTree = "<absolute>"; };
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri"; sourceTree = "<absolute>"; };
E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri"; sourceTree = "<absolute>"; };
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri"; sourceTree = "<absolute>"; };
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri"; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "/usr/local/Qt-5.5.0/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri"; sourceTree = "<absolute>"; };
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri"; sourceTree = "<absolute>"; };
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri"; sourceTree = "<absolute>"; };
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri"; sourceTree = "<absolute>"; };
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.0/mkspecs/common/mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/mac.conf"; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri"; sourceTree = "<absolute>"; };
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf"; sourceTree = "<absolute>"; };
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri"; sourceTree = "<absolute>"; };
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri"; sourceTree = "<absolute>"; };
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri"; sourceTree = "<absolute>"; };
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri"; sourceTree = "<absolute>"; };
FCC237CA5AD60B9BA4447615 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri"; sourceTree = "<absolute>"; };
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri"; sourceTree = "<absolute>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -248,6 +250,7 @@
F4D3747C3A03B25EDC9057BB /* qwebp in Link Binary With Libraries */,
9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */,
8D33FE22B9BBADC7FA46C15B /* qtharfbuzzng in Link Binary With Libraries */,
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */,
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */,
);
name = "Link Binary With Libraries";
@@ -295,127 +298,127 @@
isa = PBXGroup;
children = (
33A9E861B2FAD8C39E154E7C /* MetaLang.pro */,
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.4.0/mkspecs/qdevice.pri */,
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf */,
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.4.0/mkspecs/common/unix.conf */,
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.4.0/mkspecs/common/mac.conf */,
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.4.0/mkspecs/common/macx.conf */,
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf */,
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf */,
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.4.0/mkspecs/common/clang.conf */,
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf */,
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.4.0/mkspecs/qconfig.pri */,
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri */,
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri */,
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri */,
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri */,
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri */,
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri */,
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri */,
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri */,
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri */,
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri */,
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri */,
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri */,
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri */,
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri */,
4C6C71914B1926119120DACD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri */,
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri */,
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri */,
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri */,
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri */,
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri */,
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri */,
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri */,
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri */,
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri */,
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */,
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri */,
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri */,
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri */,
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri */,
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri */,
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri */,
E432DA897A5F027987342E8F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri */,
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri */,
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri */,
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri */,
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri */,
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri */,
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri */,
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri */,
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri */,
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */,
DF8188E30892A4654B984221 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri */,
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri */,
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */,
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri */,
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri */,
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri */,
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri */,
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */,
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri */,
C505A18319B9B63C63877858 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri */,
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri */,
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri */,
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri */,
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri */,
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri */,
311004331A04F3D69C98643C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri */,
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri */,
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */,
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri */,
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri */,
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri */,
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri */,
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri */,
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri */,
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri */,
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri */,
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri */,
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri */,
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri */,
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri */,
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri */,
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */,
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */,
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri */,
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */,
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri */,
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */,
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri */,
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */,
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */,
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri */,
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri */,
45DB132B756499D4DF38430E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri */,
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri */,
F0A58515945747E36783CC21 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */,
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */,
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */,
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */,
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri */,
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri */,
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri */,
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri */,
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri */,
CFFBE05DB004895080314289 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri */,
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */,
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */,
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */,
060A694B42A4555240009936 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri */,
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri */,
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */,
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */,
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */,
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */,
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */,
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */,
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */,
346287C9E754E7C458153F03 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri */,
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri */,
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf */,
85061B1DA49D125991117950 /* /usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf */,
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.0/mkspecs/qdevice.pri */,
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf */,
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.0/mkspecs/common/unix.conf */,
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.0/mkspecs/common/mac.conf */,
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.0/mkspecs/common/macx.conf */,
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf */,
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf */,
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.0/mkspecs/common/clang.conf */,
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf */,
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.0/mkspecs/qconfig.pri */,
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri */,
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri */,
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri */,
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri */,
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri */,
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri */,
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri */,
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri */,
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri */,
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri */,
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri */,
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri */,
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri */,
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri */,
4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri */,
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri */,
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri */,
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri */,
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri */,
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri */,
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri */,
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri */,
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri */,
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri */,
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */,
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri */,
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri */,
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri */,
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri */,
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri */,
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri */,
E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri */,
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri */,
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri */,
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri */,
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri */,
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri */,
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri */,
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri */,
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri */,
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */,
DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri */,
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri */,
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */,
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri */,
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri */,
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri */,
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri */,
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */,
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri */,
C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri */,
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri */,
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri */,
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri */,
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri */,
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri */,
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri */,
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri */,
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri */,
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri */,
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri */,
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri */,
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri */,
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri */,
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri */,
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri */,
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri */,
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri */,
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri */,
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri */,
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri */,
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri */,
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */,
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */,
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri */,
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */,
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri */,
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */,
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri */,
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */,
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */,
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri */,
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri */,
45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri */,
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri */,
F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */,
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */,
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */,
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */,
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri */,
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri */,
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri */,
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri */,
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri */,
CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri */,
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */,
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */,
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */,
060A694B42A4555240009936 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri */,
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri */,
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */,
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */,
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */,
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */,
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */,
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */,
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */,
346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri */,
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri */,
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf */,
85061B1DA49D125991117950 /* /usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf */,
AB745978DF0F41D1801ABDA6 /* .qmake.stash */,
);
name = "Supporting Files";
@@ -432,6 +435,7 @@
AF39DD055C3EF8226FBE929D /* Frameworks */ = {
isa = PBXGroup;
children = (
07D795491B5544B200DE9598 /* qtpcre */,
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */,
DFD7912080BC557230093752 /* ApplicationServices.framework */,
9742F24EE18EA44D52824F1E /* CoreServices.framework */,
@@ -516,7 +520,7 @@
6DB9C3763D02B1415CD9D565 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0610;
LastUpgradeCheck = 0640;
};
buildConfigurationList = DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "MetaLang" */;
compatibilityVersion = "Xcode 3.2";
@@ -603,6 +607,7 @@
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -611,25 +616,25 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
GeneratedFiles/Debug,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INFOPLIST_FILE = Lang.plist;
INSTALL_DIR = ../Mac/ReleaseLang/;
LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++";
LIBRARY_SEARCH_PATHS = (
/System/Library/Frameworks/,
"/usr/local/Qt-5.4.0/lib",
"/usr/local/Qt-5.4.0/plugins/platforms",
"/usr/local/Qt-5.4.0/plugins/imageformats",
"/usr/local/Qt-5.5.0/lib",
"/usr/local/Qt-5.5.0/plugins/platforms",
"/usr/local/Qt-5.5.0/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/ReleaseIntermediateLang;
@@ -658,10 +663,10 @@
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L/usr/local/Qt-5.4.0/lib",
"-L/usr/local/Qt-5.4.0/plugins/platforms",
"-L/usr/local/Qt-5.5.0/lib",
"-L/usr/local/Qt-5.5.0/plugins/platforms",
"-lcups",
"-L/usr/local/Qt-5.4.0/plugins/imageformats",
"-L/usr/local/Qt-5.5.0/plugins/imageformats",
"-lz",
"-lm",
);
@@ -691,6 +696,7 @@
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -700,25 +706,25 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
GeneratedFiles/Debug,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INFOPLIST_FILE = Lang.plist;
INSTALL_DIR = ../Mac/DebugLang/;
LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++";
LIBRARY_SEARCH_PATHS = (
/System/Library/Frameworks/,
"/usr/local/Qt-5.4.0/lib",
"/usr/local/Qt-5.4.0/plugins/platforms",
"/usr/local/Qt-5.4.0/plugins/imageformats",
"/usr/local/Qt-5.5.0/lib",
"/usr/local/Qt-5.5.0/plugins/platforms",
"/usr/local/Qt-5.5.0/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/DebugIntermediateLang;
@@ -748,10 +754,10 @@
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L/usr/local/Qt-5.4.0/lib",
"-L/usr/local/Qt-5.4.0/plugins/platforms",
"-L/usr/local/Qt-5.5.0/lib",
"-L/usr/local/Qt-5.5.0/plugins/platforms",
"-lcups",
"-L/usr/local/Qt-5.4.0/plugins/imageformats",
"-L/usr/local/Qt-5.5.0/plugins/imageformats",
"-lz",
"-lm",
);
@@ -769,15 +775,15 @@
COPY_PHASE_STRIP = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
HEADER_SEARCH_PATHS = (
./../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
./../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
./../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INSTALL_DIR = ../Mac/ReleaseLang/;
PRODUCT_NAME = MetaLang;
@@ -795,15 +801,15 @@
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
HEADER_SEARCH_PATHS = (
./../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
./../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
./../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INSTALL_DIR = ../Mac/DebugLang/;
PRODUCT_NAME = MetaLang;

View File

@@ -1,25 +1,25 @@
#############################################################################
# Makefile for building: ../Mac/DebugLang/MetaLang.app/Contents/MacOS/MetaLang
# Generated by qmake (3.0) (Qt 5.4.0)
# Generated by qmake (3.0) (Qt 5.5.0)
# Project: MetaLang.pro
# Template: app
# Command: /usr/local/Qt-5.4.0/bin/qmake -spec macx-xcode -o MetaLang.xcodeproj/project.pbxproj MetaLang.pro
# Command: /usr/local/Qt-5.5.0/bin/qmake -spec macx-xcode -o MetaLang.xcodeproj/project.pbxproj MetaLang.pro
#############################################################################
MAKEFILE = project.pbxproj
MOC = /usr/local/Qt-5.4.0/bin/moc
UIC =
MOC = /usr/local/Qt-5.5.0/bin/moc
UIC =
LEX = flex
LEXFLAGS =
LEXFLAGS =
YACC = yacc
YACCFLAGS = -d
DEFINES = -D_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB
INCPATH = -I/usr/local/Qt-5.4.0/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore -I../../Libraries/QtStatic/qtbase/include -I/usr/local/Qt-5.4.0/include -I/usr/local/Qt-5.4.0/include/QtGui -I/usr/local/Qt-5.4.0/include/QtCore -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers
INCPATH = -I/usr/local/Qt-5.5.0/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore -I../../Libraries/QtStatic/qtbase/include -I/usr/local/Qt-5.5.0/include -I/usr/local/Qt-5.5.0/include/QtGui -I/usr/local/Qt-5.5.0/include/QtCore -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers
DEL_FILE = rm -f
MOVE = mv -f
IMAGES =
IMAGES =
PARSERS =
preprocess: $(PARSERS) compilers
clean preprocess_clean: parser_clean compiler_clean
@@ -52,7 +52,7 @@ GeneratedFiles/Debug/moc_genlang.cpp: ../../Libraries/QtStatic/qtbase/include/Qt
../../Libraries/QtStatic/qtbase/include/QtCore/QCoreApplication \
../../Libraries/QtStatic/qtbase/include/QtGui/QGuiApplication \
SourceFiles/_other/genlang.h
/usr/local/Qt-5.4.0/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.4.0/mkspecs/macx-clang -I. -I/usr/local/Qt-5.4.0/include/QtGui/5.4.0/QtGui -I/usr/local/Qt-5.4.0/include/QtCore/5.4.0/QtCore -I/usr/local/Qt-5.4.0/include -I/usr/local/Qt-5.4.0/include/QtGui -I/usr/local/Qt-5.4.0/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/_other/genlang.h -o GeneratedFiles/Debug/moc_genlang.cpp
/usr/local/Qt-5.5.0/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.0/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.0/include/QtGui/5.5.0/QtGui -I/usr/local/Qt-5.5.0/include/QtCore/5.5.0/QtCore -I/usr/local/Qt-5.5.0/include -I/usr/local/Qt-5.5.0/include/QtGui -I/usr/local/Qt-5.5.0/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/_other/genlang.h -o GeneratedFiles/Debug/moc_genlang.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
@@ -64,5 +64,5 @@ compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean
compiler_clean: compiler_moc_header_clean

View File

@@ -27,7 +27,7 @@ HEADERS += \
./SourceFiles/_other/msmain.h \
./SourceFiles/_other/genstyles.h \
INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui\
./../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore\
INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui\
./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore\
./../../Libraries/QtStatic/qtbase/include\

View File

@@ -126,7 +126,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;qtharfbuzzngd.lib;Qt5Widgetsd.lib;Qt5Networkd.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;imm32.lib;winmm.lib;qtmaind.lib;glu32.lib;opengl32.lib;Qt5Cored.lib;Qt5Guid.lib;qtharfbuzzngd.lib;qtpcred.lib;qtfreetyped.lib;Qt5Widgetsd.lib;Qt5Networkd.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
@@ -145,7 +145,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
@@ -162,7 +162,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;opengl32.lib;imm32.lib;winmm.lib;Qt5Core.lib;Qt5Gui.lib;qtharfbuzzng.lib;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>

View File

@@ -22,6 +22,7 @@
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 07D795491B5544B200DE9598 /* qtpcre */; };
1A681B886F50EE30FBE62B4B /* Qt5PrintSupport in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DBF506D10449BFABD45B82DA /* Qt5PrintSupport */; };
1BB705CDB741E2B7450201A5 /* Cocoa.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */; };
328FD74542F6E2C873EE4D4B /* ApplicationServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DFD7912080BC557230093752 /* ApplicationServices.framework */; };
@@ -63,160 +64,161 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "/usr/local/Qt-5.4.0/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
060A694B42A4555240009936 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri"; sourceTree = "<absolute>"; };
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; };
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.4.0/mkspecs/common/unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/unix.conf"; sourceTree = "<absolute>"; };
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "/usr/local/Qt-5.5.0/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
060A694B42A4555240009936 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri"; sourceTree = "<absolute>"; };
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; };
07D795491B5544B200DE9598 /* qtpcre */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtpcre; path = "usr/local/Qt-5.5.0/lib/libqtpcre$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.0/mkspecs/common/unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/unix.conf"; sourceTree = "<absolute>"; };
10F719DFC6D0B05605ED1C16 /* MetaStyle.pro */ = {isa = PBXFileReference; lastKnownFileType = text; path = MetaStyle.pro; sourceTree = "<absolute>"; };
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri"; sourceTree = "<absolute>"; };
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri"; sourceTree = "<absolute>"; };
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri"; sourceTree = "<absolute>"; };
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri"; sourceTree = "<absolute>"; };
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri"; sourceTree = "<absolute>"; };
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri"; sourceTree = "<absolute>"; };
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri"; sourceTree = "<absolute>"; };
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri"; sourceTree = "<absolute>"; };
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri"; sourceTree = "<absolute>"; };
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri"; sourceTree = "<absolute>"; };
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri"; sourceTree = "<absolute>"; };
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri"; sourceTree = "<absolute>"; };
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri"; sourceTree = "<absolute>"; };
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri"; sourceTree = "<absolute>"; };
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri"; sourceTree = "<absolute>"; };
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri"; sourceTree = "<absolute>"; };
2CBD32689B153445ED220FAE /* MetaStyle.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MetaStyle.app; sourceTree = BUILT_PRODUCTS_DIR; };
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
311004331A04F3D69C98643C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri"; sourceTree = "<absolute>"; };
346287C9E754E7C458153F03 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri"; sourceTree = "<absolute>"; };
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri"; sourceTree = "<absolute>"; };
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri"; sourceTree = "<absolute>"; };
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri"; sourceTree = "<absolute>"; };
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri"; sourceTree = "<absolute>"; };
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf"; sourceTree = "<absolute>"; };
45DB132B756499D4DF38430E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.4.0/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4C6C71914B1926119120DACD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri"; sourceTree = "<absolute>"; };
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri"; sourceTree = "<absolute>"; };
346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri"; sourceTree = "<absolute>"; };
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri"; sourceTree = "<absolute>"; };
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri"; sourceTree = "<absolute>"; };
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri"; sourceTree = "<absolute>"; };
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri"; sourceTree = "<absolute>"; };
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf"; sourceTree = "<absolute>"; };
45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.5.0/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri"; sourceTree = "<absolute>"; };
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri"; sourceTree = "<absolute>"; };
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri"; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "/usr/local/Qt-5.4.0/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri"; sourceTree = "<absolute>"; };
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri"; sourceTree = "<absolute>"; };
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri"; sourceTree = "<absolute>"; };
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri"; sourceTree = "<absolute>"; };
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf"; sourceTree = "<absolute>"; };
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf"; sourceTree = "<absolute>"; };
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.4.0/mkspecs/qdevice.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/qdevice.pri"; sourceTree = "<absolute>"; };
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri"; sourceTree = "<absolute>"; };
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri"; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "/usr/local/Qt-5.5.0/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri"; sourceTree = "<absolute>"; };
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri"; sourceTree = "<absolute>"; };
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri"; sourceTree = "<absolute>"; };
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri"; sourceTree = "<absolute>"; };
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf"; sourceTree = "<absolute>"; };
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf"; sourceTree = "<absolute>"; };
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.0/mkspecs/qdevice.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/qdevice.pri"; sourceTree = "<absolute>"; };
6FF81CB4A724CE1990CEE99A /* msmain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = msmain.h; path = SourceFiles/_other/msmain.h; sourceTree = "<absolute>"; };
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri"; sourceTree = "<absolute>"; };
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri"; sourceTree = "<absolute>"; };
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri"; sourceTree = "<absolute>"; };
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri"; sourceTree = "<absolute>"; };
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.4.0/mkspecs/common/macx.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/macx.conf"; sourceTree = "<absolute>"; };
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri"; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
85061B1DA49D125991117950 /* /usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf"; sourceTree = "<absolute>"; };
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri"; sourceTree = "<absolute>"; };
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri"; sourceTree = "<absolute>"; };
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri"; sourceTree = "<absolute>"; };
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri"; sourceTree = "<absolute>"; };
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri"; sourceTree = "<absolute>"; };
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.0/mkspecs/common/macx.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/macx.conf"; sourceTree = "<absolute>"; };
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri"; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
85061B1DA49D125991117950 /* /usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf"; sourceTree = "<absolute>"; };
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri"; sourceTree = "<absolute>"; };
861D2151FB56504EB72BDB6E /* moc_genstyles.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_genstyles.cpp; path = GeneratedFiles/Debug/moc_genstyles.cpp; sourceTree = "<absolute>"; };
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri"; sourceTree = "<absolute>"; };
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri"; sourceTree = "<absolute>"; };
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri"; sourceTree = "<absolute>"; };
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri"; sourceTree = "<absolute>"; };
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri"; sourceTree = "<absolute>"; };
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri"; sourceTree = "<absolute>"; };
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri"; sourceTree = "<absolute>"; };
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri"; sourceTree = "<absolute>"; };
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.4.0/mkspecs/common/clang.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/clang.conf"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqwbmp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri"; sourceTree = "<absolute>"; };
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri"; sourceTree = "<absolute>"; };
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri"; sourceTree = "<absolute>"; };
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri"; sourceTree = "<absolute>"; };
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri"; sourceTree = "<absolute>"; };
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri"; sourceTree = "<absolute>"; };
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri"; sourceTree = "<absolute>"; };
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri"; sourceTree = "<absolute>"; };
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.0/mkspecs/common/clang.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/clang.conf"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqwbmp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri"; sourceTree = "<absolute>"; };
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri"; sourceTree = "<absolute>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri"; sourceTree = "<absolute>"; };
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri"; sourceTree = "<absolute>"; };
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri"; sourceTree = "<absolute>"; };
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri"; sourceTree = "<absolute>"; };
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri"; sourceTree = "<absolute>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri"; sourceTree = "<absolute>"; };
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri"; sourceTree = "<absolute>"; };
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri"; sourceTree = "<absolute>"; };
9742F24EE18EA44D52824F1E /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri"; sourceTree = "<absolute>"; };
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri"; sourceTree = "<absolute>"; };
9DFF62A901D70814B8A323D4 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri"; sourceTree = "<absolute>"; };
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri"; sourceTree = "<absolute>"; };
A1A67BEAA744704B29168D39 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
A35D133D7C0EFB42FA85D194 /* genstyles.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = genstyles.h; path = SourceFiles/_other/genstyles.h; sourceTree = "<absolute>"; };
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri"; sourceTree = "<absolute>"; };
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri"; sourceTree = "<absolute>"; };
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri"; sourceTree = "<absolute>"; };
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf"; sourceTree = "<absolute>"; };
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri"; sourceTree = "<absolute>"; };
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri"; sourceTree = "<absolute>"; };
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri"; sourceTree = "<absolute>"; };
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri"; sourceTree = "<absolute>"; };
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri"; sourceTree = "<absolute>"; };
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf"; sourceTree = "<absolute>"; };
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri"; sourceTree = "<absolute>"; };
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri"; sourceTree = "<absolute>"; };
AB745978DF0F41D1801ABDA6 /* .qmake.stash */ = {isa = PBXFileReference; lastKnownFileType = file; path = .qmake.stash; sourceTree = "<absolute>"; };
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri"; sourceTree = "<absolute>"; };
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri"; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri"; sourceTree = "<absolute>"; };
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri"; sourceTree = "<absolute>"; };
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri"; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri"; sourceTree = "<absolute>"; };
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri"; sourceTree = "<absolute>"; };
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri"; sourceTree = "<absolute>"; };
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri"; sourceTree = "<absolute>"; };
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri"; sourceTree = "<absolute>"; };
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri"; sourceTree = "<absolute>"; };
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri"; sourceTree = "<absolute>"; };
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri"; sourceTree = "<absolute>"; };
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri"; sourceTree = "<absolute>"; };
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri"; sourceTree = "<absolute>"; };
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri"; sourceTree = "<absolute>"; };
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri"; sourceTree = "<absolute>"; };
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri"; sourceTree = "<absolute>"; };
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri"; sourceTree = "<absolute>"; };
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri"; sourceTree = "<absolute>"; };
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri"; sourceTree = "<absolute>"; };
C505A18319B9B63C63877858 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri"; sourceTree = "<absolute>"; };
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri"; sourceTree = "<absolute>"; };
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri"; sourceTree = "<absolute>"; };
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri"; sourceTree = "<absolute>"; };
CFFBE05DB004895080314289 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri"; sourceTree = "<absolute>"; };
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri"; sourceTree = "<absolute>"; };
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri"; sourceTree = "<absolute>"; };
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri"; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqdds$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri"; sourceTree = "<absolute>"; };
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri"; sourceTree = "<absolute>"; };
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri"; sourceTree = "<absolute>"; };
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri"; sourceTree = "<absolute>"; };
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri"; sourceTree = "<absolute>"; };
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri"; sourceTree = "<absolute>"; };
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri"; sourceTree = "<absolute>"; };
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri"; sourceTree = "<absolute>"; };
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri"; sourceTree = "<absolute>"; };
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri"; sourceTree = "<absolute>"; };
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri"; sourceTree = "<absolute>"; };
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri"; sourceTree = "<absolute>"; };
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri"; sourceTree = "<absolute>"; };
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri"; sourceTree = "<absolute>"; };
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri"; sourceTree = "<absolute>"; };
C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri"; sourceTree = "<absolute>"; };
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri"; sourceTree = "<absolute>"; };
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri"; sourceTree = "<absolute>"; };
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri"; sourceTree = "<absolute>"; };
CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri"; sourceTree = "<absolute>"; };
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri"; sourceTree = "<absolute>"; };
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri"; sourceTree = "<absolute>"; };
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri"; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqdds$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D4B32C2222F82AC56BADEB21 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.4.0/mkspecs/qconfig.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/qconfig.pri"; sourceTree = "<absolute>"; };
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri"; sourceTree = "<absolute>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "/usr/local/Qt-5.4.0/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "/usr/local/Qt-5.4.0/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri"; sourceTree = "<absolute>"; };
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri"; sourceTree = "<absolute>"; };
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri"; sourceTree = "<absolute>"; };
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "/usr/local/Qt-5.4.0/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DF8188E30892A4654B984221 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri"; sourceTree = "<absolute>"; };
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.0/mkspecs/qconfig.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/qconfig.pri"; sourceTree = "<absolute>"; };
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri"; sourceTree = "<absolute>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "/usr/local/Qt-5.5.0/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "/usr/local/Qt-5.5.0/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri"; sourceTree = "<absolute>"; };
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri"; sourceTree = "<absolute>"; };
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri"; sourceTree = "<absolute>"; };
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "/usr/local/Qt-5.5.0/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri"; sourceTree = "<absolute>"; };
DFD7912080BC557230093752 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri"; sourceTree = "<absolute>"; };
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri"; sourceTree = "<absolute>"; };
E432DA897A5F027987342E8F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri"; sourceTree = "<absolute>"; };
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri"; sourceTree = "<absolute>"; };
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri"; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "/usr/local/Qt-5.4.0/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri"; sourceTree = "<absolute>"; };
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri"; sourceTree = "<absolute>"; };
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri"; sourceTree = "<absolute>"; };
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri"; sourceTree = "<absolute>"; };
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.4.0/mkspecs/common/mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/mac.conf"; sourceTree = "<absolute>"; };
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri"; sourceTree = "<absolute>"; };
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri"; sourceTree = "<absolute>"; };
E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri"; sourceTree = "<absolute>"; };
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri"; sourceTree = "<absolute>"; };
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri"; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "/usr/local/Qt-5.5.0/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri"; sourceTree = "<absolute>"; };
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri"; sourceTree = "<absolute>"; };
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri"; sourceTree = "<absolute>"; };
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri"; sourceTree = "<absolute>"; };
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.0/mkspecs/common/mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/mac.conf"; sourceTree = "<absolute>"; };
EF5243ECB3132AF2796F09DF /* msmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = msmain.cpp; path = SourceFiles/_other/msmain.cpp; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0A58515945747E36783CC21 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri"; sourceTree = "<absolute>"; };
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf"; sourceTree = "<absolute>"; };
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri"; sourceTree = "<absolute>"; };
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri"; sourceTree = "<absolute>"; };
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri"; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri"; sourceTree = "<absolute>"; };
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf"; sourceTree = "<absolute>"; };
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri"; sourceTree = "<absolute>"; };
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri"; sourceTree = "<absolute>"; };
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri"; sourceTree = "<absolute>"; };
F8BC976260B6D624F23C32D6 /* genstyles.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = genstyles.cpp; path = SourceFiles/_other/genstyles.cpp; sourceTree = "<absolute>"; };
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri"; sourceTree = "<absolute>"; };
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri"; sourceTree = "<absolute>"; };
FCC237CA5AD60B9BA4447615 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri"; sourceTree = "<absolute>"; };
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri"; sourceTree = "<absolute>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -248,6 +250,7 @@
F4D3747C3A03B25EDC9057BB /* qwebp in Link Binary With Libraries */,
9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */,
8D33FE22B9BBADC7FA46C15B /* qtharfbuzzng in Link Binary With Libraries */,
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */,
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */,
);
name = "Link Binary With Libraries";
@@ -295,127 +298,127 @@
isa = PBXGroup;
children = (
10F719DFC6D0B05605ED1C16 /* MetaStyle.pro */,
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.4.0/mkspecs/qdevice.pri */,
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf */,
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.4.0/mkspecs/common/unix.conf */,
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.4.0/mkspecs/common/mac.conf */,
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.4.0/mkspecs/common/macx.conf */,
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf */,
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf */,
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.4.0/mkspecs/common/clang.conf */,
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf */,
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.4.0/mkspecs/qconfig.pri */,
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri */,
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri */,
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri */,
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri */,
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri */,
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri */,
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri */,
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri */,
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri */,
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri */,
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri */,
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri */,
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri */,
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri */,
4C6C71914B1926119120DACD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri */,
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri */,
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri */,
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri */,
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri */,
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri */,
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri */,
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri */,
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri */,
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri */,
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */,
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri */,
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri */,
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri */,
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri */,
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri */,
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri */,
E432DA897A5F027987342E8F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri */,
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri */,
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri */,
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri */,
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri */,
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri */,
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri */,
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri */,
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri */,
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */,
DF8188E30892A4654B984221 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri */,
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri */,
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */,
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri */,
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri */,
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri */,
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri */,
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */,
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri */,
C505A18319B9B63C63877858 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri */,
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri */,
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri */,
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri */,
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri */,
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri */,
311004331A04F3D69C98643C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri */,
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri */,
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */,
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri */,
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri */,
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri */,
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri */,
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri */,
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri */,
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri */,
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri */,
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri */,
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri */,
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri */,
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri */,
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri */,
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */,
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */,
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri */,
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */,
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri */,
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */,
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri */,
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */,
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */,
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri */,
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri */,
45DB132B756499D4DF38430E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri */,
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri */,
F0A58515945747E36783CC21 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */,
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */,
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */,
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */,
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri */,
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri */,
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri */,
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri */,
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri */,
CFFBE05DB004895080314289 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri */,
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */,
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */,
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */,
060A694B42A4555240009936 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri */,
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri */,
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */,
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */,
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */,
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */,
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */,
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */,
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */,
346287C9E754E7C458153F03 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri */,
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri */,
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf */,
85061B1DA49D125991117950 /* /usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf */,
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.0/mkspecs/qdevice.pri */,
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf */,
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.0/mkspecs/common/unix.conf */,
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.0/mkspecs/common/mac.conf */,
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.0/mkspecs/common/macx.conf */,
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf */,
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf */,
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.0/mkspecs/common/clang.conf */,
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf */,
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.0/mkspecs/qconfig.pri */,
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri */,
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri */,
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri */,
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri */,
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri */,
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri */,
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri */,
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri */,
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri */,
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri */,
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri */,
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri */,
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri */,
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri */,
4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri */,
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri */,
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri */,
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri */,
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri */,
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri */,
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri */,
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri */,
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri */,
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri */,
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */,
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri */,
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri */,
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri */,
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri */,
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri */,
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri */,
E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri */,
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri */,
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri */,
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri */,
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri */,
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri */,
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri */,
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri */,
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri */,
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */,
DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri */,
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri */,
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */,
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri */,
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri */,
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri */,
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri */,
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */,
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri */,
C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri */,
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri */,
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri */,
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri */,
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri */,
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri */,
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri */,
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri */,
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri */,
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri */,
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri */,
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri */,
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri */,
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri */,
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri */,
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri */,
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri */,
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri */,
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri */,
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri */,
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri */,
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri */,
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */,
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */,
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri */,
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */,
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri */,
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */,
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri */,
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */,
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */,
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri */,
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri */,
45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri */,
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri */,
F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */,
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */,
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */,
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */,
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri */,
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri */,
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri */,
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri */,
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri */,
CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri */,
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */,
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */,
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */,
060A694B42A4555240009936 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri */,
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri */,
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */,
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */,
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */,
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */,
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */,
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */,
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */,
346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri */,
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri */,
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf */,
85061B1DA49D125991117950 /* /usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf */,
AB745978DF0F41D1801ABDA6 /* .qmake.stash */,
);
name = "Supporting Files";
@@ -432,6 +435,7 @@
AF39DD055C3EF8226FBE929D /* Frameworks */ = {
isa = PBXGroup;
children = (
07D795491B5544B200DE9598 /* qtpcre */,
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */,
DFD7912080BC557230093752 /* ApplicationServices.framework */,
9742F24EE18EA44D52824F1E /* CoreServices.framework */,
@@ -516,7 +520,7 @@
6DB9C3763D02B1415CD9D565 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0610;
LastUpgradeCheck = 0630;
};
buildConfigurationList = DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "MetaStyle" */;
compatibilityVersion = "Xcode 3.2";
@@ -603,6 +607,7 @@
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -611,25 +616,25 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
GeneratedFiles/Debug,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INFOPLIST_FILE = Style.plist;
INSTALL_DIR = ../Mac/ReleaseStyle/;
LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++";
LIBRARY_SEARCH_PATHS = (
/System/Library/Frameworks/,
"/usr/local/Qt-5.4.0/lib",
"/usr/local/Qt-5.4.0/plugins/platforms",
"/usr/local/Qt-5.4.0/plugins/imageformats",
"/usr/local/Qt-5.5.0/lib",
"/usr/local/Qt-5.5.0/plugins/platforms",
"/usr/local/Qt-5.5.0/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/ReleaseIntermediateStyle;
@@ -658,10 +663,10 @@
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L/usr/local/Qt-5.4.0/lib",
"-L/usr/local/Qt-5.4.0/plugins/platforms",
"-L/usr/local/Qt-5.5.0/lib",
"-L/usr/local/Qt-5.5.0/plugins/platforms",
"-lcups",
"-L/usr/local/Qt-5.4.0/plugins/imageformats",
"-L/usr/local/Qt-5.5.0/plugins/imageformats",
"-lz",
"-lm",
);
@@ -691,6 +696,7 @@
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -700,25 +706,25 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
GeneratedFiles/Debug,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INFOPLIST_FILE = Style.plist;
INSTALL_DIR = ../Mac/DebugStyle/;
LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++";
LIBRARY_SEARCH_PATHS = (
/System/Library/Frameworks/,
"/usr/local/Qt-5.4.0/lib",
"/usr/local/Qt-5.4.0/plugins/platforms",
"/usr/local/Qt-5.4.0/plugins/imageformats",
"/usr/local/Qt-5.5.0/lib",
"/usr/local/Qt-5.5.0/plugins/platforms",
"/usr/local/Qt-5.5.0/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/DebugIntermediateStyle;
@@ -748,10 +754,10 @@
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L/usr/local/Qt-5.4.0/lib",
"-L/usr/local/Qt-5.4.0/plugins/platforms",
"-L/usr/local/Qt-5.5.0/lib",
"-L/usr/local/Qt-5.5.0/plugins/platforms",
"-lcups",
"-L/usr/local/Qt-5.4.0/plugins/imageformats",
"-L/usr/local/Qt-5.5.0/plugins/imageformats",
"-lz",
"-lm",
);
@@ -769,15 +775,15 @@
COPY_PHASE_STRIP = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
HEADER_SEARCH_PATHS = (
./../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
./../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
./../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INSTALL_DIR = ./../Mac/ReleaseStyle/;
PRODUCT_NAME = MetaStyle;
@@ -795,15 +801,15 @@
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
HEADER_SEARCH_PATHS = (
./../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
./../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
./../../Libraries/QtStatic/qtbase/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INSTALL_DIR = ./../Mac/DebugStyle/;
PRODUCT_NAME = MetaStyle;

View File

@@ -1,25 +1,25 @@
#############################################################################
# Makefile for building: ../Mac/DebugStyle/MetaStyle.app/Contents/MacOS/MetaStyle
# Generated by qmake (3.0) (Qt 5.4.0)
# Generated by qmake (3.0) (Qt 5.5.0)
# Project: MetaStyle.pro
# Template: app
# Command: /usr/local/Qt-5.4.0/bin/qmake -spec macx-xcode -o MetaStyle.xcodeproj/project.pbxproj MetaStyle.pro
# Command: /usr/local/Qt-5.5.0/bin/qmake -spec macx-xcode -o MetaStyle.xcodeproj/project.pbxproj MetaStyle.pro
#############################################################################
MAKEFILE = project.pbxproj
MOC = /usr/local/Qt-5.4.0/bin/moc
UIC =
MOC = /usr/local/Qt-5.5.0/bin/moc
UIC =
LEX = flex
LEXFLAGS =
LEXFLAGS =
YACC = yacc
YACCFLAGS = -d
DEFINES = -D_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB
INCPATH = -I/usr/local/Qt-5.4.0/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore -I../../Libraries/QtStatic/qtbase/include -I/usr/local/Qt-5.4.0/include -I/usr/local/Qt-5.4.0/include/QtGui -I/usr/local/Qt-5.4.0/include/QtCore -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers
INCPATH = -I/usr/local/Qt-5.5.0/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore -I../../Libraries/QtStatic/qtbase/include -I/usr/local/Qt-5.5.0/include -I/usr/local/Qt-5.5.0/include/QtGui -I/usr/local/Qt-5.5.0/include/QtCore -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers
DEL_FILE = rm -f
MOVE = mv -f
IMAGES =
IMAGES =
PARSERS =
preprocess: $(PARSERS) compilers
clean preprocess_clean: parser_clean compiler_clean
@@ -51,7 +51,7 @@ GeneratedFiles/Debug/moc_genstyles.cpp: ../../Libraries/QtStatic/qtbase/include/
../../Libraries/QtStatic/qtbase/include/QtGui/QGuiApplication \
../../Libraries/QtStatic/qtbase/include/QtGui/QPainter \
SourceFiles/_other/genstyles.h
/usr/local/Qt-5.4.0/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.4.0/mkspecs/macx-clang -I. -I/usr/local/Qt-5.4.0/include/QtGui/5.4.0/QtGui -I/usr/local/Qt-5.4.0/include/QtCore/5.4.0/QtCore -I/usr/local/Qt-5.4.0/include -I/usr/local/Qt-5.4.0/include/QtGui -I/usr/local/Qt-5.4.0/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/_other/genstyles.h -o GeneratedFiles/Debug/moc_genstyles.cpp
/usr/local/Qt-5.5.0/bin/moc $(DEFINES) -D__APPLE__ -D__GNUC__=4 -I/usr/local/Qt-5.5.0/mkspecs/macx-clang -I. -I/usr/local/Qt-5.5.0/include/QtGui/5.5.0/QtGui -I/usr/local/Qt-5.5.0/include/QtCore/5.5.0/QtCore -I/usr/local/Qt-5.5.0/include -I/usr/local/Qt-5.5.0/include/QtGui -I/usr/local/Qt-5.5.0/include/QtCore -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1/backward -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/5.1/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include SourceFiles/_other/genstyles.h -o GeneratedFiles/Debug/moc_genstyles.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
@@ -63,5 +63,5 @@ compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean
compiler_clean: compiler_moc_header_clean

View File

@@ -9,7 +9,7 @@
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>com.ddesktop.${PRODUCT_NAME:rfc1034identifier}</string>
<string>com.tdesktop.$(PRODUCT_NAME:rfc1034identifier)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>

View File

@@ -35,8 +35,8 @@ unix {
}
}
INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui\
./../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore\
INCLUDEPATH += ./../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui\
./../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore\
./../../Libraries/QtStatic/qtbase/include
LIBS += -lcrypto -lssl -lz -llzma

View File

@@ -113,7 +113,7 @@
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>.\..\..\Libraries\lzma\C\Util\LzmaLib\Release;$(QTDIR)\lib;.\..\..\Libraries\zlib-1.2.8\contrib\vstudio\vc11\x86\ZlibStatRelease;.\..\..\Libraries\OpenSSL-Win32\lib\VC\static;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;zlibstat.lib;libeay32MT.lib;Qt5Core.lib;LzmaLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;qtmain.lib;zlibstat.lib;libeay32MT.lib;Qt5Core.lib;qtpcre.lib;LzmaLib.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ImageHasSafeExceptionHandlers>
</ImageHasSafeExceptionHandlers>

View File

@@ -21,6 +21,7 @@
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 07D795491B5544B200DE9598 /* qtpcre */; };
1A681B886F50EE30FBE62B4B /* Qt5PrintSupport in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DBF506D10449BFABD45B82DA /* Qt5PrintSupport */; };
1BB705CDB741E2B7450201A5 /* Cocoa.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */; };
328FD74542F6E2C873EE4D4B /* ApplicationServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DFD7912080BC557230093752 /* ApplicationServices.framework */; };
@@ -60,157 +61,158 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "/usr/local/Qt-5.4.0/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
060A694B42A4555240009936 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri"; sourceTree = "<absolute>"; };
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; };
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.4.0/mkspecs/common/unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/unix.conf"; sourceTree = "<absolute>"; };
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri"; sourceTree = "<absolute>"; };
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri"; sourceTree = "<absolute>"; };
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri"; sourceTree = "<absolute>"; };
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri"; sourceTree = "<absolute>"; };
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri"; sourceTree = "<absolute>"; };
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri"; sourceTree = "<absolute>"; };
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri"; sourceTree = "<absolute>"; };
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri"; sourceTree = "<absolute>"; };
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
311004331A04F3D69C98643C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri"; sourceTree = "<absolute>"; };
346287C9E754E7C458153F03 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri"; sourceTree = "<absolute>"; };
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri"; sourceTree = "<absolute>"; };
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri"; sourceTree = "<absolute>"; };
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri"; sourceTree = "<absolute>"; };
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri"; sourceTree = "<absolute>"; };
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf"; sourceTree = "<absolute>"; };
45DB132B756499D4DF38430E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.4.0/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4C6C71914B1926119120DACD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri"; sourceTree = "<absolute>"; };
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "/usr/local/Qt-5.5.0/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
060A694B42A4555240009936 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri"; sourceTree = "<absolute>"; };
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri"; sourceTree = "<absolute>"; };
07D795491B5544B200DE9598 /* qtpcre */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtpcre; path = "usr/local/Qt-5.5.0/lib/libqtpcre$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.0/mkspecs/common/unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/unix.conf"; sourceTree = "<absolute>"; };
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri"; sourceTree = "<absolute>"; };
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri"; sourceTree = "<absolute>"; };
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri"; sourceTree = "<absolute>"; };
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri"; sourceTree = "<absolute>"; };
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri"; sourceTree = "<absolute>"; };
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri"; sourceTree = "<absolute>"; };
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri"; sourceTree = "<absolute>"; };
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri"; sourceTree = "<absolute>"; };
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri"; sourceTree = "<absolute>"; };
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri"; sourceTree = "<absolute>"; };
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri"; sourceTree = "<absolute>"; };
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri"; sourceTree = "<absolute>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri"; sourceTree = "<absolute>"; };
346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri"; sourceTree = "<absolute>"; };
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri"; sourceTree = "<absolute>"; };
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri"; sourceTree = "<absolute>"; };
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri"; sourceTree = "<absolute>"; };
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri"; sourceTree = "<absolute>"; };
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf"; sourceTree = "<absolute>"; };
45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "/usr/local/Qt-5.5.0/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri"; sourceTree = "<absolute>"; };
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri"; sourceTree = "<absolute>"; };
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri"; sourceTree = "<absolute>"; };
5520A59148EC5EC44EF0D3CD /* Packer.pro */ = {isa = PBXFileReference; lastKnownFileType = text; path = Packer.pro; sourceTree = "<absolute>"; };
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri"; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "/usr/local/Qt-5.4.0/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri"; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "/usr/local/Qt-5.5.0/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5AA25EFD83BC060B26945285 /* packer.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = packer.h; path = SourceFiles/_other/packer.h; sourceTree = "<absolute>"; };
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri"; sourceTree = "<absolute>"; };
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri"; sourceTree = "<absolute>"; };
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri"; sourceTree = "<absolute>"; };
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri"; sourceTree = "<absolute>"; };
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf"; sourceTree = "<absolute>"; };
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf"; sourceTree = "<absolute>"; };
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.4.0/mkspecs/qdevice.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/qdevice.pri"; sourceTree = "<absolute>"; };
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri"; sourceTree = "<absolute>"; };
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri"; sourceTree = "<absolute>"; };
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri"; sourceTree = "<absolute>"; };
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri"; sourceTree = "<absolute>"; };
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.4.0/mkspecs/common/macx.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/macx.conf"; sourceTree = "<absolute>"; };
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri"; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
85061B1DA49D125991117950 /* /usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf"; sourceTree = "<absolute>"; };
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri"; sourceTree = "<absolute>"; };
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri"; sourceTree = "<absolute>"; };
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri"; sourceTree = "<absolute>"; };
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri"; sourceTree = "<absolute>"; };
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri"; sourceTree = "<absolute>"; };
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri"; sourceTree = "<absolute>"; };
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri"; sourceTree = "<absolute>"; };
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri"; sourceTree = "<absolute>"; };
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri"; sourceTree = "<absolute>"; };
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.4.0/mkspecs/common/clang.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/clang.conf"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqwbmp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri"; sourceTree = "<absolute>"; };
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri"; sourceTree = "<absolute>"; };
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri"; sourceTree = "<absolute>"; };
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri"; sourceTree = "<absolute>"; };
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf"; sourceTree = "<absolute>"; };
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf"; sourceTree = "<absolute>"; };
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri"; sourceTree = "<absolute>"; };
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri"; sourceTree = "<absolute>"; };
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.0/mkspecs/qdevice.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/qdevice.pri"; sourceTree = "<absolute>"; };
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri"; sourceTree = "<absolute>"; };
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri"; sourceTree = "<absolute>"; };
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri"; sourceTree = "<absolute>"; };
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri"; sourceTree = "<absolute>"; };
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri"; sourceTree = "<absolute>"; };
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri"; sourceTree = "<absolute>"; };
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri"; sourceTree = "<absolute>"; };
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.0/mkspecs/common/macx.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/macx.conf"; sourceTree = "<absolute>"; };
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri"; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
85061B1DA49D125991117950 /* /usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf"; sourceTree = "<absolute>"; };
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri"; sourceTree = "<absolute>"; };
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri"; sourceTree = "<absolute>"; };
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri"; sourceTree = "<absolute>"; };
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri"; sourceTree = "<absolute>"; };
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri"; sourceTree = "<absolute>"; };
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri"; sourceTree = "<absolute>"; };
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri"; sourceTree = "<absolute>"; };
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri"; sourceTree = "<absolute>"; };
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri"; sourceTree = "<absolute>"; };
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.0/mkspecs/common/clang.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/clang.conf"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqwbmp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AGL.framework; path = /System/Library/Frameworks/AGL.framework; sourceTree = "<absolute>"; };
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri"; sourceTree = "<absolute>"; };
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri"; sourceTree = "<absolute>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri"; sourceTree = "<absolute>"; };
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri"; sourceTree = "<absolute>"; };
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri"; sourceTree = "<absolute>"; };
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri"; sourceTree = "<absolute>"; };
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri"; sourceTree = "<absolute>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri"; sourceTree = "<absolute>"; };
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri"; sourceTree = "<absolute>"; };
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri"; sourceTree = "<absolute>"; };
9742F24EE18EA44D52824F1E /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri"; sourceTree = "<absolute>"; };
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri"; sourceTree = "<absolute>"; };
9DFF62A901D70814B8A323D4 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri"; sourceTree = "<absolute>"; };
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri"; sourceTree = "<absolute>"; };
A1A67BEAA744704B29168D39 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri"; sourceTree = "<absolute>"; };
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri"; sourceTree = "<absolute>"; };
A5588D4B50885E2A9CAA5505 /* Packer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Packer.app; sourceTree = BUILT_PRODUCTS_DIR; };
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri"; sourceTree = "<absolute>"; };
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri"; sourceTree = "<absolute>"; };
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf"; sourceTree = "<absolute>"; };
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri"; sourceTree = "<absolute>"; };
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri"; sourceTree = "<absolute>"; };
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri"; sourceTree = "<absolute>"; };
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri"; sourceTree = "<absolute>"; };
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf"; sourceTree = "<absolute>"; };
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri"; sourceTree = "<absolute>"; };
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri"; sourceTree = "<absolute>"; };
AB745978DF0F41D1801ABDA6 /* .qmake.stash */ = {isa = PBXFileReference; lastKnownFileType = file; path = .qmake.stash; sourceTree = "<absolute>"; };
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri"; sourceTree = "<absolute>"; };
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri"; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri"; sourceTree = "<absolute>"; };
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri"; sourceTree = "<absolute>"; };
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri"; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri"; sourceTree = "<absolute>"; };
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri"; sourceTree = "<absolute>"; };
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri"; sourceTree = "<absolute>"; };
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri"; sourceTree = "<absolute>"; };
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri"; sourceTree = "<absolute>"; };
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri"; sourceTree = "<absolute>"; };
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri"; sourceTree = "<absolute>"; };
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri"; sourceTree = "<absolute>"; };
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri"; sourceTree = "<absolute>"; };
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri"; sourceTree = "<absolute>"; };
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri"; sourceTree = "<absolute>"; };
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri"; sourceTree = "<absolute>"; };
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri"; sourceTree = "<absolute>"; };
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri"; sourceTree = "<absolute>"; };
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri"; sourceTree = "<absolute>"; };
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri"; sourceTree = "<absolute>"; };
C505A18319B9B63C63877858 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri"; sourceTree = "<absolute>"; };
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri"; sourceTree = "<absolute>"; };
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri"; sourceTree = "<absolute>"; };
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri"; sourceTree = "<absolute>"; };
CFFBE05DB004895080314289 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri"; sourceTree = "<absolute>"; };
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri"; sourceTree = "<absolute>"; };
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri"; sourceTree = "<absolute>"; };
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri"; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqdds$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri"; sourceTree = "<absolute>"; };
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri"; sourceTree = "<absolute>"; };
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri"; sourceTree = "<absolute>"; };
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri"; sourceTree = "<absolute>"; };
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri"; sourceTree = "<absolute>"; };
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri"; sourceTree = "<absolute>"; };
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri"; sourceTree = "<absolute>"; };
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri"; sourceTree = "<absolute>"; };
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri"; sourceTree = "<absolute>"; };
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri"; sourceTree = "<absolute>"; };
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri"; sourceTree = "<absolute>"; };
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri"; sourceTree = "<absolute>"; };
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri"; sourceTree = "<absolute>"; };
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri"; sourceTree = "<absolute>"; };
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri"; sourceTree = "<absolute>"; };
C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri"; sourceTree = "<absolute>"; };
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri"; sourceTree = "<absolute>"; };
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri"; sourceTree = "<absolute>"; };
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri"; sourceTree = "<absolute>"; };
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri"; sourceTree = "<absolute>"; };
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri"; sourceTree = "<absolute>"; };
CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri"; sourceTree = "<absolute>"; };
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri"; sourceTree = "<absolute>"; };
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri"; sourceTree = "<absolute>"; };
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri"; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqdds$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D4B32C2222F82AC56BADEB21 /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = /System/Library/Frameworks/OpenGL.framework; sourceTree = "<absolute>"; };
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.4.0/mkspecs/qconfig.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/qconfig.pri"; sourceTree = "<absolute>"; };
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri"; sourceTree = "<absolute>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "/usr/local/Qt-5.4.0/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "/usr/local/Qt-5.4.0/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri"; sourceTree = "<absolute>"; };
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri"; sourceTree = "<absolute>"; };
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri"; sourceTree = "<absolute>"; };
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "/usr/local/Qt-5.4.0/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DF8188E30892A4654B984221 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri"; sourceTree = "<absolute>"; };
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.0/mkspecs/qconfig.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/qconfig.pri"; sourceTree = "<absolute>"; };
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri"; sourceTree = "<absolute>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "/usr/local/Qt-5.5.0/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "/usr/local/Qt-5.5.0/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri"; sourceTree = "<absolute>"; };
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri"; sourceTree = "<absolute>"; };
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri"; sourceTree = "<absolute>"; };
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "/usr/local/Qt-5.5.0/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri"; sourceTree = "<absolute>"; };
DFD7912080BC557230093752 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri"; sourceTree = "<absolute>"; };
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri"; sourceTree = "<absolute>"; };
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri"; sourceTree = "<absolute>"; };
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri"; sourceTree = "<absolute>"; };
E3790AE49DBDB3F5EFA42FE1 /* packer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = packer.cpp; path = SourceFiles/_other/packer.cpp; sourceTree = "<absolute>"; };
E432DA897A5F027987342E8F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri"; sourceTree = "<absolute>"; };
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri"; sourceTree = "<absolute>"; };
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri"; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "/usr/local/Qt-5.4.0/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri"; sourceTree = "<absolute>"; };
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri"; sourceTree = "<absolute>"; };
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri"; sourceTree = "<absolute>"; };
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri"; sourceTree = "<absolute>"; };
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.4.0/mkspecs/common/mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/mac.conf"; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0A58515945747E36783CC21 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "/usr/local/Qt-5.4.0/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri"; sourceTree = "<absolute>"; };
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf"; sourceTree = "<absolute>"; };
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri"; sourceTree = "<absolute>"; };
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri"; sourceTree = "<absolute>"; };
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri"; sourceTree = "<absolute>"; };
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri"; sourceTree = "<absolute>"; };
E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri"; sourceTree = "<absolute>"; };
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri"; sourceTree = "<absolute>"; };
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri"; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "/usr/local/Qt-5.5.0/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri"; sourceTree = "<absolute>"; };
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri"; sourceTree = "<absolute>"; };
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri"; sourceTree = "<absolute>"; };
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri"; sourceTree = "<absolute>"; };
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.0/mkspecs/common/mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/mac.conf"; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "/usr/local/Qt-5.5.0/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri"; sourceTree = "<absolute>"; };
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf"; sourceTree = "<absolute>"; };
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri"; sourceTree = "<absolute>"; };
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri"; sourceTree = "<absolute>"; };
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri"; sourceTree = "<absolute>"; };
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri"; sourceTree = "<absolute>"; };
FCC237CA5AD60B9BA4447615 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri"; sourceTree = "<absolute>"; };
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri */ = {isa = PBXFileReference; lastKnownFileType = text; path = "/usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri"; sourceTree = "<absolute>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -242,6 +244,7 @@
F4D3747C3A03B25EDC9057BB /* qwebp in Link Binary With Libraries */,
9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */,
8D33FE22B9BBADC7FA46C15B /* qtharfbuzzng in Link Binary With Libraries */,
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */,
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */,
);
name = "Link Binary With Libraries";
@@ -279,127 +282,127 @@
isa = PBXGroup;
children = (
5520A59148EC5EC44EF0D3CD /* Packer.pro */,
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.4.0/mkspecs/qdevice.pri */,
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.4.0/mkspecs/common/shell-unix.conf */,
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.4.0/mkspecs/common/unix.conf */,
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.4.0/mkspecs/common/mac.conf */,
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.4.0/mkspecs/common/macx.conf */,
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base.conf */,
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.4.0/mkspecs/common/gcc-base-mac.conf */,
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.4.0/mkspecs/common/clang.conf */,
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.4.0/mkspecs/common/clang-mac.conf */,
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.4.0/mkspecs/qconfig.pri */,
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth.pri */,
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bluetooth_private.pri */,
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_bootstrap_private.pri */,
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_clucene_private.pri */,
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent.pri */,
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_concurrent_private.pri */,
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core.pri */,
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_core_private.pri */,
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative.pri */,
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_declarative_private.pri */,
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer.pri */,
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designer_private.pri */,
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_designercomponents_private.pri */,
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio.pri */,
4C6C71914B1926119120DACD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_enginio_private.pri */,
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui.pri */,
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_gui_private.pri */,
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help.pri */,
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_help_private.pri */,
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras.pri */,
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_macextras_private.pri */,
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia.pri */,
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimedia_private.pri */,
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets.pri */,
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */,
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network.pri */,
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_network_private.pri */,
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc.pri */,
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_nfc_private.pri */,
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl.pri */,
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_opengl_private.pri */,
E432DA897A5F027987342E8F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions.pri */,
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_openglextensions_private.pri */,
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_platformsupport_private.pri */,
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning.pri */,
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_positioning_private.pri */,
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport.pri */,
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_printsupport_private.pri */,
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml.pri */,
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qml_private.pri */,
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */,
DF8188E30892A4654B984221 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest.pri */,
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qmltest_private.pri */,
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */,
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick.pri */,
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quick_private.pri */,
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickparticles_private.pri */,
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets.pri */,
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */,
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script.pri */,
C505A18319B9B63C63877858 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_script_private.pri */,
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools.pri */,
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_scripttools_private.pri */,
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors.pri */,
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sensors_private.pri */,
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport.pri */,
311004331A04F3D69C98643C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_serialport_private.pri */,
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql.pri */,
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_sql_private.pri */,
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg.pri */,
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_svg_private.pri */,
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib.pri */,
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_testlib_private.pri */,
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools.pri */,
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_uitools_private.pri */,
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets.pri */,
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_websockets_private.pri */,
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets.pri */,
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_widgets_private.pri */,
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml.pri */,
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xml_private.pri */,
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns.pri */,
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */,
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */,
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfcamera.pri */,
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */,
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcocoa.pri */,
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */,
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdds.pri */,
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */,
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */,
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qicns.pri */,
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qico.pri */,
45DB132B756499D4DF38430E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qjp2.pri */,
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qminimal.pri */,
F0A58515945747E36783CC21 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */,
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */,
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */,
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */,
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qmng.pri */,
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qoffscreen.pri */,
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qqt7engine.pri */,
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsqlite.pri */,
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvg.pri */,
CFFBE05DB004895080314289 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qsvgicon.pri */,
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */,
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */,
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */,
060A694B42A4555240009936 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtga.pri */,
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtiff.pri */,
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */,
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */,
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */,
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */,
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */,
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */,
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */,
346287C9E754E7C458153F03 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwbmp.pri */,
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.4.0/mkspecs/modules/qt_plugin_qwebp.pri */,
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.4.0/mkspecs/macx-clang/qmake.conf */,
85061B1DA49D125991117950 /* /usr/local/Qt-5.4.0/mkspecs/macx-xcode/qmake.conf */,
6E67D23B15FC4B628DB2E0B2 /* /usr/local/Qt-5.5.0/mkspecs/qdevice.pri */,
669FB007C4A3D58424D85EC8 /* /usr/local/Qt-5.5.0/mkspecs/common/shell-unix.conf */,
0ABCEA8D0DD45589040B0AF2 /* /usr/local/Qt-5.5.0/mkspecs/common/unix.conf */,
EBD39B69F368CEEAC360A16D /* /usr/local/Qt-5.5.0/mkspecs/common/mac.conf */,
817A0F5A41B553A6DE67FDEB /* /usr/local/Qt-5.5.0/mkspecs/common/macx.conf */,
45B95DB3B70B47A910FC847B /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base.conf */,
A9E30FA27827990C5F182223 /* /usr/local/Qt-5.5.0/mkspecs/common/gcc-base-mac.conf */,
8C5164D4E37556D40C5E6AA2 /* /usr/local/Qt-5.5.0/mkspecs/common/clang.conf */,
F33BE16353DD1557A9AB3558 /* /usr/local/Qt-5.5.0/mkspecs/common/clang-mac.conf */,
D4DE537C1FBBD48BD989FAD1 /* /usr/local/Qt-5.5.0/mkspecs/qconfig.pri */,
ACC8A73268E5D9AF64E97AF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth.pri */,
2E48BB382B895A5ACD79AF9F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bluetooth_private.pri */,
BD4D97801B547471B37A4CDC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_bootstrap_private.pri */,
CF86CD5BB01B9011E6B6FD3E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_clucene_private.pri */,
77FF486B1F9BCD55A8A3F35D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent.pri */,
7D28E9003CE64D8A7F2E292E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_concurrent_private.pri */,
7ECCC1F9442988B4F2707CC1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core.pri */,
5F781C7FD8422D359EA1D2FE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_core_private.pri */,
7A94C7168B3FCBE5F04A013B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative.pri */,
89863CCAF1D29037AE95755D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_declarative_private.pri */,
F2F823087EA182CCBD5748B8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer.pri */,
7C2F42B222EE88E26A6FED62 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designer_private.pri */,
69347C39E4D922E94D0860BF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_designercomponents_private.pri */,
360D4B3ED25D126430DE27D4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio.pri */,
4C6C71914B1926119120DACD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_enginio_private.pri */,
23BC8B0FC3279421D41CA268 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui.pri */,
D81E3D9A18202BE8EC3D0E2C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_gui_private.pri */,
FD944B80F033DFE737D401A2 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help.pri */,
D7A0618DE39A427EBF41940E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_help_private.pri */,
A5B17ABEFBA1C2F43443D644 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras.pri */,
33F165B1DB8CBF182C56FAB5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_macextras_private.pri */,
D2FE4D909926A0D1656068C4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia.pri */,
E7D67CB158408BB7DEA74764 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimedia_private.pri */,
28BD0D10214709D95B161E24 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets.pri */,
D1FA7CAB5ACC09D563AE569F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_multimediawidgets_private.pri */,
293C8DEEE270847AC20E70F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network.pri */,
382E89A91A34F7898C25FD0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_network_private.pri */,
8A04A4A3625204D12A1207F6 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc.pri */,
B51B01657BFE9EAEF5590561 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_nfc_private.pri */,
5CEA7A2DB2136425A88D1254 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl.pri */,
E0F4563EA350EB65112A0EF4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_opengl_private.pri */,
E432DA897A5F027987342E8F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions.pri */,
5597304BEC94BFB9EAAEBC4B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_openglextensions_private.pri */,
8F572030CE9AB8CC5F672201 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_platformsupport_private.pri */,
F7ADBF552F6B9A5982915164 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning.pri */,
E66B9EC81C285CA9A7FB6A2E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_positioning_private.pri */,
6C08BFC27C4C303A3A5181DB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport.pri */,
D0CDC87DAFDA7F18A7AF450F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_printsupport_private.pri */,
B382B645B34234E451AE5D94 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml.pri */,
6102C69805B6398AF6FA5BEB /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qml_private.pri */,
4FB6657DA22BC68B819B64B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmldevtools_private.pri */,
DF8188E30892A4654B984221 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest.pri */,
ABA9AB4619F09DCFD2D4A27F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qmltest_private.pri */,
5B22E9E4EE9AAE42ABC24AB3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_qtmultimediaquicktools_private.pri */,
16DD53E17C65AC8B450CC6C3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick.pri */,
8C31D89BDFCDF466DAED19A0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quick_private.pri */,
82E7DCFD95559532D8FC6CDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickparticles_private.pri */,
D948D4D8F949D45158F8DE35 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets.pri */,
B2246267D4C0D789259A86B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_quickwidgets_private.pri */,
CFCB992BEC24B71BFB8A2F30 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script.pri */,
C505A18319B9B63C63877858 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_script_private.pri */,
CE829DD126DD2B97E8D70A7A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools.pri */,
A59F74CD76FDC2B4B9910E18 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_scripttools_private.pri */,
85B6936EDBE61D9BB8F8B33B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors.pri */,
BDC9ECADEE40D11E3C2EA93F /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sensors_private.pri */,
BFF0C38FB0EC140C5F0304AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport.pri */,
311004331A04F3D69C98643C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_serialport_private.pri */,
7DE30A90667C03C4F91A2A91 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql.pri */,
075EB50EB07CF69FD62FB8DF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_sql_private.pri */,
ADFC79902C14A612AE93A89A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg.pri */,
8DDE1D26B3206CDB8B57FABE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_svg_private.pri */,
DB0A26DDC377B2004F61BFE3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib.pri */,
8849E60AEC7DB97A475C17EA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_testlib_private.pri */,
E50FA73B8A23BC179A642B27 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools.pri */,
B518DA4EE7376002AFC71FD5 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_uitools_private.pri */,
8F97C9CAE38CA3AFAC0B3953 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets.pri */,
87EEF25EE25CF21572D1438C /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_websockets_private.pri */,
A022AF919D1977534CA66BB8 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets.pri */,
8E9136256AFFBA6EF048AA55 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_widgets_private.pri */,
AA73DC3C2901E2979FE8AD5B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml.pri */,
E37365B4489B4918BEBB707D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xml_private.pri */,
2E6D9B1D2743D24E31B0B284 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns.pri */,
F9BEAA743A908603687DA204 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_lib_xmlpatterns_private.pri */,
D5141F795670589C8CC41CBC /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_cocoaprintersupport.pri */,
1FAE75C970AA73F2DEDDB508 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfcamera.pri */,
F4EB01857048DCFCFFAAC4D0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qavfmediaplayer.pri */,
AFD721AA33A2F785E77B1698 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcocoa.pri */,
EA5D4FF9DE4AC4215D7DCE0D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qcorewlanbearer.pri */,
111BBEE3D1432C3B517FD539 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdds.pri */,
3685604BDB64DD6E92169B73 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qdeclarativeview.pri */,
2440CD1D4CEF80443BCA1B8B /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qgenericbearer.pri */,
EB1F99FD112917157F3C3F6E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qicns.pri */,
C4295BE59CCEBCDD16268349 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qico.pri */,
45DB132B756499D4DF38430E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qjp2.pri */,
B678DA730B4ECE863AD631AE /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qminimal.pri */,
F0A58515945747E36783CC21 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_inspector.pri */,
B8525798C5AA7D7C6D68E1B3 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_qtquick2.pri */,
EB29AC635054C09EFA749AE1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp.pri */,
3F08D430CEC8D2117735CCB4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmldbg_tcp_qtdeclarative.pri */,
946BEA667170DC1A7A8F9DB0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qmng.pri */,
CCF75CFFB857487FB18F99F9 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qoffscreen.pri */,
9A0BDF67E013BB4FFB8685B0 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qqt7engine.pri */,
B064BF3B496A7BF7A449CA1E /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsqlite.pri */,
F83F87F8A60C9DF666911D42 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvg.pri */,
CFFBE05DB004895080314289 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qsvgicon.pri */,
247D8DF3B1DDB665B80BBA25 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblequick.pri */,
87A4C1983FD641360BF80A02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaccessiblewidgets.pri */,
24B6929EE3952310F2DAECB1 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtaudio_coreaudio.pri */,
060A694B42A4555240009936 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtga.pri */,
BD22EFEFCC02644B1883CE19 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtiff.pri */,
B8C1F6C965A7A14FBA8D4518 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmedia_audioengine.pri */,
74C1C232DFAA71028A0412CA /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtmultimedia_m3u.pri */,
C84546C18DCBB04166195DCF /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtposition_positionpoll.pri */,
AB1C02DDBD8E88DD9A9AFDDD /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_plugin.pri */,
8B4BB4E74F8A4442EF563D7D /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensorgestures_shakeplugin.pri */,
892D36BEF797BA4AF48D378A /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_dummy.pri */,
A4D8AC60897F435C1C3B9D02 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qtsensors_generic.pri */,
346287C9E754E7C458153F03 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwbmp.pri */,
B26239063A068F800A2C95F4 /* /usr/local/Qt-5.5.0/mkspecs/modules/qt_plugin_qwebp.pri */,
63E722139886C87BC82DBDF5 /* /usr/local/Qt-5.5.0/mkspecs/macx-clang/qmake.conf */,
85061B1DA49D125991117950 /* /usr/local/Qt-5.5.0/mkspecs/macx-xcode/qmake.conf */,
AB745978DF0F41D1801ABDA6 /* .qmake.stash */,
);
name = "Supporting Files";
@@ -408,6 +411,7 @@
AF39DD055C3EF8226FBE929D /* Frameworks */ = {
isa = PBXGroup;
children = (
07D795491B5544B200DE9598 /* qtpcre */,
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */,
DFD7912080BC557230093752 /* ApplicationServices.framework */,
9742F24EE18EA44D52824F1E /* CoreServices.framework */,
@@ -483,7 +487,7 @@
6DB9C3763D02B1415CD9D565 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0610;
LastUpgradeCheck = 0640;
};
buildConfigurationList = DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "Packer" */;
compatibilityVersion = "Xcode 3.2";
@@ -554,6 +558,7 @@
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
@@ -562,26 +567,26 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
../../Libraries/QtStatic/qtbase/include,
/usr/local/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
GeneratedFiles/Debug,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INFOPLIST_FILE = Packer.plist;
INSTALL_DIR = "../Mac/$(CONFIGURATION)";
LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++";
LIBRARY_SEARCH_PATHS = (
/System/Library/Frameworks/,
"/usr/local/Qt-5.4.0/lib",
"/usr/local/Qt-5.4.0/plugins/platforms",
"/usr/local/Qt-5.4.0/plugins/imageformats",
"/usr/local/Qt-5.5.0/lib",
"/usr/local/Qt-5.5.0/plugins/platforms",
"/usr/local/Qt-5.5.0/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)IntermediatePacker/";
@@ -612,10 +617,10 @@
"-stdlib=libc++",
"-lcrypto",
"-lssl",
"-L/usr/local/Qt-5.4.0/lib",
"-L/usr/local/Qt-5.4.0/plugins/platforms",
"-L/usr/local/Qt-5.5.0/lib",
"-L/usr/local/Qt-5.5.0/plugins/platforms",
"-lcups",
"-L/usr/local/Qt-5.4.0/plugins/imageformats",
"-L/usr/local/Qt-5.5.0/plugins/imageformats",
"-lz",
"-lm",
"-llzma",
@@ -645,6 +650,7 @@
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -654,26 +660,26 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore,
../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui,
../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore,
../../Libraries/QtStatic/qtbase/include,
/usr/local/include,
"/usr/local/Qt-5.4.0/include",
"/usr/local/Qt-5.4.0/include/QtGui",
"/usr/local/Qt-5.4.0/include/QtCore",
"/usr/local/Qt-5.5.0/include",
"/usr/local/Qt-5.5.0/include/QtGui",
"/usr/local/Qt-5.5.0/include/QtCore",
GeneratedFiles/Debug,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers,
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers,
"/usr/local/Qt-5.4.0/mkspecs/macx-clang",
"/usr/local/Qt-5.5.0/mkspecs/macx-clang",
);
INFOPLIST_FILE = Packer.plist;
INSTALL_DIR = "../Mac/$(CONFIGURATION)";
LDPLUSPLUS = "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++";
LIBRARY_SEARCH_PATHS = (
/System/Library/Frameworks/,
"/usr/local/Qt-5.4.0/lib",
"/usr/local/Qt-5.4.0/plugins/platforms",
"/usr/local/Qt-5.4.0/plugins/imageformats",
"/usr/local/Qt-5.5.0/lib",
"/usr/local/Qt-5.5.0/plugins/platforms",
"/usr/local/Qt-5.5.0/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)IntermediatePacker/";
@@ -705,10 +711,10 @@
"-stdlib=libc++",
"-lcrypto",
"-lssl",
"-L/usr/local/Qt-5.4.0/lib",
"-L/usr/local/Qt-5.4.0/plugins/platforms",
"-L/usr/local/Qt-5.5.0/lib",
"-L/usr/local/Qt-5.5.0/plugins/platforms",
"-lcups",
"-L/usr/local/Qt-5.4.0/plugins/imageformats",
"-L/usr/local/Qt-5.5.0/plugins/imageformats",
"-lz",
"-lm",
"-llzma",
@@ -726,6 +732,10 @@
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"/usr/local/Qt-5.5.0/lib",
);
OBJROOT = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)IntermediatePacker";
OTHER_CFLAGS = (
"-pipe",
@@ -765,6 +775,10 @@
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"/usr/local/Qt-5.5.0/lib",
);
OBJROOT = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)IntermediatePacker";
OTHER_CFLAGS = (
"-pipe",

View File

@@ -1,25 +1,25 @@
#############################################################################
# Makefile for building: ../Mac/DebugPacker/Packer.app/Contents/MacOS/Packer
# Generated by qmake (3.0) (Qt 5.4.0)
# Generated by qmake (3.0) (Qt 5.5.0)
# Project: Packer.pro
# Template: app
# Command: /usr/local/Qt-5.4.0/bin/qmake -spec macx-xcode -o Packer.xcodeproj/project.pbxproj Packer.pro
# Command: /usr/local/Qt-5.5.0/bin/qmake -spec macx-xcode -o Packer.xcodeproj/project.pbxproj Packer.pro
#############################################################################
MAKEFILE = project.pbxproj
MOC = /usr/local/Qt-5.4.0/bin/moc
UIC =
MOC = /usr/local/Qt-5.5.0/bin/moc
UIC =
LEX = flex
LEXFLAGS =
LEXFLAGS =
YACC = yacc
YACCFLAGS = -d
DEFINES = -D_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB
INCPATH = -I/usr/local/Qt-5.4.0/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.4.0/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.4.0/QtCore -I../../Libraries/QtStatic/qtbase/include -I../../Libraries/lzma/C -I/usr/local/Qt-5.4.0/include -I/usr/local/Qt-5.4.0/include/QtGui -I/usr/local/Qt-5.4.0/include/QtCore -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers
INCPATH = -I/usr/local/Qt-5.5.0/mkspecs/macx-clang -I. -I../../Libraries/QtStatic/qtbase/include/QtGui/5.5.0/QtGui -I../../Libraries/QtStatic/qtbase/include/QtCore/5.5.0/QtCore -I../../Libraries/QtStatic/qtbase/include -I../../Libraries/lzma/C -I/usr/local/Qt-5.5.0/include -I/usr/local/Qt-5.5.0/include/QtGui -I/usr/local/Qt-5.5.0/include/QtCore -IGeneratedFiles/Debug -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Headers -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/System/Library/Frameworks/AGL.framework/Headers
DEL_FILE = rm -f
MOVE = mv -f
IMAGES =
IMAGES =
PARSERS =
preprocess: $(PARSERS) compilers
clean preprocess_clean: parser_clean compiler_clean
@@ -48,5 +48,5 @@ compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean:
compiler_clean:

View File

@@ -1,6 +1,7 @@
AppVersion=`./Version.sh | awk -F " " '{print $1}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $2}'`
DevChannel=`./Version.sh | awk -F " " '{print $3}'`
AppVersionStrMajor=`./Version.sh | awk -F " " '{print $1}'`
AppVersion=`./Version.sh | awk -F " " '{print $2}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $3}'`
DevChannel=`./Version.sh | awk -F " " '{print $4}'`
DevPostfix=''
DevParam=''
if [ "$DevChannel" != "0" ]; then
@@ -8,12 +9,12 @@ if [ "$DevChannel" != "0" ]; then
DevParam='-dev'
fi
if [ -d "./../Linux/Release/deploy/$AppVersionStr.dev" ]; then
if [ -d "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr.dev" ]; then
echo "Deploy folder for version $AppVersionStr.dev already exists!"
exit 1
fi
if [ -d "./../Linux/Release/deploy/$AppVersionStr" ]; then
if [ -d "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr" ]; then
echo "Deploy folder for version $AppVersionStr already exists!"
exit 1
fi
@@ -40,12 +41,17 @@ echo "Packer done!"
if [ ! -d "./../Linux/Release/deploy" ]; then
mkdir "./../Linux/Release/deploy"
fi
echo "Copying Telegram, Updater and tlinuxupd$AppVersion to deploy/$AppVersionStr$DevPostfix..";
mkdir "./../Linux/Release/deploy/$AppVersionStr$DevPostfix"
mkdir "./../Linux/Release/deploy/$AppVersionStr$DevPostfix/Telegram"
mv ./../Linux/Release/Telegram ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/Telegram/
mv ./../Linux/Release/Updater ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/Telegram/
mv ./../Linux/Release/tlinuxupd$AppVersion ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/
cd ./../Linux/Release/deploy/$AppVersionStr$DevPostfix && tar -cJvf tsetup.$AppVersionStr$DevPostfix.tar.xz Telegram/ && cd ./../../../../Telegram
if [ ! -d "./../Linux/Release/deploy/$AppVersionStrMajor" ]; then
mkdir "./../Linux/Release/deploy/$AppVersionStrMajor"
fi
echo "Copying Telegram, Updater and tlinuxupd$AppVersion to deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix..";
mkdir "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix"
mkdir "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram"
mv ./../Linux/Release/Telegram ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram/
mv ./../Linux/Release/Updater ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram/
mv ./../Linux/Release/tlinuxupd$AppVersion ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cd ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix && tar -cJvf tsetup.$AppVersionStr$DevPostfix.tar.xz Telegram/ && cd ./../../../../../Telegram
echo "Version $AppVersionStr$DevPostfix prepared!";

View File

@@ -1,6 +1,7 @@
AppVersion=`./Version.sh | awk -F " " '{print $1}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $2}'`
DevChannel=`./Version.sh | awk -F " " '{print $3}'`
AppVersionStrMajor=`./Version.sh | awk -F " " '{print $1}'`
AppVersion=`./Version.sh | awk -F " " '{print $2}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $3}'`
DevChannel=`./Version.sh | awk -F " " '{print $4}'`
DevPostfix=''
DevParam=''
if [ "$DevChannel" != "0" ]; then
@@ -8,12 +9,12 @@ if [ "$DevChannel" != "0" ]; then
DevParam='-dev'
fi
if [ -d "./../Linux/Release/deploy/$AppVersionStr.dev" ]; then
if [ -d "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr.dev" ]; then
echo "Deploy folder for version $AppVersionStr.dev already exists!"
exit 1
fi
if [ -d "./../Linux/Release/deploy/$AppVersionStr" ]; then
if [ -d "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr" ]; then
echo "Deploy folder for version $AppVersionStr already exists!"
exit 1
fi
@@ -40,12 +41,17 @@ echo "Packer done!"
if [ ! -d "./../Linux/Release/deploy" ]; then
mkdir "./../Linux/Release/deploy"
fi
echo "Copying Telegram, Updater and tlinux32upd$AppVersion to deploy/$AppVersionStr$DevPostfix..";
mkdir "./../Linux/Release/deploy/$AppVersionStr$DevPostfix"
mkdir "./../Linux/Release/deploy/$AppVersionStr$DevPostfix/Telegram"
mv ./../Linux/Release/Telegram ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/Telegram/
mv ./../Linux/Release/Updater ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/Telegram/
mv ./../Linux/Release/tlinux32upd$AppVersion ./../Linux/Release/deploy/$AppVersionStr$DevPostfix/
cd ./../Linux/Release/deploy/$AppVersionStr$DevPostfix && tar -cJvf tsetup32.$AppVersionStr$DevPostfix.tar.xz Telegram/ && cd ./../../../../Telegram
if [ ! -d "./../Linux/Release/deploy/$AppVersionStrMajor" ]; then
mkdir "./../Linux/Release/deploy/$AppVersionStrMajor"
fi
echo "Copying Telegram, Updater and tlinux32upd$AppVersion to deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix..";
mkdir "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix"
mkdir "./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram"
mv ./../Linux/Release/Telegram ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram/
mv ./../Linux/Release/Updater ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram/
mv ./../Linux/Release/tlinux32upd$AppVersion ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
cd ./../Linux/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix && tar -cJvf tsetup32.$AppVersionStr$DevPostfix.tar.xz Telegram/ && cd ./../../../../../Telegram
echo "Version $AppVersionStr$DevPostfix prepared!";

View File

@@ -1,6 +1,7 @@
AppVersion=`./Version.sh | awk -F " " '{print $1}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $2}'`
DevChannel=`./Version.sh | awk -F " " '{print $3}'`
AppVersionStrMajor=`./Version.sh | awk -F " " '{print $1}'`
AppVersion=`./Version.sh | awk -F " " '{print $2}'`
AppVersionStr=`./Version.sh | awk -F " " '{print $3}'`
DevChannel=`./Version.sh | awk -F " " '{print $4}'`
DevPostfix=''
DevParam=''
if [ "$DevChannel" != "0" ]; then
@@ -12,17 +13,17 @@ echo ""
echo "Preparing version $AppVersionStr$DevPostfix.."
echo ""
if [ -d "./../Mac/Release/deploy/$AppVersionStr.dev" ]; then
if [ -d "./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr.dev" ]; then
echo "Deploy folder for version $AppVersionStr.dev already exists!"
exit 1
fi
if [ -d "./../Mac/Release/deploy/$AppVersionStr" ]; then
if [ -d "./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr" ]; then
echo "Deploy folder for version $AppVersionStr already exists!"
exit 1
fi
if [ -f "./../Mac/Release/tupdate$AppVersion" ]; then
if [ -f "./../Mac/Release/tmacupd$AppVersion" ]; then
echo "Update file for version $AppVersion already exists!"
exit 1
fi
@@ -73,19 +74,24 @@ hdiutil convert tsetup.dmg -format UDZO -imagekey zlib-level=9 -ov -o tsetup.$Ap
cd ./../../Telegram
cd ./../Mac/Release && ./Packer.app/Contents/MacOS/Packer -path Telegram.app -version $AppVersion $DevParam && cd ./../../Telegram
if [ ! -d "./../Mac/Release/deploy/" ]; then
if [ ! -d "./../Mac/Release/deploy" ]; then
mkdir "./../Mac/Release/deploy"
fi
echo "Copying Telegram.app and tmacupd$AppVersion to deploy/$AppVersionStr..";
mkdir "./../Mac/Release/deploy/$AppVersionStr$DevPostfix"
mkdir "./../Mac/Release/deploy/$AppVersionStr$DevPostfix/Telegram"
cp -r ./../Mac/Release/Telegram.app ./../Mac/Release/deploy/$AppVersionStr$DevPostfix/Telegram/
mv ./../Mac/Release/Telegram.app.dSYM ./../Mac/Release/deploy/$AppVersionStr$DevPostfix/
if [ ! -d "./../Mac/Release/deploy/$AppVersionStrMajor" ]; then
mkdir "./../Mac/Release/deploy/$AppVersionStrMajor"
fi
echo "Copying Telegram.app and tmacupd$AppVersion to deploy/$AppVersionStrMajor/$AppVersionStr..";
mkdir "./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix"
mkdir "./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram"
cp -r ./../Mac/Release/Telegram.app ./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/Telegram/
mv ./../Mac/Release/Telegram.app.dSYM ./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
rm ./../Mac/Release/Telegram.app/Contents/MacOS/Telegram
rm ./../Mac/Release/Telegram.app/Contents/Frameworks/Updater
rm -rf ./../Mac/Release/Telegram.app/Contents/_CodeSignature
mv ./../Mac/Release/tmacupd$AppVersion ./../Mac/Release/deploy/$AppVersionStr$DevPostfix/
mv ./../Mac/Release/tsetup.$AppVersionStr$DevPostfix.dmg ./../Mac/Release/deploy/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.dmg
mv ./../Mac/Release/tmacupd$AppVersion ./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/
mv ./../Mac/Release/tsetup.$AppVersionStr$DevPostfix.dmg ./../Mac/Release/deploy/$AppVersionStrMajor/$AppVersionStr$DevPostfix/tsetup.$AppVersionStr$DevPostfix.dmg
echo "Version $AppVersionStr$DevPostfix prepared!";

View File

@@ -1,9 +1,10 @@
@echo OFF
set "AppVersion=8004"
set "AppVersionStrSmall=0.8.4"
set "AppVersionStr=0.8.4"
set "AppVersionStrFull=0.8.4.0"
set "AppVersionStrMajor=0.8"
set "AppVersion=8056"
set "AppVersionStrSmall=0.8.56"
set "AppVersionStr=0.8.56"
set "AppVersionStrFull=0.8.56.0"
set "DevChannel=0"
if %DevChannel% neq 0 goto preparedev
@@ -23,8 +24,8 @@ echo.
echo Preparing version %AppVersionStr%%DevPostfix%..
echo.
if exist ..\Win32\Deploy\deploy\%AppVersionStr%\ goto error_exist1
if exist ..\Win32\Deploy\deploy\%AppVersionStr%.dev\ goto error_exist2
if exist ..\Win32\Deploy\deploy\%AppVersionStrMajor%\%AppVersionStr%\ goto error_exist1
if exist ..\Win32\Deploy\deploy\%AppVersionStrMajor%\%AppVersionStr%.dev\ goto error_exist2
if exist ..\Win32\Deploy\tupdate%AppVersion% goto error_exist3
set "PATH=%PATH%;C:\Program Files\7-Zip;C:\Program Files (x86)\Inno Setup 5"
@@ -46,17 +47,18 @@ call Packer.exe -version %AppVersion% -path Telegram.exe -path Updater.exe %DevP
if %errorlevel% neq 0 goto error1
if not exist deploy mkdir deploy
mkdir deploy\%AppVersionStr%%DevPostfix%
mkdir deploy\%AppVersionStr%%DevPostfix%\Telegram
if not exist deploy\%AppVersionStrMajor% mkdir deploy\%AppVersionStrMajor%
mkdir deploy\%AppVersionStrMajor%\%AppVersionStr%%DevPostfix%
mkdir deploy\%AppVersionStrMajor%\%AppVersionStr%%DevPostfix%\Telegram
move Telegram.exe deploy\%AppVersionStr%%DevPostfix%\Telegram\
move Updater.exe deploy\%AppVersionStr%%DevPostfix%\
move Telegram.pdb deploy\%AppVersionStr%%DevPostfix%\
move Updater.pdb deploy\%AppVersionStr%%DevPostfix%\
move tsetup.%AppVersionStr%%DevPostfix%.exe deploy\%AppVersionStr%%DevPostfix%\
move tupdate%AppVersion% deploy\%AppVersionStr%%DevPostfix%\
move Telegram.exe deploy\%AppVersionStrMajor%\%AppVersionStr%%DevPostfix%\Telegram\
move Updater.exe deploy\%AppVersionStrMajor%\%AppVersionStr%%DevPostfix%\
move Telegram.pdb deploy\%AppVersionStrMajor%\%AppVersionStr%%DevPostfix%\
move Updater.pdb deploy\%AppVersionStrMajor%\%AppVersionStr%%DevPostfix%\
move tsetup.%AppVersionStr%%DevPostfix%.exe deploy\%AppVersionStrMajor%\%AppVersionStr%%DevPostfix%\
move tupdate%AppVersion% deploy\%AppVersionStrMajor%\%AppVersionStr%%DevPostfix%\
cd deploy\%AppVersionStr%%DevPostfix%
cd deploy\%AppVersionStrMajor%\%AppVersionStr%%DevPostfix%
7z a -mx9 tportable.%AppVersionStr%%DevPostfix%.zip Telegram\
if %errorlevel% neq 0 goto error2
@@ -64,11 +66,11 @@ echo .
echo Version %AppVersionStr%%DevPostfix% is ready for deploy!
echo .
cd ..\..\..\..\Telegram
cd ..\..\..\..\..\Telegram
goto eof
:error2
cd ..\..
cd ..\..\..
:error1
cd ..\..\Telegram
echo ERROR occured!

View File

@@ -28,7 +28,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_open_from_tray" = "Open Telegram";
"lng_minimize_to_tray" = "Minimize to tray";
"lng_quit_from_tray" = "Quit Telegram";
"lng_tray_icon_text" = "Telegram is still running here,\nyou can change this from settings page.\n\nIf this icon disappears from tray menu,\nyou can drag it back here from hidden icons.";
"lng_tray_icon_text" = "Telegram is still running here,\nyou can change this from settings page.\nIf this icon disappears from tray menu,\nyou can drag it here from hidden icons.";
"lng_month1" = "January";
"lng_month2" = "February";
@@ -60,6 +60,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_weekday7_full" = "Sunday";
"lng_month_day" = "{month} {day}";
"lng_month_day_year" = "{month} {day}, {year}";
"lng_cancel" = "Cancel";
"lng_continue" = "Continue";
@@ -69,6 +70,10 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_reconnecting_try_now" = "Try now";
"lng_status_service_notifications" = "service notifications";
"lng_status_support" = "support";
"lng_status_bot" = "bot";
"lng_status_bot_reads_all" = "has access to messages";
"lng_status_bot_not_reads_all" = "has no access to messages";
"lng_status_offline" = "last seen a long time ago";
"lng_status_recently" = "last seen recently";
"lng_status_last_week" = "last seen within a week";
@@ -113,6 +118,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_code_ph" = "Your code";
"lng_code_desc" = "We have sent you a message with activation\ncode to your phone. Please enter it below.";
"lng_code_telegram" = "Please enter the code you've just\nreceived in your previous [b]Telegram[/b] app.";
"lng_code_no_telegram" = "Send code via SMS";
"lng_code_call" = "Telegram will dial your number in {minutes}:{seconds}";
"lng_code_calling" = "Requesting a call from Telegram..";
"lng_code_called" = "Telegram dialed your number";
@@ -153,8 +160,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_dlg_new_group_name" = "Group name";
"lng_dlg_create_group" = "Create";
"lng_no_contacts" = "You have no contacts";
"lng_no_chats" = "Your chats will be here";
"lng_contacts_loading" = "Loading..";
"lng_contacts_not_found" = "No contacts found";
"lng_dlg_search_chat" = "Search in this chat";
"lng_dlg_search_for_messages" = "Search for messages";
"lng_settings_save" = "Save";
"lng_settings_upload" = "Set Profile Photo";
@@ -163,11 +173,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_username_title" = "Change username";
"lng_username_about" = "You can choose a username on Telegram.\nIf you do, other people will be able to find\nyou by this username and contact you\nwithout knowing your phone number.\n\nYou can use a-z, 0-9 and underscores.\nMinimum length is 5 characters.";
"lng_username_invalid" = "This name is invalid.";
"lng_username_occupied" = "This name is already occupied.";
"lng_username_too_short" = "This name is too short.";
"lng_username_bad_symbols" = "This name has bad symbols.";
"lng_username_available" = "This name is available.";
"lng_username_invalid" = "This username is invalid.";
"lng_username_occupied" = "This username is already occupied.";
"lng_username_too_short" = "This username is too short.";
"lng_username_bad_symbols" = "This username has bad symbols.";
"lng_username_available" = "This username is available.";
"lng_username_not_found" = "User @{user} not found.";
"lng_settings_section_contact_info" = "Contact info";
@@ -179,7 +189,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_settings_desktop_notify" = "Desktop notifications";
"lng_settings_show_name" = "Show sender's name";
"lng_settings_show_preview" = "Show message preview";
"lng_settings_use_windows" = "Use Windows notifications";
"lng_settings_sound_notify" = "Play sound";
"lng_settings_include_muted" = "Include muted chats in unread count";
"lng_notification_preview" = "You have a new message";
@@ -298,13 +310,14 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_connection_type" = "Connection type:";
"lng_connection_auto_connecting" = "Default (connecting..)";
"lng_connection_auto" = "Default ({type} used)";
"lng_connection_http_proxy" = "HTTP with proxy";
"lng_connection_tcp_proxy" = "TCP with proxy";
"lng_connection_auto" = "Default ({transport} used)";
"lng_connection_proxy_connecting" = "Connecting through proxy..";
"lng_connection_proxy" = "{transport} with proxy";
"lng_connection_header" = "Connection type";
"lng_connection_auto_rb" = "Auto (TCP if available or HTTP)";
"lng_connection_http_proxy_rb" = "HTTP with custom http-proxy";
"lng_connection_tcp_proxy_rb" = "TCP with custom socks5-proxy";
"lng_connection_try_ipv6" = "Try connecting through IPv6";
"lng_connection_host_ph" = "Hostname";
"lng_connection_port_ph" = "Port";
"lng_connection_user_ph" = "Username";
@@ -316,6 +329,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_settings_reset_one_sure" = "Do you want to terminate this session?";
"lng_settings_reset_button" = "Terminate";
"lng_settings_reset_done" = "Other sessions terminated";
"lng_settings_ask_question" = "Ask a Question";
"lng_settings_ask_sure" = "Please note that Telegram Support is done by volunteers. We try to respond as quickly as possible, but it may take a while.\n\nPlease take a look at the Telegram FAQ: it has important troubleshooting tips and answers to most questions.";
"lng_settings_faq_button" = "Go to FAQ";
"lng_settings_ask_ok" = "Ask";
"lng_settings_faq" = "Telegram FAQ";
"lng_settings_logout" = "Log Out";
"lng_sure_logout" = "Are you sure you want to log out?";
@@ -333,7 +351,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_profile_chat_unaccessible" = "Group is unaccessible";
"lng_topbar_info" = "Info";
"lng_profile_about_section" = "About";
"lng_profile_settings_section" = "Settings";
"lng_profile_actions_section" = "Actions";
"lng_profile_bot_settings" = "Settings";
"lng_profile_bot_help" = "Help";
"lng_profile_participants_section" = "Members";
"lng_profile_info" = "Contact info";
"lng_profile_group_info" = "Group info";
@@ -341,8 +363,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_profile_edit_contact" = "Edit";
"lng_profile_enable_notifications" = "Notifications";
"lng_profile_clear_history" = "Clear history";
"lng_profile_delete_conversation" = "Delete conversation";
"lng_profile_clear_and_exit" = "Delete and exit";
"lng_profile_search_messages" = "Search for messages";
"lng_profile_block_user" = "Block user";
"lng_profile_unblock_user" = "Unblock user";
"lng_profile_block_bot" = "Stop and block bot";
"lng_profile_unblock_bot" = "Unblock bot";
"lng_profile_send_message" = "Send Message";
"lng_profile_share_contact" = "Share Contact";
"lng_profile_invite_to_group" = "Add to Group";
"lng_profile_delete_contact" = "Delete";
"lng_profile_set_group_photo" = "Set Photo";
"lng_profile_add_participant" = "Add Member";
@@ -360,6 +390,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_profile_files_header" = "Files overview";
"lng_profile_audios" = "{count:_not_used_|# voice message|# voice messages} »";
"lng_profile_audios_header" = "Voice messages overview";
"lng_profile_shared_links" = "{count:_not_used_|# shared link|# shared links} »";
"lng_profile_shared_links_header" = "Shared links overview";
"lng_profile_audio_files_header" = "Playlist";
"lng_profile_show_all_types" = "Show all types";
"lng_profile_copy_phone" = "Copy phone number";
@@ -370,24 +403,40 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_create_group_title" = "New Group";
"lng_failed_add_participant" = "Could not add user. Try again later.";
"lng_failed_add_not_mutual" = "Sorry, if a person left a group, only a\nmutual contact can bring them back\n(they need to have your phone\nnumber, and you need theirs).";
"lng_sure_delete_contact" = "Are you sure, you want to delete {contact} from your contact list?";
"lng_sure_delete_history" = "Are you sure, you want to delete all message history with {contact}?\n\nThis action cannot be undone.";
"lng_sure_delete_group_history" = "Are you sure, you want to delete all message history in «{group}»?\n\nThis action cannot be undone.";
"lng_sure_delete_and_exit" = "Are you sure, you want to delete all message history and leave «{group}»?\n\nThis action cannot be undone.";
"lng_message_empty" = "(empty)";
"lng_message_empty" = "Empty Message";
"lng_media_unsupported" = "Media Unsupported";
"lng_action_add_user" = "{from} added {user}";
"lng_action_kick_user" = "{from} kicked {user}";
"lng_action_user_left" = "{from} left the group";
"lng_action_user_joined" = "{from} joined the group";
"lng_action_user_joined_by_link" = "{from} joined the group via invite link";
"lng_action_user_registered" = "{from} just joined Telegram";
"lng_action_removed_photo" = "{from} removed group photo";
"lng_action_changed_photo" = "{from} changed group photo";
"lng_action_changed_title" = "{from} changed group name to «{title}»";
"lng_action_created_chat" = "{from} created group «{title}»";
"lng_group_invite_bad_link" = "This invite link is broken\nor has expired.";
"lng_group_invite_want_join" = "Do you want to join the group «{title}»?";
"lng_group_invite_join" = "Join";
"lng_group_invite_link" = "Invite link";
"lng_group_invite_create" = "Create an invite link";
"lng_group_invite_about" = "Telegram users will be able to join\nyour group by following this link.";
"lng_group_invite_create_new" = "Revoke invite link";
"lng_group_invite_about_new" = "Your previous link will be deactivated\nand we'll generate a new invite link for you.";
"lng_group_invite_copied" = "Invite link copied to clipboard.";
"lng_group_invite_no_room" = "Unable to join this group because there are\ntoo many members in it already.";
"lng_forwarded_from" = "Forwarded from";
"lng_in_reply_to" = "In reply to";
@@ -400,6 +449,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_media_type_videos" = "Video files";
"lng_media_type_files" = "Files";
"lng_media_type_audios" = "Voice messages";
"lng_media_type_links" = "Shared links";
"lng_media_open_with" = "Open With";
"lng_media_download" = "Download";
@@ -407,6 +457,26 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_media_video" = "Video file";
"lng_media_audio" = "Voice message";
"lng_emoji_category0" = "Frequently used";
"lng_emoji_category1" = "People";
"lng_emoji_category2" = "Nature";
"lng_emoji_category3" = "Food & Drink";
"lng_emoji_category4" = "Celebration";
"lng_emoji_category5" = "Activity";
"lng_emoji_category6" = "Travel & Places";
"lng_emoji_category7" = "Objects & Symbols";
"lng_switch_stickers" = "Stickers";
"lng_switch_emoji" = "Emoji";
"lng_custom_stickers" = "Custom stickers";
"lng_stickers_remove_pack" = "Remove «{sticker_pack}»?";
"lng_stickers_add_pack" = "Add {count:_not_used_|# Sticker|# Stickers}";
"lng_stickers_share_pack" = "Share Stickers";
"lng_stickers_not_found" = "Sticker pack not found.";
"lng_stickers_copied" = "Sticker pack link copied to clipboard.";
"lng_stickers_default_set" = "Great Minds";
"lng_in_dlg_photo" = "Photo";
"lng_in_dlg_video" = "Video";
"lng_in_dlg_contact" = "Contact";
@@ -415,17 +485,53 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_in_dlg_sticker" = "Sticker";
"lng_in_dlg_sticker_emoji" = "{emoji} (sticker)";
"lng_report_spam" = "Report Spam";
"lng_report_spam_hide" = "Hide";
"lng_report_spam_thanks" = "Thank you for your report!";
"lng_cant_send_to_not_contact" = "Sorry, you can only send messages to\nmutual contacts at the moment. {more_info}";
"lng_cant_invite_not_contact" = "Sorry, you can only add mutual contacts\nto groups at the moment. {more_info}";
"lng_cant_more_info" = "More info »";
"lng_send_button" = "Send";
"lng_message_ph" = "Write a message..";
"lng_record_cancel" = "Release outside this field to cancel";
"lng_empty_history" = "";
"lng_willbe_history" = "Please select chat to start messaging";
"lng_willbe_history" = "Please select a chat to start messaging";
"lng_message_with_from" = "[c]{from}:[/c] {message}";
"lng_from_you" = "You";
"lng_bot_description" = "What can this bot do?";
"lng_unblock_button" = "Unblock";
"lng_open_this_link" = "Open this link?";
"lng_open_link" = "Open";
"lng_bot_start" = "Start";
"lng_bot_choose_group" = "Choose Group";
"lng_bot_no_groups" = "You have no groups";
"lng_bot_groups_not_found" = "No groups found";
"lng_bot_sure_invite" = "Add the bot to «{group}»?";
"lng_bot_already_in_group" = "The bot is already a member of the group.";
"lng_typing" = "typing";
"lng_user_typing" = "{user} is typing";
"lng_users_typing" = "{user} and {second_user} are typing";
"lng_many_typing" = "{count:_not_used_|# is|# are} typing";
"lng_send_action_record_video" = "recording video";
"lng_user_action_record_video" = "{user} is recording video";
"lng_send_action_upload_video" = "sending video";
"lng_user_action_upload_video" = "{user} is sending video";
"lng_send_action_record_audio" = "recording audio";
"lng_user_action_record_audio" = "{user} is recording audio";
"lng_send_action_upload_audio" = "sending audio";
"lng_user_action_upload_audio" = "{user} is sending audio";
"lng_send_action_upload_photo" = "sending photo";
"lng_user_action_upload_photo" = "{user} is sending photo";
"lng_send_action_upload_file" = "sending file";
"lng_user_action_upload_file" = "{user} is sending file";
"lng_send_action_geo_location" = "picking location";
"lng_user_action_geo_location" = "{user} is picking location";
"lng_send_action_choose_contact" = "choosing contact";
"lng_user_action_choose_contact" = "{user} is choosing contact";
"lng_unread_bar" = "{count:_not_used_|# unread message|# unread messages}";
"lng_maps_point" = "Location";
@@ -458,6 +564,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_context_save_video" = "Save Video As..";
"lng_context_open_audio" = "Open Audio";
"lng_context_save_audio" = "Save Audio As..";
"lng_context_pack_info" = "Pack Info";
"lng_context_pack_add" = "Add Stickers";
"lng_context_open_file" = "Open File";
"lng_context_save_file" = "Save File As..";
"lng_context_forward_file" = "Forward File";
@@ -527,12 +635,17 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_search_found_results" = "{count:No messages found|Found # message|Found # messages}";
"lng_search_global_results" = "Global search results";
"lng_mediaview_save" = "Download";
"lng_media_save_progress" = "{ready} of {total} {mb}";
"lng_mediaview_save_as" = "Save As..";
"lng_mediaview_copy" = "Copy";
"lng_mediaview_forward" = "Forward";
"lng_mediaview_delete" = "Delete";
"lng_mediaview_photos_all" = "View all photos";
"lng_mediaview_files_all" = "View all files";
"lng_mediaview_single_photo" = "Single Photo";
"lng_mediaview_group_photo" = "Group Photo";
"lng_mediaview_profile_photo" = "Profile Photo";
"lng_mediaview_file_n_of_count" = "{file} {n} of {count}";
"lng_mediaview_n_of_count" = "Photo {n} of {count}";
"lng_mediaview_doc_image" = "File";
"lng_mediaview_today" = "today at {time}";
@@ -545,7 +658,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
"lng_new_version_wrap" = "Telegram Desktop was updated to version {version}\n\n{changes}\n\nFull version history is available here:\n{link}";
"lng_new_version_minor" = "— Bug fixes and other minor improvements";
"lng_new_version_text" = "— Link previews for Twitter, YouTube, Instagram and certain other links\n— Two-step verification\n— View all your Telegram sessions, terminate specific sessions";
"lng_new_version_text" = "— Spam report buttons in new chats\n— Other fixes and improvements\n— OS X 10.8 notifications fixed";
"lng_menu_insert_unicode" = "Insert Unicode control character";

View File

@@ -0,0 +1,231 @@
1876;JM;Jamaica;1876 XXX XXXX;11;
1869;KN;Saint Kitts & Nevis;1869 XXX XXXX;11;
1868;TT;Trinidad & Tobago;1868 XXX XXXX;11;
1784;VC;Saint Vincent & the Grenadines;1784 XXX XXXX;11;
1767;DM;Dominica;1767 XXX XXXX;11;
1758;LC;Saint Lucia;1758 XXX XXXX;11;
1721;SX;Sint Maarten;1721 XXX XXXX;11;
1684;AS;American Samoa;1684 XXX XXXX;11;
1671;GU;Guam;1671 XXX XXXX;11;
1670;MP;Northern Mariana Islands;1670 XXX XXXX;11;
1664;MS;Montserrat;1664 XXX XXXX;11;
1649;TC;Turks & Caicos Islands;1649 XXX XXXX;11;
1473;GD;Grenada;1473 XXX XXXX;11;
1441;BM;Bermuda;1441 XXX XXXX;11;
1345;KY;Cayman Islands;1345 XXX XXXX;11;
1340;VI;US Virgin Islands;1340 XXX XXXX;11;
1284;VG;British Virgin Islands;1284 XXX XXXX;11;
1268;AG;Antigua & Barbuda;1268 XXX XXXX;11;
1264;AI;Anguilla;1264 XXX XXXX;11;
1246;BB;Barbados;1246 XXX XXXX;11;
1242;BS;Bahamas;1242 XXX XXXX;11;
998;UZ;Uzbekistan;998 XX XXXXXXX;12;
996;KG;Kyrgyzstan
995;GE;Georgia
994;AZ;Azerbaijan;994 XX XXX XX XX;12;
993;TM;Turkmenistan;993 XX XXXXXX;11;
992;TJ;Tajikistan
977;NP;Nepal
976;MN;Mongolia
975;BT;Bhutan
974;QA;Qatar
973;BH;Bahrain;973 XXXX XXXX;11;
972;IL;Israel;972 XX XXX XXXX;12;
971;AE;United Arab Emirates;971 XX XXX XXXX;12;
970;PS;Palestine;970 XXX XX XXXX;12;
968;OM;Oman;968 XXXX XXXX;11;
967;YE;Yemen;967 XXX XXX XXX;12;
966;SA;Saudi Arabia;
965;KW;Kuwait;965 XXXX XXXX;11;
964;IQ;Iraq;964 XXX XXX XXXX;13;
963;SY;Syria
962;JO;Jordan;962 X XXXX XXXX;12;
961;LB;Lebanon
960;MV;Maldives
886;TW;Taiwan
880;BD;Bangladesh
856;LA;Laos
855;KH;Cambodia
853;MO;Macau
852;HK;Hong Kong
850;KP;North Korea
692;MH;Marshall Islands
691;FM;Micronesia
690;TK;Tokelau
689;PF;French Polynesia
688;TV;Tuvalu
687;NC;New Caledonia
686;KI;Kiribati
685;WS;Samoa
683;NU;Niue
682;CK;Cook Islands
681;WF;Wallis & Futuna
680;PW;Palau
679;FJ;Fiji
678;VU;Vanuatu
677;SB;Solomon Islands
676;TO;Tonga
675;PG;Papua New Guinea
674;NR;Nauru
673;BN;Brunei Darussalam;673 XXX XXXX;10;
672;NF;Norfolk Island
670;TL;Timor-Leste
599;BQ;Bonaire, Sint Eustatius & Saba
599;CW;Curaçao
598;UY;Uruguay;598 XXXX XXXX;11;
597;SR;Suriname;597 XXX XXXX;10;
596;MQ;Martinique
595;PY;Paraguay;595 XXX XXX XXX;12;
594;GF;French Guiana
593;EC;Ecuador
592;GY;Guyana
591;BO;Bolivia;591 X XXX XXXX;11;
590;GP;Guadeloupe
509;HT;Haiti
508;PM;Saint Pierre & Miquelon
507;PA;Panama;507 XXXX XXXX;11;
506;CR;Costa Rica
505;NI;Nicaragua;505 XXXX XXXX;11;
504;HN;Honduras;504 XXXX XXXX;11;
503;SV;El Salvador;503 XXXX XXXX;11;
502;GT;Guatemala;502 X XXX XXXX;11;
501;BZ;Belize
500;FK;Falkland Islands
423;LI;Liechtenstein
421;SK;Slovakia
420;CZ;Czech Republic
389;MK;Macedonia
387;BA;Bosnia & Herzegovina
386;SI;Slovenia
385;HR;Croatia
382;ME;Montenegro
381;RS;Serbia;381 XX XXX XXXX;12;
380;UA;Ukraine;380 XX XXX XX XX;12;
378;SM;San Marino;378 XXX XXX XXXX;13;
377;MC;Monaco;377 XXXX XXXX;11;
376;AD;Andorra;376 XX XX XX;9;
375;BY;Belarus;375 XX XXX XXXX;12;
374;AM;Armenia;374 XX XXX XXX;11;
373;MD;Moldova;373 XX XXX XXX;11;
372;EE;Estonia;
371;LV;Latvia;371 XXX XXXXX;11;
370;LT;Lithuania;370 XXX XXXXX;11;
359;BG;Bulgaria;
358;FI;Finland;
357;CY;Cyprus;357 XXXX XXXX;11;
356;MT;Malta;356 XX XX XX XX;11;
355;AL;Albania;355 XX XXX XXXX;12;
354;IS;Iceland;354 XXX XXXX;10;
353;IE;Ireland;353 XX XXX XXXX;12;
352;LU;Luxembourg
351;PT;Portugal;351 X XXXX XXXX;12;
350;GI;Gibraltar;350 XXXX XXXX;11;
299;GL;Greenland;299 XXX XXX;9;
298;FO;Faroe Islands;298 XXX XXX;9;
297;AW;Aruba;297 XXX XXXX;10;
291;ER;Eritrea;291 X XXX XXX;10;
290;SH;Saint Helena;290 XX XXX;8;
269;KM;Comoros;269 XXX XXXX;10;
268;SZ;Swaziland;268 XXXX XXXX;11;
267;BW;Botswana;267 XX XXX XXX;11;
266;LS;Lesotho;266 XX XXX XXX;11;
265;MW;Malawi
264;NA;Namibia;264 XX XXX XXXX;12;
263;ZW;Zimbabwe;263 XX XXX XXXX;12;
262;RE;Réunion;262 XXX XXX XXX;12;
261;MG;Madagascar;261 XX XX XXX XX;12;
260;ZM;Zambia;260 XX XXX XXXX;12;
258;MZ;Mozambique;258 XX XXX XXXX;12;
257;BI;Burundi;257 XX XX XXXX;11;
256;UG;Uganda;256 XX XXX XXXX;12;
255;TZ;Tanzania;255 XX XXX XXXX;12;
254;KE;Kenya;254 XXX XXX XXX;12;
253;DJ;Djibouti;253 XX XX XX XX;11;
252;SO;Somalia;252 XX XXX XXX;11;
251;ET;Ethiopia;251 XX XXX XXXX;12;
250;RW;Rwanda;250 XXX XXX XXX;12;
249;SD;Sudan;249 XX XXX XXXX;12;
248;SC;Seychelles;248 X XX XX XX;10;
247;SH;Saint Helena;247 XXXX;7;
246;IO;Diego Garcia;246 XXX XXXX;10;
245;GW;Guinea-Bissau;245 XXX XXXX;10;
244;AO;Angola;244 XXX XXX XXX;12;
243;CD;Congo (Dem. Rep.);243 XX XXX XXXX;12;
242;CG;Congo (Rep.);242 XX XXX XXXX;12;
241;GA;Gabon;241 X XX XX XX;10;
240;GQ;Equatorial Guinea;240 XXX XXX XXX;12;
239;ST;São Tomé & Príncipe;239 XX XXXXX;10;
238;CV;Cape Verde;238 XXX XXXX;10;
237;CM;Cameroon;237 XXXX XXXX;11;
236;CF;Central African Rep.;236 XX XX XX XX;11;
235;TD;Chad;235 XX XX XX XX;11;
234;NG;Nigeria
233;GH;Ghana
232;SL;Sierra Leone;232 XX XXX XXX;11;
231;LR;Liberia;
230;MU;Mauritius;
229;BJ;Benin;229 XX XXX XXX;11;
228;TG;Togo;228 XX XXX XXX;11;
227;NE;Niger;227 XX XX XX XX;11;
226;BF;Burkina Faso;226 XX XX XX XX;11;
225;CI;Côte d`Ivoire;225 XX XXX XXX;11;
224;GN;Guinea;224 XXX XXX XXX;12;
223;ML;Mali;223 XXXX XXXX;11;
222;MR;Mauritania;222 XXXX XXXX;11;
221;SN;Senegal;221 XX XXX XXXX;12;
220;GM;Gambia;220 XXX XXXX;10;
218;LY;Libya;218 XX XXX XXXX;12;
216;TN;Tunisia;216 XX XXX XXX;11;
213;DZ;Algeria;213 XXX XX XX XX;12;
212;MA;Morocco;212 XX XXX XXXX;12;
211;SS;South Sudan;211 XX XXX XXXX;12;
98;IR;Iran;98 XXX XXX XXXX;12;
95;MM;Myanmar;
94;LK;Sri Lanka;94 XX XXX XXXX;11;
93;AF;Afghanistan;93 XXX XXX XXX;11;
92;PK;Pakistan;92 XXX XXX XXXX;12;
91;IN;India;91 XXXXX XXXXX;12;
90;TR;Turkey;90 XXX XXX XXXX;12
86;CN;China;86 XXX XXXX XXXX;13;
84;VN;Vietnam;
82;KR;South Korea;
81;JP;Japan;81 XX XXXX XXXX;12;
66;TH;Thailand;66 X XXXX XXXX;11;
65;SG;Singapore;65 XXXX XXXX;10;
64;NZ;New Zealand;
63;PH;Philippines;63 XXX XXX XXXX;12;
62;ID;Indonesia;
61;AU;Australia;61 XXX XXX XXX;11;
60;MY;Malaysia;
58;VE;Venezuela;58 XXX XXX XXXX;12;
57;CO;Colombia;57 XXX XXX XXXX;12;
56;CL;Chile;56 X XXXX XXXX;11;
55;BR;Brazil;55 XX XXXXX XXXX;13;
54;AR;Argentina;
53;CU;Cuba;53 XXXX XXXX;10;
52;MX;Mexico;
51;PE;Peru;51 XXX XXX XXX;11;
49;DE;Germany;49 XXX XXXXXXXX;13;
48;PL;Poland;48 XX XXX XXXX;11;
47;NO;Norway;47 XXXX XXXX;10;
46;SE;Sweden;46 XX XXX XXXX;11;
45;DK;Denmark;45 XXXX XXXX;10;
44;GB;United Kingdom;44 XXXX XXXXXX;12;
43;AT;Austria;
41;CH;Switzerland;41 XX XXX XXXX;11;
40;RO;Romania;40 XXX XXX XXX;11;
39;IT;Italy;39 XXX XXX XXXX;12;
36;HU;Hungary;36 XX XXX XXXX;11;
34;ES;Spain;34 XXX XXX XXX;11;
33;FR;France;33 X XX XX XX XX;11;
32;BE;Belgium;32 XXX XX XX XX;11;
31;NL;Netherlands;31 X XX XX XX XX;11;
30;GR;Greece;30 XX XXXX XXXX;12;
27;ZA;South Africa;27 XX XXX XXXX;11;
20;EG;Egypt;20 XX XXX XXXX;11;
7;RU;Russian Federation;7 XXX XXX XX XX;11;
7;KZ;Kazakhstan;7 XXX XXX XX XX;11
1;US;USA;1 XXX XXX XXXX;11;
1;PR;Puerto Rico;1 XXX XXX XXXX;11;
1;DO;Dominican Rep.;1 XXX XXX XXXX;11;
1;CA;Canada;1 XXX XXX XXXX;11;

View File

@@ -21,7 +21,6 @@ semibold: 'Open Sans Semibold';
fsize: 13px;
spriteFile: ':/gui/art/sprite.png' / 2:':/gui/art/sprite_125x.png' / 3:':/gui/art/sprite_150x.png' / 4:':/gui/art/sprite_200x.png';
emojisFile: ':/gui/art/emoji.png' / 2:':/gui/art/emoji_125x.png' / 3:':/gui/art/emoji_150x.png' / 4:':/gui/art/emoji_200x.png';
emojiImgSize: 18px; // exceptional value for retina
emojiSize: 18px;
emojiPadding: 0px;
@@ -55,7 +54,7 @@ wndBG: #FFF;
wndShadow: sprite(209px, 46px, 19px, 19px);
wndShadowShift: 1px;
layerAlpha: 0.3;
layerAlpha: 0.5;
layerBG: #000;
titleBG: #6389a8;
@@ -123,9 +122,9 @@ sysUnlock: sysButton(sysUpd) {
img: sprite(207px, 22px, 19px, 19px);
}
titleBackButton: iconedButton(btnDefIconed) {
icon: sprite(133px, 197px, 13px, 20px);
icon: sprite(113px, 108px, 13px, 20px);
iconPos: point(5px, 9px);
downIcon: sprite(133px, 197px, 13px, 20px);
downIcon: sprite(113px, 108px, 13px, 20px);
downIconPos: point(5px, 10px);
bgColor: #c4d8e9;
@@ -309,7 +308,8 @@ scrollDef: flatScroll {
width: 10px;
minHeight: 20px;
deltax: 3px;
deltay: 3px;
deltat: 3px;
deltab: 3px;
topsh: 2px;
bottomsh: 2px;
@@ -340,6 +340,10 @@ introHeaderFont: font(24px);
introHeaderSkip: 14px;
introIconSkip: 54px;
introFont: font(16px);
introLink: linkButton(btnDefLink) {
font: introFont;
overFont: font(16px underline);
}
introColor: black;
introLabel: flatLabel(labelDefFlat) {
font: introFont;
@@ -390,7 +394,8 @@ btnIntroNext: flatButton(btnDefNext, btnDefBig) {
width: 300px;
}
boxShadow: sprite(230px, 46px, 9px, 9px);
boxShadow: sprite(363px, 50px, 15px, 15px);
boxShadowShift: 2px;
introCountry: countryInput {
width: 300px;
@@ -699,6 +704,7 @@ dlgDateSkip: 5px;
dlgUnreadColor: #FFF;
dlgUnreadBG: #6fc766;
dlgUnreadMutedBG: #bbb;
dlgUnreadFont: font(12px bold);
dlgUnreadPaddingHor: 5px;
dlgUnreadPaddingVer: 1px;
@@ -773,7 +779,9 @@ historyToEndSkip: 10px;
activeFadeInDuration: 500;
activeFadeOutDuration: 3000;
msgMaxWidth: 550px;
msgRadius: 3px;
msgMaxWidth: 430px;
msgFont: font(fsize);
msgNameFont: font(fsize semibold);
msgServiceFont: font(fsize semibold);
@@ -787,12 +795,11 @@ msgPadding: margins(13px, 7px, 13px, 8px);
msgMargin: margins(13px, 4px, 53px, 4px);
msgLnkPadding: 2px; // for media open / save links
msgBorder: #f0f0f0;
msgOutBG: #effdde;
msgInBG: #fff;
msgOutSelectBG: #b7dbdb;
msgInSelectBG: #c2dcf2; // #358cd4 with 30% opacity
msgOutSelectOverlay: #358cd44c;
msgInSelectOverlay: #358cd44c;
msgOutBg: #effdde;
msgInBg: #fff;
msgOutSelectBg: #b7dbdb;
msgInSelectBg: #c2dcf2; // #358cd4 with 30% opacity
msgSelectOverlay: #358cd44c;
msgStickerOverlay: #358cd47f;
msgOutServiceColor: #3a8e26;
msgInServiceColor: #0e7acd;
@@ -817,10 +824,8 @@ msgInReplyBarColor: #2fa9e2;
msgOutReplyBarSelColor: #4da79f;
msgInReplyBarSelColor: #2fa9e2;
msgServiceSelectBG: #fff4;
msgServiceRadius: 2px;
msgServiceBG: #89a0b47f;
msgServiceBg: #89a0b47f;
msgServiceSelectBg: #bbc8d4a2;
msgServiceColor: #FFF;
msgServicePadding: margins(12px, 3px, 12px, 4px);
msgServiceMargin: margins(10px, 7px, 80px, 7px);
@@ -831,7 +836,8 @@ msgLinkColor: #2a6dc2;
msgPressedLinkColor: #004bad;
msgSkip: 40px;
msgPtr: 8px;
msgBG: ':/gui/art/bg.png' / 2:':/gui/art/bg_125x.png' / 3:':/gui/art/bg_150x.png' / 4:':/gui/art/bg_200x.png';
msgBG: ':/gui/art/bg.jpg';
msgBG0: ':/gui/art/bg0.png';
msgSendingRect: sprite(260px, 20px, 20px, 20px);
msgCheckRect: sprite(320px, 0px, 20px, 20px);
@@ -849,6 +855,7 @@ msgImgDblCheckRect: sprite(300px, 65px, 20px, 20px);
msgDateImgDelta: 4px;
msgDateImgColor: #fff;
msgDateImgBg: #00000054;
msgDateImgSelectBg: #1c4a7187;
msgDateImgPadding: point(8px, 2px);
msgDateImgCheckSpace: 4px;
@@ -860,23 +867,25 @@ defaultTextStyle: textStyle {
lnkOverFlags: font(fsize underline);
lnkColor: btnYesColor;
lnkDownColor: btnYesHover;
selectBG: msgInSelectBG;
selectOverlay: msgInSelectOverlay;
selectBg: msgInSelectBg;
selectOverlay: msgSelectOverlay;
lineHeight: 0px;
}
serviceTextStyle: textStyle(defaultTextStyle) {
lnkFlags: msgServiceFont;
lnkOverFlags: font(fsize semibold underline);
lnkColor: msgServiceColor;
lnkDownColor: msgServiceColor;
selectBG: msgServiceSelectBG;
selectOverlay: msgServiceSelectBG;
selectBg: msgServiceSelectBg;
selectOverlay: msgServiceSelectBg;
}
inTextStyle: textStyle(defaultTextStyle) {
selectBG: msgInSelectBG;
selectOverlay: msgInSelectOverlay;
selectBg: msgInSelectBg;
selectOverlay: msgSelectOverlay;
}
outTextStyle: textStyle(defaultTextStyle) {
selectBG: msgOutSelectBG;
selectOverlay: msgOutSelectOverlay;
selectBg: msgOutSelectBg;
selectOverlay: msgSelectOverlay;
}
medviewSaveAsTextStyle: textStyle(defaultTextStyle) {
lnkColor: #91d9ff;
@@ -910,6 +919,8 @@ mediaDocOutImg: sprite(6px, 146px, 48px, 48px);
mediaDocInImg: sprite(56px, 146px, 48px, 48px);
mediaAudioOutImg: sprite(106px, 146px, 48px, 48px);
mediaAudioInImg: sprite(156px, 146px, 48px, 48px);
mediaMusicOutImg: sprite(322px, 345px, 48px, 48px);
mediaMusicInImg: sprite(322px, 395px, 48px, 48px);
mediaPlayOutImg: sprite(122px, 341px, 48px, 48px);
mediaPlayInImg: sprite(172px, 341px, 48px, 48px);
mediaPauseOutImg: sprite(222px, 341px, 48px, 48px);
@@ -918,6 +929,12 @@ mediaInColor: msgInDateColor;
mediaOutColor: msgOutDateColor;
mediaInSelectColor: msgInSelectDateColor;
mediaOutSelectColor: msgOutSelectDateColor;
mediaOutUnreadColor: #6aad60;
mediaOutUnreadSelectColor: #5aa382;
mediaInUnreadColor: #999;
mediaInUnreadSelectColor: #7b95aa;
mediaUnreadSize: 4px;
mediaUnreadSkip: 5px;
mediaSaveDelta: 14px; // between bubble and download
mediaSaveButton: flatButton(btnDefFlat) {
color: #507da2;
@@ -952,13 +969,18 @@ btnSend: flatButton(btnDefFlat) {
width: -32px;
height: 46px;
textTop: 13px;
overTextTop: 13px;
downTextTop: 14px;
textTop: 12px;
overTextTop: 12px;
downTextTop: 13px;
font: font(16px);
overFont: font(16px);
}
btnUnblock: flatButton(btnSend) {
color: #d15948;
overColor: #d15948;
downColor: #db6352;
}
btnAttachDocument: iconedButton(btnDefIconed) {
icon: sprite(218px, 68px, 24px, 24px);
@@ -976,13 +998,40 @@ btnAttachPhoto: iconedButton(btnAttachDocument) {
}
btnAttachEmoji: iconedButton(btnAttachDocument) {
overBgColor: white;
icon: sprite(311px, 221px, 20px, 20px);
iconPos: point(6px, 13px);
downIcon: sprite(311px, 221px, 20px, 20px);
downIconPos: point(6px, 13px);
icon: sprite(374px, 344px, 21px, 22px);
iconPos: point(6px, 12px);
downIcon: sprite(374px, 344px, 21px, 22px);
downIconPos: point(6px, 12px);
width: 32px;
width: 33px;
}
btnBotKbShow: iconedButton(btnAttachEmoji) {
icon: sprite(375px, 74px, 21px, 21px);
iconPos: point(6px, 12px);
downIcon: sprite(375px, 74px, 21px, 21px);
downIconPos: point(6px, 12px);
}
btnBotCmdStart: iconedButton(btnAttachEmoji) {
icon: sprite(354px, 74px, 21px, 21px);
iconPos: point(6px, 12px);
downIcon: sprite(354px, 74px, 21px, 21px);
downIconPos: point(6px, 12px);
}
btnBotKbHide: iconedButton(btnAttachEmoji) {
icon: sprite(373px, 95px, 23px, 14px);
iconPos: point(5px, 17px);
downIcon: sprite(373px, 95px, 23px, 14px);
downIconPos: point(5px, 17px);
}
btnRecordAudio: sprite(379px, 390px, 16px, 24px);
btnRecordAudioActive: sprite(379px, 366px, 16px, 24px);
recordSignalColor: #f17077;
recordSignalMin: 5px;
recordSignalMax: 10px;
recordCancel: #aaa;
recordCancelActive: #ec6466;
recordFont: font(13px);
recordTextTop: 14px;
replySkip: 51px;
replyColor: #377aae;
@@ -990,7 +1039,7 @@ replyHeight: 49px;
replyTop: 8px;
replyBottom: 6px;
replyIconPos: point(13px, 13px);
replyIcon: sprite(174px, 195px, 24px, 24px);
replyIcon: sprite(343px, 197px, 24px, 24px);
replyCancel: iconedButton(btnDefIconed) {
icon: sprite(165px, 24px, 14px, 14px);
iconPos: point(17px, 17px);
@@ -1001,7 +1050,7 @@ replyCancel: iconedButton(btnDefIconed) {
width: 49px;
height: 49px;
}
forwardIcon: sprite(368px, 173px, 24px, 24px);
forwardIcon: sprite(368px, 197px, 24px, 24px);
historyScroll: flatScroll(scrollDef) {
barColor: #89a0b47a;
@@ -1013,7 +1062,8 @@ historyScroll: flatScroll(scrollDef) {
width: 12px;
deltax: 3px;
deltay: 3px;
deltat: 3px;
deltab: 3px;
topsh: 0px;
bottomsh: -1px;
@@ -1022,7 +1072,34 @@ textRectMargins: margins(-2px, -1px, -2px, -1px);
taMsgField: flatTextarea(taDefFlat) {
font: msgFont;
}
maxFieldHeight: 250px;
maxFieldHeight: 220px;
// historyMinHeight: 56px;
reportSpamHide: flatButton(topBarButton) {
height: 46px;
textTop: 15px;
overTextTop: 15px;
downTextTop: 16px;
bgColor: transparent;
overBgColor: transparent;
downBgColor: transparent;
}
reportSpamButton: flatButton(reportSpamHide) {
textTop: 6px;
overTextTop: 6px;
downTextTop: 7px;
width: -50px;
height: 30px;
bgColor: #888;
overBgColor: #7b7b7b;
downBgColor: #7b7b7b;
}
reportSpamSeparator: 30px;
reportSpamBg: #fffffff0;
newMsgSound: ':/gui/art/newmsg.wav';
@@ -1109,7 +1186,7 @@ notifyTextTop: 7px;
notifySlowHideFunc: transition(easeInCirc);
notifyWaitShortHide: 0;
notifyWaitLongHide: 20000;
notifyFastAnim: 100;
notifyFastAnim: 150;
notifyFastAnimFunc: transition(linear);
notifyWidth: 316px;
notifyHeight: 80px;
@@ -1166,12 +1243,12 @@ btnShareContact: flatButton(btnDefNext, btnDefBig) {
font: font(17px);
overFont: font(17px);
}
profileMinBtnPadding: 10px;
forwardWidth: 364px;
forwardRadius: 2px;
forwardMargins: margins(30px, 10px, 30px, 10px);
forwardFont: font(16px);
forwardBG: rgba(0, 0, 0, 76);
forwardBg: rgba(0, 0, 0, 76);
btnProfileCancel: flatButton(btnDefFlat, btnDefBig) {
color: #666d78;
overColor: #666d78;
@@ -1355,18 +1432,23 @@ btnInfoClose: flatButton(aboutCloseButton) {
emojiTextFont: font(16px);
emojiReplaceWidth: 56px;
emojiReplaceHeight: 56px;
emojiReplaceInnerHeight: 38px;
emojiReplaceInnerHeight: 42px;
connectingBG: #fffe;
connectingColor: #777;
connectingPadding: margins(5px, 5px, 5px, 5px);
dropdownPadding: margins(10px, 10px, 10px, 10px);
dropdownShadow: sprite(241px, 46px, 6px, 6px);
dropdownBorder: 1px;
dropdownBorderColor: #ebebeb;
dropdownBackground: white;
dropdownDuration: 150;
dropdownDef: dropdown {
border: 1px;
borderColor: #ebebeb;
padding: margins(10px, 10px, 10px, 10px);
shadow: sprite(241px, 46px, 6px, 6px);
shadowShift: 1px;
duration: 150;
width: 0px;
}
dropdownAttachDocument: iconedButton(btnAttachDocument) {
iconPos: point(14px, 13px);
@@ -1400,6 +1482,10 @@ dropdownMediaAudios: iconedButton(dropdownMediaDocuments) {
icon: sprite(62px, 348px, 24px, 24px);
downIcon: sprite(62px, 348px, 24px, 24px);
}
dropdownMediaLinks: iconedButton(dropdownMediaDocuments) {
icon: sprite(372px, 414px, 24px, 24px);
downIcon: sprite(62px, 348px, 24px, 24px);
}
dragFont: font(28px semibold);
dragSubfont: font(20px semibold);
@@ -1441,41 +1527,82 @@ dpiFont2: linkFont;
dpiFont3: linkFont;
dpiFont4: linkFont;
emojiScroll: flatScroll(scrollDef) {
width: 5px;
deltax: 2px;
deltay: 1px;
newScroll: flatScroll(scrollDef) {
barColor: #3f729734;
bgColor: #214f751a;
barOverColor: #3f729734;
bgOverColor: #214f751a;
deltax: 5px;
width: 14px;
deltat: 6px;
deltab: 6px;
topsh: 0px;
bottomsh: 0px;
hiding: 0;
}
emojiRecentActive: sprite(290px, 287px, 20px, 20px);
emojiRecentOver: sprite(311px, 287px, 20px, 20px);
emojiRecent: sprite(6px, 197px, 20px, 20px);
emojiPeopleActive: sprite(290px, 221px, 20px, 20px);
emojiPeopleOver: sprite(311px, 221px, 20px, 20px);
emojiPeople: sprite(27px, 197px, 20px, 20px);
emojiNatureActive: sprite(245px, 266px, 20px, 20px);
emojiNatureOver: sprite(266px, 266px, 20px, 20px);
emojiNature: sprite(48px, 197px, 20px, 20px);
emojiObjectsActive: sprite(290px, 242px, 20px, 20px);
emojiObjectsOver: sprite(311px, 242px, 20px, 20px);
emojiObjects: sprite(69px, 197px, 20px, 20px);
emojiPlacesActive: sprite(245px, 287px, 20px, 20px);
emojiPlacesOver: sprite(266px, 287px, 20px, 20px);
emojiPlaces: sprite(90px, 197px, 20px, 20px);
emojiSymbolsActive: sprite(290px, 266px, 20px, 20px);
emojiSymbolsOver: sprite(311px, 266px, 20px, 20px);
emojiSymbols: sprite(111px, 197px, 20px, 20px);
emojiStickersActive: sprite(311px, 308px, 20px, 20px);
emojiStickersOver: sprite(354px, 200px, 20px, 20px);
emojiStickers: sprite(375px, 200px, 20px, 20px);
stickersMaxHeight: 340px;
stickersAddOrShare: 70px;
btnStickersAdd: flatButton(btnDefNext, btnDefBig) {
width: 200px;
height: 42px;
textTop: 9px;
overTextTop: 9px;
downTextTop: 10px;
font: font(17px);
overFont: font(17px);
bgColor: #15c23c;
overBgColor: #13a835;
downBgColor: #13a835;
}
btnStickersClose: iconedButton(notifyClose) {
iconPos: point(21px, 21px);
downIconPos: point(21px, 22px);
width: 52px;
height: 48px;
}
stickersWidth: 344px;
stickersPadding: 10px;
stickersSize: size(64px, 64px);
stickersScroll: flatScroll(newScroll) {
deltab: 76px;
}
emojiScroll: flatScroll(newScroll) {
deltat: 48px;
}
emojiRecentOver: sprite(0px, 196px, 21px, 22px);
emojiRecentActive: sprite(245px, 264px, 21px, 22px);
emojiPeopleOver: sprite(21px, 196px, 21px, 22px);
emojiPeopleActive: sprite(266px, 264px, 21px, 22px);
emojiNatureOver: sprite(42px, 196px, 21px, 22px);
emojiNatureActive: sprite(245px, 286px, 21px, 22px);
emojiFoodOver: sprite(63px, 196px, 21px, 22px);
emojiFoodActive: sprite(266px, 286px, 21px, 22px);
emojiCelebrationOver: sprite(84px, 196px, 21px, 22px);
emojiCelebrationActive: sprite(287px, 286px, 21px, 22px);
emojiActivityOver: sprite(126px, 196px, 21px, 22px);
emojiActivityActive: sprite(287px, 264px, 21px, 22px);
emojiTravelOver: sprite(105px, 196px, 21px, 22px);
emojiTravelActive: sprite(308px, 286px, 21px, 22px);
emojiObjectsOver: sprite(147px, 196px, 21px, 22px);
emojiObjectsActive: sprite(308px, 264px, 21px, 22px);
emojiPanCategories: #f7f7f7;
rbEmoji: flatCheckbox {
textColor: transparent;
bgColor: transparent;
disColor: transparent;
bgColor: emojiPanCategories;
disColor: emojiPanCategories;
width: 29px;
height: 36px;
width: 42px;
height: 46px;
textTop: 0px;
textLeft: 0px;
@@ -1485,180 +1612,241 @@ rbEmoji: flatCheckbox {
cursor: cursor(pointer);
disabledCursor: cursor(default);
imagePos: point(5px, 8px);
imagePos: point(11px, 12px);
}
rbEmojiRecent: flatCheckbox(rbEmoji) {
imageRect: emojiRecent;
imageRect: emojiRecentOver;
chkImageRect: emojiRecentActive;
overImageRect: emojiRecentOver;
chkOverImageRect: emojiRecentActive;
disImageRect: emojiRecent;
disImageRect: emojiRecentOver;
chkDisImageRect: emojiRecentActive;
}
rbEmojiPeople: flatCheckbox(rbEmoji) {
imageRect: emojiPeople;
imageRect: emojiPeopleOver;
chkImageRect: emojiPeopleActive;
overImageRect: emojiPeopleOver;
chkOverImageRect: emojiPeopleActive;
disImageRect: emojiPeople;
disImageRect: emojiPeopleOver;
chkDisImageRect: emojiPeopleActive;
}
rbEmojiNature: flatCheckbox(rbEmoji) {
imageRect: emojiNature;
imageRect: emojiNatureOver;
chkImageRect: emojiNatureActive;
overImageRect: emojiNatureOver;
chkOverImageRect: emojiNatureActive;
disImageRect: emojiNature;
disImageRect: emojiNatureOver;
chkDisImageRect: emojiNatureActive;
}
rbEmojiFood: flatCheckbox(rbEmoji) {
imageRect: emojiFoodOver;
chkImageRect: emojiFoodActive;
overImageRect: emojiFoodOver;
chkOverImageRect: emojiFoodActive;
disImageRect: emojiFoodOver;
chkDisImageRect: emojiFoodActive;
}
rbEmojiCelebration: flatCheckbox(rbEmoji) {
imageRect: emojiCelebrationOver;
chkImageRect: emojiCelebrationActive;
overImageRect: emojiCelebrationOver;
chkOverImageRect: emojiCelebrationActive;
disImageRect: emojiCelebrationOver;
chkDisImageRect: emojiCelebrationActive;
}
rbEmojiActivity: flatCheckbox(rbEmoji) {
imageRect: emojiActivityOver;
chkImageRect: emojiActivityActive;
overImageRect: emojiActivityOver;
chkOverImageRect: emojiActivityActive;
disImageRect: emojiActivityOver;
chkDisImageRect: emojiActivityActive;
}
rbEmojiTravel: flatCheckbox(rbEmoji) {
imageRect: emojiTravelOver;
chkImageRect: emojiTravelActive;
overImageRect: emojiTravelOver;
chkOverImageRect: emojiTravelActive;
disImageRect: emojiTravelOver;
chkDisImageRect: emojiTravelActive;
}
rbEmojiObjects: flatCheckbox(rbEmoji) {
imageRect: emojiObjects;
imageRect: emojiObjectsOver;
chkImageRect: emojiObjectsActive;
overImageRect: emojiObjectsOver;
chkOverImageRect: emojiObjectsActive;
disImageRect: emojiObjects;
disImageRect: emojiObjectsOver;
chkDisImageRect: emojiObjectsActive;
}
rbEmojiPlaces: flatCheckbox(rbEmoji) {
imageRect: emojiPlaces;
chkImageRect: emojiPlacesActive;
overImageRect: emojiPlacesOver;
chkOverImageRect: emojiPlacesActive;
disImageRect: emojiPlaces;
chkDisImageRect: emojiPlacesActive;
}
rbEmojiSymbols: flatCheckbox(rbEmoji) {
imageRect: emojiSymbols;
chkImageRect: emojiSymbolsActive;
overImageRect: emojiSymbolsOver;
chkOverImageRect: emojiSymbolsActive;
disImageRect: emojiSymbols;
chkDisImageRect: emojiSymbolsActive;
}
rbEmojiStickers: flatCheckbox(rbEmojiRecent) {
imageRect: emojiStickers;
chkImageRect: emojiStickersActive;
overImageRect: emojiStickersOver;
chkOverImageRect: emojiStickersActive;
disImageRect: emojiStickers;
chkDisImageRect: emojiStickersActive;
}
emojiPanPadding: margins(5px, 0px, 0px, 5px);
emojiPanSize: size(28px, 28px);
emojiPanSub: 0px;
emojiPanPadding: 12px;
emojiPanSize: size(45px, 41px);
emojiPanWidth: 345px;
emojiPanMaxHeight: 366px;
emojiPanDuration: 200;
emojiPanHover: #f0f0f0;
emojiPanRound: 2px;
emojiPanHover: #f0f4f7;
stickerPanRound: 3px;
stickerPanPadding: 2px;
stickerPanDelete: sprite(158px, 197px, 12px, 12px);
emojiPanHeader: 42px;
emojiPanHeaderFont: font(fsize semibold);
emojiPanHeaderColor: #999;
emojiPanHeaderLeft: 22px;
emojiPanHeaderTop: 12px;
emojiPanHeaderBg: #fffffff2;
emojiColorsPadding: 5px;
emojiColorsSep: 1px;
emojiColorsSepColor: #d5d5d5;
emojiSwitchSkip: 27px;
emojiSwitchImgSkip: 21px;
emojiSwitchStickers: sprite(318px, 328px, 8px, 12px);
emojiSwitchEmoji: sprite(310px, 328px, 8px, 12px);
emojiSwitchColor: #42a8db;
stickerPanSize: size(64px, 64px);
stickerPanPadding: 11px;
stickerPanDelete: sprite(123px, 132px, 12px, 12px);
stickerPanDeleteOpacity: 0.5;
stickerIconPadding: 3px;
stickerIconOpacity: 0.7;
stickerIconSel: 2px;
stickerIconSelColor: #58b2ed;
stickerIconRecent: sprite(342px, 50px, 21px, 22px);
stickerIconLeft: sprite(342px, 72px, 40px, 1px);
stickerIconRight: sprite(342px, 73px, 40px, 1px);
stickerIconMove: 400;
medviewNavBarWidth: 132px;
medviewLightNav: 0.5;
medviewDarkNav: 1;
medviewHeaderFont: font(semibold 18px);
medviewNameFont: font(16px);
medviewDateFont: font(14px);
medviewNameTop: 13px;
medviewDateTop: 39px;
medviewLeft: sprite(340px, 79px, 28px, 48px);
medviewRight: sprite(368px, 79px, 28px, 48px);
medviewDeltaFromLastAction: 5px;
medviewSwipeDistance: 80px;
botKbDuration: 200;
botKbBg: #f7f7f7;
botKbOverBg: #e8ecef;
botKbDownBg: #dfe3e6;
botKbColor: #8a8a8f;
botKbFont: font(16px);
botKbButton: botKeyboardButton {
margin: 10px;
padding: 10px;
height: 36px;
textTop: 8px;
downTextTop: 9px;
}
botKbTinyButton: botKeyboardButton {
margin: 4px;
padding: 3px;
height: 25px;
textTop: 2px;
downTextTop: 3px;
}
botKbScroll: flatScroll(newScroll) {
deltax: 3px;
width: 10px;
}
medviewSaveMsgCheck: sprite(341px, 174px, 22px, 18px);
mvBgColor: #222;
mvBgOpacity: 0.92;
mvThickFont: font(fsize semibold);
mvFont: font(fsize);
mvTextLeft: 16px;
mvTextSkip: 10px;
mvHeaderTop: 48px;
mvTextTop: 24px;
mvTextColor: white;
mvTextOpacity: 0.5;
mvTextOverOpacity: 1;
mvIconOpacity: 0.45;
mvIconOverOpacity: 1;
mvControlBgColor: black;
mvControlBgOpacity: 0.3;
mvControlMargin: 0px;
mvControlSize: 90px;
mvIconSize: size(60px, 56px);
mvLeft: sprite(320px, 445px, 12px, 22px);
mvRight: sprite(332px, 445px, 12px, 22px);
mvClose: sprite(344px, 445px, 18px, 18px);
mvSave: sprite(362px, 445px, 14px, 19px);
mvMore: sprite(376px, 445px, 5px, 21px);
mvDropdown: dropdown(dropdownDef) {
shadow: sprite(0px, 0px, 0px, 0px);
padding: margins(11px, 12px, 11px, 12px);
border: 0;
width: 182px;
}
mvButton: iconedButton(btnDefIconed) {
bgColor: #383838;
overBgColor: #505050;
font: font(fsize);
opacity: 1;
overOpacity: 1;
width: -32px;
height: 36px;
color: white;
textPos: point(16px, 9px);
downTextPos: point(16px, 10px);
duration: 0;
}
mvContextButton: iconedButton(mvButton) {
bgColor: #383838E6;
overBgColor: #505050E7;
}
mvWaitHide: 2000;
mvHideDuration: 1000;
mvShowDuration: 200;
mvFadeDuration: 150;
mvDocPadding: 18px;
mvDocSize: size(340px, 116px);
mvDocBg: white;
mvDocNameTop: 4px;
mvDocNameFont: font(semibold 14px);
mvDocNameColor: black;
mvDocSizeTop: 29px;
mvDocSizeColor: #808080;
mvDocExtTop: 35px;
mvDocExtFont: font(semibold 18px);
mvDocExtColor: white;
mvDocExtPadding: 10px;
mvDocLinksTop: 57px;
mvDocRed: sprite(0px, 400px, 80px, 80px);
mvDocRedColor: #e47272;
mvDocYellow: sprite(80px, 400px, 80px, 80px);
mvDocYellowColor: #efc274;
mvDocGreen: sprite(160px, 400px, 80px, 80px);
mvDocGreenColor: #61b96e;
mvDocBlue: sprite(240px, 400px, 80px, 80px);
mvDocBlueColor: #72b1df;
mvDocLink: linkButton(btnDefLink) {
color: #4595d3;
overColor: #4595d3;
downColor: #4595d3;
}
mvDeltaFromLastAction: 5px;
mvSwipeDistance: 80px;
mvCaptionPadding: margins(18px, 10px, 18px, 10px);
mvCaptionMargin: size(11px, 11px);
mvCaptionRadius: 2px;
mvCaptionBg: #11111180;
mvCaptionFont: font(fsize);
medviewSaveMsgCheck: sprite(311px, 309px, 22px, 18px);
medviewSaveMsgFont: font(16px);
medviewSaveMsgPadding: margins(55px, 19px, 29px, 20px);
medviewSaveMsgCheckPos: point(23px, 21px);
medviewSaveMsgRadius: 3px;
medviewSaveMsgShowing: 200;
medviewSaveMsgShown: 2000;
medviewSaveMsgHiding: 2500;
medviewSaveMsg: #000000b2;
medviewOverview: iconedButton(btnDefIconed) {
bgColor: #0000;
overBgColor: #00000040;
font: font(16px);
opacity: 0.77;
overOpacity: 1;
icon: sprite(340px, 129px, 19px, 19px);
iconPos: point(16px, 14px);
downIcon: sprite(340px, 129px, 19px, 19px);
downIconPos: point(16px, 14px);
width: -69px;
height: 47px;
color: white;
textPos: point(51px, 13px);
downTextPos: point(51px, 14px);
}
medviewForward: iconedButton(medviewOverview) {
icon: sprite(357px, 58px, 22px, 17px);
iconPos: point(16px, 15px);
downIcon: sprite(357px, 58px, 22px, 17px);
downIconPos: point(16px, 15px);
width: -69px;
}
medviewDelete: iconedButton(medviewForward) {
icon: sprite(340px, 58px, 15px, 19px);
iconPos: point(16px, 14px);
downIcon: sprite(340px, 58px, 15px, 19px);
downIconPos: point(16px, 14px);
}
medviewClose: iconedButton(medviewOverview) {
icon: sprite(340px, 0px, 56px, 56px);
iconPos: point(0px, 0px);
downIcon: sprite(340px, 0px, 56px, 56px);
downIconPos: point(0px, 0px);
opacity: 0.6;
width: 56px;
height: 56px;
}
medviewBottomBar: 87px;
medviewBG: #272727D9;
medviewBottomBG: #272727;
medviewNavOpacity: 0.6;
medviewCloseOpacity: 0.6;
medviewNavBGOpacity: 0.4;
medviewNavOverOpacity: 1;
medviewCloseOverOpacity: 1;
medviewNameColor: black;
medviewDateColor: #999;
medviewSaveAs: iconedButton(medviewOverview) {
bgColor: #38abe6;
overBgColor: #299fdc;
opacity: 1;
icon: sprite(361px, 129px, 12px, 19px);
iconPos: point(18px, 15px);
downIcon: sprite(361px, 129px, 12px, 19px);
downIconPos: point(18px, 15px);
width: -62px;
height: 47px;
textPos: point(44px, 13px);
downTextPos: point(44px, 14px);
}
medviewSaveAsDisabledOpacity: 0.8;
medviewPolaroid: margins(17px, 18px, 17px, 72px);
medviewPolaroidMin: size(480px, 360px);
medviewDocumentSprite: sprite(341px, 150px, 20px, 22px);
medviewDocumentSpritePos: point(16px, 13px);
medviewPhotoSprite: sprite(363px, 150px, 23px, 20px);
medviewPhotoSpritePos: point(14px, 14px);
medviewTransparentBrush: sprite(148px, 197px, 8px, 8px);
mvTransparentBrush: sprite(113px, 128px, 8px, 8px);
overviewPhotoSkip: 10px;
overviewPhotoMinSize: 100px;
@@ -1704,6 +1892,16 @@ photoLoaderDuration1: 150; // ms fade in
photoLoaderDuration2: 150; // ms fade out
photoLoaderAlphaMin: 0.1; // not less than that
radialSize: size(50px, 50px);
radialLine: 2px;
radialDuration: 350;
radialPeriod: 3000;
radialBgOpacity: 0.4;
radialDownload: sprite(346px, 0px, 50px, 50px);
radialDownloadOpacity: 0.8;
radialCancel: sprite(378px, 50px, 18px, 18px);
radialCancelOpacity: 1.0;
overviewLoader: size(34px, 14px);
overviewLoaderPoint: size(4px, 4px);
overviewLoaderSkip: 4px;
@@ -1771,6 +1969,11 @@ mentionPadding: margins(8px, 5px, 8px, 5px);
mentionTop: 11px;
mentionFont: linkFont;
mentionPhotoSize: msgPhotoSize;
mentionBgOver: #f5f5f5;
mentionFg: #777;
mentionFgOver: #707070;
mentionFgActive: #0080c0;
mentionFgOverActive: #0077b3;
sessionsHeight: 440px;
sessionHeight: 70px;
@@ -1799,3 +2002,50 @@ webPageDescriptionFont: font(fsize);
webPagePhotoSkip: 5px;
webPagePhotoSize: 100px;
webPagePhotoDelta: 8px;
botDescSkip: 8px;
suppressAll: 0.2;
suppressSong: 0.05;
playerHeight: 44px;
playerBg: #e4e9ef;
playerFg: #54748f;
playerTimeFg: #a4afba;
playerLineHeight: 3px;
playerMoverSize: size(2px, 7px);
playerLineActive: #6389a8;
playerLineInactive: #bac7d4;
playerSkip: 8px;
playerNameStyle: textStyle(defaultTextStyle) {
lnkColor: #6389a8;
lnkDownColor: #6389a8;
lnkFlags: font(fsize semibold);
lnkOverFlags: font(fsize semibold);
}
playerPlay: sprite(377px, 109px, 19px, 22px);
playerPause: sprite(379px, 131px, 17px, 20px);
playerNext: sprite(374px, 151px, 22px, 14px);
playerPrev: sprite(374px, 165px, 22px, 14px);
playerClose: sprite(361px, 97px, 12px, 12px);
playerFull: sprite(365px, 109px, 12px, 12px);
playerRepeat: sprite(365px, 121px, 12px, 14px);
playerVolume: sprite(352px, 179px, 44px, 12px);
playerInactiveOpacity: 0.8;
playerUnavailableOpacity: 0.3;
playerDuration: 200;
playlistHoverBg: #f2f2f2;
playlistPadding: 10px;
linksSearchMargin: margins(20px, 20px, 20px, 0px);
linksMaxWidth: 520px;
linksLetterFont: font(24px);
linksMargin: 5px;
linksBorder: 1px;
linksBorderColor: #eaeaea;
linksDateColor: #000;
linksDateMargin: 15px;
linksPhotoCheck: sprite(184px, 196px, 16px, 16px);
linksPhotoChecked: sprite(168px, 196px, 16px, 16px);

View File

@@ -20,7 +20,7 @@ textStyle {
lnkOverFlags: font;
lnkColor: color;
lnkDownColor: color;
selectBG: color;
selectBg: color;
selectOverlay: color;
lineHeight: number;
}
@@ -173,7 +173,8 @@ flatScroll {
width: number;
minHeight: number;
deltax: number;
deltay: number;
deltat: number;
deltab: number;
topsh: number;
bottomsh: number;
@@ -246,3 +247,23 @@ switcher {
duration: number;
}
dropdown {
border: number;
borderColor: color;
padding: margins;
shadow: sprite;
shadowShift: number;
duration: number;
width: number;
}
botKeyboardButton {
margin: number;
padding: number;
height: number;
textTop: number;
downTextTop: number;
}

File diff suppressed because it is too large Load Diff

View File

@@ -18,6 +18,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
#include "genstyles.h"
#include <QtCore/QtPlugin>
#include <QtCore/QRegularExpression>
#ifdef Q_OS_WIN
Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
@@ -448,6 +449,7 @@ static const char *variantNames[] = { "dbisOne", "dbisOneAndQuarter", "dbisOneAn
static const char *variantPostfixes[] = { "", "_125x", "_150x", "_200x" };
QPixmap *spriteMax = 0;
QImage *variantSprites = 0;
int *spriteWidths = 0;
QImage *variantGrids = 0;
void readStyleGenToken(const char *&from, const char *end, StyleGenTokenType &tokenType, string &token) {
@@ -1344,6 +1346,12 @@ bool genStyles(const QString &classes_in, const QString &classes_out, const QStr
QCoreApplication::exit(1);
return false;
}
QString numbers_cpp = QString(styles_cpp).replace("style_auto.cpp", "numbers.cpp");
if (numbers_cpp == styles_cpp) {
cout << "Bad output file name '" << numbers_cpp.toUtf8().constData() << "'!\n";
QCoreApplication::exit(1);
return false;
}
QFile f(styles_in);
if (!f.open(QIODevice::ReadOnly)) {
@@ -1352,18 +1360,37 @@ bool genStyles(const QString &classes_in, const QString &classes_out, const QStr
return false;
}
QString numbers_in = QString(styles_in).replace("style.txt", "numbers.txt");
if (numbers_in == styles_in) {
cout << "Bad input file name '" << numbers_in.toUtf8().constData() << "'!\n";
QCoreApplication::exit(1);
return false;
}
QFile fnum(numbers_in);
if (!fnum.open(QIODevice::ReadOnly)) {
cout << "Could not open numbers input file '" << numbers_in.toUtf8().constData() << "'!\n";
QCoreApplication::exit(1);
return false;
}
QImage sprites[variantsCount];
int widths[variantsCount] = { 0 };
variantSprites = sprites;
spriteWidths = widths;
QString sprite0(path_to_sprites + "sprite" + QString(variantPostfixes[0]) + ".png"), spriteLast(path_to_sprites + "sprite" + QString(variantPostfixes[variantsCount - 1]) + ".png");
variantSprites[0] = QImage(sprite0);
spriteWidths[0] = variantSprites[0].width();
for (int i = 1; i < variantsCount - 1; ++i) {
variantSprites[i] = QImage(adjustPx(variants[i], variantSprites[0].width(), true), adjustPx(variants[i], variantSprites[0].height(), true), QImage::Format_ARGB32_Premultiplied);
spriteWidths[i] = variantSprites[i].width();
QPainter p(&variantSprites[i]);
p.setCompositionMode(QPainter::CompositionMode_Source);
p.fillRect(0, 0, variantSprites[i].width(), variantSprites[i].height(), Qt::transparent);
}
variantSprites[variantsCount - 1] = QImage(spriteLast);
spriteWidths[variantsCount - 1] = variantSprites[variantsCount - 1].width();
QPixmap spriteMaxPix = QPixmap::fromImage(variantSprites[variantsCount - 1], Qt::ColorOnly);
spriteMax = &spriteMaxPix;
@@ -1567,11 +1594,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org\n\
tcpp << "\nnamespace style {\n\n";
tcpp << "\tFontFamilies _fontFamilies;\n";
tcpp << "\tFontDatas _fontsMap;\n";
tcpp << "\tColorDatas _colorsMap;\n\n";
tcpp << "\tColorDatas _colorsMap;\n";
tcpp << "\tint _spriteWidth = " << spriteWidths[0] << ";\n\n";
tcpp << "\tvoid startManager() {\n";
tcpp << "\n\t\tif (cRetina()) {\n";
tcpp << "\t\t\tcSetRealScale(dbisOne);\n\n";
tcpp << "\t\t\tcSetRealScale(dbisOne);\n";
tcpp << "\t\t\t_spriteWidth = " << spriteWidths[variantsCount - 1] << ";\n\n";
for (int i = 0, l = scalars.size(); i < l; ++i) {
Scalar &sc(scalars[i]);
if (sc.second.first == scSprite || sc.first == "spriteFile" || sc.first == "emojisFile" || sc.first == "emojiImgSize") {
@@ -1594,6 +1623,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org\n\
const char *varName = variantNames[i];
tcpp << "\t\tcase " << varName << ":\n";
tcpp << "\t\t\t_spriteWidth = " << spriteWidths[i] << ";\n\n";
typedef QMap<string, int> FontFamilies;
FontFamilies fontFamilies;
@@ -1845,6 +1875,137 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org\n\
if (!cpp.open(QIODevice::WriteOnly)) throw Exception("Could not open style_auto.cpp for writing!");
if (cpp.write(cppText) != cppText.size()) throw Exception("Could not open style_auto.cpp for writing!");
}
QMap<QString, QVector<int> > numberRules;
QList<QByteArray> numlines = fnum.readAll().split('\n');
for (int i = 0, l = numlines.size(); i < l; ++i) {
QList<QByteArray> strs = numlines.at(i).split(';');
if (strs.isEmpty()) continue;
QString code = QString::fromLatin1(strs.at(0)).trimmed();
if (code.isEmpty() || QRegularExpression("[^0-9]").match(code).hasMatch()) {
throw Exception("Bad string in number.txt: " + numlines.at(i));
}
if (strs.size() < 5) {
numberRules.insert(code, QVector<int>());
} else {
QString lenstr = QString::fromLatin1(strs.at(4)).trimmed(), pattern = QString::fromLatin1(strs.at(3)).trimmed();
if (QRegularExpression("[^0-9]").match(lenstr).hasMatch() || !pattern.startsWith(code + ' ')) {
throw Exception("Bad string in number.txt: " + numlines.at(i));
}
QStringList lst = pattern.mid(code.size() + 1).split(' ');
int len = lenstr.toInt(), sum = code.size();
QVector<int> result;
for (int j = 0, c = lst.size(); j < c; ++j) {
if (lst.at(j).isEmpty()) continue;
if (QRegularExpression("[^X]").match(lst.at(j)).hasMatch()) {
throw Exception("Bad string in number.txt: " + numlines.at(i));
}
result.push_back(lst.at(j).size());
sum += lst.at(j).size();
}
if (sum != len) {
throw Exception("Bad length in number.txt: " + numlines.at(i));
}
numberRules.insert(code, result);
}
}
QByteArray numText;
{
QTextStream tnum(&numText);
tnum << "\
/*\n\
Created from \'/Resources/style.txt\' by \'/MetaStyle\' project\n\
\n\
WARNING! All changes made in this file will be lost!\n\
\n\
This file is part of Telegram Desktop,\n\
the official desktop version of Telegram messaging app, see https://telegram.org\n\
\n\
Telegram Desktop is free software: you can redistribute it and/or modify\n\
it under the terms of the GNU General Public License as published by\n\
the Free Software Foundation, either version 3 of the License, or\n\
(at your option) any later version.\n\
\n\
It is distributed in the hope that it will be useful,\n\
but WITHOUT ANY WARRANTY; without even the implied warranty of\n\
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n\
GNU General Public License for more details.\n\
\n\
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\n\
Copyright (c) 2014 John Preston, https://desktop.telegram.org\n\
*/\n";
tnum << "#include \"stdafx.h\"\n#include \"numbers.h\"\n\n";
tnum << "QVector<int> phoneNumberParse(const QString &number) {\n";
tnum << "\tQVector<int> result;\n\n";
tnum << "\tint32 len = number.size();\n";
tnum << "\tif (len > 0) switch (number.at(0).unicode()) {\n";
QString already;
for (QMap<QString, QVector<int> >::const_iterator i = numberRules.cend(), e = numberRules.cbegin(); i != e;) {
--i;
QString k = i.key();
bool onlyLastChanged = true;
while (!already.isEmpty() && (already.size() > k.size() || !already.endsWith(k.at(already.size() - 1)))) {
if (!onlyLastChanged) {
tnum << QString("\t").repeated(1 + already.size()) << "}\n";
tnum << QString("\t").repeated(1 + already.size()) << "return result;\n";
}
already = already.mid(0, already.size() - 1);
onlyLastChanged = false;
}
if (already == k) {
tnum << QString("\t").repeated(1 + already.size()) << "}\n";
} else {
bool onlyFirstCheck = true;
while (already.size() < k.size()) {
if (!onlyFirstCheck) tnum << QString("\t").repeated(1 + already.size()) << "if (len > " << already.size() << ") switch (number.at(" << already.size() << ").unicode()) {\n";
tnum << QString("\t").repeated(1 + already.size()) << "case '" << k.at(already.size()).toLatin1() << "':\n";
already.push_back(k.at(already.size()));
onlyFirstCheck = false;
}
}
if (i.value().isEmpty()) {
tnum << QString("\t").repeated(1 + already.size()) << "return QVector<int>(1, " << k.size() << ");\n";
} else {
tnum << QString("\t").repeated(1 + already.size()) << "result.reserve(" << (i.value().size() + 1) << ");\n";
tnum << QString("\t").repeated(1 + already.size()) << "result.push_back(" << k.size() << ");\n";
for (int j = 0, l = i.value().size(); j < l; ++j) {
tnum << QString("\t").repeated(1 + already.size()) << "result.push_back(" << i.value().at(j) << ");\n";
}
tnum << QString("\t").repeated(1 + already.size()) << "return result;\n";
}
}
bool onlyLastChanged = true;
while (!already.isEmpty()) {
if (!onlyLastChanged) {
tnum << QString("\t").repeated(1 + already.size()) << "}\n";
// tnum << QString("\t").repeated(1 + already.size()) << "\return result;\n";
}
already = already.mid(0, already.size() - 1);
onlyLastChanged = false;
}
tnum << "\t}\n\n";
tnum << "\treturn result;\n";
tnum << "}\n";
}
QFile num(numbers_cpp);
bool write_num = true;
if (num.open(QIODevice::ReadOnly)) {
QByteArray wasNum = num.readAll();
if (wasNum.size() == numText.size()) {
if (!memcmp(wasNum.constData(), numText.constData(), numText.size())) {
write_num = false;
}
}
num.close();
}
if (write_num) {
cout << "Numbers compiled, writing..\n";
if (!num.open(QIODevice::WriteOnly)) throw Exception("Could not open numbers.cpp for writing!");
if (num.write(numText) != numText.size()) throw Exception("Could not open numbers.cpp for writing!");
}
} catch (exception &e) {
cout << e.what() << "\n";
QCoreApplication::exit(1);

View File

@@ -23,6 +23,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
#include <QtCore/QDir>
#include <QtCore/QStringList>
#include <QtCore/QBuffer>
#include <QtCore/QDataStream>
#include <zlib.h>

View File

@@ -96,12 +96,11 @@ void writeLog(const wstring &msg) {
}
}
void delFolder() {
wstring delPath = L"tupdates\\ready", delFolder = L"tupdates";
void fullClearPath(const wstring &dir) {
WCHAR path[4096];
memcpy(path, delPath.c_str(), (delPath.size() + 1) * sizeof(WCHAR));
path[delPath.size() + 1] = 0;
writeLog(L"Fully clearing path '" + delPath + L"'..");
memcpy(path, dir.c_str(), (dir.size() + 1) * sizeof(WCHAR));
path[dir.size() + 1] = 0;
writeLog(L"Fully clearing path '" + dir + L"'..");
SHFILEOPSTRUCT file_op = {
NULL,
FO_DELETE,
@@ -116,13 +115,46 @@ void delFolder() {
};
int res = SHFileOperation(&file_op);
if (res) writeLog(L"Error: failed to clear path! :(");
}
void delFolder() {
wstring delPathOld = L"tupdates\\ready", delPath = L"tupdates\\temp", delFolder = L"tupdates";
fullClearPath(delPathOld);
fullClearPath(delPath);
RemoveDirectory(delFolder.c_str());
}
DWORD versionNum = 0, versionLen = 0, readLen = 0;
WCHAR versionStr[32] = { 0 };
bool update() {
writeLog(L"Update started..");
wstring updDir = L"tupdates\\ready";
wstring updDir = L"tupdates\\temp", readyFilePath = L"tupdates\\temp\\ready", tdataDir = L"tupdates\\temp\\tdata";
{
HANDLE readyFile = CreateFile(readyFilePath.c_str(), GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (readyFile != INVALID_HANDLE_VALUE) {
CloseHandle(readyFile);
} else {
updDir = L"tupdates\\ready"; // old
tdataDir = L"tupdates\\ready\\tdata";
}
}
HANDLE versionFile = CreateFile((tdataDir + L"\\version").c_str(), GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (versionFile != INVALID_HANDLE_VALUE) {
if (ReadFile(versionFile, &versionNum, sizeof(DWORD), &readLen, NULL) != TRUE || readLen != sizeof(DWORD)) {
versionNum = 0;
} else if (ReadFile(versionFile, &versionLen, sizeof(DWORD), &readLen, NULL) != TRUE || readLen != sizeof(DWORD) || versionLen > 63) {
versionNum = 0;
} else if (ReadFile(versionFile, versionStr, versionLen, &readLen, NULL) != TRUE || readLen != versionLen) {
versionNum = 0;
}
CloseHandle(versionFile);
writeLog(L"Version file read.");
} else {
writeLog(L"Could not open version file to update registry :(");
}
deque<wstring> dirs;
dirs.push_back(updDir);
@@ -154,22 +186,27 @@ bool update() {
}
do {
if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
wstring fname = dir + L"\\" + findData.cFileName;
if (fname.substr(0, tdataDir.size()) == tdataDir && (fname.size() <= tdataDir.size() || fname.at(tdataDir.size()) == '/')) {
writeLog(L"Skipped 'tdata' path '" + fname + L"'");
} else if (findData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) {
if (findData.cFileName != wstring(L".") && findData.cFileName != wstring(L"..")) {
dirs.push_back(dir + L"\\" + findData.cFileName);
writeLog(L"Added dir '" + dir + L"\\" + findData.cFileName + L"' in update tree..");
dirs.push_back(fname);
writeLog(L"Added dir '" + fname + L"' in update tree..");
}
} else {
wstring fname = dir + L"\\" + findData.cFileName;
wstring tofname = updateTo + fname.substr(updDir.size() + 1);
if (equal(tofname, exeName)) { // bad update - has Updater.exe - delete all dir
writeLog(L"Error: bad update, has Updater.exe! '" + tofname + L"' equal '" + exeName + L"'");
delFolder();
return false;
} else if (equal(fname, readyFilePath)) {
writeLog(L"Skipped ready file '" + fname + L"'");
} else {
from.push_back(fname);
to.push_back(tofname);
writeLog(L"Added file '" + fname + L"' to be copied to '" + tofname + L"'");
}
from.push_back(fname);
to.push_back(tofname);
writeLog(L"Added file '" + fname + L"' to be copied to '" + tofname + L"'");
}
} while (FindNextFile(findHandle, &findData));
DWORD errorCode = GetLastError();
@@ -230,73 +267,57 @@ bool update() {
}
void updateRegistry() {
HANDLE versionFile = CreateFile((updateTo + L"tdata\\version").c_str(), GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if (versionFile != INVALID_HANDLE_VALUE) {
if (versionNum) {
writeLog(L"Updating registry..");
DWORD versionNum = 0, versionLen = 0, readLen = 0;
WCHAR versionStr[32];
if (ReadFile(versionFile, &versionNum, sizeof(DWORD), &readLen, NULL) != TRUE || readLen != sizeof(DWORD)) {
versionNum = 0;
} else if (ReadFile(versionFile, &versionLen, sizeof(DWORD), &readLen, NULL) != TRUE || readLen != sizeof(DWORD) || versionLen > 63) {
versionNum = 0;
} else if (ReadFile(versionFile, versionStr, versionLen, &readLen, NULL) != TRUE || readLen != versionLen) {
versionNum = 0;
}
CloseHandle(versionFile);
writeLog(L"Version file read.");
if (versionNum) {
versionStr[versionLen / 2] = 0;
HKEY rkey;
LSTATUS status = RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{53F49750-6209-4FBF-9CA8-7A333C87D1ED}_is1", 0, KEY_QUERY_VALUE | KEY_SET_VALUE, &rkey);
if (status == ERROR_SUCCESS) {
writeLog(L"Checking registry install location..");
static const int bufSize = 4096;
DWORD locationType, locationSize = bufSize * 2;
WCHAR locationStr[bufSize], exp[bufSize];
if (RegQueryValueEx(rkey, L"InstallLocation", 0, &locationType, (BYTE*)locationStr, &locationSize) == ERROR_SUCCESS) {
locationSize /= 2;
if (locationStr[locationSize - 1]) {
locationStr[locationSize++] = 0;
versionStr[versionLen / 2] = 0;
HKEY rkey;
LSTATUS status = RegOpenKeyEx(HKEY_CURRENT_USER, L"Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{53F49750-6209-4FBF-9CA8-7A333C87D1ED}_is1", 0, KEY_QUERY_VALUE | KEY_SET_VALUE, &rkey);
if (status == ERROR_SUCCESS) {
writeLog(L"Checking registry install location..");
static const int bufSize = 4096;
DWORD locationType, locationSize = bufSize * 2;
WCHAR locationStr[bufSize], exp[bufSize];
if (RegQueryValueEx(rkey, L"InstallLocation", 0, &locationType, (BYTE*)locationStr, &locationSize) == ERROR_SUCCESS) {
locationSize /= 2;
if (locationStr[locationSize - 1]) {
locationStr[locationSize++] = 0;
}
if (locationType == REG_EXPAND_SZ) {
DWORD copy = ExpandEnvironmentStrings(locationStr, exp, bufSize);
if (copy <= bufSize) {
memcpy(locationStr, exp, copy * sizeof(WCHAR));
}
if (locationType == REG_EXPAND_SZ) {
DWORD copy = ExpandEnvironmentStrings(locationStr, exp, bufSize);
if (copy <= bufSize) {
memcpy(locationStr, exp, copy * sizeof(WCHAR));
}
}
if (locationType == REG_EXPAND_SZ || locationType == REG_SZ) {
if (PathCanonicalize(exp, locationStr) == TRUE) {
memcpy(locationStr, exp, bufSize * sizeof(WCHAR));
if (GetFullPathName(L".", bufSize, exp, 0) < bufSize) {
wstring installpath = locationStr, mypath = exp;
if (installpath == mypath + L"\\" || true) { // always update reg info, if we found it
WCHAR nameStr[bufSize], dateStr[bufSize], publisherStr[bufSize], icongroupStr[bufSize];
SYSTEMTIME stLocalTime;
GetLocalTime(&stLocalTime);
RegSetValueEx(rkey, L"DisplayVersion", 0, REG_SZ, (BYTE*)versionStr, ((versionLen / 2) + 1) * sizeof(WCHAR));
wsprintf(nameStr, L"Telegram Desktop version %s", versionStr);
RegSetValueEx(rkey, L"DisplayName", 0, REG_SZ, (BYTE*)nameStr, (wcslen(nameStr) + 1) * sizeof(WCHAR));
wsprintf(publisherStr, L"Telegram Messenger LLP");
RegSetValueEx(rkey, L"Publisher", 0, REG_SZ, (BYTE*)publisherStr, (wcslen(publisherStr) + 1) * sizeof(WCHAR));
wsprintf(icongroupStr, L"Telegram Desktop");
RegSetValueEx(rkey, L"Inno Setup: Icon Group", 0, REG_SZ, (BYTE*)icongroupStr, (wcslen(icongroupStr) + 1) * sizeof(WCHAR));
wsprintf(dateStr, L"%04d%02d%02d", stLocalTime.wYear, stLocalTime.wMonth, stLocalTime.wDay);
RegSetValueEx(rkey, L"InstallDate", 0, REG_SZ, (BYTE*)dateStr, (wcslen(dateStr) + 1) * sizeof(WCHAR));
}
if (locationType == REG_EXPAND_SZ || locationType == REG_SZ) {
if (PathCanonicalize(exp, locationStr) == TRUE) {
memcpy(locationStr, exp, bufSize * sizeof(WCHAR));
if (GetFullPathName(L".", bufSize, exp, 0) < bufSize) {
wstring installpath = locationStr, mypath = exp;
if (installpath == mypath + L"\\" || true) { // always update reg info, if we found it
WCHAR nameStr[bufSize], dateStr[bufSize], publisherStr[bufSize], icongroupStr[bufSize];
SYSTEMTIME stLocalTime;
GetLocalTime(&stLocalTime);
RegSetValueEx(rkey, L"DisplayVersion", 0, REG_SZ, (BYTE*)versionStr, ((versionLen / 2) + 1) * sizeof(WCHAR));
wsprintf(nameStr, L"Telegram Desktop version %s", versionStr);
RegSetValueEx(rkey, L"DisplayName", 0, REG_SZ, (BYTE*)nameStr, (wcslen(nameStr) + 1) * sizeof(WCHAR));
wsprintf(publisherStr, L"Telegram Messenger LLP");
RegSetValueEx(rkey, L"Publisher", 0, REG_SZ, (BYTE*)publisherStr, (wcslen(publisherStr) + 1) * sizeof(WCHAR));
wsprintf(icongroupStr, L"Telegram Desktop");
RegSetValueEx(rkey, L"Inno Setup: Icon Group", 0, REG_SZ, (BYTE*)icongroupStr, (wcslen(icongroupStr) + 1) * sizeof(WCHAR));
wsprintf(dateStr, L"%04d%02d%02d", stLocalTime.wYear, stLocalTime.wMonth, stLocalTime.wDay);
RegSetValueEx(rkey, L"InstallDate", 0, REG_SZ, (BYTE*)dateStr, (wcslen(dateStr) + 1) * sizeof(WCHAR));
WCHAR *appURL = L"https://desktop.telegram.org";
RegSetValueEx(rkey, L"HelpLink", 0, REG_SZ, (BYTE*)appURL, (wcslen(appURL) + 1) * sizeof(WCHAR));
RegSetValueEx(rkey, L"URLInfoAbout", 0, REG_SZ, (BYTE*)appURL, (wcslen(appURL) + 1) * sizeof(WCHAR));
RegSetValueEx(rkey, L"URLUpdateInfo", 0, REG_SZ, (BYTE*)appURL, (wcslen(appURL) + 1) * sizeof(WCHAR));
}
WCHAR *appURL = L"https://desktop.telegram.org";
RegSetValueEx(rkey, L"HelpLink", 0, REG_SZ, (BYTE*)appURL, (wcslen(appURL) + 1) * sizeof(WCHAR));
RegSetValueEx(rkey, L"URLInfoAbout", 0, REG_SZ, (BYTE*)appURL, (wcslen(appURL) + 1) * sizeof(WCHAR));
RegSetValueEx(rkey, L"URLUpdateInfo", 0, REG_SZ, (BYTE*)appURL, (wcslen(appURL) + 1) * sizeof(WCHAR));
}
}
}
}
RegCloseKey(rkey);
}
RegCloseKey(rkey);
}
} else {
writeLog(L"Could not open version file to update registry :(");
}
}
@@ -357,7 +378,7 @@ int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR cmdParama
updateRegistry();
}
if (writeprotected) { // if we can't clear all tupdates\ready (Updater.exe is there) - clear only version
if (DeleteFile(L"tupdates\\ready\\tdata\\version")) {
if (DeleteFile(L"tupdates\\temp\\tdata\\version") || DeleteFile(L"tupdates\\ready\\tdata\\version")) {
writeLog(L"Version file deleted!");
} else {
writeLog(L"Error: could not delete version file");
@@ -386,7 +407,6 @@ int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR cmdParama
HRESULT hres = CoInitialize(0);
if (SUCCEEDED(hres)) {
wstring lnk = L"tupdates\\ready\\temp.lnk";
IShellLink* psl;
HRESULT hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&psl);
if (SUCCEEDED(hres)) {
@@ -401,7 +421,12 @@ int APIENTRY WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR cmdParama
hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf);
if (SUCCEEDED(hres)) {
wstring lnk = L"tupdates\\temp\\temp.lnk";
hres = ppf->Save(lnk.c_str(), TRUE);
if (!SUCCEEDED(hres)) {
lnk = L"tupdates\\ready\\temp.lnk"; // old
hres = ppf->Save(lnk.c_str(), TRUE);
}
ppf->Release();
if (SUCCEEDED(hres)) {

View File

@@ -49,12 +49,13 @@ bool do_mkdir(const char *path) { // from http://stackoverflow.com/questions/675
}
bool _debug = false;
string exeName, exeDir, workDir;
FILE *_logFile = 0;
void openLog() {
if (!_debug || _logFile) return;
if (!do_mkdir("DebugLogs")) {
if (!do_mkdir((workDir + "DebugLogs").c_str())) {
return;
}
@@ -65,7 +66,7 @@ void openLog() {
static const int maxFileLen = 65536;
char logName[maxFileLen];
sprintf(logName, "DebugLogs/%04d%02d%02d_%02d%02d%02d_upd.txt",
sprintf(logName, "%sDebugLogs/%04d%02d%02d_%02d%02d%02d_upd.txt", workDir.c_str(),
t->tm_year + 1900, t->tm_mon + 1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
_logFile = fopen(logName, "w");
}
@@ -136,7 +137,7 @@ bool remove_directory(const string &path) { // from http://stackoverflow.com/que
if (!d) {
writeLog("Could not open dir '%s'", path.c_str());
return false;
return (errno == ENOENT);
}
while (struct dirent *p = readdir(d)) {
@@ -192,8 +193,6 @@ bool mkpath(const char *path) {
return do_mkdir(path);
}
string exeName, exeDir, workDir;
bool equal(string a, string b) {
std::transform(a.begin(), a.end(), a.begin(), ::tolower);
std::transform(b.begin(), b.end(), b.begin(), ::tolower);
@@ -201,18 +200,33 @@ bool equal(string a, string b) {
}
void delFolder() {
string delPath = workDir + "tupdates/ready", delFolder = workDir + "tupdates";
writeLog("Fully clearing path '%s'..", delPath.c_str());
if (!remove_directory(delPath)) {
writeLog("Error: failed to clear path! :(");
string delPathOld = workDir + "tupdates/ready", delPath = workDir + "tupdates/temp", delFolder = workDir + "tupdates";
writeLog("Fully clearing old path '%s'..", delPathOld.c_str());
if (!remove_directory(delPathOld)) {
writeLog("Failed to clear old path! :( New path was used?..");
}
rmdir(delFolder.c_str());
writeLog("Fully clearing path '%s'..", delPath.c_str());
if (!remove_directory(delPath)) {
writeLog("Error: failed to clear path! :(");
}
rmdir(delFolder.c_str());
}
bool update() {
writeLog("Update started..");
string updDir = workDir + "tupdates/ready";
string updDir = workDir + "tupdates/temp", readyFilePath = workDir + "tupdates/temp/ready", tdataDir = workDir + "tupdates/temp/tdata";
{
FILE *readyFile = fopen(readyFilePath.c_str(), "rb");
if (readyFile) {
fclose(readyFile);
writeLog("Ready file found! Using new path '%s'..", updDir.c_str());
} else {
updDir = workDir + "tupdates/ready"; // old
tdataDir = workDir + "tupdates/ready/tdata";
writeLog("Ready file not found! Using old path '%s'..", updDir.c_str());
}
}
deque<string> dirs;
dirs.push_back(updDir);
@@ -242,7 +256,9 @@ bool update() {
string fname = dir + '/' + p->d_name;
struct stat statbuf;
if (!stat(fname.c_str(), &statbuf)) {
if (fname.substr(0, tdataDir.size()) == tdataDir && (fname.size() <= tdataDir.size() || fname.at(tdataDir.size()) == '/')) {
writeLog("Skipping 'tdata' path '%s'", fname.c_str());
} else if (!stat(fname.c_str(), &statbuf)) {
if (S_ISDIR(statbuf.st_mode)) {
dirs.push_back(fname);
writeLog("Added dir '%s' in update tree..", fname.c_str());
@@ -253,9 +269,13 @@ bool update() {
delFolder();
return false;
}
from.push_back(fname);
to.push_back(tofname);
writeLog("Added file '%s' to be copied to '%s'", fname.c_str(), tofname.c_str());
if (fname == readyFilePath) {
writeLog("Skipped ready file '%s'", fname.c_str());
} else {
from.push_back(fname);
to.push_back(tofname);
writeLog("Added file '%s' to be copied to '%s'", fname.c_str(), tofname.c_str());
}
}
} else {
writeLog("Could not get stat() for file %s", fname.c_str());
@@ -299,10 +319,6 @@ bool update() {
}
int main(int argc, char *argv[]) {
openLog();
writeLog("Updater started..");
bool needupdate = true, autostart = false, debug = false, tosettings = false, startintray = false, testmode = false;
char *key = 0;
@@ -313,7 +329,6 @@ int main(int argc, char *argv[]) {
autostart = true;
} else if (equal(argv[i], "-debug")) {
debug = _debug = true;
openLog();
} else if (equal(argv[i], "-startintray")) {
startintray = true;
} else if (equal(argv[i], "-testmode")) {
@@ -326,6 +341,12 @@ int main(int argc, char *argv[]) {
workDir = argv[i];
}
}
openLog();
writeLog("Updater started..");
for (int i = 0; i < argc; ++i) {
writeLog("Argument: '%s'", argv[i]);
}
if (needupdate) writeLog("Need to update!");
if (autostart) writeLog("From autostart!");
@@ -336,7 +357,7 @@ int main(int argc, char *argv[]) {
exeDir = exeName.substr(0, exeName.size() - 7);
writeLog("Exe dir is: %s", exeDir.c_str());
if (needupdate) {
if (workDir.empty()) { // old app launched
if (workDir.empty()) { // old app launched, update prepared in tupdates/ready (not in tupdates/temp)
writeLog("No workdir, trying to figure it out");
struct passwd *pw = getpwuid(getuid());
if (pw && pw->pw_dir && strlen(pw->pw_dir)) {

View File

@@ -35,7 +35,7 @@ void openLog() {
return;
}
NSDateFormatter *fmt = [[NSDateFormatter alloc] initWithDateFormat:@"DebugLogs/%Y%m%d %H%M%S_upd.txt" allowNaturalLanguage:NO];
NSDateFormatter *fmt = [[NSDateFormatter alloc] initWithDateFormat:@"DebugLogs/%Y%m%d_%H%M%S_upd.txt" allowNaturalLanguage:NO];
NSString *logPath = [workDir stringByAppendingString:[fmt stringFromDate:[NSDate date]]];
[[NSFileManager defaultManager] createFileAtPath:logPath contents:nil attributes:nil];
_logFile = [NSFileHandle fileHandleForWritingAtPath:logPath];
@@ -55,7 +55,14 @@ void writeLog(NSString *msg) {
}
void delFolder() {
[[NSFileManager defaultManager] removeItemAtPath:[workDir stringByAppendingString:@"tupdates/ready"] error:nil];
writeLog([@"Fully clearing old path: " stringByAppendingString:[workDir stringByAppendingString:@"tupdates/ready"]]);
if (![[NSFileManager defaultManager] removeItemAtPath:[workDir stringByAppendingString:@"tupdates/ready"] error:nil]) {
writeLog(@"Failed to clear old path! :( New path was used?..");
}
writeLog([@"Fully clearing new path: " stringByAppendingString:[workDir stringByAppendingString:@"tupdates/temp"]]);
if (![[NSFileManager defaultManager] removeItemAtPath:[workDir stringByAppendingString:@"tupdates/temp"] error:nil]) {
writeLog(@"Error: failed to clear new path! :(");
}
rmdir([[workDir stringByAppendingString:@"tupdates"] fileSystemRepresentation]);
}
@@ -132,16 +139,26 @@ int main(int argc, const char * argv[]) {
}
if (update) {
writeLog(@"Starting update files iteration!");
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *srcDir = [workDir stringByAppendingString:@"tupdates/ready/"];
NSString *readyFilePath = [workDir stringByAppendingString:@"tupdates/temp/ready"];
NSString *srcDir = [workDir stringByAppendingString:@"tupdates/temp/"], *srcEnum = [workDir stringByAppendingString:@"tupdates/temp"];
if ([fileManager fileExistsAtPath:readyFilePath]) {
writeLog([@"Ready file found! Using new path: " stringByAppendingString: srcEnum]);
} else {
srcDir = [workDir stringByAppendingString:@"tupdates/ready/"]; // old
srcEnum = [workDir stringByAppendingString:@"tupdates/ready"];
writeLog([@"Ready file not found! Using old path: " stringByAppendingString: srcEnum]);
}
writeLog([@"Starting update files iteration, path: " stringByAppendingString: srcEnum]);
NSArray *keys = [NSArray arrayWithObject:NSURLIsDirectoryKey];
NSDirectoryEnumerator *enumerator = [fileManager
enumeratorAtURL:[NSURL fileURLWithPath:[workDir stringByAppendingString:@"tupdates/ready"]]
enumeratorAtURL:[NSURL fileURLWithPath:srcEnum]
includingPropertiesForKeys:keys
options:0
errorHandler:^(NSURL *url, NSError *error) {
writeLog([[[@"Error in enumerating " stringByAppendingString:[url absoluteString]] stringByAppendingString: @" error is: "] stringByAppendingString: [error description]]);
return NO;
}];
for (NSURL *url in enumerator) {
@@ -162,18 +179,20 @@ int main(int argc, const char * argv[]) {
NSString *dstPath = [appDirFull stringByAppendingString:[pathPart substringFromIndex:r.length]];
NSError *error;
NSNumber *isDirectory = nil;
writeLog([[NSArray arrayWithObjects: @"Copying file ", srcPath, @" to ", dstPath, nil] componentsJoinedByString:@""]);
if (![url getResourceValue:&isDirectory forKey:NSURLIsDirectoryKey error:&error]) {
writeLog([@"Failed to get IsDirectory for file " stringByAppendingString:[url path]]);
delFolder();
break;
}
if ([isDirectory boolValue]) {
writeLog([[NSArray arrayWithObjects: @"Copying dir ", srcPath, @" to ", dstPath, nil] componentsJoinedByString:@""]);
if (![fileManager createDirectoryAtPath:dstPath withIntermediateDirectories:YES attributes:nil error:nil]) {
writeLog([@"Failed to force path for directory " stringByAppendingString:dstPath]);
delFolder();
break;
}
} else if ([srcPath isEqualToString:readyFilePath]) {
writeLog([[NSArray arrayWithObjects: @"Skipping ready file ", srcPath, nil] componentsJoinedByString:@""]);
} else if ([fileManager fileExistsAtPath:dstPath]) {
if (![[NSData dataWithContentsOfFile:srcPath] writeToFile:dstPath atomically:YES]) {
writeLog([@"Failed to edit file " stringByAppendingString:dstPath]);

View File

@@ -34,7 +34,6 @@ ApiWrap::ApiWrap(QObject *parent) : QObject(parent) {
}
void ApiWrap::init() {
App::initMedia();
}
void ApiWrap::itemRemoved(HistoryItem *item) {
@@ -84,72 +83,6 @@ void ApiWrap::requestReplyTo(HistoryReply *reply, MsgId to) {
if (!req.req) _replyToTimer.start(1);
}
void ApiWrap::requestFullPeer(PeerData *peer) {
if (_fullRequests.contains(peer)) return;
mtpRequestId req;
if (peer->chat) {
req = MTP::send(MTPmessages_GetFullChat(MTP_int(App::chatFromPeer(peer->id))), rpcDone(&ApiWrap::gotChatFull, peer), rpcFail(&ApiWrap::gotPeerFailed, peer));
} else {
req = MTP::send(MTPusers_GetFullUser(peer->asUser()->inputUser), rpcDone(&ApiWrap::gotUserFull, peer), rpcFail(&ApiWrap::gotPeerFailed, peer));
}
_fullRequests.insert(peer, req);
}
void ApiWrap::requestWebPageDelayed(WebPageData *page) {
if (page->pendingTill <= 0) return;
_webPagesPending.insert(page, 0);
int32 left = (page->pendingTill - unixtime()) * 1000;
if (!_webPagesTimer.isActive() || left <= _webPagesTimer.remainingTime()) {
_webPagesTimer.start((left < 0 ? 0 : left) + 1);
}
}
void ApiWrap::clearWebPageRequest(WebPageData *page) {
_webPagesPending.remove(page);
if (_webPagesPending.isEmpty() && _webPagesTimer.isActive()) _webPagesTimer.stop();
}
void ApiWrap::clearWebPageRequests() {
_webPagesPending.clear();
_webPagesTimer.stop();
}
void ApiWrap::gotChatFull(PeerData *peer, const MTPmessages_ChatFull &result) {
const MTPDmessages_chatFull &d(result.c_messages_chatFull());
App::feedUsers(d.vusers);
App::feedChats(d.vchats);
App::feedParticipants(d.vfull_chat.c_chatFull().vparticipants);
PhotoData *photo = App::feedPhoto(d.vfull_chat.c_chatFull().vchat_photo);
if (photo) {
ChatData *chat = peer->asChat();
if (chat) {
chat->photoId = photo->id;
photo->chat = chat;
}
}
App::main()->gotNotifySetting(MTP_inputNotifyPeer(peer->input), d.vfull_chat.c_chatFull().vnotify_settings);
_fullRequests.remove(peer);
emit fullPeerLoaded(peer);
}
void ApiWrap::gotUserFull(PeerData *peer, const MTPUserFull &result) {
const MTPDuserFull &d(result.c_userFull());
App::feedUsers(MTP_vector<MTPUser>(1, d.vuser));
App::feedUserLink(MTP_int(App::userFromPeer(peer->id)), d.vlink.c_contacts_link().vmy_link, d.vlink.c_contacts_link().vforeign_link);
App::main()->gotNotifySetting(MTP_inputNotifyPeer(peer->input), d.vnotify_settings);
_fullRequests.remove(peer);
emit fullPeerLoaded(peer);
}
bool ApiWrap::gotPeerFailed(PeerData *peer, const RPCError &error) {
if (error.type().startsWith(qsl("FLOOD_WAIT_"))) return false;
_fullRequests.remove(peer);
return true;
}
void ApiWrap::resolveReplyTo() {
if (_replyToRequests.isEmpty()) return;
@@ -168,34 +101,6 @@ void ApiWrap::resolveReplyTo() {
}
}
void ApiWrap::resolveWebPages() {
QVector<MTPint> ids;
const WebPageItems &items(App::webPageItems());
ids.reserve(_webPagesPending.size());
int32 t = unixtime(), m = INT_MAX;
for (WebPagesPending::const_iterator i = _webPagesPending.cbegin(), e = _webPagesPending.cend(); i != e; ++i) {
if (i.value()) continue;
if (i.key()->pendingTill <= t) {
WebPageItems::const_iterator j = items.constFind(i.key());
if (j != items.cend() && !j.value().isEmpty()) {
ids.push_back(MTP_int(j.value().begin().key()->id));
}
} else {
m = qMin(m, i.key()->pendingTill - t);
}
}
if (!ids.isEmpty()) {
mtpRequestId req = MTP::send(MTPmessages_GetMessages(MTP_vector<MTPint>(ids)), rpcDone(&ApiWrap::gotWebPages));
for (WebPagesPending::iterator i = _webPagesPending.begin(); i != _webPagesPending.cend(); ++i) {
if (i.value()) continue;
if (i.key()->pendingTill <= t) {
i.value() = req;
}
}
}
if (m < INT_MAX) _webPagesTimer.start(m * 1000);
}
void ApiWrap::gotReplyTo(const MTPmessages_Messages &msgs, mtpRequestId req) {
switch (msgs.type()) {
case mtpc_messages_messages:
@@ -226,6 +131,324 @@ void ApiWrap::gotReplyTo(const MTPmessages_Messages &msgs, mtpRequestId req) {
}
}
void ApiWrap::requestFullPeer(PeerData *peer) {
if (!peer || _fullPeerRequests.contains(peer)) return;
mtpRequestId req;
if (peer->chat) {
req = MTP::send(MTPmessages_GetFullChat(MTP_int(App::chatFromPeer(peer->id))), rpcDone(&ApiWrap::gotChatFull, peer), rpcFail(&ApiWrap::gotPeerFullFailed, peer));
} else {
req = MTP::send(MTPusers_GetFullUser(peer->asUser()->inputUser), rpcDone(&ApiWrap::gotUserFull, peer), rpcFail(&ApiWrap::gotPeerFullFailed, peer));
}
_fullPeerRequests.insert(peer, req);
}
void ApiWrap::gotChatFull(PeerData *peer, const MTPmessages_ChatFull &result) {
const MTPDmessages_chatFull &d(result.c_messages_chatFull());
const MTPDchatFull &f(d.vfull_chat.c_chatFull());
const QVector<MTPChat> &vc(d.vchats.c_vector().v);
bool badVersion = (!vc.isEmpty() && vc.at(0).type() == mtpc_chat && vc.at(0).c_chat().vversion.v < peer->asChat()->version);
App::feedUsers(d.vusers, false);
App::feedChats(d.vchats, false);
App::feedParticipants(f.vparticipants, false, false);
const QVector<MTPBotInfo> &v(f.vbot_info.c_vector().v);
for (QVector<MTPBotInfo>::const_iterator i = v.cbegin(), e = v.cend(); i < e; ++i) {
switch (i->type()) {
case mtpc_botInfo: {
const MTPDbotInfo &b(i->c_botInfo());
UserData *user = App::userLoaded(b.vuser_id.v);
if (user) {
user->setBotInfo(*i);
App::clearPeerUpdated(user);
emit fullPeerUpdated(user);
}
} break;
}
}
PhotoData *photo = App::feedPhoto(f.vchat_photo);
ChatData *chat = peer->asChat();
if (chat) {
if (photo) {
chat->photoId = photo->id;
photo->chat = chat;
} else {
chat->photoId = 0;
}
chat->invitationUrl = (f.vexported_invite.type() == mtpc_chatInviteExported) ? qs(f.vexported_invite.c_chatInviteExported().vlink) : QString();
}
App::main()->gotNotifySetting(MTP_inputNotifyPeer(peer->input), f.vnotify_settings);
_fullPeerRequests.remove(peer);
if (badVersion) {
peer->asChat()->version = vc.at(0).c_chat().vversion.v;
requestPeer(peer);
}
App::clearPeerUpdated(peer);
emit fullPeerUpdated(peer);
App::emitPeerUpdated();
}
void ApiWrap::gotUserFull(PeerData *peer, const MTPUserFull &result) {
const MTPDuserFull &d(result.c_userFull());
App::feedUsers(MTP_vector<MTPUser>(1, d.vuser), false);
App::feedPhoto(d.vprofile_photo);
App::feedUserLink(MTP_int(App::userFromPeer(peer->id)), d.vlink.c_contacts_link().vmy_link, d.vlink.c_contacts_link().vforeign_link, false);
App::main()->gotNotifySetting(MTP_inputNotifyPeer(peer->input), d.vnotify_settings);
peer->asUser()->setBotInfo(d.vbot_info);
peer->asUser()->blocked = d.vblocked.v ? UserIsBlocked : UserIsNotBlocked;
_fullPeerRequests.remove(peer);
App::clearPeerUpdated(peer);
emit fullPeerUpdated(peer);
App::emitPeerUpdated();
}
bool ApiWrap::gotPeerFullFailed(PeerData *peer, const RPCError &error) {
if (error.type().startsWith(qsl("FLOOD_WAIT_"))) return false;
_fullPeerRequests.remove(peer);
return true;
}
void ApiWrap::requestPeer(PeerData *peer) {
if (!peer || _fullPeerRequests.contains(peer) || _peerRequests.contains(peer)) return;
mtpRequestId req;
if (peer->chat) {
req = MTP::send(MTPmessages_GetChats(MTP_vector<MTPint>(1, MTP_int(App::chatFromPeer(peer->id)))), rpcDone(&ApiWrap::gotChat, peer), rpcFail(&ApiWrap::gotPeerFailed, peer));
} else {
req = MTP::send(MTPusers_GetUsers(MTP_vector<MTPInputUser>(1, peer->asUser()->inputUser)), rpcDone(&ApiWrap::gotUser, peer), rpcFail(&ApiWrap::gotPeerFailed, peer));
}
_peerRequests.insert(peer, req);
}
void ApiWrap::requestPeers(const QList<PeerData*> &peers) {
QVector<MTPint> chats;
QVector<MTPInputUser> users;
chats.reserve(peers.size());
users.reserve(peers.size());
for (QList<PeerData*>::const_iterator i = peers.cbegin(), e = peers.cend(); i != e; ++i) {
if (!*i || _fullPeerRequests.contains(*i) || _peerRequests.contains(*i)) continue;
if ((*i)->chat) {
chats.push_back(MTP_int(App::chatFromPeer((*i)->id)));
} else {
users.push_back((*i)->asUser()->inputUser);
}
}
if (!chats.isEmpty()) MTP::send(MTPmessages_GetChats(MTP_vector<MTPint>(chats)), rpcDone(&ApiWrap::gotChats));
if (!users.isEmpty()) MTP::send(MTPusers_GetUsers(MTP_vector<MTPInputUser>(users)), rpcDone(&ApiWrap::gotUsers));
}
void ApiWrap::gotChat(PeerData *peer, const MTPmessages_Chats &result) {
_peerRequests.remove(peer);
if (result.type() == mtpc_messages_chats) {
const QVector<MTPChat> &v(result.c_messages_chats().vchats.c_vector().v);
bool badVersion = (!v.isEmpty() && v.at(0).type() == mtpc_chat && v.at(0).c_chat().vversion.v < peer->asChat()->version);
ChatData *chat = App::feedChats(result.c_messages_chats().vchats);
if (chat == peer) {
if (badVersion) {
peer->asChat()->version = v.at(0).c_chat().vversion.v;
requestPeer(peer);
}
}
}
}
void ApiWrap::gotUser(PeerData *peer, const MTPVector<MTPUser> &result) {
_peerRequests.remove(peer);
UserData *user = App::feedUsers(result);
if (user == peer) {
}
}
void ApiWrap::gotChats(const MTPmessages_Chats &result) {
App::feedChats(result.c_messages_chats().vchats);
}
void ApiWrap::gotUsers(const MTPVector<MTPUser> &result) {
App::feedUsers(result);
}
bool ApiWrap::gotPeerFailed(PeerData *peer, const RPCError &error) {
if (error.type().startsWith(qsl("FLOOD_WAIT_"))) return false;
_peerRequests.remove(peer);
return true;
}
void ApiWrap::scheduleStickerSetRequest(uint64 setId, uint64 access) {
if (!_stickerSetRequests.contains(setId)) {
_stickerSetRequests.insert(setId, qMakePair(access, 0));
}
}
void ApiWrap::requestStickerSets() {
for (QMap<uint64, QPair<uint64, mtpRequestId> >::iterator i = _stickerSetRequests.begin(), j = i, e = _stickerSetRequests.end(); i != e; i = j) {
if (i.value().second) continue;
++j;
int32 wait = (j == e) ? 0 : 10;
i.value().second = MTP::send(MTPmessages_GetStickerSet(MTP_inputStickerSetID(MTP_long(i.key()), MTP_long(i.value().first))), rpcDone(&ApiWrap::gotStickerSet, i.key()), rpcFail(&ApiWrap::gotStickerSetFail, i.key()), 0, wait);
}
}
void ApiWrap::gotStickerSet(uint64 setId, const MTPmessages_StickerSet &result) {
_stickerSetRequests.remove(setId);
if (result.type() != mtpc_messages_stickerSet) return;
const MTPDmessages_stickerSet &d(result.c_messages_stickerSet());
if (d.vset.type() != mtpc_stickerSet) return;
const MTPDstickerSet &s(d.vset.c_stickerSet());
StickerSets &sets(cRefStickerSets());
StickerSets::iterator it = sets.find(setId);
if (it == sets.cend()) return;
it->access = s.vaccess_hash.v;
it->hash = s.vhash.v;
it->shortName = qs(s.vshort_name);
QString title = qs(s.vtitle);
if ((it->flags & MTPDstickerSet_flag_official) && !title.compare(qstr("Great Minds"), Qt::CaseInsensitive)) {
title = lang(lng_stickers_default_set);
}
it->title = title;
it->flags = s.vflags.v;
const QVector<MTPDocument> &d_docs(d.vdocuments.c_vector().v);
StickerSets::iterator custom = sets.find(CustomStickerSetId);
QSet<DocumentData*> found;
int32 wasCount = -1;
for (int32 i = 0, l = d_docs.size(); i != l; ++i) {
DocumentData *doc = App::feedDocument(d_docs.at(i));
if (!doc || !doc->sticker()) continue;
if (wasCount < 0) wasCount = it->stickers.size();
if (it->stickers.indexOf(doc) < 0) {
it->stickers.push_back(doc);
} else {
found.insert(doc);
}
if (custom != sets.cend()) {
int32 index = custom->stickers.indexOf(doc);
if (index >= 0) {
custom->stickers.removeAt(index);
}
}
}
if (custom != sets.cend() && custom->stickers.isEmpty()) {
sets.erase(custom);
custom = sets.end();
}
bool writeRecent = false;
RecentStickerPack &recent(cGetRecentStickers());
if (wasCount < 0) { // no stickers received
for (RecentStickerPack::iterator i = recent.begin(); i != recent.cend();) {
if (it->stickers.indexOf(i->first) >= 0) {
i = recent.erase(i);
writeRecent = true;
} else {
++i;
}
}
cRefStickerSetsOrder().removeOne(setId);
sets.erase(it);
} else {
for (int32 j = 0, l = wasCount; j < l;) {
if (found.contains(it->stickers.at(j))) {
++j;
} else {
for (RecentStickerPack::iterator i = recent.begin(); i != recent.cend();) {
if (it->stickers.at(j) == i->first) {
i = recent.erase(i);
writeRecent = true;
} else {
++i;
}
}
it->stickers.removeAt(j);
--l;
}
}
if (it->stickers.isEmpty()) {
cRefStickerSetsOrder().removeOne(setId);
sets.erase(it);
}
}
if (writeRecent) {
Local::writeUserSettings();
}
Local::writeStickers();
if (App::main()) emit App::main()->stickersUpdated();
}
bool ApiWrap::gotStickerSetFail(uint64 setId, const RPCError &error) {
if (error.type().startsWith(qsl("FLOOD_WAIT_"))) return false;
_stickerSetRequests.remove(setId);
return true;
}
void ApiWrap::requestWebPageDelayed(WebPageData *page) {
if (page->pendingTill <= 0) return;
_webPagesPending.insert(page, 0);
int32 left = (page->pendingTill - unixtime()) * 1000;
if (!_webPagesTimer.isActive() || left <= _webPagesTimer.remainingTime()) {
_webPagesTimer.start((left < 0 ? 0 : left) + 1);
}
}
void ApiWrap::clearWebPageRequest(WebPageData *page) {
_webPagesPending.remove(page);
if (_webPagesPending.isEmpty() && _webPagesTimer.isActive()) _webPagesTimer.stop();
}
void ApiWrap::clearWebPageRequests() {
_webPagesPending.clear();
_webPagesTimer.stop();
}
void ApiWrap::resolveWebPages() {
QVector<MTPint> ids;
const WebPageItems &items(App::webPageItems());
ids.reserve(_webPagesPending.size());
int32 t = unixtime(), m = INT_MAX;
for (WebPagesPending::const_iterator i = _webPagesPending.cbegin(), e = _webPagesPending.cend(); i != e; ++i) {
if (i.value()) continue;
if (i.key()->pendingTill <= t) {
WebPageItems::const_iterator j = items.constFind(i.key());
if (j != items.cend() && !j.value().isEmpty()) {
ids.push_back(MTP_int(j.value().begin().key()->id));
}
} else {
m = qMin(m, i.key()->pendingTill - t);
}
}
if (!ids.isEmpty()) {
mtpRequestId req = MTP::send(MTPmessages_GetMessages(MTP_vector<MTPint>(ids)), rpcDone(&ApiWrap::gotWebPages));
for (WebPagesPending::iterator i = _webPagesPending.begin(); i != _webPagesPending.cend(); ++i) {
if (i.value()) continue;
if (i.key()->pendingTill <= t) {
i.value() = req;
}
}
}
if (m < INT_MAX) _webPagesTimer.start(m * 1000);
}
void ApiWrap::gotWebPages(const MTPmessages_Messages &msgs, mtpRequestId req) {
const QVector<MTPMessage> *v = 0;
switch (msgs.type()) {

View File

@@ -31,16 +31,21 @@ public:
void requestReplyTo(HistoryReply *reply, MsgId to);
void requestFullPeer(PeerData *peer);
void requestPeer(PeerData *peer);
void requestPeers(const QList<PeerData*> &peers);
void requestWebPageDelayed(WebPageData *page);
void clearWebPageRequest(WebPageData *page);
void clearWebPageRequests();
void scheduleStickerSetRequest(uint64 setId, uint64 access);
void requestStickerSets();
~ApiWrap();
signals:
void fullPeerLoaded(PeerData *peer);
void fullPeerUpdated(PeerData *peer);
public slots:
@@ -62,13 +67,24 @@ private:
void gotChatFull(PeerData *peer, const MTPmessages_ChatFull &result);
void gotUserFull(PeerData *peer, const MTPUserFull &result);
bool gotPeerFullFailed(PeerData *peer, const RPCError &err);
typedef QMap<PeerData*, mtpRequestId> PeerRequests;
PeerRequests _fullPeerRequests;
void gotChat(PeerData *peer, const MTPmessages_Chats &result);
void gotUser(PeerData *peer, const MTPVector<MTPUser> &result);
void gotChats(const MTPmessages_Chats &result);
void gotUsers(const MTPVector<MTPUser> &result);
bool gotPeerFailed(PeerData *peer, const RPCError &err);
typedef QMap<PeerData*, mtpRequestId> FullRequests;
FullRequests _fullRequests;
PeerRequests _peerRequests;
void gotWebPages(const MTPmessages_Messages &result, mtpRequestId req);
typedef QMap<WebPageData*, mtpRequestId> WebPagesPending;
WebPagesPending _webPagesPending;
SingleTimer _webPagesTimer;
QMap<uint64, QPair<uint64, mtpRequestId> > _stickerSetRequests;
void gotStickerSet(uint64 setId, const MTPmessages_StickerSet &result);
bool gotStickerSetFail(uint64 setId, const RPCError &error);
};

File diff suppressed because it is too large Load Diff

View File

@@ -35,6 +35,47 @@ typedef QHash<VideoData*, HistoryItemsMap> VideoItems;
typedef QHash<AudioData*, HistoryItemsMap> AudioItems;
typedef QHash<DocumentData*, HistoryItemsMap> DocumentItems;
typedef QHash<WebPageData*, HistoryItemsMap> WebPageItems;
struct ReplyMarkup {
ReplyMarkup(int32 flags = 0) : flags(flags) {
}
typedef QList<QList<QString> > Commands;
Commands commands;
int32 flags;
};
enum RoundCorners {
MaskCorners = 0x00, // for images
BlackCorners,
ServiceCorners,
ServiceSelectedCorners,
SelectedOverlayCorners,
DateCorners,
DateSelectedCorners,
ForwardCorners,
MediaviewSaveCorners,
EmojiHoverCorners,
StickerHoverCorners,
BotKeyboardCorners,
BotKeyboardOverCorners,
BotKeyboardDownCorners,
PhotoSelectOverlayCorners,
DocRedCorners,
DocYellowCorners,
DocGreenCorners,
DocBlueCorners,
InShadowCorners, // for photos without bg
InSelectedShadowCorners,
MessageInCorners, // with shadow
MessageInSelectedCorners,
MessageOutCorners,
MessageOutSelectedCorners,
ButtonHoverCorners,
RoundCornersCount
};
namespace App {
Application *app();
@@ -67,31 +108,40 @@ namespace App {
int32 userFromPeer(const PeerId &peer_id);
int32 chatFromPeer(const PeerId &peer_id);
int32 onlineForSort(int32 online, int32 now);
int32 onlineWillChangeIn(int32 onlineOnServer, int32 nowOnServer);
int32 onlineForSort(UserData *user, int32 now);
int32 onlineWillChangeIn(UserData *user, int32 nowOnServer);
QString onlineText(UserData *user, int32 nowOnServer, bool precise = false);
bool onlineColorUse(int32 online, int32 now);
bool onlineColorUse(UserData *user, int32 now);
UserData *feedUsers(const MTPVector<MTPUser> &users); // returnes last user
void feedChats(const MTPVector<MTPChat> &chats);
void feedParticipants(const MTPChatParticipants &p);
void feedParticipantAdd(const MTPDupdateChatParticipantAdd &d);
void feedParticipantDelete(const MTPDupdateChatParticipantDelete &d);
UserData *feedUsers(const MTPVector<MTPUser> &users, bool emitPeerUpdated = true); // returns last user
ChatData *feedChats(const MTPVector<MTPChat> &chats, bool emitPeerUpdated = true); // returns last chat
void feedParticipants(const MTPChatParticipants &p, bool requestBotInfos, bool emitPeerUpdated = true);
void feedParticipantAdd(const MTPDupdateChatParticipantAdd &d, bool emitPeerUpdated = true);
void feedParticipantDelete(const MTPDupdateChatParticipantDelete &d, bool emitPeerUpdated = true);
void checkEntitiesUpdate(const MTPDmessage &m);
void feedMsgs(const MTPVector<MTPMessage> &msgs, int msgsState = 0); // 2 - new read message, 1 - new unread message, 0 - not new message, -1 - searched message
void feedWereRead(const QVector<MTPint> &msgsIds);
void feedInboxRead(const PeerId &peer, int32 upTo);
void feedOutboxRead(const PeerId &peer, int32 upTo);
void feedWereDeleted(const QVector<MTPint> &msgsIds);
void feedUserLinks(const MTPVector<MTPcontacts_Link> &links);
void feedUserLink(MTPint userId, const MTPContactLink &myLink, const MTPContactLink &foreignLink);
void feedUserLinks(const MTPVector<MTPcontacts_Link> &links, bool emitPeerUpdated = true);
void feedUserLink(MTPint userId, const MTPContactLink &myLink, const MTPContactLink &foreignLink, bool emitPeerUpdated = true);
void markPeerUpdated(PeerData *data);
void clearPeerUpdated(PeerData *data);
void emitPeerUpdated();
int32 maxMsgId();
ImagePtr image(const MTPPhotoSize &size);
StorageImageLocation imageLocation(int32 w, int32 h, const MTPFileLocation &loc);
StorageImageLocation imageLocation(const MTPPhotoSize &size);
PhotoData *feedPhoto(const MTPPhoto &photo, const PreparedPhotoThumbs &thumbs);
PhotoData *feedPhoto(const MTPPhoto &photo, PhotoData *convert = 0);
PhotoData *feedPhoto(const MTPDphoto &photo, PhotoData *convert = 0);
VideoData *feedVideo(const MTPDvideo &video, VideoData *convert = 0);
AudioData *feedAudio(const MTPaudio &audio, AudioData *convert = 0);
AudioData *feedAudio(const MTPDaudio &audio, AudioData *convert = 0);
DocumentData *feedDocument(const MTPdocument &document, const QPixmap &thumb);
DocumentData *feedDocument(const MTPdocument &document, DocumentData *convert = 0);
@@ -114,12 +164,18 @@ namespace App {
ChatData *chat(const PeerId &peer);
ChatData *chat(int32 chat);
QString peerName(const PeerData *peer, bool forDialogs = false);
PhotoData *photo(const PhotoId &photo, PhotoData *convert = 0, const uint64 &access = 0, int32 user = 0, int32 date = 0, const ImagePtr &thumb = ImagePtr(), const ImagePtr &medium = ImagePtr(), const ImagePtr &full = ImagePtr());
VideoData *video(const VideoId &video, VideoData *convert = 0, const uint64 &access = 0, int32 user = 0, int32 date = 0, int32 duration = 0, int32 w = 0, int32 h = 0, const ImagePtr &thumb = ImagePtr(), int32 dc = 0, int32 size = 0);
AudioData *audio(const AudioId &audio, AudioData *convert = 0, const uint64 &access = 0, int32 user = 0, int32 date = 0, const QString &mime = QString(), int32 duration = 0, int32 dc = 0, int32 size = 0);
DocumentData *document(const DocumentId &document, DocumentData *convert = 0, const uint64 &access = 0, int32 date = 0, const QVector<MTPDocumentAttribute> &attributes = QVector<MTPDocumentAttribute>(), const QString &mime = QString(), const ImagePtr &thumb = ImagePtr(), int32 dc = 0, int32 size = 0);
WebPageData *webPage(const WebPageId &webPage, WebPageData *convert = 0, const QString &type = QString(), const QString &url = QString(), const QString &displayUrl = QString(), const QString &siteName = QString(), const QString &title = QString(), const QString &description = QString(), PhotoData *photo = 0, int32 duration = 0, const QString &author = QString(), int32 pendingTill = -2);
ImageLinkData *imageLink(const QString &imageLink, ImageLinkType type = InvalidImageLink, const QString &url = QString());
PhotoData *photo(const PhotoId &photo);
PhotoData *photoSet(const PhotoId &photo, PhotoData *convert, const uint64 &access, int32 date, const ImagePtr &thumb, const ImagePtr &medium, const ImagePtr &full);
VideoData *video(const VideoId &video);
VideoData *videoSet(const VideoId &video, VideoData *convert, const uint64 &access, int32 date, int32 duration, int32 w, int32 h, const ImagePtr &thumb, int32 dc, int32 size);
AudioData *audio(const AudioId &audio);
AudioData *audioSet(const AudioId &audio, AudioData *convert, const uint64 &access, int32 date, const QString &mime, int32 duration, int32 dc, int32 size);
DocumentData *document(const DocumentId &document);
DocumentData *documentSet(const DocumentId &document, DocumentData *convert, const uint64 &access, int32 date, const QVector<MTPDocumentAttribute> &attributes, const QString &mime, const ImagePtr &thumb, int32 dc, int32 size, const StorageImageLocation &thumbLocation);
WebPageData *webPage(const WebPageId &webPage);
WebPageData *webPageSet(const WebPageId &webPage, WebPageData *convert, const QString &, const QString &url, const QString &displayUrl, const QString &siteName, const QString &title, const QString &description, PhotoData *photo, DocumentData *doc, int32 duration, const QString &author, int32 pendingTill);
ImageLinkData *imageLink(const QString &imageLink);
ImageLinkData *imageLinkSet(const QString &imageLink, ImageLinkType type, const QString &url);
void forgetMedia();
MTPPhoto photoFromUserPhoto(MTPint userId, MTPint date, const MTPUserProfilePhoto &photo);
@@ -135,11 +191,13 @@ namespace App {
void historyClearItems();
void historyRegReply(HistoryReply *reply, HistoryItem *to);
void historyUnregReply(HistoryReply *reply, HistoryItem *to);
// void deleteHistory(const PeerId &peer);
void historyRegRandom(uint64 randomId, MsgId itemId);
void historyUnregRandom(uint64 randomId);
MsgId histItemByRandom(uint64 randomId);
void historyRegSentText(uint64 itemId, const QString &text);
void historyUnregSentText(uint64 itemId);
QString histSentTextByItem(uint64 itemId);
void hoveredItem(HistoryItem *item);
HistoryItem *hoveredItem();
@@ -154,9 +212,10 @@ namespace App {
void mousedItem(HistoryItem *item);
HistoryItem *mousedItem();
QPixmap &sprite();
QPixmap &emojis();
const QPixmap &emojiSingle(const EmojiData *emoji, int32 fontHeight);
const QPixmap &sprite();
const QPixmap &emojis();
const QPixmap &emojisLarge();
const QPixmap &emojiSingle(EmojiPtr emoji, int32 fontHeight);
void initMedia();
void deinitMedia(bool completely = true);
@@ -189,21 +248,48 @@ namespace App {
void unregWebPageItem(WebPageData *data, HistoryItem *item);
const WebPageItems &webPageItems();
void regSharedContactPhone(int32 userId, const QString &phone);
QString phoneFromSharedContact(int32 userId);
void regMuted(PeerData *peer, int32 changeIn);
void unregMuted(PeerData *peer);
void updateMuted();
void feedReplyMarkup(MsgId msgId, const MTPReplyMarkup &markup);
void clearReplyMarkup(MsgId msgId);
const ReplyMarkup &replyMarkup(MsgId msgId);
void setProxySettings(QNetworkAccessManager &manager);
void setProxySettings(QTcpSocket &socket);
void sendBotCommand(const QString &cmd, MsgId replyTo = 0);
void insertBotCommand(const QString &cmd);
void searchByHashtag(const QString &tag);
void openUserByName(const QString &username, bool toProfile = false);
void openUserByName(const QString &username, bool toProfile = false, const QString &startToken = QString());
void joinGroupByHash(const QString &hash);
void stickersBox(const QString &name);
void openLocalUrl(const QString &url);
void initBackground(int32 id = 0, const QImage &p = QImage(), bool nowrite = false);
QImage **cornersMask();
QPixmap **corners(RoundCorners index);
void roundRect(QPainter &p, int32 x, int32 y, int32 w, int32 h, const style::color &bg, RoundCorners index, const style::color *sh = 0);
inline void roundRect(QPainter &p, const QRect &rect, const style::color &bg, RoundCorners index, const style::color *sh = 0) {
return roundRect(p, rect.x(), rect.y(), rect.width(), rect.height(), bg, index, sh);
}
void roundShadow(QPainter &p, int32 x, int32 y, int32 w, int32 h, const style::color &sh, RoundCorners index);
inline void roundShadow(QPainter &p, const QRect &rect, const style::color &sh, RoundCorners index) {
return roundShadow(p, rect.x(), rect.y(), rect.width(), rect.height(), sh, index);
}
style::color msgServiceBG();
style::color historyScrollBarColor();
style::color historyScrollBgColor();
style::color historyScrollBarOverColor();
style::color historyScrollBgOverColor();
style::color introPointHoverColor();
void initBackground(int32 id = DefaultChatBackground, const QImage &p = QImage(), bool nowrite = false);
const style::color &msgServiceBg();
const style::color &msgServiceSelectBg();
const style::color &historyScrollBarColor();
const style::color &historyScrollBgColor();
const style::color &historyScrollBarOverColor();
const style::color &historyScrollBgOverColor();
const style::color &introPointHoverColor();
struct WallPaper {
WallPaper(int32 id, ImagePtr thumb, ImagePtr full) : id(id), thumb(thumb), full(full) {

View File

@@ -29,6 +29,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
#include "localstorage.h"
#include "autoupdater.h"
namespace {
Application *mainApp = 0;
FileUploader *uploader = 0;
@@ -46,21 +48,44 @@ namespace {
}
}
class EventFilterForMac : public QObject {
class EventFilterForKeys : public QObject {
public:
EventFilterForMac(QObject *parent) : QObject(parent) {
EventFilterForKeys(QObject *parent) : QObject(parent) {
}
bool eventFilter(QObject *o, QEvent *e) {
if (e->type() == QEvent::KeyPress) {
QKeyEvent *ev = static_cast<QKeyEvent*>(e);
if (ev->key() == Qt::Key_W && (ev->modifiers() & (Qt::MetaModifier | Qt::ControlModifier))) {
if (cWorkMode() == dbiwmTrayOnly || cWorkMode() == dbiwmWindowAndTray) {
App::wnd()->minimizeToTray();
if (cPlatform() == dbipMac) {
if (ev->key() == Qt::Key_W && (ev->modifiers() & (Qt::MetaModifier | Qt::ControlModifier))) {
if (cWorkMode() == dbiwmTrayOnly || cWorkMode() == dbiwmWindowAndTray) {
App::wnd()->minimizeToTray();
return true;
} else {
App::wnd()->hide();
App::wnd()->updateIsActive(cOfflineBlurTimeout());
App::wnd()->updateGlobalMenu();
return true;
}
} else if (ev->key() == Qt::Key_M && (ev->modifiers() & (Qt::MetaModifier | Qt::ControlModifier))) {
App::wnd()->setWindowState(Qt::WindowMinimized);
return true;
}
}
if (ev->key() == Qt::Key_MediaPlay) {
if (App::main()) App::main()->player()->playPressed();
} else if (ev->key() == Qt::Key_MediaPause) {
if (App::main()) App::main()->player()->pausePressed();
} else if (ev->key() == Qt::Key_MediaTogglePlayPause) {
if (App::main()) App::main()->player()->playPausePressed();
} else if (ev->key() == Qt::Key_MediaStop) {
if (App::main()) App::main()->player()->stopPressed();
} else if (ev->key() == Qt::Key_MediaPrevious) {
if (App::main()) App::main()->player()->prevPressed();
} else if (ev->key() == Qt::Key_MediaNext) {
if (App::main()) App::main()->player()->nextPressed();
}
}
return QObject::eventFilter(o, e);
}
@@ -70,7 +95,10 @@ namespace {
Application::Application(int &argc, char **argv) : PsApplication(argc, argv),
serverName(psServerPrefix() + cGUIDStr()), closing(false),
updateRequestId(0), updateReply(0), updateThread(0), updateDownloader(0), _translator(0) {
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
updateRequestId(0), updateReply(0), updateThread(0), updateDownloader(0),
#endif
_translator(0) {
DEBUG_LOG(("Application Info: creation.."));
@@ -85,9 +113,7 @@ Application::Application(int &argc, char **argv) : PsApplication(argc, argv),
}
mainApp = this;
if (cPlatform() == dbipMac) {
installEventFilter(new EventFilterForMac(this));
}
installEventFilter(new EventFilterForKeys(this));
QFontDatabase::addApplicationFont(qsl(":/gui/art/fonts/OpenSans-Regular.ttf"));
QFontDatabase::addApplicationFont(qsl(":/gui/art/fonts/OpenSans-Bold.ttf"));
@@ -155,9 +181,11 @@ Application::Application(int &argc, char **argv) : PsApplication(argc, argv),
connect(&socket, SIGNAL(readyRead()), this, SLOT(socketReading()));
connect(&server, SIGNAL(newConnection()), this, SLOT(newInstanceConnected()));
connect(this, SIGNAL(aboutToQuit()), this, SLOT(closeApplication()));
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
connect(&updateCheckTimer, SIGNAL(timeout()), this, SLOT(startUpdateCheck()));
connect(this, SIGNAL(updateFailed()), this, SLOT(onUpdateFailed()));
connect(this, SIGNAL(updateReady()), this, SLOT(onUpdateReady()));
#endif
connect(this, SIGNAL(applicationStateChanged(Qt::ApplicationState)), this, SLOT(onAppStateChanged(Qt::ApplicationState)));
//connect(&writeUserConfigTimer, SIGNAL(timeout()), this, SLOT(onWriteUserConfig()));
//writeUserConfigTimer.setSingleShot(true);
@@ -172,29 +200,7 @@ Application::Application(int &argc, char **argv) : PsApplication(argc, argv),
}
}
void Application::onAppUpdate(const MTPhelp_AppUpdate &response) {
updateRequestId = 0;
cSetLastUpdateCheck(unixtime());
Local::writeSettings();
if (response.type() == mtpc_help_noAppUpdate) {
startUpdateCheck();
} else {
updateThread = new QThread();
connect(updateThread, SIGNAL(finished()), updateThread, SLOT(deleteLater()));
updateDownloader = new PsUpdateDownloader(updateThread, response.c_help_appUpdate());
updateThread->start();
}
}
bool Application::onAppUpdateFail() {
updateRequestId = 0;
cSetLastUpdateCheck(unixtime());
Local::writeSettings();
startUpdateCheck();
return true;
}
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
void Application::updateGotCurrent() {
if (!updateReply || updateThread) return;
@@ -205,7 +211,7 @@ void Application::updateGotCurrent() {
if (currentVersion > AppVersion) {
updateThread = new QThread();
connect(updateThread, SIGNAL(finished()), updateThread, SLOT(deleteLater()));
updateDownloader = new PsUpdateDownloader(updateThread, m.captured(2));
updateDownloader = new UpdateDownloader(updateThread, m.captured(2));
updateThread->start();
}
}
@@ -216,7 +222,7 @@ void Application::updateGotCurrent() {
if (updates.exists()) {
QFileInfoList list = updates.entryInfoList(QDir::Files);
for (QFileInfoList::iterator i = list.begin(), e = list.end(); i != e; ++i) {
if (QRegularExpression("^(tupdate|tmacupd|tlinuxupd|tlinux32upd)\\d+$", QRegularExpression::CaseInsensitiveOption).match(i->fileName()).hasMatch()) {
if (QRegularExpression("^(tupdate|tmacupd|tmac32upd|tlinuxupd|tlinux32upd)\\d+$", QRegularExpression::CaseInsensitiveOption).match(i->fileName()).hasMatch()) {
QFile(i->absoluteFilePath()).remove();
}
}
@@ -258,6 +264,7 @@ void Application::onUpdateFailed() {
cSetLastUpdateCheck(unixtime());
Local::writeSettings();
}
#endif
void Application::regPhotoUpdate(const PeerId &peer, MsgId msgId) {
photoUpdates.insert(msgId, peer);
@@ -431,11 +438,16 @@ void Application::onSwitchTestMode() {
}
Application::UpdatingState Application::updatingState() {
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
if (!updateThread) return Application::UpdatingNone;
if (!updateDownloader) return Application::UpdatingReady;
return Application::UpdatingDownload;
#else
return Application::UpdatingNone;
#endif
}
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
int32 Application::updatingSize() {
if (!updateDownloader) return 0;
return updateDownloader->size();
@@ -445,6 +457,7 @@ int32 Application::updatingReady() {
if (!updateDownloader) return 0;
return updateDownloader->ready();
}
#endif
FileUploader *Application::uploader() {
if (!::uploader) ::uploader = new FileUploader();
@@ -473,13 +486,13 @@ void Application::uploadProfilePhoto(const QImage &tosend, const PeerId &peerId)
PhotoId id = MTP::nonce<PhotoId>();
MTPPhoto photo(MTP_photo(MTP_long(id), MTP_long(0), MTP_int(MTP::authedId()), MTP_int(unixtime()), MTP_string(""), MTP_geoPointEmpty(), MTP_vector<MTPPhotoSize>(photoSizes)));
MTPPhoto photo(MTP_photo(MTP_long(id), MTP_long(0), MTP_int(unixtime()), MTP_vector<MTPPhotoSize>(photoSizes)));
QString file, filename;
int32 filesize = 0;
QByteArray data;
ReadyLocalMedia ready(ToPreparePhoto, file, filename, filesize, data, id, id, qsl("jpg"), peerId, photo, photoThumbs, MTP_documentEmpty(MTP_long(0)), jpeg, false, 0);
ReadyLocalMedia ready(ToPreparePhoto, file, filename, filesize, data, id, id, qsl("jpg"), peerId, photo, MTP_audioEmpty(MTP_long(0)), photoThumbs, MTP_documentEmpty(MTP_long(0)), jpeg, false, 0);
connect(App::uploader(), SIGNAL(photoReady(MsgId, const MTPInputFile &)), App::app(), SLOT(photoUpdated(MsgId, const MTPInputFile &)), Qt::UniqueConnection);
@@ -488,6 +501,7 @@ void Application::uploadProfilePhoto(const QImage &tosend, const PeerId &peerId)
App::uploader()->uploadMedia(newId, ready);
}
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
void Application::stopUpdate() {
if (updateReply) {
updateReply->abort();
@@ -513,7 +527,7 @@ void Application::startUpdateCheck(bool forceWait) {
if (updates.exists()) {
QFileInfoList list = updates.entryInfoList(QDir::Files);
for (QFileInfoList::iterator i = list.begin(), e = list.end(); i != e; ++i) {
if (QRegularExpression("^(tupdate|tmacupd|tlinuxupd|tlinux32upd)\\d+$", QRegularExpression::CaseInsensitiveOption).match(i->fileName()).hasMatch()) {
if (QRegularExpression("^(tupdate|tmacupd|tmac32upd|tlinuxupd|tlinux32upd)\\d+$", QRegularExpression::CaseInsensitiveOption).match(i->fileName()).hasMatch()) {
sendRequest = true;
}
}
@@ -523,7 +537,11 @@ void Application::startUpdateCheck(bool forceWait) {
if (sendRequest) {
QUrl url(cUpdateURL());
if (DevChannel) url.setQuery("dev=1");
if (cDevVersion()) {
url.setQuery(qsl("version=%1&dev=1").arg(AppVersion));
} else {
url.setQuery(qsl("version=%1").arg(AppVersion));
}
QString u = url.toString();
QNetworkRequest checkVersion(url);
if (updateReply) updateReply->deleteLater();
@@ -532,12 +550,12 @@ void Application::startUpdateCheck(bool forceWait) {
updateReply = updateManager.get(checkVersion);
connect(updateReply, SIGNAL(finished()), this, SLOT(updateGotCurrent()));
connect(updateReply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(updateFailedCurrent(QNetworkReply::NetworkError)));
// updateRequestId = MTP::send(MTPhelp_GetAppUpdate(MTP_string(cApiDeviceModel()), MTP_string(cApiSystemVersion()), MTP_string(cApiAppVersion()), MTP_string(cApiLang())), rpcDone(&Application::onAppUpdate), rpcFail(&Application::onAppUpdateFail);
emit updateChecking();
} else {
updateCheckTimer.start((updateInSecs + 5) * 1000);
}
}
#endif
namespace {
QChar _toHex(ushort v) {
@@ -640,23 +658,26 @@ void Application::socketError(QLocalSocket::LocalSocketError e) {
return App::quit();
}
if (!cNoStartUpdate() && psCheckReadyUpdate()) {
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
if (!cNoStartUpdate() && checkReadyUpdate()) {
cSetRestartingUpdate(true);
DEBUG_LOG(("Application Info: installing update instead of starting app.."));
return App::quit();
}
#endif
startApp();
}
void Application::checkMapVersion() {
if (Local::oldMapVersion() < AppVersion) {
psRegisterCustomScheme();
if (Local::oldMapVersion() < AppVersion) {
if (Local::oldMapVersion()) {
QString versionFeatures;
if (DevChannel && Local::oldMapVersion() < 8002) {
versionFeatures = QString::fromUtf8("\xe2\x80\x94 Link previews bugfixes\n\xe2\x80\x94 Links in preview descriptions are now clickable\n\xe2\x80\x94 Twitter and Instagram mentions and hashtags in previews are clickable\n\xe2\x80\x94 Fixed file uploading\n\xe2\x80\x94 Fixed photo, document and sticker forwarding").replace('@', qsl("@") + QChar(0x200D));
} else if (!DevChannel && Local::oldMapVersion() < 8004) {
if (cDevVersion() && Local::oldMapVersion() < 8054) {
versionFeatures = QString::fromUtf8("\xe2\x80\x94 Preview when sending links to GIF animations and PDF files\n\xe2\x80\x94 Full date and time shown when mouse over message timestamp");// .replace('@', qsl("@") + QChar(0x200D));
} else if (Local::oldMapVersion() < 8056) {
versionFeatures = lang(lng_new_version_text).trimmed();
} else {
versionFeatures = lang(lng_new_version_minor).trimmed();
}
if (!versionFeatures.isEmpty()) {
@@ -672,6 +693,8 @@ void Application::startApp() {
DEBUG_LOG(("Application Info: starting app.."));
QMimeDatabase().mimeTypeForName(qsl("text/plain")); // create mime database
window->createWinId();
window->init();
@@ -829,13 +852,15 @@ Application::~Application() {
App::deinitMedia();
deinitImageLinkManager();
mainApp = 0;
delete updateReply;
delete ::uploader;
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
delete updateReply;
updateReply = 0;
if (updateDownloader) updateDownloader->deleteLater();
updateDownloader = 0;
if (updateThread) updateThread->quit();
updateThread = 0;
#endif
delete window;

View File

@@ -27,6 +27,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
class MainWidget;
class FileUploader;
class Translator;
class UpdateDownloader;
class Application : public PsApplication, public RPCSender {
Q_OBJECT
@@ -42,17 +43,16 @@ public:
static int32 languageId();
static MainWidget *main();
void onAppUpdate(const MTPhelp_AppUpdate &response);
bool onAppUpdateFail();
enum UpdatingState {
UpdatingNone,
UpdatingDownload,
UpdatingReady,
};
UpdatingState updatingState();
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
int32 updatingSize();
int32 updatingReady();
#endif
FileUploader *uploader();
void uploadProfilePhoto(const QImage &tosend, const PeerId &peerId);
@@ -80,6 +80,14 @@ public:
signals:
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
void updateChecking();
void updateLatest();
void updateDownloading(qint64 ready, qint64 total);
void updateReady();
void updateFailed();
#endif
void peerPhotoDone(PeerId peer);
void peerPhotoFail(PeerId peer);
@@ -87,7 +95,9 @@ signals:
public slots:
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
void startUpdateCheck(bool forceWait = false);
#endif
void socketConnected();
void socketError(QLocalSocket::LocalSocketError e);
void socketDisconnected();
@@ -99,11 +109,13 @@ public slots:
void readClients();
void removeClients();
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
void updateGotCurrent();
void updateFailedCurrent(QNetworkReply::NetworkError e);
void onUpdateReady();
void onUpdateFailed();
#endif
void photoUpdated(MsgId msgId, const MTPInputFile &file);
@@ -138,12 +150,14 @@ private:
Window *window;
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
mtpRequestId updateRequestId;
QNetworkAccessManager updateManager;
QNetworkReply *updateReply;
SingleTimer updateCheckTimer;
QThread *updateThread;
PsUpdateDownloader *updateDownloader;
UpdateDownloader *updateDownloader;
#endif
QTimer writeUserConfigTimer;

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 KiB

View File

Before

Width:  |  Height:  |  Size: 197 KiB

After

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 526 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 528 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 722 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 789 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1003 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 722 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 956 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 402 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 108 KiB

After

Width:  |  Height:  |  Size: 222 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -24,147 +24,316 @@ bool audioWorks();
void audioPlayNotify();
void audioFinish();
enum VoiceMessageState {
VoiceMessageStopped,
VoiceMessageStarting,
VoiceMessagePlaying,
VoiceMessageFinishing,
VoiceMessagePausing,
VoiceMessagePaused,
VoiceMessageResuming,
enum AudioPlayerState {
AudioPlayerStopped = 0x01,
AudioPlayerStoppedAtEnd = 0x02,
AudioPlayerStoppedAtError = 0x03,
AudioPlayerStoppedAtStart = 0x04,
AudioPlayerStoppedMask = 0x07,
AudioPlayerStarting = 0x08,
AudioPlayerPlaying = 0x10,
AudioPlayerFinishing = 0x18,
AudioPlayerPausing = 0x20,
AudioPlayerPaused = 0x28,
AudioPlayerPausedAtEnd = 0x30,
AudioPlayerResuming = 0x38,
};
class VoiceMessagesFader;
class VoiceMessagesLoader;
class AudioPlayerFader;
class AudioPlayerLoaders;
class VoiceMessages : public QObject {
class AudioPlayer : public QObject {
Q_OBJECT
public:
VoiceMessages();
AudioPlayer();
void play(AudioData *audio);
void pauseresume();
void play(const AudioMsgId &audio, int64 position = 0);
void play(const SongMsgId &song, int64 position = 0);
void pauseresume(MediaOverviewType type, bool fast = false);
void seek(int64 position); // type == OverviewDocuments
void stop(MediaOverviewType type);
void currentState(AudioData **audio, VoiceMessageState *state = 0, int64 *position = 0, int64 *duration = 0);
void processContext();
void currentState(AudioMsgId *audio, AudioPlayerState *state = 0, int64 *position = 0, int64 *duration = 0, int32 *frequency = 0);
void currentState(SongMsgId *song, AudioPlayerState *state = 0, int64 *position = 0, int64 *duration = 0, int32 *frequency = 0);
~VoiceMessages();
void clearStoppedAtStart(const AudioMsgId &audio);
void clearStoppedAtStart(const SongMsgId &song);
void resumeDevice();
~AudioPlayer();
public slots:
void onError(AudioData *audio);
void onError(const AudioMsgId &audio);
void onError(const SongMsgId &song);
void onStopped(const AudioMsgId &audio);
void onStopped(const SongMsgId &song);
signals:
void updated(AudioData *audio);
void stopped(AudioData *audio);
void updated(const AudioMsgId &audio);
void updated(const SongMsgId &song);
void stopped(const AudioMsgId &audio);
void stopped(const SongMsgId &song);
void stoppedOnError(const AudioMsgId &audio);
void stoppedOnError(const SongMsgId &song);
void loaderOnStart(const AudioMsgId &audio, qint64 position);
void loaderOnStart(const SongMsgId &song, qint64 position);
void loaderOnCancel(const AudioMsgId &audio);
void loaderOnCancel(const SongMsgId &song);
void faderOnTimer();
void loaderOnStart(AudioData *audio);
void loaderOnCancel(AudioData *audio);
void suppressSong();
void unsuppressSong();
void suppressAll();
void songVolumeChanged();
private:
bool updateCurrentStarted(int32 pos = -1);
bool fadedStop(MediaOverviewType type, bool *fadedStart = 0);
bool updateCurrentStarted(MediaOverviewType type, int32 pos = -1);
bool checkCurrentALError(MediaOverviewType type);
struct Msg {
Msg() : audio(0), position(0), duration(0), skipStart(0), skipEnd(0), loading(0), started(0),
state(VoiceMessageStopped), source(0), nextBuffer(0) {
Msg() : position(0), duration(0), frequency(AudioVoiceMsgFrequency), skipStart(0), skipEnd(0), loading(0), started(0),
state(AudioPlayerStopped), source(0), nextBuffer(0) {
memset(buffers, 0, sizeof(buffers));
memset(samplesCount, 0, sizeof(samplesCount));
}
AudioData *audio;
QString fname;
QByteArray data;
int64 position, duration;
int32 frequency;
int64 skipStart, skipEnd;
bool loading;
int64 started;
VoiceMessageState state;
AudioPlayerState state;
uint32 source;
int32 nextBuffer;
uint32 buffers[3];
int64 samplesCount[3];
};
struct AudioMsg : public Msg {
AudioMsg() {
}
AudioMsgId audio;
};
struct SongMsg : public Msg {
SongMsg() {
}
SongMsgId song;
};
int32 _current;
Msg _data[AudioVoiceMsgSimultaneously];
void currentState(Msg *current, AudioPlayerState *state, int64 *position, int64 *duration, int32 *frequency);
void setStoppedState(Msg *current, AudioPlayerState state = AudioPlayerStopped);
int32 _audioCurrent;
AudioMsg _audioData[AudioVoiceMsgSimultaneously];
int32 _songCurrent;
SongMsg _songData[AudioSongSimultaneously];
QMutex _mutex;
friend class VoiceMessagesFader;
friend class VoiceMessagesLoader;
friend class AudioPlayerFader;
friend class AudioPlayerLoaders;
QThread _faderThread;
QThread _loaderThread;
VoiceMessagesFader *_fader;
VoiceMessagesLoader *_loader;
QThread _faderThread, _loaderThread;
AudioPlayerFader *_fader;
AudioPlayerLoaders *_loader;
};
VoiceMessages *audioVoice();
class AudioCaptureInner;
class VoiceMessagesFader : public QObject {
class AudioCapture : public QObject {
Q_OBJECT
public:
VoiceMessagesFader(QThread *thread);
void processContext();
AudioCapture();
void start();
void stop(bool needResult);
bool check();
~AudioCapture();
signals:
void error(AudioData *audio);
void playPositionUpdated(AudioData *audio);
void audioStopped(AudioData *audio);
void needToPreload(AudioData *audio);
void captureOnStart();
void captureOnStop(bool needResult);
void stopSuspend();
void onDone(QByteArray data, qint32 samples);
void onUpdate(qint16 level, qint32 samples);
void onError();
private:
friend class AudioCaptureInner;
QThread _captureThread;
AudioCaptureInner *_capture;
};
AudioPlayer *audioPlayer();
AudioCapture *audioCapture();
class AudioPlayerFader : public QObject {
Q_OBJECT
public:
AudioPlayerFader(QThread *thread);
void resumeDevice();
signals:
void error(const AudioMsgId &audio);
void error(const SongMsgId &audio);
void playPositionUpdated(const AudioMsgId &audio);
void playPositionUpdated(const SongMsgId &audio);
void audioStopped(const AudioMsgId &audio);
void audioStopped(const SongMsgId &audio);
void needToPreload(const AudioMsgId &audio);
void needToPreload(const SongMsgId &audio);
void stopPauseDevice();
public slots:
void onInit();
void onTimer();
void onSuspendTimer();
void onSuspendTimerStop();
void onPauseTimer();
void onPauseTimerStop();
void onSuppressSong();
void onUnsuppressSong();
void onSuppressAll();
void onSongVolumeChanged();
private:
QTimer _timer, _suspendTimer;
QMutex _suspendMutex;
bool _suspendFlag;
enum {
EmitError = 0x01,
EmitStopped = 0x02,
EmitPositionUpdated = 0x04,
EmitNeedToPreload = 0x08,
};
int32 updateOnePlayback(AudioPlayer::Msg *m, bool &hasPlaying, bool &hasFading, float64 suppressGain, bool suppressGainChanged);
void setStoppedState(AudioPlayer::Msg *m, AudioPlayerState state = AudioPlayerStopped);
QTimer _timer, _pauseTimer;
QMutex _pauseMutex;
bool _pauseFlag, _paused;
bool _suppressAll, _suppressAllAnim, _suppressSong, _suppressSongAnim, _songVolumeChanged;
anim::fvalue _suppressAllGain, _suppressSongGain;
uint64 _suppressAllStart, _suppressSongStart;
};
class VoiceMessagesLoader : public QObject {
class AudioPlayerLoader;
class AudioPlayerLoaders : public QObject {
Q_OBJECT
public:
VoiceMessagesLoader(QThread *thread);
~VoiceMessagesLoader();
AudioPlayerLoaders(QThread *thread);
~AudioPlayerLoaders();
signals:
void error(AudioData *audio);
void error(const AudioMsgId &audio);
void error(const SongMsgId &song);
void needToCheck();
public slots:
void onInit();
void onStart(AudioData *audio);
void onLoad(AudioData *audio);
void onCancel(AudioData *audio);
void onStart(const AudioMsgId &audio, qint64 position);
void onStart(const SongMsgId &audio, qint64 position);
void onLoad(const AudioMsgId &audio);
void onLoad(const SongMsgId &audio);
void onCancel(const AudioMsgId &audio);
void onCancel(const SongMsgId &audio);
private:
struct Loader;
typedef QMap<AudioData*, Loader*> Loaders;
Loaders _loaders;
AudioMsgId _audio;
AudioPlayerLoader *_audioLoader;
void loadError(Loaders::iterator i);
SongMsgId _song;
AudioPlayerLoader *_songLoader;
void emitError(MediaOverviewType type);
void clear(MediaOverviewType type);
void setStoppedState(AudioPlayer::Msg *m, AudioPlayerState state = AudioPlayerStopped);
AudioMsgId clearAudio();
SongMsgId clearSong();
enum SetupError {
SetupErrorAtStart = 0,
SetupErrorNotPlaying = 1,
SetupErrorLoadedFull = 2,
SetupNoErrorStarted = 3,
};
void loadData(MediaOverviewType type, const void *objId, qint64 position);
AudioPlayerLoader *setupLoader(MediaOverviewType type, const void *objId, SetupError &err, qint64 position);
AudioPlayer::Msg *checkLoader(MediaOverviewType type);
};
struct AudioCapturePrivate;
class AudioCaptureInner : public QObject {
Q_OBJECT
public:
AudioCaptureInner(QThread *thread);
~AudioCaptureInner();
signals:
void error();
void update(qint16 level, qint32 samples);
void done(QByteArray data, qint32 samples);
public slots:
void onInit();
void onStart();
void onStop(bool needResult);
void onTimeout();
private:
void writeFrame(int32 offset, int32 framesize);
AudioCapturePrivate *d;
QTimer _timer;
QByteArray _captured;
};
MTPDocumentAttribute audioReadSongAttributes(const QString &fname, const QByteArray &data, QImage &cover, QByteArray &coverBytes, QByteArray &coverFormat);

View File

@@ -0,0 +1,541 @@
/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014 John Preston, https://desktop.telegram.org
*/
#include "stdafx.h"
#include "application.h"
#include "pspecific.h"
#include "autoupdater.h"
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
#ifdef Q_OS_WIN
typedef DWORD VerInt;
typedef WCHAR VerChar;
#else
typedef int VerInt;
typedef wchar_t VerChar;
#endif
UpdateDownloader::UpdateDownloader(QThread *thread, const QString &url) : reply(0), already(0), full(0) {
updateUrl = url;
moveToThread(thread);
manager.moveToThread(thread);
App::setProxySettings(manager);
connect(thread, SIGNAL(started()), this, SLOT(start()));
initOutput();
}
void UpdateDownloader::initOutput() {
QString fileName;
QRegularExpressionMatch m = QRegularExpression(qsl("/([^/\\?]+)(\\?|$)")).match(updateUrl);
if (m.hasMatch()) {
fileName = m.captured(1).replace(QRegularExpression(qsl("[^a-zA-Z0-9_\\-]")), QString());
}
if (fileName.isEmpty()) {
fileName = qsl("tupdate-%1").arg(rand());
}
QString dirStr = cWorkingDir() + qsl("tupdates/");
fileName = dirStr + fileName;
QFileInfo file(fileName);
QDir dir(dirStr);
if (dir.exists()) {
QFileInfoList all = dir.entryInfoList(QDir::Files);
for (QFileInfoList::iterator i = all.begin(), e = all.end(); i != e; ++i) {
if (i->absoluteFilePath() != file.absoluteFilePath()) {
QFile::remove(i->absoluteFilePath());
}
}
} else {
dir.mkdir(dir.absolutePath());
}
outputFile.setFileName(fileName);
if (file.exists()) {
uint64 fullSize = file.size();
if (fullSize < INT_MAX) {
int32 goodSize = (int32)fullSize;
if (goodSize % UpdateChunk) {
goodSize = goodSize - (goodSize % UpdateChunk);
if (goodSize) {
if (outputFile.open(QIODevice::ReadOnly)) {
QByteArray goodData = outputFile.readAll().mid(0, goodSize);
outputFile.close();
if (outputFile.open(QIODevice::WriteOnly)) {
outputFile.write(goodData);
outputFile.close();
QMutexLocker lock(&mutex);
already = goodSize;
}
}
}
} else {
QMutexLocker lock(&mutex);
already = goodSize;
}
}
if (!already) {
QFile::remove(fileName);
}
}
}
void UpdateDownloader::start() {
sendRequest();
}
void UpdateDownloader::sendRequest() {
QNetworkRequest req(updateUrl);
QByteArray rangeHeaderValue = "bytes=" + QByteArray::number(already) + "-";
req.setRawHeader("Range", rangeHeaderValue);
req.setAttribute(QNetworkRequest::HttpPipeliningAllowedAttribute, true);
if (reply) reply->deleteLater();
reply = manager.get(req);
connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(partFinished(qint64,qint64)));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(partFailed(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(metaDataChanged()), this, SLOT(partMetaGot()));
}
void UpdateDownloader::partMetaGot() {
typedef QList<QNetworkReply::RawHeaderPair> Pairs;
Pairs pairs = reply->rawHeaderPairs();
for (Pairs::iterator i = pairs.begin(), e = pairs.end(); i != e; ++i) {
if (QString::fromUtf8(i->first).toLower() == "content-range") {
QRegularExpressionMatch m = QRegularExpression(qsl("/(\\d+)([^\\d]|$)")).match(QString::fromUtf8(i->second));
if (m.hasMatch()) {
{
QMutexLocker lock(&mutex);
full = m.captured(1).toInt();
}
emit App::app()->updateDownloading(already, full);
}
}
}
}
int32 UpdateDownloader::ready() {
QMutexLocker lock(&mutex);
return already;
}
int32 UpdateDownloader::size() {
QMutexLocker lock(&mutex);
return full;
}
void UpdateDownloader::partFinished(qint64 got, qint64 total) {
if (!reply) return;
QVariant statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
if (statusCode.isValid()) {
int status = statusCode.toInt();
if (status != 200 && status != 206 && status != 416) {
LOG(("Update Error: Bad HTTP status received in partFinished(): %1").arg(status));
return fatalFail();
}
}
if (!already && !full) {
QMutexLocker lock(&mutex);
full = total;
}
DEBUG_LOG(("Update Info: part %1 of %2").arg(got).arg(total));
if (!outputFile.isOpen()) {
if (!outputFile.open(QIODevice::Append)) {
LOG(("Update Error: Could not open output file '%1' for appending").arg(outputFile.fileName()));
return fatalFail();
}
}
QByteArray r = reply->readAll();
if (!r.isEmpty()) {
outputFile.write(r);
QMutexLocker lock(&mutex);
already += r.size();
}
if (got >= total) {
reply->deleteLater();
reply = 0;
outputFile.close();
unpackUpdate();
} else {
emit App::app()->updateDownloading(already, full);
}
}
void UpdateDownloader::partFailed(QNetworkReply::NetworkError e) {
if (!reply) return;
QVariant statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
reply->deleteLater();
reply = 0;
if (statusCode.isValid()) {
int status = statusCode.toInt();
if (status == 416) { // Requested range not satisfiable
outputFile.close();
unpackUpdate();
return;
}
}
LOG(("Update Error: failed to download part starting from %1, error %2").arg(already).arg(e));
emit App::app()->updateFailed();
}
void UpdateDownloader::fatalFail() {
clearAll();
emit App::app()->updateFailed();
}
void UpdateDownloader::clearAll() {
psDeleteDir(cWorkingDir() + qsl("tupdates"));
}
//QString winapiErrorWrap() {
// WCHAR errMsg[2048];
// DWORD errorCode = GetLastError();
// LPTSTR errorText = NULL, errorTextDefault = L"(Unknown error)";
// FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errorCode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&errorText, 0, 0);
// if (!errorText) {
// errorText = errorTextDefault;
// }
// StringCbPrintf(errMsg, sizeof(errMsg), L"Error code: %d, error message: %s", errorCode, errorText);
// if (errorText != errorTextDefault) {
// LocalFree(errorText);
// }
// return QString::fromWCharArray(errMsg);
//}
void UpdateDownloader::unpackUpdate() {
QByteArray packed;
if (!outputFile.open(QIODevice::ReadOnly)) {
LOG(("Update Error: cant read updates file!"));
return fatalFail();
}
#ifdef Q_OS_WIN // use Lzma SDK for win
const int32 hSigLen = 128, hShaLen = 20, hPropsLen = LZMA_PROPS_SIZE, hOriginalSizeLen = sizeof(int32), hSize = hSigLen + hShaLen + hPropsLen + hOriginalSizeLen; // header
#else
const int32 hSigLen = 128, hShaLen = 20, hPropsLen = 0, hOriginalSizeLen = sizeof(int32), hSize = hSigLen + hShaLen + hOriginalSizeLen; // header
#endif
QByteArray compressed = outputFile.readAll();
int32 compressedLen = compressed.size() - hSize;
if (compressedLen <= 0) {
LOG(("Update Error: bad compressed size: %1").arg(compressed.size()));
return fatalFail();
}
outputFile.close();
QString tempDirPath = cWorkingDir() + qsl("tupdates/temp"), readyFilePath = cWorkingDir() + qsl("tupdates/temp/ready");
psDeleteDir(tempDirPath);
QDir tempDir(tempDirPath);
if (tempDir.exists() || QFile(readyFilePath).exists()) {
LOG(("Update Error: cant clear tupdates/temp dir!"));
return fatalFail();
}
uchar sha1Buffer[20];
bool goodSha1 = !memcmp(compressed.constData() + hSigLen, hashSha1(compressed.constData() + hSigLen + hShaLen, compressedLen + hPropsLen + hOriginalSizeLen, sha1Buffer), hShaLen);
if (!goodSha1) {
LOG(("Update Error: bad SHA1 hash of update file!"));
return fatalFail();
}
RSA *pbKey = PEM_read_bio_RSAPublicKey(BIO_new_mem_buf(const_cast<char*>(DevVersion ? UpdatesPublicDevKey : UpdatesPublicKey), -1), 0, 0, 0);
if (!pbKey) {
LOG(("Update Error: cant read public rsa key!"));
return fatalFail();
}
if (RSA_verify(NID_sha1, (const uchar*)(compressed.constData() + hSigLen), hShaLen, (const uchar*)(compressed.constData()), hSigLen, pbKey) != 1) { // verify signature
RSA_free(pbKey);
if (cDevVersion()) { // try other public key, if we are in dev version
pbKey = PEM_read_bio_RSAPublicKey(BIO_new_mem_buf(const_cast<char*>(DevVersion ? UpdatesPublicKey : UpdatesPublicDevKey), -1), 0, 0, 0);
if (!pbKey) {
LOG(("Update Error: cant read public rsa key!"));
return fatalFail();
}
if (RSA_verify(NID_sha1, (const uchar*)(compressed.constData() + hSigLen), hShaLen, (const uchar*)(compressed.constData()), hSigLen, pbKey) != 1) { // verify signature
RSA_free(pbKey);
LOG(("Update Error: bad RSA signature of update file!"));
return fatalFail();
}
} else {
LOG(("Update Error: bad RSA signature of update file!"));
return fatalFail();
}
}
RSA_free(pbKey);
QByteArray uncompressed;
int32 uncompressedLen;
memcpy(&uncompressedLen, compressed.constData() + hSigLen + hShaLen + hPropsLen, hOriginalSizeLen);
uncompressed.resize(uncompressedLen);
size_t resultLen = uncompressed.size();
#ifdef Q_OS_WIN // use Lzma SDK for win
SizeT srcLen = compressedLen;
int uncompressRes = LzmaUncompress((uchar*)uncompressed.data(), &resultLen, (const uchar*)(compressed.constData() + hSize), &srcLen, (const uchar*)(compressed.constData() + hSigLen + hShaLen), LZMA_PROPS_SIZE);
if (uncompressRes != SZ_OK) {
LOG(("Update Error: could not uncompress lzma, code: %1").arg(uncompressRes));
return fatalFail();
}
#else
lzma_stream stream = LZMA_STREAM_INIT;
lzma_ret ret = lzma_stream_decoder(&stream, UINT64_MAX, LZMA_CONCATENATED);
if (ret != LZMA_OK) {
const char *msg;
switch (ret) {
case LZMA_MEM_ERROR: msg = "Memory allocation failed"; break;
case LZMA_OPTIONS_ERROR: msg = "Specified preset is not supported"; break;
case LZMA_UNSUPPORTED_CHECK: msg = "Specified integrity check is not supported"; break;
default: msg = "Unknown error, possibly a bug"; break;
}
LOG(("Error initializing the decoder: %1 (error code %2)").arg(msg).arg(ret));
return fatalFail();
}
stream.avail_in = compressedLen;
stream.next_in = (uint8_t*)(compressed.constData() + hSize);
stream.avail_out = resultLen;
stream.next_out = (uint8_t*)uncompressed.data();
lzma_ret res = lzma_code(&stream, LZMA_FINISH);
if (stream.avail_in) {
LOG(("Error in decompression, %1 bytes left in _in of %2 whole.").arg(stream.avail_in).arg(compressedLen));
return fatalFail();
} else if (stream.avail_out) {
LOG(("Error in decompression, %1 bytes free left in _out of %2 whole.").arg(stream.avail_out).arg(resultLen));
return fatalFail();
}
lzma_end(&stream);
if (res != LZMA_OK && res != LZMA_STREAM_END) {
const char *msg;
switch (res) {
case LZMA_MEM_ERROR: msg = "Memory allocation failed"; break;
case LZMA_FORMAT_ERROR: msg = "The input data is not in the .xz format"; break;
case LZMA_OPTIONS_ERROR: msg = "Unsupported compression options"; break;
case LZMA_DATA_ERROR: msg = "Compressed file is corrupt"; break;
case LZMA_BUF_ERROR: msg = "Compressed data is truncated or otherwise corrupt"; break;
default: msg = "Unknown error, possibly a bug"; break;
}
LOG(("Error in decompression: %1 (error code %2)").arg(msg).arg(res));
return fatalFail();
}
#endif
tempDir.mkdir(tempDir.absolutePath());
quint32 version;
{
QBuffer buffer(&uncompressed);
buffer.open(QIODevice::ReadOnly);
QDataStream stream(&buffer);
stream.setVersion(QDataStream::Qt_5_1);
stream >> version;
if (stream.status() != QDataStream::Ok) {
LOG(("Update Error: cant read version from downloaded stream, status: %1").arg(stream.status()));
return fatalFail();
}
if (int32(version) <= AppVersion) {
LOG(("Update Error: downloaded version %1 is not greater, than mine %2").arg(version).arg(AppVersion));
return fatalFail();
}
quint32 filesCount;
stream >> filesCount;
if (stream.status() != QDataStream::Ok) {
LOG(("Update Error: cant read files count from downloaded stream, status: %1").arg(stream.status()));
return fatalFail();
}
if (!filesCount) {
LOG(("Update Error: update is empty!"));
return fatalFail();
}
for (uint32 i = 0; i < filesCount; ++i) {
QString relativeName;
quint32 fileSize;
QByteArray fileInnerData;
bool executable = false;
stream >> relativeName >> fileSize >> fileInnerData;
#if defined Q_OS_MAC || defined Q_OS_LINUX
stream >> executable;
#endif
if (stream.status() != QDataStream::Ok) {
LOG(("Update Error: cant read file from downloaded stream, status: %1").arg(stream.status()));
return fatalFail();
}
if (fileSize != quint32(fileInnerData.size())) {
LOG(("Update Error: bad file size %1 not matching data size %2").arg(fileSize).arg(fileInnerData.size()));
return fatalFail();
}
QFile f(tempDirPath + '/' + relativeName);
if (!QDir().mkpath(QFileInfo(f).absolutePath())) {
LOG(("Update Error: cant mkpath for file '%1'").arg(tempDirPath + '/' + relativeName));
return fatalFail();
}
if (!f.open(QIODevice::WriteOnly)) {
LOG(("Update Error: cant open file '%1' for writing").arg(tempDirPath + '/' + relativeName));
return fatalFail();
}
if (f.write(fileInnerData) != fileSize) {
f.close();
LOG(("Update Error: cant write file '%1'").arg(tempDirPath + '/' + relativeName));
return fatalFail();
}
f.close();
if (executable) {
QFileDevice::Permissions p = f.permissions();
p |= QFileDevice::ExeOwner | QFileDevice::ExeUser | QFileDevice::ExeGroup | QFileDevice::ExeOther;
f.setPermissions(p);
}
}
// create tdata/version file
tempDir.mkdir(QDir(tempDirPath + qsl("/tdata")).absolutePath());
std::wstring versionString = ((version % 1000) ? QString("%1.%2.%3").arg(int(version / 1000000)).arg(int((version % 1000000) / 1000)).arg(int(version % 1000)) : QString("%1.%2").arg(int(version / 1000000)).arg(int((version % 1000000) / 1000))).toStdWString();
VerInt versionNum = VerInt(version), versionLen = VerInt(versionString.size() * sizeof(VerChar));
VerChar versionStr[32];
memcpy(versionStr, versionString.c_str(), versionLen);
QFile fVersion(tempDirPath + qsl("/tdata/version"));
if (!fVersion.open(QIODevice::WriteOnly)) {
LOG(("Update Error: cant write version file '%1'").arg(tempDirPath + qsl("/version")));
return fatalFail();
}
fVersion.write((const char*)&versionNum, sizeof(VerInt));
fVersion.write((const char*)&versionLen, sizeof(VerInt));
fVersion.write((const char*)&versionStr[0], versionLen);
fVersion.close();
}
QFile readyFile(readyFilePath);
if (readyFile.open(QIODevice::WriteOnly)) {
if (readyFile.write("1", 1)) {
readyFile.close();
} else {
LOG(("Update Error: cant write ready file '%1'").arg(readyFilePath));
return fatalFail();
}
} else {
LOG(("Update Error: cant create ready file '%1'").arg(readyFilePath));
return fatalFail();
}
outputFile.remove();
emit App::app()->updateReady();
}
UpdateDownloader::~UpdateDownloader() {
delete reply;
reply = 0;
}
bool checkReadyUpdate() {
QString readyFilePath = cWorkingDir() + qsl("tupdates/temp/ready"), readyPath = cWorkingDir() + qsl("tupdates/temp");
if (!QFile(readyFilePath).exists()) {
if (QDir(cWorkingDir() + qsl("tupdates/ready")).exists() || QDir(cWorkingDir() + qsl("tupdates/temp")).exists()) {
UpdateDownloader::clearAll();
}
return false;
}
// check ready version
QString versionPath = readyPath + qsl("/tdata/version");
{
QFile fVersion(versionPath);
if (!fVersion.open(QIODevice::ReadOnly)) {
LOG(("Update Error: cant read version file '%1'").arg(versionPath));
UpdateDownloader::clearAll();
return false;
}
VerInt versionNum;
if (fVersion.read((char*)&versionNum, sizeof(VerInt)) != sizeof(VerInt)) {
LOG(("Update Error: cant read version from file '%1'").arg(versionPath));
UpdateDownloader::clearAll();
return false;
}
fVersion.close();
if (versionNum <= AppVersion) {
LOG(("Update Error: cant install version %1 having version %2").arg(versionNum).arg(AppVersion));
UpdateDownloader::clearAll();
return false;
}
}
#ifdef Q_OS_WIN
QString curUpdater = (cExeDir() + qsl("Updater.exe"));
QFileInfo updater(cWorkingDir() + qsl("tupdates/temp/Updater.exe"));
#elif defined Q_OS_MAC
QString curUpdater = (cExeDir() + cExeName() + qsl("/Contents/Frameworks/Updater"));
QFileInfo updater(cWorkingDir() + qsl("tupdates/temp/Telegram.app/Contents/Frameworks/Updater"));
#elif defined Q_OS_LINUX
QString curUpdater = (cExeDir() + qsl("Updater"));
QFileInfo updater(cWorkingDir() + qsl("tupdates/temp/Updater"));
#endif
if (!updater.exists()) {
QFileInfo current(curUpdater);
if (!current.exists()) {
UpdateDownloader::clearAll();
return false;
}
if (!QFile(current.absoluteFilePath()).copy(updater.absoluteFilePath())) {
UpdateDownloader::clearAll();
return false;
}
}
#ifdef Q_OS_WIN
if (CopyFile(updater.absoluteFilePath().toStdWString().c_str(), curUpdater.toStdWString().c_str(), FALSE) == FALSE) {
DWORD errorCode = GetLastError();
if (errorCode == ERROR_ACCESS_DENIED) { // we are in write-protected dir, like Program Files
cSetWriteProtected(true);
return true;
} else {
UpdateDownloader::clearAll();
return false;
}
}
if (DeleteFile(updater.absoluteFilePath().toStdWString().c_str()) == FALSE) {
UpdateDownloader::clearAll();
return false;
}
#elif defined Q_OS_MAC
QDir().mkpath(QFileInfo(curUpdater).absolutePath());
DEBUG_LOG(("Update Info: moving %1 to %2..").arg(updater.absoluteFilePath()).arg(curUpdater));
if (!objc_moveFile(updater.absoluteFilePath(), curUpdater)) {
UpdateDownloader::clearAll();
return false;
}
#elif defined Q_OS_LINUX
if (!linuxMoveFile(QFile::encodeName(updater.absoluteFilePath()).constData(), QFile::encodeName(curUpdater).constData())) {
UpdateDownloader::clearAll();
return false;
}
#endif
return true;
}
#endif

View File

@@ -0,0 +1,66 @@
/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014 John Preston, https://desktop.telegram.org
*/
#pragma once
#ifndef TDESKTOP_DISABLE_AUTOUPDATE
#include <QtNetwork/QLocalSocket>
#include <QtNetwork/QLocalServer>
#include <QtNetwork/QNetworkReply>
class UpdateDownloader : public QObject {
Q_OBJECT
public:
UpdateDownloader(QThread *thread, const QString &url);
void unpackUpdate();
int32 ready();
int32 size();
static void clearAll();
~UpdateDownloader();
public slots:
void start();
void partMetaGot();
void partFinished(qint64 got, qint64 total);
void partFailed(QNetworkReply::NetworkError e);
void sendRequest();
private:
void initOutput();
void fatalFail();
QString updateUrl;
QNetworkAccessManager manager;
QNetworkReply *reply;
int32 already, full;
QFile outputFile;
QMutex mutex;
};
bool checkReadyUpdate();
#endif

View File

@@ -24,7 +24,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
AboutBox::AboutBox() :
_done(this, lang(lng_about_done), st::aboutCloseButton),
_version(this, qsl("[a href=\"https://desktop.telegram.org/#changelog\"]") + textClean(lng_about_version(lt_version, QString::fromWCharArray(AppVersionStr) + (DevChannel ? " dev" : ""))) + qsl("[/a]"), st::aboutVersion, st::defaultTextStyle),
_version(this, qsl("[a href=\"https://desktop.telegram.org/#changelog\"]") + textClean(lng_about_version(lt_version, QString::fromWCharArray(AppVersionStr) + (cDevVersion() ? " dev" : ""))) + qsl("[/a]"), st::aboutVersion, st::defaultTextStyle),
_text(this, lang(lng_about_text), st::aboutLabel, st::aboutTextStyle) {
resizeMaxHeight(st::aboutWidth, st::aboutHeight);

View File

@@ -71,7 +71,7 @@ void AbstractBox::paintTitle(Painter &p, const QString &title, bool withShadow)
// paint box title
p.setFont(st::boxTitleFont->f);
p.setPen(st::black->p);
p.drawTextLeft(st::boxTitlePos.x(), st::boxTitlePos.y(), width() - 2 * st::boxTitlePos.x(), title);
p.drawTextLeft(st::boxTitlePos.x(), st::boxTitlePos.y(), width(), title);
}
void AbstractBox::paintGrayTitle(QPainter &p, const QString &title) {
@@ -106,8 +106,10 @@ void AbstractBox::setMaxHeight(int32 maxHeight) {
void AbstractBox::resizeMaxHeight(int32 newWidth, int32 maxHeight) {
if (width() != newWidth || _maxHeight != maxHeight) {
QRect g(geometry());
_maxHeight = maxHeight;
resize(newWidth, countHeight());
if (parentWidget()) parentWidget()->update(geometry().united(g).marginsAdded(QMargins(st::boxShadow.pxWidth(), st::boxShadow.pxHeight(), st::boxShadow.pxWidth(), st::boxShadow.pxHeight())));
}
}

View File

@@ -285,7 +285,6 @@ void AddContactBox::onImportDone(const MTPcontacts_ImportedContacts &res) {
}
if (uid) {
App::main()->addNewContact(uid);
App::main()->showPeer(App::peerFromUser(uid));
App::wnd()->hideLayer();
} else {
_addButton.hide();

View File

@@ -37,7 +37,7 @@ _bgCount(0), _rows(0), _over(-1), _overDown(-1) {
void BackgroundInner::gotWallpapers(const MTPVector<MTPWallPaper> &result) {
App::WallPapers wallpapers;
wallpapers.push_back(App::WallPaper(0, ImagePtr(st::msgBG), ImagePtr(st::msgBG)));
wallpapers.push_back(App::WallPaper(0, ImagePtr(st::msgBG0), ImagePtr(st::msgBG0)));
const QVector<MTPWallPaper> &v(result.c_vector().v);
for (int i = 0, l = v.size(); i < l; ++i) {
const MTPWallPaper w(v.at(i));
@@ -78,7 +78,7 @@ void BackgroundInner::gotWallpapers(const MTPVector<MTPWallPaper> &result) {
}
}
if (thumb && full && full->type() != mtpc_photoSizeEmpty) {
wallpapers.push_back(App::WallPaper(d.vid.v, App::image(*thumb), App::image(*full)));
wallpapers.push_back(App::WallPaper(d.vid.v ? d.vid.v : INT_MAX, App::image(*thumb), App::image(*full)));
}
} break;

View File

@@ -49,26 +49,31 @@ void ConfirmBox::init(const QString &text) {
_text.setText(st::boxFont, text, (_infoMsg ? _confirmBoxTextOptions : _textPlainOptions));
_textWidth = st::boxWidth - st::boxPadding.left() - st::boxPadding.right();
_textHeight = _text.countHeight(_textWidth);
_textHeight = qMin(_text.countHeight(_textWidth), 16 * st::boxFont->height);
setMaxHeight(st::boxPadding.top() + _textHeight + st::boxPadding.bottom() + (_infoMsg ? _close.height() : _confirm.height()));
if (_infoMsg) {
_confirm.hide();
_cancel.hide();
connect(&_close, SIGNAL(clicked()), this, SLOT(onClose()));
connect(&_close, SIGNAL(clicked()), this, SLOT(onCancel()));
setMouseTracking(_text.hasLinks());
} else {
_close.hide();
connect(&_confirm, SIGNAL(clicked()), this, SIGNAL(confirmed()));
connect(&_cancel, SIGNAL(clicked()), this, SLOT(onClose()));
connect(&_cancel, SIGNAL(clicked()), this, SLOT(onCancel()));
}
prepare();
}
void ConfirmBox::onCancel() {
emit cancelPressed();
onClose();
}
void ConfirmBox::mouseMoveEvent(QMouseEvent *e) {
_lastMousePos = e->globalPos();
updateHover();
@@ -166,7 +171,7 @@ void ConfirmBox::paintEvent(QPaintEvent *e) {
// draw box title / text
p.setFont(st::boxFont->f);
p.setPen(st::black->p);
_text.draw(p, st::boxPadding.left(), st::boxPadding.top(), _textWidth, (_text.maxWidth() < width()) ? style::al_center : style::al_left);
_text.drawElided(p, st::boxPadding.left(), st::boxPadding.top(), _textWidth, 16, (_text.maxWidth() < width()) ? style::al_center : style::al_left);
}
void ConfirmBox::resizeEvent(QResizeEvent *e) {
@@ -177,3 +182,16 @@ void ConfirmBox::resizeEvent(QResizeEvent *e) {
_cancel.move(0, st::boxPadding.top() + _textHeight + st::boxPadding.bottom());
}
}
ConfirmLinkBox::ConfirmLinkBox(const QString &url) : ConfirmBox(lang(lng_open_this_link) + qsl("\n\n") + url, lang(lng_open_link)), _url(url) {
connect(this, SIGNAL(confirmed()), this, SLOT(onOpenLink()));
}
void ConfirmLinkBox::onOpenLink() {
if (reMailStart().match(_url).hasMatch()) {
EmailLink(_url).onClick(Qt::LeftButton);
} else {
TextLink(_url).onClick(Qt::LeftButton);
}
App::wnd()->hideLayer();
}

View File

@@ -35,10 +35,15 @@ public:
void leaveEvent(QEvent *e);
void updateLink();
public slots:
void onCancel();
signals:
void confirmed();
void cancelled();
void cancelPressed();
protected:
@@ -62,3 +67,20 @@ private:
QPoint _lastMousePos;
TextLinkPtr _myLink;
};
class ConfirmLinkBox : public ConfirmBox {
Q_OBJECT
public:
ConfirmLinkBox(const QString &url);
public slots:
void onOpenLink();
private:
QString _url;
};

View File

@@ -33,7 +33,8 @@ ConnectionBox::ConnectionBox() :
_passwordInput(this, st::inpConnectionPassword, lang(lng_connection_password_ph), cConnectionProxy().password),
_autoRadio(this, qsl("conn_type"), dbictAuto, lang(lng_connection_auto_rb), (cConnectionType() == dbictAuto)),
_httpProxyRadio(this, qsl("conn_type"), dbictHttpProxy, lang(lng_connection_http_proxy_rb), (cConnectionType() == dbictHttpProxy)),
_tcpProxyRadio(this, qsl("conn_type"), dbictTcpProxy, lang(lng_connection_tcp_proxy_rb), (cConnectionType() == dbictTcpProxy)) {
_tcpProxyRadio(this, qsl("conn_type"), dbictTcpProxy, lang(lng_connection_tcp_proxy_rb), (cConnectionType() == dbictTcpProxy)),
_tryIPv6(this, lang(lng_connection_try_ipv6), cTryIPv6()) {
connect(&_saveButton, SIGNAL(clicked()), this, SLOT(onSave()));
connect(&_cancelButton, SIGNAL(clicked()), this, SLOT(onClose()));
@@ -51,6 +52,7 @@ void ConnectionBox::hideAll() {
_autoRadio.hide();
_httpProxyRadio.hide();
_tcpProxyRadio.hide();
_tryIPv6.hide();
_hostInput.hide();
_portInput.hide();
@@ -65,8 +67,9 @@ void ConnectionBox::showAll() {
_autoRadio.show();
_httpProxyRadio.show();
_tcpProxyRadio.show();
_tryIPv6.show();
int32 h = st::boxTitleHeight + st::connectionSkip + _autoRadio.height() + st::connectionSkip + _httpProxyRadio.height() + st::connectionSkip + _tcpProxyRadio.height() + st::connectionSkip;
int32 h = st::boxTitleHeight + st::connectionSkip + _autoRadio.height() + st::connectionSkip + _httpProxyRadio.height() + st::connectionSkip + _tcpProxyRadio.height() + st::connectionSkip + st::lineWidth + st::connectionSkip + _tryIPv6.height() + st::connectionSkip;
if (_httpProxyRadio.checked() || _tcpProxyRadio.checked()) {
h += 2 * st::boxPadding.top() + 2 * _hostInput.height();
_hostInput.show();
@@ -99,6 +102,9 @@ void ConnectionBox::paintEvent(QPaintEvent *e) {
paintTitle(p, lang(lng_connection_header), true);
// paint separator
p.fillRect(st::boxPadding.left(), _tryIPv6.y() - st::connectionSkip - st::lineWidth, width() - st::boxPadding.left() - st::boxPadding.right(), st::lineWidth, st::scrollDef.shColor->b);
// paint shadow
p.fillRect(0, height() - st::btnSelectCancel.height - st::scrollDef.bottomsh, width(), st::scrollDef.bottomsh, st::scrollDef.shColor->b);
@@ -128,10 +134,11 @@ void ConnectionBox::resizeEvent(QResizeEvent *e) {
_passwordInput.move(width() - st::boxPadding.right() - _passwordInput.width(), _userInput.y());
}
int32 buttony = (_tcpProxyRadio.checked() ? (_userInput.y() + _userInput.height()) : (_tcpProxyRadio.y() + _tcpProxyRadio.height())) + st::connectionSkip;
int32 tryipv6y = (_tcpProxyRadio.checked() ? (_userInput.y() + _userInput.height()) : (_tcpProxyRadio.y() + _tcpProxyRadio.height())) + st::connectionSkip + st::lineWidth + st::connectionSkip;
_tryIPv6.move(st::boxPadding.left(), tryipv6y);
_saveButton.move(width() - _saveButton.width(), buttony);
_cancelButton.move(0, buttony);
_saveButton.move(width() - _saveButton.width(), _tryIPv6.y() + _tryIPv6.height() + st::connectionSkip);
_cancelButton.move(0, _saveButton.y());
}
void ConnectionBox::onChange() {
@@ -172,8 +179,17 @@ void ConnectionBox::onSave() {
QNetworkProxyFactory::setUseSystemConfiguration(false);
QNetworkProxyFactory::setUseSystemConfiguration(true);
}
Local::writeSettings();
MTP::restart();
reinitImageLinkManager();
emit closed();
if (cPlatform() == dbipWindows && cTryIPv6() != _tryIPv6.checked()) {
cSetTryIPv6(_tryIPv6.checked());
Local::writeSettings();
cSetRestarting(true);
cSetRestartingToSettings(true);
App::quit();
} else {
cSetTryIPv6(_tryIPv6.checked());
Local::writeSettings();
MTP::restart();
reinitImageLinkManager();
emit closed();
}
}

View File

@@ -47,4 +47,5 @@ private:
PortInput _portInput;
FlatInput _userInput, _passwordInput;
FlatRadiobutton _autoRadio, _httpProxyRadio, _tcpProxyRadio;
FlatCheckbox _tryIPv6;
};

View File

@@ -23,7 +23,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
#include "mainwidget.h"
#include "window.h"
ContactsInner::ContactsInner(bool creatingChat) : _chat(0), _creatingChat(creatingChat),
#include "confirmbox.h"
ContactsInner::ContactsInner(bool creatingChat) : _chat(0), _bot(0), _creatingChat(creatingChat), _addToChat(0),
_contacts(&App::main()->contactsList()),
_sel(0),
_filteredSel(-1),
@@ -35,7 +37,7 @@ _addContactLnk(this, lang(lng_add_contact_button)) {
init();
}
ContactsInner::ContactsInner(ChatData *chat) : _chat(chat), _creatingChat(false),
ContactsInner::ContactsInner(ChatData *chat) : _chat(chat), _bot(0), _creatingChat(false), _addToChat(0),
_contacts(&App::main()->contactsList()),
_sel(0),
_filteredSel(-1),
@@ -47,6 +49,24 @@ _addContactLnk(this, lang(lng_add_contact_button)) {
init();
}
ContactsInner::ContactsInner(UserData *bot) : _chat(0), _bot(bot), _creatingChat(false), _addToChat(0),
_contacts(new DialogsIndexed(DialogsSortByAdd)),
_sel(0),
_filteredSel(-1),
_mouseSel(false),
_selCount(0),
_searching(false),
_byUsernameSel(-1),
_addContactLnk(this, lang(lng_add_contact_button)) {
DialogsIndexed &v(App::main()->dialogsList());
for (DialogRow *r = v.list.begin; r != v.list.end; r = r->next) {
if (r->history->peer->chat && !r->history->peer->asChat()->forbidden && !r->history->peer->asChat()->left) {
_contacts->addToEnd(r->history);
}
}
init();
}
void ContactsInner::init() {
connect(&_addContactLnk, SIGNAL(clicked()), App::wnd(), SLOT(onShowAddContact()));
@@ -59,13 +79,32 @@ void ContactsInner::init() {
connect(App::main(), SIGNAL(dialogRowReplaced(DialogRow *, DialogRow *)), this, SLOT(onDialogRowReplaced(DialogRow *, DialogRow *)));
connect(App::main(), SIGNAL(peerUpdated(PeerData*)), this, SLOT(peerUpdated(PeerData *)));
connect(App::main(), SIGNAL(peerNameChanged(PeerData *, const PeerData::Names &, const PeerData::NameFirstChars &)), this, SLOT(peerUpdated(PeerData *)));
connect(App::main(), SIGNAL(peerNameChanged(PeerData *, const PeerData::Names &, const PeerData::NameFirstChars &)), this, SLOT(onPeerNameChanged(PeerData *, const PeerData::Names &, const PeerData::NameFirstChars &)));
connect(App::main(), SIGNAL(peerPhotoChanged(PeerData *)), this, SLOT(peerUpdated(PeerData *)));
}
void ContactsInner::onPeerNameChanged(PeerData *peer, const PeerData::Names &oldNames, const PeerData::NameFirstChars &oldChars) {
if (bot()) {
_contacts->peerNameChanged(peer, oldNames, oldChars);
}
peerUpdated(peer);
}
void ContactsInner::onAddBot() {
if (_bot->botInfo && !_bot->botInfo->startGroupToken.isEmpty()) {
uint64 randomId = MTP::nonce<uint64>();
MTP::send(MTPmessages_StartBot(_bot->inputUser, MTP_int(App::chatFromPeer(_addToChat->id)), MTP_long(randomId), MTP_string(_bot->botInfo->startGroupToken)), App::main()->rpcDone(&MainWidget::sentUpdatesReceived), App::main()->rpcFail(&MainWidget::addParticipantFail, _bot));
App::wnd()->hideLayer();
App::main()->showPeerHistory(_addToChat->id, ShowAtUnreadMsgId);
} else {
App::main()->addParticipants(_addToChat, QVector<UserData*>(1, _bot));
}
}
void ContactsInner::peerUpdated(PeerData *peer) {
if (_chat && (!peer || peer == _chat)) {
if (_chat->forbidden) {
if (_chat->forbidden || _chat->left) {
App::wnd()->hideLayer();
} else if (!_chat->participants.isEmpty() || _chat->count <= 0) {
for (ContactsData::iterator i = _contactsData.begin(), e = _contactsData.end(); i != e; ++i) {
@@ -81,8 +120,8 @@ void ContactsInner::peerUpdated(PeerData *peer) {
}
}
}
} else if (!peer->chat) {
ContactsData::iterator i = _contactsData.find(peer->asUser());
} else {
ContactsData::iterator i = _contactsData.find(peer);
if (i != _contactsData.cend()) {
for (DialogRow *row = _contacts->list.begin; row->next; row = row->next) {
if (row->attached == i.value()) row->attached = 0;
@@ -136,14 +175,23 @@ void ContactsInner::loadProfilePhotos(int32 yFrom) {
ContactsInner::ContactData *ContactsInner::contactData(DialogRow *row) {
ContactData *data = (ContactData*)row->attached;
if (!data) {
UserData *user = row->history->peer->asUser();
ContactsData::const_iterator i = _contactsData.constFind(user);
PeerData *peer = row->history->peer;
ContactsData::const_iterator i = _contactsData.constFind(peer);
if (i == _contactsData.cend()) {
_contactsData.insert(user, data = new ContactData());
data->inchat = _chat ? _chat->participants.contains(user) : false;
data->check = false;
data->name.setText(st::profileListNameFont, user->name, _textNameOptions);
data->online = App::onlineText(user, _time);
_contactsData.insert(peer, data = new ContactData());
data->inchat = (_chat && !peer->chat) ? _chat->participants.contains(peer->asUser()) : false;
data->check = _checkedContacts.contains(peer);
data->name.setText(st::profileListNameFont, peer->name, _textNameOptions);
if (peer->chat) {
ChatData *chat = peer->asChat();
if (chat->forbidden || chat->left) {
data->online = lang(lng_chat_status_unaccessible);
} else {
data->online = lng_chat_status_members(lt_count, chat->count);
}
} else {
data->online = App::onlineText(peer->asUser(), _time);
}
} else {
data = i.value();
}
@@ -152,9 +200,11 @@ ContactsInner::ContactData *ContactsInner::contactData(DialogRow *row) {
return data;
}
void ContactsInner::paintDialog(QPainter &p, UserData *user, ContactData *data, bool sel) {
void ContactsInner::paintDialog(QPainter &p, PeerData *peer, ContactData *data, bool sel) {
int32 left = st::profileListPadding.width();
UserData *user = peer->chat ? 0 : peer->asUser();
if (data->inchat || data->check || _selCount + (_chat ? _chat->count : 0) >= cMaxGroupCount()) {
sel = false;
}
@@ -163,7 +213,7 @@ void ContactsInner::paintDialog(QPainter &p, UserData *user, ContactData *data,
p.fillRect(0, 0, width(), 2 * st::profileListPadding.height() + st::profileListPhotoSize, ((data->inchat || data->check) ? st::profileActiveBG : st::profileHoverBG)->b);
}
p.drawPixmap(left, st::profileListPadding.height(), user->photo->pix(st::profileListPhotoSize));
p.drawPixmap(left, st::profileListPadding.height(), peer->photo->pix(st::profileListPhotoSize));
if (data->inchat || data->check) {
p.setPen(st::white->p);
@@ -181,8 +231,7 @@ void ContactsInner::paintDialog(QPainter &p, UserData *user, ContactData *data,
p.drawPixmap(QPoint(width() - st::contactsImg.pxWidth() - st::profileCheckDeltaX, st::profileListPadding.height() + (st::profileListPhotoSize - st::contactsImg.pxHeight()) / 2 - st::profileCheckDeltaY), App::sprite(), st::contactsImg);
}
bool uname = (data->online.at(0) == '@');
bool uname = user && (data->online.at(0) == '@');
p.setFont(st::profileSubFont->f);
if (uname && !data->inchat && !data->check && !_lastQuery.isEmpty() && user->username.startsWith(_lastQuery, Qt::CaseInsensitive)) {
int32 availw = width() - (left + st::profileListPhotoSize + st::profileListPadding.width() * 2);
@@ -200,8 +249,10 @@ void ContactsInner::paintDialog(QPainter &p, UserData *user, ContactData *data,
} else {
if (data->inchat || data->check) {
p.setPen(st::white->p);
} else if (user && (uname || App::onlineColorUse(user, _time))) {
p.setPen(st::profileOnlineColor->p);
} else {
p.setPen(((uname || App::onlineColorUse(user->onlineTill, _time)) ? st::profileOnlineColor : st::profileOfflineColor)->p);
p.setPen(st::profileOfflineColor->p);
}
p.drawText(left + st::profileListPhotoSize + st::profileListPadding.width(), st::profileListPadding.height() + st::profileListPhotoSize - st::profileListStatusBottom, data->online);
}
@@ -224,7 +275,7 @@ void ContactsInner::paintEvent(QPaintEvent *e) {
DialogRow *drawFrom = _contacts->list.current;
p.translate(0, drawFrom->pos * rh);
while (drawFrom != _contacts->list.end && drawFrom->pos * rh < yTo) {
paintDialog(p, drawFrom->history->peer->asUser(), contactData(drawFrom), (drawFrom == _sel));
paintDialog(p, drawFrom->history->peer, contactData(drawFrom), (drawFrom == _sel));
p.translate(0, rh);
drawFrom = drawFrom->next;
}
@@ -253,13 +304,29 @@ void ContactsInner::paintEvent(QPaintEvent *e) {
} else {
p.setFont(st::noContactsFont->f);
p.setPen(st::noContactsColor->p);
p.drawText(QRect(0, 0, width(), st::noContactsHeight - ((cContactsReceived() && !_searching) ? st::noContactsFont->height : 0)), lang((cContactsReceived() && !_searching) ? lng_no_contacts : lng_contacts_loading), style::al_center);
QString text;
int32 skip = 0;
if (bot()) {
text = lang(cDialogsReceived() ? lng_bot_no_groups : lng_contacts_loading);
} else if (cContactsReceived() && !_searching) {
text = lang(lng_no_contacts);
skip = st::noContactsFont->height;
} else {
text = lang(lng_contacts_loading);
}
p.drawText(QRect(0, 0, width(), st::noContactsHeight - skip), text, style::al_center);
}
} else {
if (_filtered.isEmpty() && _byUsernameFiltered.isEmpty()) {
p.setFont(st::noContactsFont->f);
p.setPen(st::noContactsColor->p);
p.drawText(QRect(0, 0, width(), st::noContactsHeight), lang((cContactsReceived() && !_searching) ? lng_contacts_not_found : lng_contacts_loading), style::al_center);
QString text;
if (bot()) {
text = lang(cDialogsReceived() ? lng_bot_groups_not_found : lng_contacts_loading);
} else {
text = lang((cContactsReceived() && !_searching) ? lng_contacts_not_found : lng_contacts_loading);
}
p.drawText(QRect(0, 0, width(), st::noContactsHeight), text, style::al_center);
} else {
if (!_filtered.isEmpty()) {
int32 from = (yFrom >= 0) ? (yFrom / rh) : 0;
@@ -269,7 +336,7 @@ void ContactsInner::paintEvent(QPaintEvent *e) {
p.translate(0, from * rh);
for (; from < to; ++from) {
paintDialog(p, _filtered[from]->history->peer->asUser(), contactData(_filtered[from]), (_filteredSel == from));
paintDialog(p, _filtered[from]->history->peer, contactData(_filtered[from]), (_filteredSel == from));
p.translate(0, rh);
}
}
@@ -334,7 +401,7 @@ void ContactsInner::chooseParticipant() {
if (_filter.isEmpty()) {
if (_byUsernameSel >= 0 && _byUsernameSel < _byUsername.size()) {
if (d_byUsername[_byUsernameSel]->inchat) return;
changeCheckState(d_byUsername[_byUsernameSel]);
changeCheckState(d_byUsername[_byUsernameSel], _byUsername[_byUsernameSel]);
} else {
if (!_sel || contactData(_sel)->inchat) return;
changeCheckState(_sel);
@@ -342,7 +409,7 @@ void ContactsInner::chooseParticipant() {
} else {
if (_byUsernameSel >= 0 && _byUsernameSel < _byUsernameFiltered.size()) {
if (d_byUsernameFiltered[_byUsernameSel]->inchat) return;
changeCheckState(d_byUsernameFiltered[_byUsernameSel]);
changeCheckState(d_byUsernameFiltered[_byUsernameSel], _byUsernameFiltered[_byUsernameSel]);
ContactData *moving = d_byUsernameFiltered[_byUsernameSel];
int32 i = 0, l = d_byUsername.size();
@@ -371,40 +438,49 @@ void ContactsInner::chooseParticipant() {
}
} else {
int32 rh = st::profileListPhotoSize + st::profileListPadding.height() * 2, from;
PeerId peer = 0;
PeerData *peer = 0;
if (_filter.isEmpty()) {
if (_byUsernameSel >= 0 && _byUsernameSel < _byUsername.size()) {
peer = _byUsername[_byUsernameSel]->id;
} else {
peer = _sel ? _sel->history->peer->id : 0;
peer = _byUsername[_byUsernameSel];
} else if (_sel) {
peer = _sel->history->peer;
}
} else {
if (_byUsernameSel >= 0 && _byUsernameSel < _byUsernameFiltered.size()) {
peer = _byUsernameFiltered[_byUsernameSel]->id;
peer = _byUsernameFiltered[_byUsernameSel];
} else {
if (_filteredSel < 0 || _filteredSel >= _filtered.size()) return;
peer = _filtered[_filteredSel]->history->peer->id;
peer = _filtered[_filteredSel]->history->peer;
}
}
if (peer) {
App::wnd()->hideSettings(true);
App::main()->showPeer(peer, 0, false, true);
App::wnd()->hideLayer();
if (bot() && peer->chat) {
_addToChat = peer->asChat();
ConfirmBox *box = new ConfirmBox(lng_bot_sure_invite(lt_group, peer->name));
connect(box, SIGNAL(confirmed()), this, SLOT(onAddBot()));
App::wnd()->replaceLayer(box);
} else {
App::wnd()->hideSettings(true);
App::main()->choosePeer(peer->id, ShowAtUnreadMsgId);
App::wnd()->hideLayer();
}
}
}
parentWidget()->update();
}
void ContactsInner::changeCheckState(DialogRow *row) {
changeCheckState(contactData(row));
changeCheckState(contactData(row), row->history->peer);
}
void ContactsInner::changeCheckState(ContactData *data) {
void ContactsInner::changeCheckState(ContactData *data, PeerData *peer) {
if (data->check) {
data->check = false;
_checkedContacts.remove(peer);
--_selCount;
} else if (_selCount + (_chat ? _chat->count : 0) < cMaxGroupCount()) {
data->check = true;
_checkedContacts.insert(peer, true);
++_selCount;
}
}
@@ -562,8 +638,10 @@ void ContactsInner::updateFilter(QString filter) {
refresh();
_searching = true;
emit searchByUsername();
if (!bot()) {
_searching = true;
emit searchByUsername();
}
}
if (parentWidget()) parentWidget()->update();
loadProfilePhotos(0);
@@ -612,10 +690,12 @@ void ContactsInner::peopleReceived(const QString &query, const QVector<MTPContac
}
if (j == already) {
UserData *u = App::user(uid);
if (u->botInfo && u->botInfo->cantJoinGroups && (_chat || _creatingChat)) continue; // skip bot's that can't be invited to groups
ContactData *d = new ContactData();
_byUsernameDatas.push_back(d);
d->inchat = _chat ? _chat->participants.contains(u) : false;
d->check = false;
d->check = _checkedContacts.contains(u);
d->name.setText(st::profileListNameFont, u->name, _textNameOptions);
d->online = '@' + u->username;
@@ -634,7 +714,7 @@ void ContactsInner::refresh() {
if (!_addContactLnk.isHidden()) _addContactLnk.hide();
resize(width(), (_contacts->list.count * rh) + (_byUsername.isEmpty() ? 0 : (st::searchedBarHeight + _byUsername.size() * rh)));
} else {
if (cContactsReceived()) {
if (cContactsReceived() && !bot()) {
if (_addContactLnk.isHidden()) _addContactLnk.show();
} else {
if (!_addContactLnk.isHidden()) _addContactLnk.hide();
@@ -656,6 +736,10 @@ ChatData *ContactsInner::chat() const {
return _chat;
}
UserData *ContactsInner::bot() const {
return _bot;
}
bool ContactsInner::creatingChat() const {
return _creatingChat;
}
@@ -664,6 +748,10 @@ ContactsInner::~ContactsInner() {
for (ContactsData::iterator i = _contactsData.begin(), e = _contactsData.end(); i != e; ++i) {
delete *i;
}
if (_bot) {
delete _contacts;
if (_bot->botInfo) _bot->botInfo->startGroupToken = QString();
}
}
void ContactsInner::resizeEvent(QResizeEvent *e) {
@@ -794,10 +882,15 @@ void ContactsInner::selectSkipPage(int32 h, int32 dir) {
QVector<UserData*> ContactsInner::selected() {
QVector<UserData*> result;
for (DialogRow *row = _contacts->list.begin; row->next; row = row->next) {
if (_checkedContacts.contains(row->history->peer)) {
contactData(row); // fill _contactsData
}
}
result.reserve(_contactsData.size());
for (ContactsData::const_iterator i = _contactsData.cbegin(), e = _contactsData.cend(); i != e; ++i) {
if (i.value()->check) {
result.push_back(i.key());
if (i.value()->check && !i.key()->chat) {
result.push_back(i.key()->asUser());
}
}
for (int32 i = 0, l = _byUsername.size(); i < l; ++i) {
@@ -810,10 +903,15 @@ QVector<UserData*> ContactsInner::selected() {
QVector<MTPInputUser> ContactsInner::selectedInputs() {
QVector<MTPInputUser> result;
for (DialogRow *row = _contacts->list.begin; row->next; row = row->next) {
if (_checkedContacts.contains(row->history->peer)) {
contactData(row); // fill _contactsData
}
}
result.reserve(_contactsData.size());
for (ContactsData::const_iterator i = _contactsData.cbegin(), e = _contactsData.cend(); i != e; ++i) {
if (i.value()->check) {
result.push_back(i.key()->inputUser);
if (i.value()->check && !i.key()->chat) {
result.push_back(i.key()->asUser()->inputUser);
}
}
for (int32 i = 0, l = _byUsername.size(); i < l; ++i) {
@@ -825,6 +923,11 @@ QVector<MTPInputUser> ContactsInner::selectedInputs() {
}
PeerData *ContactsInner::selectedUser() {
for (DialogRow *row = _contacts->list.begin; row->next; row = row->next) {
if (_checkedContacts.contains(row->history->peer)) {
contactData(row); // fill _contactsData
}
}
for (ContactsData::const_iterator i = _contactsData.cbegin(), e = _contactsData.cend(); i != e; ++i) {
if (i.value()->check) {
return i.key();
@@ -854,6 +957,14 @@ _cancel(this, lang(lng_cancel), st::btnSelectCancel) {
init();
}
ContactsBox::ContactsBox(UserData *bot) : ItemListBox(st::boxNoTopScroll), _inner(bot),
_addContact(this, lang(lng_add_contact_button), st::contactsAdd),
_filter(this, st::contactsFilter, lang(lng_participant_filter)),
_next(this, lang(lng_create_group_next), st::btnSelectDone),
_cancel(this, lang(lng_cancel), st::contactsClose) {
init();
}
void ContactsBox::init() {
ItemListBox::init(&_inner, _cancel.height(), st::contactsAdd.height + st::newGroupNamePadding.top() + _filter.height() + st::newGroupNamePadding.bottom());
@@ -961,14 +1072,17 @@ void ContactsBox::hideAll() {
void ContactsBox::showAll() {
ItemListBox::showAll();
_addContact.show();
_filter.show();
if (_inner.chat() || _inner.creatingChat()) {
_next.show();
_addContact.hide();
} else {
_next.hide();
_addContact.show();
if (_inner.bot()) {
_addContact.hide();
} else {
_addContact.show();
}
}
_cancel.show();
}
@@ -1010,6 +1124,8 @@ void ContactsBox::paintEvent(QPaintEvent *e) {
// paint button sep
p.fillRect(st::btnSelectCancel.width, size().height() - st::btnSelectCancel.height, st::lineWidth, st::btnSelectCancel.height, st::btnSelectSep->b);
} else if (_inner.bot()) {
paintTitle(p, lang(lng_bot_choose_group), true);
} else {
paintTitle(p, lang(lng_contacts_header), true);
}
@@ -1050,7 +1166,7 @@ void ContactsBox::onNext() {
_filter.setFocus();
_filter.notaBene();
} else if (v.size() == 1) {
App::main()->showPeer(_inner.selectedUser()->id);
App::main()->showPeerHistory(_inner.selectedUser()->id, ShowAtUnreadMsgId);
} else {
App::wnd()->replaceLayer(new CreateGroupBox(users));
}
@@ -1155,16 +1271,18 @@ void CreateGroupBox::created(const MTPUpdates &updates) {
} break;
case mtpc_updateShortChatMessage: {
} break;
case mtpc_updateShortSentMessage: {
} break;
case mtpc_updatesTooLong: {
} break;
}
if (v && !v->isEmpty() && v->front().type() == mtpc_chat) {
App::main()->showPeer(App::peerFromChat(v->front().c_chat().vid.v));
App::main()->choosePeer(App::peerFromChat(v->front().c_chat().vid.v), ShowAtUnreadMsgId);
}
}
bool CreateGroupBox::failed(const RPCError &error) {
if (error.type().startsWith(qsl("FLOOD_WAIT_"))) return false;
if (mtpIsFlood(error)) return false;
_createRequestId = 0;
if (error.type() == "NO_CHAT_TITLE") {
@@ -1173,6 +1291,10 @@ bool CreateGroupBox::failed(const RPCError &error) {
} else if (error.type() == "USERS_TOO_FEW") {
emit closed();
return true;
} else if (error.type() == "PEER_FLOOD") {
emit closed();
App::wnd()->showLayer(new ConfirmBox(lng_cant_invite_not_contact(lt_more_info, textcmdLink(qsl("https://telegram.org/faq?_hash=can-39t-send-messages-to-non-contacts"), lang(lng_cant_more_info)))), true);
return true;
}
return false;
}

View File

@@ -30,6 +30,7 @@ public:
ContactsInner(bool creatingChat);
ContactsInner(ChatData *chat);
ContactsInner(UserData *bot);
void init();
void paintEvent(QPaintEvent *e);
@@ -39,7 +40,7 @@ public:
void mousePressEvent(QMouseEvent *e);
void resizeEvent(QResizeEvent *e);
void paintDialog(QPainter &p, UserData *user, ContactData *data, bool sel);
void paintDialog(QPainter &p, PeerData *peer, ContactData *data, bool sel);
void updateFilter(QString filter = QString());
void selectSkip(int32 dir);
@@ -52,13 +53,14 @@ public:
void loadProfilePhotos(int32 yFrom);
void chooseParticipant();
void changeCheckState(DialogRow *row);
void changeCheckState(ContactData *data);
void changeCheckState(ContactData *data, PeerData *peer);
void peopleReceived(const QString &query, const QVector<MTPContactFound> &people);
void refresh();
ChatData *chat() const;
UserData *bot() const;
bool creatingChat() const;
~ContactsInner();
@@ -75,11 +77,17 @@ public slots:
void updateSel();
void peerUpdated(PeerData *peer);
void onPeerNameChanged(PeerData *peer, const PeerData::Names &oldNames, const PeerData::NameFirstChars &oldChars);
void onAddBot();
private:
ChatData *_chat;
UserData *_bot;
bool _creatingChat;
ChatData *_addToChat;
int32 _time;
@@ -99,8 +107,10 @@ private:
bool inchat;
bool check;
};
typedef QMap<UserData*, ContactData*> ContactsData;
typedef QMap<PeerData*, ContactData*> ContactsData;
ContactsData _contactsData;
typedef QMap<PeerData*, bool> CheckedContacts;
CheckedContacts _checkedContacts;
ContactData *contactData(DialogRow *row);
@@ -125,6 +135,7 @@ public:
ContactsBox(bool creatingChat = false);
ContactsBox(ChatData *chat);
ContactsBox(UserData *bot);
void keyPressEvent(QKeyEvent *e);
void paintEvent(QPaintEvent *e);
void resizeEvent(QResizeEvent *e);

View File

@@ -68,12 +68,12 @@ namespace {
const uint32 replacesCount = sizeof(replaces) / sizeof(EmojiReplace), replacesInRow = 7;
}
EmojiBox::EmojiBox() : _done(this, lang(lng_about_done), st::aboutCloseButton) {
EmojiBox::EmojiBox() : _esize(EmojiSizes[EIndex + 1]), _done(this, lang(lng_about_done), st::aboutCloseButton) {
fillBlocks();
_blockHeight = st::emojiReplaceInnerHeight;
resizeMaxHeight(_blocks[0].size() * st::emojiReplaceWidth + (st::emojiReplaceWidth - st::emojiSize), st::boxPadding.top() + st::boxFont->height + _blocks.size() * st::emojiReplaceHeight + (st::emojiReplaceHeight - _blockHeight) + _done.height());
resizeMaxHeight(_blocks[0].size() * st::emojiReplaceWidth + (st::emojiReplaceWidth - _esize), st::boxPadding.top() + st::boxFont->height + _blocks.size() * st::emojiReplaceHeight + (st::emojiReplaceHeight - _blockHeight) + _done.height());
connect(&_done, SIGNAL(clicked()), this, SLOT(onClose()));
@@ -84,7 +84,21 @@ void EmojiBox::fillBlocks() {
BlockRow currentRow;
currentRow.reserve(replacesInRow);
for (uint32 i = 0; i < replacesCount; ++i) {
Block block(getEmoji(replaces[i].code), QString::fromUtf8(replaces[i].replace));
EmojiPtr emoji = emojiGet(replaces[i].code);
if (!emoji || emoji == TwoSymbolEmoji) continue;
if (emoji->color) {
EmojiColorVariants::const_iterator it = cEmojiVariants().constFind(emoji->code);
if (it != cEmojiVariants().cend()) {
EmojiPtr replace = emojiFromKey(it.value());
if (replace) {
if (replace != TwoSymbolEmoji && replace->code == emoji->code && replace->code2 == emoji->code2) {
emoji = replace;
}
}
}
}
Block block(emoji, QString::fromUtf8(replaces[i].replace));
currentRow.push_back(block);
if (uint32(currentRow.size()) == replacesInRow) {
_blocks.push_back(currentRow);
@@ -125,8 +139,7 @@ void EmojiBox::paintEvent(QPaintEvent *e) {
int32 rowSize = i->size(), left = (width() - rowSize * st::emojiReplaceWidth) / 2;
for (BlockRow::const_iterator j = i->cbegin(), en = i->cend(); j != en; ++j) {
if (j->emoji) {
QPoint pos(left + (st::emojiReplaceWidth - st::emojiSize) / 2, top + (st::emojiReplaceHeight - _blockHeight) / 2);
p.drawPixmap(pos, App::emojis(), QRect(j->emoji->x, j->emoji->y, st::emojiImgSize, st::emojiImgSize));
p.drawPixmap(QPoint(left + (st::emojiReplaceWidth - _esize) / 2, top + (st::emojiReplaceHeight - _blockHeight) / 2), App::emojisLarge(), QRect(j->emoji->x * _esize, j->emoji->y * _esize, _esize, _esize));
}
QRect trect(left, top + (st::emojiReplaceHeight + _blockHeight) / 2 - st::emojiTextFont->height, st::emojiReplaceWidth, st::emojiTextFont->height);
p.drawText(trect, j->text, QTextOption(Qt::AlignHCenter | Qt::AlignTop));

View File

@@ -38,6 +38,7 @@ private:
void fillBlocks();
int32 _esize;
BottomButton _done;
int32 _blockHeight;

View File

@@ -61,7 +61,8 @@ PhotoSendBox::PhotoSendBox(const ReadyLocalMedia &img) : _img(new ReadyLocalMedi
}
resizeMaxHeight(st::boxWidth, _thumbh + st::boxPadding.top() + st::boxFont->height + st::boxPadding.bottom() + st::boxPadding.bottom() + _compressed.height() + _sendButton.height());
_thumb = QPixmap::fromImage(_thumb.toImage().scaled(_thumbw, _thumbh, Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::ColorOnly);
_thumb = QPixmap::fromImage(_thumb.toImage().scaled(_thumbw * cIntRetinaFactor(), _thumbh * cIntRetinaFactor(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation), Qt::ColorOnly);
_thumb.setDevicePixelRatio(cRetinaFactor());
} else {
_compressed.hide();
if (!_img->photoThumbs.isEmpty()) {
@@ -147,8 +148,7 @@ void PhotoSendBox::paintEvent(QPaintEvent *e) {
}
int32 x = (width() - w) / 2, y = st::boxPadding.top() * 2 + st::boxFont->height;
p.fillRect(QRect(x, y, w, h), st::msgOutBG->b);
p.fillRect(x, y + h, w, st::msgShadow, st::msgOutShadow->b);
App::roundRect(p, x, y, w, h, st::msgOutBg, MessageOutCorners, &st::msgOutShadow);
if (_thumbw) {
int32 rf(cIntRetinaFactor());
p.drawPixmap(QPoint(x + st::mediaPadding.left(), y + st::mediaPadding.top()), _thumb, QRect(_thumbx * rf, _thumby * rf, st::mediaThumbSize * rf, st::mediaThumbSize * rf));
@@ -190,7 +190,11 @@ void PhotoSendBox::hideAll() {
void PhotoSendBox::showAll() {
_sendButton.show();
_cancelButton.show();
_compressed.show();
if (_img && _img->type == ToPreparePhoto) {
_compressed.show();
} else {
_compressed.hide();
}
}
void PhotoSendBox::onSend(bool ctrlShiftEnter) {

View File

@@ -37,7 +37,7 @@ void SessionsInner::paintEvent(QPaintEvent *e) {
p.fillRect(r, st::white->b);
p.setFont(st::linkFont->f);
int32 x = st::sessionPadding.left(), xact = st::sessionTerminateSkip + st::sessionTerminate.iconPos.x();// st::sessionTerminateSkip + st::sessionTerminate.width + st::sessionTerminateSkip;
int32 w = width() - 2 * x, availw = width() - 2 * xact;
int32 w = width();
int32 from = (r.top() >= 0) ? qFloor(r.top() / st::sessionHeight) : 0, count = _list->size();
if (from < count) {
int32 to = (r.bottom() >= 0 ? qFloor(r.bottom() / st::sessionHeight) : 0) + 1;
@@ -52,7 +52,7 @@ void SessionsInner::paintEvent(QPaintEvent *e) {
p.setFont(st::sessionActiveFont->f);
p.setPen(st::sessionActiveColor->p);
p.drawTextRight(xact, st::sessionPadding.top(), availw, auth.active, auth.activeWidth);
p.drawTextRight(xact, st::sessionPadding.top(), w, auth.active, auth.activeWidth);
p.setFont(st::sessionInfoFont->f);
p.setPen(st::black->p);
@@ -132,7 +132,7 @@ void SessionsInner::listUpdated() {
j = _terminateButtons.insert(_list->at(i).hash, new IconedButton(this, st::sessionTerminate));
connect(j.value(), SIGNAL(clicked()), this, SLOT(onTerminate()));
}
j.value()->moveToRight(st::sessionTerminateSkip, i * st::sessionHeight + st::sessionTerminateTop, width() - 2 * st::sessionTerminateSkip);
j.value()->moveToRight(st::sessionTerminateSkip, i * st::sessionHeight + st::sessionTerminateTop, width());
}
for (TerminateButtons::iterator i = _terminateButtons.begin(); i != _terminateButtons.cend();) {
if (i.value()->y() >= 0) {
@@ -175,7 +175,7 @@ _terminateAll(this, lang(lng_sessions_terminate_all)), _terminateBox(0), _shortP
void SessionsBox::resizeEvent(QResizeEvent *e) {
ScrollableBox::resizeEvent(e);
_done.move(0, height() - _done.height());
_terminateAll.moveToRight(st::sessionPadding.left(), st::boxTitleHeight + st::sessionHeight + st::boxTitlePos.y() + st::boxTitleFont->ascent - st::linkFont->ascent, width() - 2 * st::sessionPadding.left());
_terminateAll.moveToRight(st::sessionPadding.left(), st::boxTitleHeight + st::sessionHeight + st::boxTitlePos.y() + st::boxTitleFont->ascent - st::linkFont->ascent, width());
}
void SessionsBox::hideAll() {
@@ -212,7 +212,7 @@ void SessionsBox::paintEvent(QPaintEvent *e) {
p.drawText(QRect(0, 0, width(), st::noContactsHeight), lang(lng_contacts_loading), style::al_center);
} else {
int32 x = st::sessionPadding.left();
int32 w = width() - x - st::sessionPadding.right();
int32 w = width();
p.setFont(st::sessionNameFont->f);
p.setPen(st::black->p);
@@ -264,12 +264,12 @@ void SessionsBox::gotAuthorizations(const MTPaccount_Authorizations &result) {
QString appName, appVer = qs(d.vapp_version), systemVer = qs(d.vsystem_version), deviceModel = qs(d.vdevice_model);
if (d.vapi_id.v == 2040 || d.vapi_id.v == 17349) {
appName = (d.vapi_id.v == 2040) ? qsl("Telegram Desktop") : qsl("Telegram Desktop (GitHub)");
// if (systemVer == QLatin1String("windows")) {
appName = (d.vapi_id.v == 2040) ? qstr("Telegram Desktop") : qstr("Telegram Desktop (GitHub)");
// if (systemVer == qstr("windows")) {
// deviceModel = qsl("Windows");
// } else if (systemVer == QLatin1String("os x")) {
// } else if (systemVer == qstr("os x")) {
// deviceModel = qsl("OS X");
// } else if (systemVer == QLatin1String("linux")) {
// } else if (systemVer == qstr("linux")) {
// deviceModel = qsl("Linux");
// }
if (appVer == QString::number(appVer.toInt())) {
@@ -293,7 +293,7 @@ void SessionsBox::gotAuthorizations(const MTPaccount_Authorizations &result) {
MTPint active = d.vdate_active.v ? d.vdate_active : d.vdate_created;
data.activeTime = active.v;
data.info = qs(d.vdevice_model) + QLatin1String(", ") + (platform.isEmpty() ? QString() : platform + ' ') + qs(d.vsystem_version);
data.info = qs(d.vdevice_model) + qstr(", ") + (platform.isEmpty() ? QString() : platform + ' ') + qs(d.vsystem_version);
data.ip = qs(d.vip) + (country.isEmpty() ? QString() : QString::fromUtf8(" \xe2\x80\x93 ") + country);
if (!data.hash || (d.vflags.v & 1)) {
data.active = QString();

View File

@@ -0,0 +1,321 @@
/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014 John Preston, https://desktop.telegram.org
*/
#include "stdafx.h"
#include "lang.h"
#include "stickersetbox.h"
#include "mainwidget.h"
#include "window.h"
#include "settingswidget.h"
#include "boxes/confirmbox.h"
#include "localstorage.h"
StickerSetInner::StickerSetInner(const MTPInputStickerSet &set) :
_loaded(false), _setId(0), _setAccess(0), _setCount(0), _setHash(0), _setFlags(0), _bottom(0),
_input(set), _installRequest(0) {
switch (set.type()) {
case mtpc_inputStickerSetID: _setId = set.c_inputStickerSetID().vid.v; _setAccess = set.c_inputStickerSetID().vaccess_hash.v; break;
case mtpc_inputStickerSetShortName: _setShortName = qs(set.c_inputStickerSetShortName().vshort_name); break;
}
MTP::send(MTPmessages_GetStickerSet(_input), rpcDone(&StickerSetInner::gotSet), rpcFail(&StickerSetInner::failedSet));
cSetLastStickersUpdate(0);
App::main()->updateStickers();
}
void StickerSetInner::gotSet(const MTPmessages_StickerSet &set) {
_pack.clear();
if (set.type() == mtpc_messages_stickerSet) {
const MTPDmessages_stickerSet &d(set.c_messages_stickerSet());
const QVector<MTPDocument> &v(d.vdocuments.c_vector().v);
_pack.reserve(v.size());
for (int32 i = 0, l = v.size(); i < l; ++i) {
DocumentData *doc = App::feedDocument(v.at(i));
if (!doc || !doc->sticker()) continue;
_pack.push_back(doc);
}
if (d.vset.type() == mtpc_stickerSet) {
const MTPDstickerSet &s(d.vset.c_stickerSet());
_setTitle = qs(s.vtitle);
_title = st::boxTitleFont->m.elidedText(_setTitle, Qt::ElideRight, width() - st::btnStickersClose.width - st::boxTitlePos.x());
_setShortName = qs(s.vshort_name);
_setId = s.vid.v;
_setAccess = s.vaccess_hash.v;
_setCount = s.vcount.v;
_setHash = s.vhash.v;
_setFlags = s.vflags.v;
}
}
if (_pack.isEmpty()) {
App::wnd()->showLayer(new ConfirmBox(lang(lng_stickers_not_found), true), true);
} else {
int32 rows = _pack.size() / StickerPanPerRow + ((_pack.size() % StickerPanPerRow) ? 1 : 0);
resize(st::stickersPadding + StickerPanPerRow * st::stickersSize.width(), rows * st::stickersSize.height() + st::stickersAddOrShare);
}
_loaded = true;
emit updateButtons();
}
bool StickerSetInner::failedSet(const RPCError &error) {
if (error.type().startsWith(qsl("FLOOD_WAIT_"))) return false;
_loaded = true;
App::wnd()->showLayer(new ConfirmBox(lang(lng_stickers_not_found), true), true);
return true;
}
void StickerSetInner::installDone(const MTPBool &result) {
StickerSets &sets(cRefStickerSets());
sets.insert(_setId, StickerSet(_setId, _setAccess, _setTitle, _setShortName, _setCount, _setHash, _setFlags)).value().stickers = _pack;
int32 insertAtIndex = 0;
StickerSetsOrder &order(cRefStickerSetsOrder());
for (int32 s = order.size(); insertAtIndex < s; ++insertAtIndex) {
StickerSets::const_iterator i = sets.constFind(order.at(insertAtIndex));
if (i == sets.cend() || !(i->flags & MTPDstickerSet_flag_official)) {
break;
}
}
int32 currentIndex = cStickerSetsOrder().indexOf(_setId);
if (currentIndex != insertAtIndex) {
if (currentIndex > 0) {
order.removeAt(currentIndex);
if (currentIndex < insertAtIndex) {
--insertAtIndex;
}
}
order.insert(insertAtIndex, _setId);
}
StickerSets::iterator custom = sets.find(CustomStickerSetId);
if (custom != sets.cend()) {
for (int32 i = 0, l = _pack.size(); i < l; ++i) {
custom->stickers.removeOne(_pack.at(i));
}
if (custom->stickers.isEmpty()) {
sets.erase(custom);
}
}
cSetStickersHash(QByteArray());
Local::writeStickers();
emit installed(_setId);
App::wnd()->hideLayer();
}
bool StickerSetInner::installFailed(const RPCError &error) {
if (error.type().startsWith(qsl("FLOOD_WAIT_"))) return false;
App::wnd()->showLayer(new ConfirmBox(lang(lng_stickers_not_found), true), true);
return true;
}
void StickerSetInner::paintEvent(QPaintEvent *e) {
QRect r(e->rect());
Painter p(this);
if (_pack.isEmpty()) return;
int32 rows = _pack.size() / StickerPanPerRow + ((_pack.size() % StickerPanPerRow) ? 1 : 0);
int32 from = qFloor(e->rect().top() / st::stickersSize.height()), to = qFloor(e->rect().bottom() / st::stickersSize.height()) + 1;
for (int32 i = from; i < to; ++i) {
for (int32 j = 0; j < StickerPanPerRow; ++j) {
int32 index = i * StickerPanPerRow + j;
if (index >= _pack.size()) break;
DocumentData *doc = _pack.at(index);
QPoint pos(st::stickerPanPadding + j * st::stickersSize.width(), i * st::stickersSize.height());
bool goodThumb = !doc->thumb->isNull() && ((doc->thumb->width() >= 128) || (doc->thumb->height() >= 128));
if (goodThumb) {
doc->thumb->load();
} else {
bool already = !doc->already().isEmpty(), hasdata = !doc->data.isEmpty();
if (!doc->loader && doc->status != FileFailed && !already && !hasdata) {
doc->save(QString());
}
if (doc->sticker()->img->isNull() && (already || hasdata)) {
if (already) {
doc->sticker()->img = ImagePtr(doc->already());
} else {
doc->sticker()->img = ImagePtr(doc->data);
}
}
}
float64 coef = qMin((st::stickersSize.width() - st::msgRadius * 2) / float64(doc->dimensions.width()), (st::stickersSize.height() - st::msgRadius * 2) / float64(doc->dimensions.height()));
if (coef > 1) coef = 1;
int32 w = qRound(coef * doc->dimensions.width()), h = qRound(coef * doc->dimensions.height());
if (w < 1) w = 1;
if (h < 1) h = 1;
QPoint ppos = pos + QPoint((st::stickersSize.width() - w) / 2, (st::stickersSize.height() - h) / 2);
if (goodThumb) {
p.drawPixmapLeft(ppos, width(), doc->thumb->pix(w, h));
} else if (!doc->sticker()->img->isNull()) {
p.drawPixmapLeft(ppos, width(), doc->sticker()->img->pix(w, h));
}
}
}
p.fillRect(0, _bottom - st::stickersAddOrShare, width(), st::stickersAddOrShare, st::emojiPanHeaderBg->b);
}
void StickerSetInner::setScrollBottom(int32 bottom) {
if (bottom == _bottom) return;
QRegion upd = QRect(0, _bottom - st::stickersAddOrShare, width(), st::stickersAddOrShare);
_bottom = bottom;
upd += QRect(0, _bottom - st::stickersAddOrShare, width(), st::stickersAddOrShare);
repaint(upd);
}
bool StickerSetInner::loaded() const {
return _loaded && !_pack.isEmpty();
}
int32 StickerSetInner::notInstalled() const {
return (_loaded && (cStickerSets().constFind(_setId) == cStickerSets().cend())) ? _pack.size() : 0;
}
bool StickerSetInner::official() const {
return _loaded && _setShortName.isEmpty();
}
QString StickerSetInner::title() const {
return _loaded ? (_pack.isEmpty() ? lang(lng_attach_failed) : _title) : lang(lng_contacts_loading);
}
QString StickerSetInner::shortName() const {
return _setShortName;
}
void StickerSetInner::install() {
if (_installRequest) return;
_installRequest = MTP::send(MTPmessages_InstallStickerSet(_input, MTP_bool(false)), rpcDone(&StickerSetInner::installDone), rpcFail(&StickerSetInner::installFailed));
}
StickerSetInner::~StickerSetInner() {
}
StickerSetBox::StickerSetBox(const MTPInputStickerSet &set) : ScrollableBox(st::stickersScroll), _inner(set),
_close(this, st::btnStickersClose),
_addStickers(this, lng_stickers_add_pack(lt_count, 0), st::btnStickersAdd),
_shareStickers(this, lang(lng_stickers_share_pack), st::btnStickersAdd),
_closeStickers(this, lang(lng_close), st::btnStickersAdd) {
resize(st::stickersWidth, height());
setMaxHeight(st::stickersMaxHeight);
connect(App::main(), SIGNAL(stickersUpdated()), this, SLOT(onStickersUpdated()));
init(&_inner, 0, st::boxFont->height + st::newGroupNamePadding.top() + st::newGroupNamePadding.bottom());
connect(&_close, SIGNAL(clicked()), this, SLOT(onClose()));
connect(&_addStickers, SIGNAL(clicked()), this, SLOT(onAddStickers()));
connect(&_shareStickers, SIGNAL(clicked()), this, SLOT(onShareStickers()));
connect(&_closeStickers, SIGNAL(clicked()), this, SLOT(onClose()));
connect(&_inner, SIGNAL(updateButtons()), this, SLOT(onUpdateButtons()));
connect(&_scroll, SIGNAL(scrolled()), this, SLOT(onScroll()));
connect(&_inner, SIGNAL(installed(uint64)), this, SIGNAL(installed(uint64)));
onStickersUpdated();
onScroll();
prepare();
}
void StickerSetBox::onStickersUpdated() {
showAll();
}
void StickerSetBox::onAddStickers() {
_inner.install();
}
void StickerSetBox::onShareStickers() {
QString url = qsl("https://telegram.me/addstickers/") + _inner.shortName();
QApplication::clipboard()->setText(url);
App::wnd()->showLayer(new ConfirmBox(lang(lng_stickers_copied), true), true);
}
void StickerSetBox::onUpdateButtons() {
if (!_close.isHidden()) showAll();
}
void StickerSetBox::onScroll() {
_inner.setScrollBottom(_scroll.scrollTop() + _scroll.height());
}
void StickerSetBox::hideAll() {
ScrollableBox::hideAll();
_close.hide();
_addStickers.hide();
_shareStickers.hide();
}
void StickerSetBox::showAll() {
ScrollableBox::showAll();
_close.show();
int32 cnt = _inner.notInstalled();
if (_inner.loaded()) {
if (_inner.official()) {
_addStickers.hide();
_shareStickers.hide();
_closeStickers.show();
} else if (_inner.notInstalled()) {
_addStickers.setText(lng_stickers_add_pack(lt_count, cnt));
_addStickers.show();
_addStickers.raise();
_shareStickers.hide();
_closeStickers.hide();
} else {
_shareStickers.show();
_shareStickers.raise();
_addStickers.hide();
_closeStickers.hide();
}
} else {
_addStickers.hide();
_shareStickers.hide();
_closeStickers.hide();
}
update();
}
void StickerSetBox::paintEvent(QPaintEvent *e) {
Painter p(this);
if (paint(p)) return;
paintTitle(p, _inner.title(), false);
}
void StickerSetBox::resizeEvent(QResizeEvent *e) {
ScrollableBox::resizeEvent(e);
_inner.resize(width(), _inner.height());
_close.moveToRight(0, 0, width());
_addStickers.move((width() - _addStickers.width()) / 2, height() - (st::stickersAddOrShare + _addStickers.height()) / 2);
_shareStickers.move((width() - _shareStickers.width()) / 2, height() - (st::stickersAddOrShare + _shareStickers.height()) / 2);
_closeStickers.move((width() - _closeStickers.width()) / 2, height() - (st::stickersAddOrShare + _closeStickers.height()) / 2);
}

View File

@@ -0,0 +1,102 @@
/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014 John Preston, https://desktop.telegram.org
*/
#pragma once
#include "abstractbox.h"
class StickerSetInner : public QWidget, public RPCSender {
Q_OBJECT
public:
StickerSetInner(const MTPInputStickerSet &set);
void init();
void paintEvent(QPaintEvent *e);
bool loaded() const;
int32 notInstalled() const;
bool official() const;
QString title() const;
QString shortName() const;
void setScrollBottom(int32 bottom);
void install();
~StickerSetInner();
signals:
void updateButtons();
void installed(uint64 id);
private:
void gotSet(const MTPmessages_StickerSet &set);
bool failedSet(const RPCError &error);
void installDone(const MTPBool &result);
bool installFailed(const RPCError &error);
StickerPack _pack;
bool _loaded;
uint64 _setId, _setAccess;
QString _title, _setTitle, _setShortName;
int32 _setCount, _setHash, _setFlags;
int32 _bottom;
MTPInputStickerSet _input;
mtpRequestId _installRequest;
};
class StickerSetBox : public ScrollableBox, public RPCSender {
Q_OBJECT
public:
StickerSetBox(const MTPInputStickerSet &set);
void paintEvent(QPaintEvent *e);
void resizeEvent(QResizeEvent *e);
public slots:
void onStickersUpdated();
void onAddStickers();
void onShareStickers();
void onUpdateButtons();
void onScroll();
signals:
void installed(uint64 id);
protected:
void hideAll();
void showAll();
private:
StickerSetInner _inner;
IconedButton _close;
FlatButton _addStickers, _shareStickers, _closeStickers;
};

View File

@@ -17,9 +17,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
*/
#pragma once
static const int32 AppVersion = 8004;
static const wchar_t *AppVersionStr = L"0.8.4";
static const bool DevChannel = false;
static const int32 AppVersion = 8056;
static const wchar_t *AppVersionStr = L"0.8.56";
static const bool DevVersion = false;
static const wchar_t *AppNameOld = L"Telegram Win (Unofficial)";
static const wchar_t *AppName = L"Telegram Desktop";
@@ -40,8 +40,11 @@ enum {
MTPContainerLives = 600, // container lives 10 minutes in haveSent map
MTPMinReceiveDelay = 4000, // 4 seconds
MTPMaxReceiveDelay = 64000, // 64 seconds
MTPMinConnectDelay = 1000, // tcp connect should take less then 1 second
MTPMaxConnectDelay = 8000, // tcp connect should take 8 seconds max
MTPConnectionOldTimeout = 192000, // 192 seconds
MTPTcpConnectionWaitTimeout = 3000, // 3 seconds waiting for tcp, until we accept http
MTPTcpConnectionWaitTimeout = 2000, // 2 seconds waiting for tcp, until we accept http
MTPIPv4ConnectionWaitTimeout = 1000, // 1 seconds waiting for ipv4, until we accept ipv6
MTPMillerRabinIterCount = 30, // 30 Miller-Rabin iterations for dh_prime primality check
MTPUploadSessionsCount = 4, // max 4 upload sessions is created
@@ -78,22 +81,28 @@ enum {
AutoSearchTimeout = 900, // 0.9 secs
SearchPerPage = 50,
SearchManyPerPage = 100,
LinksOverviewPerPage = 12,
MediaOverviewStartPerPage = 5,
MediaOverviewPreloadCount = 4,
AudioVoiceMsgSimultaneously = 4,
AudioSongSimultaneously = 4,
AudioCheckPositionTimeout = 100, // 100ms per check audio pos
AudioCheckPositionDelta = 4800, // update position called each 4800 samples
AudioFadeTimeout = 10, // 10ms
AudioCheckPositionDelta = 2400, // update position called each 2400 samples
AudioFadeTimeout = 7, // 7ms
AudioFadeDuration = 500,
AudioVoiceMsgSkip = 400, // 200ms
AudioVoiceMsgFade = 300, // 300ms
AudioPreloadSamples = 5 * 48000, // preload next part if less than 5 seconds remains
AudioVoiceMsgFrequency = 48000, // 48 kHz
AudioVoiceMsgMaxLength = 100 * 60, // 100 minutes
AudioVoiceMsgUpdateView = 100, // 100ms
AudioVoiceMsgChannels = 2, // stereo
AudioVoiceMsgBufferSize = 1024 * 1024, // 1 Mb buffers
AudioVoiceMsgInMemory = 1024 * 1024, // 1 Mb audio is hold in memory and auto loaded
AudioSuspendTimeout = 3000, // suspend in 3 secs after playing is over
AudioPauseDeviceTimeout = 3000, // pause in 3 secs after playing is over
StickerInMemory = 256 * 1024, // 128 Kb stickers hold in memory, auto loaded and displayed inline
StickerInMemory = 1024 * 1024, // 1024 Kb stickers hold in memory, auto loaded and displayed inline
StickerMaxSize = 2048, // 2048x2048 is a max image size for sticker
MediaViewImageSizeLimit = 100 * 1024 * 1024, // show up to 100mb jpg/png/gif docs in app
@@ -101,9 +110,10 @@ enum {
ZoomToScreenLevel = 1024, // just constant
PreloadHeightsCount = 3, // when 3 screens to scroll left make a preload request
EmojiPadPerRow = 7,
EmojiPadRowsPerPage = 6,
StickerPadPerRow = 3,
EmojiPanPerRow = 7,
EmojiPanRowsPerPage = 6,
StickerPanPerRow = 5,
StickerPanRowsPerPage = 4,
StickersUpdateTimeout = 3600000, // update not more than once in an hour
SearchPeopleLimit = 5,
@@ -118,7 +128,7 @@ enum {
SaveDraftTimeout = 1000, // save draft after 1 secs of not changing text
SaveDraftAnywayTimeout = 5000, // or save anyway each 5 secs
HiddenIsOnlineAfterMessage = 30, // user with hidden last seen stays online for such amount of seconds in the interface
SetOnlineAfterActivity = 30, // user with hidden last seen stays online for such amount of seconds in the interface
ServiceUserId = 777000,
WebPageUserId = 701000,
@@ -131,12 +141,18 @@ enum {
WrongPasscodeTimeout = 1500,
SessionsShortPollTimeout = 60000,
ChoosePeerByDragTimeout = 1000, // 1 second mouse not moved to choose dialog when dragging a file
};
inline bool isServiceUser(uint64 id) {
inline bool isNotificationsUser(uint64 id) {
return (id == 333000) || (id == ServiceUserId);
}
inline bool isServiceUser(uint64 id) {
return !(id % 1000);// (id == 333000) || (id == ServiceUserId);
}
#ifdef Q_OS_WIN
inline const GUID &cGUID() {
static const GUID gGuid = { 0x87a94ab0, 0xe370, 0x4cde, { 0x98, 0xd3, 0xac, 0xc1, 0x10, 0xc5, 0x96, 0x7d } };
@@ -179,10 +195,24 @@ static const BuiltInDc _builtInDcs[] = {
{ 5, "149.154.171.5", 443 }
};
static const BuiltInDc _builtInDcsIPv6[] = {
{ 1, "2001:b28:f23d:f001::a", 443 },
{ 2, "2001:67c:4e8:f002::a", 443 },
{ 3, "2001:b28:f23d:f003::a", 443 },
{ 4, "2001:67c:4e8:f004::a", 443 },
{ 5, "2001:b28:f23f:f005::a", 443 }
};
static const BuiltInDc _builtInTestDcs[] = {
{ 1, "149.154.175.10", 443 },
{ 2, "149.154.167.40", 443 },
{ 3, "174.140.142.5", 443 }
{ 3, "149.154.175.117", 443 }
};
static const BuiltInDc _builtInTestDcsIPv6[] = {
{ 1, "2001:b28:f23d:f001::e", 443 },
{ 2, "2001:67c:4e8:f002::e", 443 },
{ 3, "2001:b28:f23d:f003::e", 443 }
};
inline const BuiltInDc *builtInDcs() {
@@ -193,6 +223,14 @@ inline int builtInDcsCount() {
return (cTestMode() ? sizeof(_builtInTestDcs) : sizeof(_builtInDcs)) / sizeof(BuiltInDc);
}
inline const BuiltInDc *builtInDcsIPv6() {
return cTestMode() ? _builtInTestDcsIPv6 : _builtInDcsIPv6;
}
inline int builtInDcsCountIPv6() {
return (cTestMode() ? sizeof(_builtInTestDcsIPv6) : sizeof(_builtInDcsIPv6)) / sizeof(BuiltInDc);
}
static const char *UpdatesPublicKey = "\
-----BEGIN RSA PUBLIC KEY-----\n\
MIGJAoGBAMA4ViQrjkPZ9xj0lrer3r23JvxOnrtE8nI69XLGSr+sRERz9YnUptnU\n\
@@ -255,8 +293,10 @@ static const char *DefaultCountry = "US";
static const char *DefaultLanguage = "en";
enum {
DefaultChatBackground = 21,
DialogsFirstLoad = 20, // first dialogs part size requested
DialogsPerPage = 40, // next dialogs part size
DialogsPerPage = 200, // next dialogs part size
MessagesFirstLoad = 30, // first history part size requested
MessagesPerPage = 50, // next history part size
@@ -279,13 +319,14 @@ enum {
UploadRequestInterval = 500, // one part each half second, if not uploaded faster
MaxPhotosInMemory = 50, // try to clear some memory after 50 photos are created
NoUpdatesTimeout = 180 * 1000, // if nothing is received in 3 min we getDifference
NoUpdatesAfterSleepTimeout = 60 * 1000, // if nothing is received in 1 min when was a sleepmode we getDifference
NoUpdatesTimeout = 60 * 1000, // if nothing is received in 1 min we ping
NoUpdatesAfterSleepTimeout = 60 * 1000, // if nothing is received in 1 min when was a sleepmode we ping
WaitForSkippedTimeout = 1000, // 1s wait for skipped seq or pts in updates
MemoryForImageCache = 64 * 1024 * 1024, // after 64mb of unpacked images we try to clear some memory
NotifyWindowsCount = 3, // 3 desktop notifies at the same time
NotifySettingSaveTimeout = 1000, // wait 1 second before saving notify setting to server
NotifyDeletePhotoAfter = 60000, // delete notify photo after 1 minute
UpdateChunk = 100 * 1024, // 100kb parts when downloading the update
IdleMsecs = 60 * 1000, // after 60secs without user input we think we are idle
@@ -293,7 +334,7 @@ enum {
};
inline const QRegularExpression &cWordSplit() {
static QRegularExpression regexp(qsl("[\\s\\-\\+\\)\\(\\,\\.\\:\\!\\_\\;\\\"\\'\\x0]"));
static QRegularExpression regexp(qsl("[\\@\\s\\-\\+\\)\\(\\,\\.\\:\\!\\_\\;\\\"\\'\\x0]"));
return regexp;
}

View File

@@ -28,9 +28,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
#include "localstorage.h"
DialogsListWidget::DialogsListWidget(QWidget *parent, MainWidget *main) : QWidget(parent),
dialogs(false),
contactsNoDialogs(true),
contacts(true),
dialogs(DialogsSortByDate),
contactsNoDialogs(DialogsSortByName),
contacts(DialogsSortByName),
sel(0),
contactSel(false),
selByMouse(false),
@@ -42,12 +42,16 @@ peopleSel(-1),
_lastSearchId(0),
_state(DefaultState),
_addContactLnk(this, lang(lng_add_contact_button)),
_overDelete(false) {
_cancelSearchInPeer(this, st::btnCancelSearch),
_overDelete(false),
_searchInPeer(0) {
connect(main, SIGNAL(dialogToTop(const History::DialogLinks&)), this, SLOT(onDialogToTop(const History::DialogLinks&)));
connect(main, SIGNAL(peerNameChanged(PeerData*,const PeerData::Names&,const PeerData::NameFirstChars&)), this, SLOT(onPeerNameChanged(PeerData*,const PeerData::Names&,const PeerData::NameFirstChars&)));
connect(main, SIGNAL(peerPhotoChanged(PeerData*)), this, SLOT(onPeerPhotoChanged(PeerData*)));
connect(main, SIGNAL(dialogRowReplaced(DialogRow*,DialogRow*)), this, SLOT(onDialogRowReplaced(DialogRow*,DialogRow*)));
connect(&_addContactLnk, SIGNAL(clicked()), App::wnd(), SLOT(onShowAddContact()));
connect(&_cancelSearchInPeer, SIGNAL(clicked()), this, SIGNAL(cancelSearchInPeer()));
_cancelSearchInPeer.hide();
refresh(false);
}
@@ -60,30 +64,34 @@ int32 DialogsListWidget::peopleOffset() const {
}
int32 DialogsListWidget::searchedOffset() const {
return peopleOffset() + (peopleResults.isEmpty() ? 0 : ((peopleResults.size() * st::dlgHeight) + st::searchedBarHeight));
int32 result = peopleOffset() + (peopleResults.isEmpty() ? 0 : ((peopleResults.size() * st::dlgHeight) + st::searchedBarHeight));
if (_searchInPeer) result += st::dlgHeight;
return result;
}
void DialogsListWidget::paintEvent(QPaintEvent *e) {
if (!App::main()) return;
QRect r(e->rect());
bool trivial = (rect() == r);
QPainter p(this);
Painter p(this);
if (!trivial) {
p.setClipRect(r);
}
if (_state == DefaultState) {
int32 otherStart = dialogs.list.count * st::dlgHeight;
PeerData *active = App::main()->activePeer(), *selected = sel ? sel->history->peer : 0;
if (otherStart) {
dialogs.list.paint(p, width(), r.top(), r.bottom(), active, selected);
}
if (contactsNoDialogs.list.count) {
if (contactsNoDialogs.list.count && false) {
contactsNoDialogs.list.paint(p, width(), r.top() - otherStart, r.bottom() - otherStart, active, selected);
} else if (!otherStart) {
p.setFont(st::noContactsFont->f);
p.setPen(st::noContactsColor->p);
p.drawText(QRect(0, 0, width(), st::noContactsHeight - (cContactsReceived() ? st::noContactsFont->height : 0)), lang(cContactsReceived() ? lng_no_contacts : lng_contacts_loading), style::al_center);
p.drawText(QRect(0, 0, width(), st::noContactsHeight - (cContactsReceived() ? st::noContactsFont->height : 0)), lang(cContactsReceived() ? lng_no_chats : lng_contacts_loading), style::al_center);
}
} else if (_state == FilteredState || _state == SearchedState) {
if (!hashtagResults.isEmpty()) {
@@ -95,19 +103,38 @@ void DialogsListWidget::paintEvent(QPaintEvent *e) {
}
p.translate(0, from * st::mentionHeight);
if (from < hashtagResults.size()) {
int32 to = (r.bottom() / int32(st::mentionHeight)) + 1, w = width();
int32 to = (r.bottom() / int32(st::mentionHeight)) + 1, w = width(), htagwidth = w - st::dlgPaddingHor * 2;
if (to > hashtagResults.size()) to = hashtagResults.size();
p.setFont(st::mentionFont->f);
p.setPen(st::black->p);
for (; from < to; ++from) {
bool selected = (from == hashtagSel);
if (selected) {
p.fillRect(0, 0, w, st::mentionHeight, st::dlgHoverBG->b);
p.fillRect(0, 0, w, st::mentionHeight, st::mentionBgOver->b);
int skip = (st::mentionHeight - st::notifyClose.icon.pxHeight()) / 2;
p.drawPixmap(QPoint(w - st::notifyClose.icon.pxWidth() - skip, skip), App::sprite(), st::notifyClose.icon);
}
QString tag = st::mentionFont->m.elidedText('#' + hashtagResults.at(from), Qt::ElideRight, w - st::dlgPaddingHor * 2);
p.drawText(st::dlgPaddingHor, st::mentionTop + st::mentionFont->ascent, tag);
QString first = (_hashtagFilter.size() < 2) ? QString() : ('#' + hashtagResults.at(from).mid(0, _hashtagFilter.size() - 1)), second = (_hashtagFilter.size() < 2) ? ('#' + hashtagResults.at(from)) : hashtagResults.at(from).mid(_hashtagFilter.size() - 1);
int32 firstwidth = st::mentionFont->m.width(first), secondwidth = st::mentionFont->m.width(second);
if (htagwidth < firstwidth + secondwidth) {
if (htagwidth < firstwidth + st::mentionFont->elidew) {
first = st::mentionFont->m.elidedText(first + second, Qt::ElideRight, htagwidth);
second = QString();
} else {
second = st::mentionFont->m.elidedText(second, Qt::ElideRight, htagwidth - firstwidth);
}
}
p.setFont(st::mentionFont->f);
if (!first.isEmpty()) {
p.setPen((selected ? st::mentionFgOverActive : st::mentionFgActive)->p);
p.drawText(st::dlgPaddingHor, st::mentionTop + st::mentionFont->ascent, first);
}
if (!second.isEmpty()) {
p.setPen((selected ? st::mentionFgOver : st::mentionFg)->p);
p.drawText(st::dlgPaddingHor + firstwidth, st::mentionTop + st::mentionFont->ascent, second);
}
p.translate(0, st::mentionHeight);
}
}
@@ -160,6 +187,18 @@ void DialogsListWidget::paintEvent(QPaintEvent *e) {
}
}
if (_searchInPeer) {
searchInPeerPaint(p, width());
p.translate(0, st::dlgHeight);
if (_state == FilteredState && searchResults.isEmpty()) {
p.fillRect(0, 0, width(), st::searchedBarHeight, st::searchedBarBG->b);
p.setFont(st::searchedBarFont->f);
p.setPen(st::searchedBarColor->p);
p.drawText(QRect(0, 0, width(), st::searchedBarHeight), lang(lng_dlg_search_for_messages), style::al_center);
p.translate(0, st::searchedBarHeight);
}
}
if (_state == SearchedState || !searchResults.isEmpty()) {
QString text = lng_search_found_results(lt_count, searchResults.isEmpty() ? 0 : searchedCount);
p.fillRect(0, 0, width(), st::searchedBarHeight, st::searchedBarBG->b);
@@ -231,6 +270,31 @@ void DialogsListWidget::peopleResultPaint(UserData *user, QPainter &p, int32 w,
history->nameText.drawElided(p, rectForName.left(), rectForName.top(), rectForName.width());
}
void DialogsListWidget::searchInPeerPaint(QPainter &p, int32 w) const {
QRect fullRect(0, 0, w, st::dlgHeight);
p.fillRect(fullRect, st::dlgBG->b);
p.drawPixmap(st::dlgPaddingHor, st::dlgPaddingVer, _searchInPeer->photo->pix(st::dlgPhotoSize));
int32 nameleft = st::dlgPaddingHor + st::dlgPhotoSize + st::dlgPhotoPadding;
int32 namewidth = w - nameleft - st::dlgPaddingHor * 2 - st::btnCancelSearch.width;
QRect rectForName(nameleft, st::dlgPaddingVer + st::dlgNameTop, namewidth, st::msgNameFont->height);
// draw chat icon
if (_searchInPeer->chat) {
p.drawPixmap(QPoint(rectForName.left() + st::dlgChatImgLeft, rectForName.top() + st::dlgChatImgTop), App::sprite(), st::dlgChatImg);
rectForName.setLeft(rectForName.left() + st::dlgChatImgSkip);
}
QRect tr(nameleft, st::dlgPaddingVer + st::dlgFont->height + st::dlgSep, namewidth, st::dlgFont->height);
p.setFont(st::dlgHistFont->f);
p.setPen(st::dlgTextColor->p);
p.drawText(tr.left(), tr.top() + st::dlgHistFont->ascent, st::dlgHistFont->m.elidedText(lang(lng_dlg_search_chat), Qt::ElideRight, tr.width()));
p.setPen(st::dlgNameColor->p);
App::history(_searchInPeer->id)->nameText.drawElided(p, rectForName.left(), rectForName.top(), rectForName.width());
}
void DialogsListWidget::activate() {
}
@@ -253,7 +317,7 @@ void DialogsListWidget::onUpdateSelected(bool force) {
if (newSel) {
contactSel = false;
} else {
newSel = contactsNoDialogs.list.rowAtY(mouseY - otherStart, st::dlgHeight);
newSel = 0;// contactsNoDialogs.list.rowAtY(mouseY - otherStart, st::dlgHeight);
contactSel = true;
}
if (newSel != sel) {
@@ -326,6 +390,7 @@ void DialogsListWidget::mousePressEvent(QMouseEvent *e) {
void DialogsListWidget::resizeEvent(QResizeEvent *e) {
_addContactLnk.move((width() - _addContactLnk.width()) / 2, (st::noContactsHeight + st::noContactsFont->height) / 2);
_cancelSearchInPeer.move(width() - st::dlgPaddingHor - st::btnCancelSearch.width, (st::dlgHeight - st::btnCancelSearch.height) / 2);
}
void DialogsListWidget::onDialogRowReplaced(DialogRow *oldRow, DialogRow *newRow) {
@@ -376,9 +441,8 @@ void DialogsListWidget::removePeer(PeerData *peer) {
contactsNoDialogs.addByName(App::history(peer->id));
}
}
// contactsNoDialogs.del(peer);
// contacts.del(peer);
// App::deleteHistory(peer->id);
Local::removeSavedPeer(peer);
emit App::main()->dialogsUpdated();
@@ -419,7 +483,7 @@ void DialogsListWidget::dlgUpdated(History *history) {
if (i != dialogs.list.rowByPeer.cend()) {
update(0, i.value()->pos * st::dlgHeight, width(), st::dlgHeight);
} else {
i = contactsNoDialogs.list.rowByPeer.find(history->peer->id);
i = contactsNoDialogs.list.rowByPeer.end();// find(history->peer->id);
if (i != contactsNoDialogs.list.rowByPeer.cend()) {
update(0, (dialogs.list.count + i.value()->pos) * st::dlgHeight, width(), st::dlgHeight);
}
@@ -468,6 +532,7 @@ void DialogsListWidget::leaveEvent(QEvent *e) {
if (sel || filteredSel >= 0 || hashtagSel >= 0 || searchedSel >= 0 || peopleSel >= 0) {
sel = 0;
filteredSel = searchedSel = peopleSel = hashtagSel = -1;
setCursor(style::cur_default);
parentWidget()->update();
}
}
@@ -517,7 +582,7 @@ void DialogsListWidget::onFilterUpdate(QString newFilter, bool force) {
}
if (newFilter != filter || force) {
filter = newFilter;
if (filter.isEmpty()) {
if (!_searchInPeer && filter.isEmpty()) {
_state = DefaultState;
hashtagResults.clear();
filterResults.clear();
@@ -529,7 +594,7 @@ void DialogsListWidget::onFilterUpdate(QString newFilter, bool force) {
_state = FilteredState;
filterResults.clear();
if (!f.isEmpty()) {
if (!_searchInPeer && !f.isEmpty()) {
DialogsList *dialogsToFilter = 0, *contactsNoDialogsToFilter = 0;
if (dialogs.list.count) {
for (fi = fb; fi != fe; ++fi) {
@@ -607,8 +672,9 @@ void DialogsListWidget::onFilterUpdate(QString newFilter, bool force) {
}
}
void DialogsListWidget::onHashtagFilterUpdate(QString newFilter) {
if (newFilter.isEmpty() || newFilter.at(0) != '#') {
void DialogsListWidget::onHashtagFilterUpdate(QStringRef newFilter) {
if (newFilter.isEmpty() || newFilter.at(0) != '#' || _searchInPeer) {
_hashtagFilter = QString();
if (!hashtagResults.isEmpty()) {
hashtagResults.clear();
refresh(true);
@@ -616,6 +682,7 @@ void DialogsListWidget::onHashtagFilterUpdate(QString newFilter) {
}
return;
}
_hashtagFilter = newFilter.toString();
if (cRecentSearchHashtags().isEmpty() && cRecentWriteHashtags().isEmpty()) {
Local::readRecentHashtags();
}
@@ -624,7 +691,7 @@ void DialogsListWidget::onHashtagFilterUpdate(QString newFilter) {
if (!recent.isEmpty()) {
hashtagResults.reserve(qMin(recent.size(), 5));
for (RecentHashtagPack::const_iterator i = recent.cbegin(), e = recent.cend(); i != e; ++i) {
if (i->first.startsWith(newFilter.midRef(1), Qt::CaseInsensitive) && i->first.size() + 1 != newFilter.size()) {
if (i->first.startsWith(_hashtagFilter.midRef(1), Qt::CaseInsensitive) && i->first.size() + 1 != newFilter.size()) {
hashtagResults.push_back(i->first);
if (hashtagResults.size() == 5) break;
}
@@ -657,6 +724,26 @@ void DialogsListWidget::itemReplaced(HistoryItem *oldItem, HistoryItem *newItem)
}
}
PeerData *DialogsListWidget::updateFromParentDrag(QPoint globalPos) {
lastMousePos = globalPos;
selByMouse = true;
onUpdateSelected(true);
update();
if (_state == DefaultState) {
if (sel) return sel->history->peer;
} else if (_state == FilteredState || _state == SearchedState) {
if (filteredSel >= 0 && filteredSel < filterResults.size()) {
return filterResults[filteredSel]->history->peer;
} else if (peopleSel >= 0 && peopleSel < peopleResults.size()) {
return peopleResults[peopleSel];
} else if (searchedSel >= 0 && searchedSel < searchResults.size()) {
return searchResults[searchedSel]->_item->history()->peer;
}
}
return 0;
}
void DialogsListWidget::itemRemoved(HistoryItem *item) {
int wasCount = searchResults.size();
for (int i = 0; i < searchResults.size();) {
@@ -686,6 +773,16 @@ void DialogsListWidget::dialogsReceived(const QVector<MTPDialog> &added) {
refresh();
}
void DialogsListWidget::addAllSavedPeers() {
SavedPeersByTime &saved(cRefSavedPeersByTime());
while (!saved.isEmpty()) {
History *history = App::history(saved.last()->id);
history->dialogs = dialogs.addToEnd(history);
contactsNoDialogs.del(history->peer);
saved.remove(saved.lastKey(), saved.last());
}
}
void DialogsListWidget::searchReceived(const QVector<MTPMessage> &messages, bool fromStart, int32 fullCount) {
if (fromStart) {
clearSearchResults(false);
@@ -717,7 +814,6 @@ void DialogsListWidget::peopleReceived(const QString &query, const QVector<MTPCo
}
void DialogsListWidget::contactsReceived(const QVector<MTPContact> &contacts) {
cSetContactsReceived(true);
for (QVector<MTPContact>::const_iterator i = contacts.cbegin(), e = contacts.cend(); i != e; ++i) {
int32 uid = i->c_contact().vuser_id.v;
addNewContact(uid);
@@ -725,29 +821,24 @@ void DialogsListWidget::contactsReceived(const QVector<MTPContact> &contacts) {
App::self()->contact = 1;
}
}
if (!sel && contactsNoDialogs.list.count) {
if (!sel && contactsNoDialogs.list.count && false) {
sel = contactsNoDialogs.list.begin;
contactSel = true;
}
refresh();
}
int32 DialogsListWidget::addNewContact(int32 uid, bool select) {
int32 DialogsListWidget::addNewContact(int32 uid, bool select) { // -2 - err, -1 - don't scroll, >= 0 - scroll
PeerId peer = App::peerFromUser(uid);
if (!App::peerLoaded(peer)) return -1;
if (!App::peerLoaded(peer)) return -2;
History *history = App::history(peer);
contacts.addByName(history);
DialogsList::RowByPeer::const_iterator i = dialogs.list.rowByPeer.constFind(peer);
if (i == dialogs.list.rowByPeer.cend()) {
DialogRow *added = contactsNoDialogs.addByName(history);
if (!added) return -1;
if (select) {
sel = added;
contactSel = true;
}
if (contactsNoDialogs.list.count == 1 && !dialogs.list.count) refresh();
return added ? ((dialogs.list.count + added->pos) * st::dlgHeight) : -1;
if (!added) return -2;
return -1;
}
if (select) {
sel = i.value();
@@ -759,7 +850,7 @@ int32 DialogsListWidget::addNewContact(int32 uid, bool select) {
void DialogsListWidget::refresh(bool toTop) {
int32 h = 0;
if (_state == DefaultState) {
h = (dialogs.list.count + contactsNoDialogs.list.count) * st::dlgHeight;
h = (dialogs.list.count/* + contactsNoDialogs.list.count*/) * st::dlgHeight;
if (h) {
if (!_addContactLnk.isHidden()) _addContactLnk.hide();
} else {
@@ -773,7 +864,7 @@ void DialogsListWidget::refresh(bool toTop) {
} else {
if (!_addContactLnk.isHidden()) _addContactLnk.hide();
if (_state == FilteredState) {
h = searchedOffset() + (searchResults.count() * st::dlgHeight) + (searchResults.isEmpty() ? 0 : st::searchedBarHeight);
h = searchedOffset() + (searchResults.count() * st::dlgHeight) + ((searchResults.isEmpty() && !_searchInPeer) ? 0 : st::searchedBarHeight);
} else if (_state == SearchedState) {
h = searchedOffset() + (searchResults.count() * st::dlgHeight) + st::searchedBarHeight;
}
@@ -794,6 +885,7 @@ void DialogsListWidget::setMouseSel(bool msel, bool toTop) {
contactSel = !dialogs.list.count && contactsNoDialogs.list.count;
} else if (_state == FilteredState || _state == SearchedState) { // don't select first elem in search
filteredSel = peopleSel = searchedSel = hashtagSel = -1;
setCursor(style::cur_default);
}
}
}
@@ -821,9 +913,23 @@ bool DialogsListWidget::hasFilteredResults() const {
return !filterResults.isEmpty() && hashtagResults.isEmpty();
}
void DialogsListWidget::searchInPeer(PeerData *peer) {
_searchInPeer = peer;
if (_searchInPeer) {
onHashtagFilterUpdate(QStringRef());
_cancelSearchInPeer.show();
} else {
_cancelSearchInPeer.hide();
}
}
void DialogsListWidget::clearFilter() {
if (_state == FilteredState || _state == SearchedState) {
_state = DefaultState;
if (_searchInPeer) {
_state = FilteredState;
} else {
_state = DefaultState;
}
hashtagResults.clear();
filterResults.clear();
peopleResults.clear();
@@ -836,6 +942,15 @@ void DialogsListWidget::clearFilter() {
void DialogsListWidget::addDialog(const MTPDdialog &dialog) {
History *history = App::history(App::peerFromMTP(dialog.vpeer), dialog.vunread_count.v, dialog.vread_inbox_max_id.v);
if (history->lastMsg) {
SavedPeersByTime &saved(cRefSavedPeersByTime());
while (!saved.isEmpty() && history->lastMsg->date < saved.lastKey()) {
History *history = App::history(saved.last()->id);
history->dialogs = dialogs.addToEnd(history);
contactsNoDialogs.del(history->peer);
saved.remove(saved.lastKey(), saved.last());
}
}
History::DialogLinks links = dialogs.addToEnd(history);
history->dialogs = links;
contactsNoDialogs.del(history->peer);
@@ -848,7 +963,7 @@ void DialogsListWidget::selectSkip(int32 direction) {
if (!sel) {
if (dialogs.list.count && direction > 0) {
sel = dialogs.list.begin;
} else if (contactsNoDialogs.list.count && direction > 0) {
} else if (false && contactsNoDialogs.list.count && direction > 0) {
sel = contactsNoDialogs.list.begin;
} else {
return;
@@ -856,14 +971,14 @@ void DialogsListWidget::selectSkip(int32 direction) {
} else if (direction > 0) {
if (sel->next->next) {
sel = sel->next;
} else if (sel->next == dialogs.list.end && contactsNoDialogs.list.count) {
} else if (false && sel->next == dialogs.list.end && contactsNoDialogs.list.count) {
sel = contactsNoDialogs.list.begin;
contactSel = true;
}
} else {
if (sel->prev) {
sel = sel->prev;
} else if (sel == contactsNoDialogs.list.begin && dialogs.list.count) {
} else if (false && sel == contactsNoDialogs.list.begin && dialogs.list.count) {
sel = dialogs.list.end->prev;
contactSel = false;
}
@@ -921,7 +1036,7 @@ void DialogsListWidget::scrollToPeer(const PeerId &peer, MsgId msgId) {
DialogsList::RowByPeer::const_iterator i = dialogs.list.rowByPeer.constFind(peer);
if (i != dialogs.list.rowByPeer.cend()) {
fromY = i.value()->pos * st::dlgHeight;
} else {
} else if (false) {
i = contactsNoDialogs.list.rowByPeer.constFind(peer);
if (i != contactsNoDialogs.list.rowByPeer.cend()) {
fromY = (i.value()->pos + dialogs.list.count) * st::dlgHeight;
@@ -956,7 +1071,7 @@ void DialogsListWidget::selectSkipPage(int32 pixels, int32 direction) {
if (!sel) {
if (direction > 0 && dialogs.list.count) {
sel = dialogs.list.begin;
} else if (direction > 0 && contactsNoDialogs.list.count) {
} else if (false && direction > 0 && contactsNoDialogs.list.count) {
sel = contactsNoDialogs.list.begin;
} else {
return;
@@ -966,7 +1081,7 @@ void DialogsListWidget::selectSkipPage(int32 pixels, int32 direction) {
while (toSkip-- && sel->next->next) {
sel = sel->next;
}
if (toSkip >= 0 && sel->next == dialogs.list.end && contactsNoDialogs.list.count) {
if (false && toSkip >= 0 && sel->next == dialogs.list.end && contactsNoDialogs.list.count) {
sel = contactsNoDialogs.list.begin;
while (toSkip-- && sel->next->next) {
sel = sel->next;
@@ -1051,7 +1166,7 @@ void DialogsListWidget::loadPeerPhotos(int32 yFrom) {
bool DialogsListWidget::choosePeer() {
History *history = 0;
MsgId msgId = 0;
MsgId msgId = ShowAtUnreadMsgId;
if (_state == DefaultState) {
if (sel) history = sel->history;
} else if (_state == FilteredState || _state == SearchedState) {
@@ -1090,11 +1205,11 @@ bool DialogsListWidget::choosePeer() {
}
}
if (history) {
if (msgId) {
if (msgId > 0) {
saveRecentHashtags(filter);
}
bool chosen = (!App::main()->selectingPeer(true) && (_state == FilteredState || _state == SearchedState) && filteredSel >= 0 && filteredSel < filterResults.size());
App::main()->showPeer(history->peer->id, msgId);
App::main()->choosePeer(history->peer->id, msgId);
if (chosen) {
emit searchResultChosen();
}
@@ -1122,7 +1237,7 @@ void DialogsListWidget::saveRecentHashtags(const QString &text) {
}
}
if (!found && cRecentWriteHashtags().isEmpty() && cRecentSearchHashtags().isEmpty()) {
Local::readRecentStickers();
Local::readRecentHashtags();
recent = cRecentSearchHashtags();
}
found = true;
@@ -1161,11 +1276,11 @@ void DialogsListWidget::peerBefore(const PeerData *inPeer, MsgId inMsg, PeerData
}
if (i.value()->prev) {
outPeer = i.value()->prev->history->peer;
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
return;
} else if (dialogs.list.count) {
outPeer = dialogs.list.end->prev->history->peer;
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
return;
}
outPeer = 0;
@@ -1174,7 +1289,7 @@ void DialogsListWidget::peerBefore(const PeerData *inPeer, MsgId inMsg, PeerData
}
if (i.value()->prev) {
outPeer = i.value()->prev->history->peer;
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
return;
}
} else if (_state == FilteredState || _state == SearchedState) {
@@ -1188,7 +1303,7 @@ void DialogsListWidget::peerBefore(const PeerData *inPeer, MsgId inMsg, PeerData
}
}
if (searchResults.at(0)->_item->history()->peer == inPeer && searchResults.at(0)->_item->id == inMsg) {
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
if (peopleResults.isEmpty()) {
if (filterResults.isEmpty()) {
outPeer = 0;
@@ -1203,14 +1318,14 @@ void DialogsListWidget::peerBefore(const PeerData *inPeer, MsgId inMsg, PeerData
}
if (!peopleResults.isEmpty() && peopleResults.at(0) == inPeer) {
outPeer = filterResults.isEmpty() ? 0 : filterResults.back()->history->peer;
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
return;
}
if (!peopleResults.isEmpty()) {
for (PeopleResults::const_iterator b = peopleResults.cbegin(), i = b + 1, e = peopleResults.cend(); i != e; ++i) {
if ((*i) == inPeer) {
outPeer = (*(i - 1));
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
return;
}
}
@@ -1224,7 +1339,7 @@ void DialogsListWidget::peerBefore(const PeerData *inPeer, MsgId inMsg, PeerData
for (FilteredDialogs::const_iterator b = filterResults.cbegin(), i = b + 1, e = filterResults.cend(); i != e; ++i) {
if ((*i)->history->peer == inPeer) {
outPeer = (*(i - 1))->history->peer;
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
return;
}
}
@@ -1237,17 +1352,17 @@ void DialogsListWidget::peerAfter(const PeerData *inPeer, MsgId inMsg, PeerData
if (_state == DefaultState) {
DialogsList::RowByPeer::const_iterator i = dialogs.list.rowByPeer.constFind(inPeer->id);
if (i == dialogs.list.rowByPeer.constEnd()) {
i = contactsNoDialogs.list.rowByPeer.constFind(inPeer->id);
if (i == contactsNoDialogs.list.rowByPeer.cend()) {
outPeer = 0;
outMsg = 0;
return;
}
if (i.value()->next != contactsNoDialogs.list.end) {
outPeer = i.value()->next->history->peer;
outMsg = 0;
return;
}
//i = contactsNoDialogs.list.rowByPeer.constFind(inPeer->id);
//if (i == contactsNoDialogs.list.rowByPeer.cend()) {
// outPeer = 0;
// outMsg = 0;
// return;
//}
//if (i.value()->next != contactsNoDialogs.list.end) {
// outPeer = i.value()->next->history->peer;
// outMsg = ShowAtUnreadMsgId;
// return;
//}
outPeer = 0;
outMsg = 0;
return;
@@ -1255,11 +1370,11 @@ void DialogsListWidget::peerAfter(const PeerData *inPeer, MsgId inMsg, PeerData
if (i.value()->next != dialogs.list.end) {
outPeer = i.value()->next->history->peer;
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
return;
} else if (contactsNoDialogs.list.count) {
} else if (false && contactsNoDialogs.list.count) {
outPeer = contactsNoDialogs.list.begin->history->peer;
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
return;
}
} else if (_state == FilteredState || _state == SearchedState) {
@@ -1281,7 +1396,7 @@ void DialogsListWidget::peerAfter(const PeerData *inPeer, MsgId inMsg, PeerData
outMsg = searchResults.front()->_item->id;
} else {
outPeer = (i == e) ? 0 : (*i);
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
}
return;
}
@@ -1291,13 +1406,13 @@ void DialogsListWidget::peerAfter(const PeerData *inPeer, MsgId inMsg, PeerData
++i;
if (i == e && !peopleResults.isEmpty()) {
outPeer = peopleResults.front();
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
} else if (i == e && !searchResults.isEmpty()) {
outPeer = searchResults.front()->_item->history()->peer;
outMsg = searchResults.front()->_item->id;
} else {
outPeer = (i == e) ? 0 : (*i)->history->peer;
outMsg = 0;
outMsg = ShowAtUnreadMsgId;
}
return;
}
@@ -1333,6 +1448,8 @@ MsgId DialogsListWidget::lastSearchId() const {
DialogsWidget::DialogsWidget(MainWidget *parent) : QWidget(parent)
, _drawShadow(true)
, _dragInScroll(false)
, _dragForward(false)
, dlgOffset(0)
, dlgCount(-1)
, dlgPreloading(0)
@@ -1343,6 +1460,7 @@ DialogsWidget::DialogsWidget(MainWidget *parent) : QWidget(parent)
, _cancelSearch(this, st::btnCancelSearch)
, scroll(this, st::dlgScroll)
, list(&scroll, parent)
, _searchInPeer(0)
, _searchFull(false)
, _peopleFull(false)
{
@@ -1354,6 +1472,7 @@ DialogsWidget::DialogsWidget(MainWidget *parent) : QWidget(parent)
connect(&list, SIGNAL(searchResultChosen()), this, SLOT(onCancel()));
connect(&list, SIGNAL(completeHashtag(QString)), this, SLOT(onCompleteHashtag(QString)));
connect(&list, SIGNAL(refreshHashtags()), this, SLOT(onFilterCursorMoved()));
connect(&list, SIGNAL(cancelSearchInPeer()), this, SLOT(onCancelSearchInPeer()));
connect(&scroll, SIGNAL(geometryChanged()), &list, SLOT(onParentGeometryChanged()));
connect(&scroll, SIGNAL(scrolled()), &list, SLOT(onUpdateSelected()));
connect(&scroll, SIGNAL(scrolled()), this, SLOT(onListScroll()));
@@ -1365,6 +1484,11 @@ DialogsWidget::DialogsWidget(MainWidget *parent) : QWidget(parent)
connect(&_newGroup, SIGNAL(clicked()), this, SLOT(onNewGroup()));
connect(&_cancelSearch, SIGNAL(clicked()), this, SLOT(onCancelSearch()));
_chooseByDragTimer.setSingleShot(true);
connect(&_chooseByDragTimer, SIGNAL(timeout()), this, SLOT(onChooseByDrag()));
setAcceptDrops(true);
_searchTimer.setSingleShot(true);
connect(&_searchTimer, SIGNAL(timeout()), this, SLOT(onSearchMessages()));
@@ -1404,10 +1528,6 @@ void DialogsWidget::dialogsToUp() {
}
}
void DialogsWidget::setInnerFocus() {
_filter.setFocus();
}
void DialogsWidget::animShow(const QPixmap &bgAnimCache) {
_bgAnimCache = bgAnimCache;
_animCache = myGrab(this, rect());
@@ -1448,7 +1568,7 @@ bool DialogsWidget::animStep(float64 ms) {
}
void DialogsWidget::onCancel() {
if (!onCancelSearch() || !App::main()->selectingPeer()) {
if (!onCancelSearch() || (!_searchInPeer && !App::main()->selectingPeer())) {
emit cancelled();
}
}
@@ -1552,10 +1672,10 @@ bool DialogsWidget::onSearchMessages(bool searchCache) {
} else if (_searchQuery != q) {
_searchQuery = q;
_searchFull = false;
_searchRequest = MTP::send(MTPmessages_Search(MTP_inputPeerEmpty(), MTP_string(_searchQuery), MTP_inputMessagesFilterEmpty(), MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(SearchPerPage)), rpcDone(&DialogsWidget::searchReceived, true), rpcFail(&DialogsWidget::searchFailed));
_searchRequest = MTP::send(MTPmessages_Search(_searchInPeer ? _searchInPeer->input : MTP_inputPeerEmpty(), MTP_string(_searchQuery), MTP_inputMessagesFilterEmpty(), MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(SearchPerPage)), rpcDone(&DialogsWidget::searchReceived, true), rpcFail(&DialogsWidget::searchFailed));
_searchQueries.insert(_searchRequest, _searchQuery);
}
if (q.size() >= MinUsernameLength) {
if (!_searchInPeer && q.size() >= MinUsernameLength) {
if (searchCache) {
PeopleCache::const_iterator i = _peopleCache.constFind(q);
if (i != _peopleCache.cend()) {
@@ -1574,13 +1694,16 @@ bool DialogsWidget::onSearchMessages(bool searchCache) {
return false;
}
void DialogsWidget::onNeedSearchMessages() {
if (!onSearchMessages(true)) {
_searchTimer.start(AutoSearchTimeout);
}
}
void DialogsWidget::onChooseByDrag() {
list.choosePeer();
}
void DialogsWidget::searchMessages(const QString &query) {
if (_filter.text() != query) {
_filter.setText(query);
@@ -1595,7 +1718,7 @@ void DialogsWidget::searchMessages(const QString &query) {
void DialogsWidget::onSearchMore(MsgId minMsgId) {
if (!_searchRequest && !_searchFull) {
_searchRequest = MTP::send(MTPmessages_Search(MTP_inputPeerEmpty(), MTP_string(_searchQuery), MTP_inputMessagesFilterEmpty(), MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(minMsgId), MTP_int(SearchPerPage)), rpcDone(&DialogsWidget::searchReceived, !minMsgId), rpcFail(&DialogsWidget::searchFailed));
_searchRequest = MTP::send(MTPmessages_Search(_searchInPeer ? _searchInPeer->input : MTP_inputPeerEmpty(), MTP_string(_searchQuery), MTP_inputMessagesFilterEmpty(), MTP_int(0), MTP_int(0), MTP_int(0), MTP_int(minMsgId), MTP_int(SearchPerPage)), rpcDone(&DialogsWidget::searchReceived, !minMsgId), rpcFail(&DialogsWidget::searchFailed));
if (!minMsgId) {
_searchQueries.insert(_searchRequest, _searchQuery);
}
@@ -1604,18 +1727,24 @@ void DialogsWidget::onSearchMore(MsgId minMsgId) {
void DialogsWidget::loadDialogs() {
if (dlgPreloading) return;
if (dlgCount >= 0 && dlgOffset >= dlgCount) return;
if (dlgCount >= 0 && dlgOffset >= dlgCount) {
list.addAllSavedPeers();
cSetDialogsReceived(true);
return;
}
int32 loadCount = dlgOffset ? DialogsPerPage : DialogsFirstLoad;
dlgPreloading = MTP::send(MTPmessages_GetDialogs(MTP_int(dlgOffset), MTP_int(0), MTP_int(loadCount)), rpcDone(&DialogsWidget::dialogsReceived), rpcFail(&DialogsWidget::dialogsFailed));
}
void DialogsWidget::contactsReceived(const MTPcontacts_Contacts &contacts) {
cSetContactsReceived(true);
if (contacts.type() == mtpc_contacts_contacts) {
const MTPDcontacts_contacts &d(contacts.c_contacts_contacts());
App::feedUsers(d.vusers);
list.contactsReceived(d.vcontacts.c_vector().v);
}
if (App::main()) App::main()->contactsReceived();
}
bool DialogsWidget::contactsFailed(const RPCError &error) {
@@ -1709,12 +1838,84 @@ bool DialogsWidget::addNewContact(int32 uid, bool show) {
_filter.setText(QString());
onFilterUpdate();
int32 to = list.addNewContact(uid, true);
if (to < 0 || !show) return false;
if (to < -1 || !show) return false;
list.refresh();
scroll.scrollToY(to);
if (to >= 0) scroll.scrollToY(to);
return true;
}
void DialogsWidget::dragEnterEvent(QDragEnterEvent *e) {
if (App::main()->selectingPeer()) return;
_dragInScroll = false;
_dragForward = e->mimeData()->hasFormat(qsl("application/x-td-forward-selected"));
if (!_dragForward) _dragForward = e->mimeData()->hasFormat(qsl("application/x-td-forward-pressed-link"));
if (!_dragForward) _dragForward = e->mimeData()->hasFormat(qsl("application/x-td-forward-pressed"));
if (_dragForward && !cWideMode()) _dragForward = false;
if (_dragForward) {
e->setDropAction(Qt::CopyAction);
e->accept();
updateDragInScroll(scroll.geometry().contains(e->pos()));
} else if (App::main() && App::main()->getDragState(e->mimeData()) != DragStateNone) {
e->setDropAction(Qt::CopyAction);
e->accept();
}
_chooseByDragTimer.stop();
}
void DialogsWidget::dragMoveEvent(QDragMoveEvent *e) {
if (scroll.geometry().contains(e->pos())) {
if (_dragForward) {
updateDragInScroll(true);
} else {
_chooseByDragTimer.start(ChoosePeerByDragTimeout);
}
PeerData *p = list.updateFromParentDrag(mapToGlobal(e->pos()));
if (p) {
e->setDropAction(Qt::CopyAction);
} else {
e->setDropAction(Qt::IgnoreAction);
}
} else {
if (_dragForward) updateDragInScroll(false);
list.leaveEvent(0);
e->setDropAction(Qt::IgnoreAction);
}
e->accept();
}
void DialogsWidget::dragLeaveEvent(QDragLeaveEvent *e) {
if (_dragForward) {
updateDragInScroll(false);
} else {
_chooseByDragTimer.stop();
}
list.leaveEvent(0);
e->accept();
}
void DialogsWidget::updateDragInScroll(bool inScroll) {
if (_dragInScroll != inScroll) {
_dragInScroll = inScroll;
if (_dragInScroll) {
App::main()->forwardLayer(1);
} else {
App::main()->dialogsCancelled();
}
}
}
void DialogsWidget::dropEvent(QDropEvent *e) {
_chooseByDragTimer.stop();
if (scroll.geometry().contains(e->pos())) {
PeerData *p = list.updateFromParentDrag(mapToGlobal(e->pos()));
if (p) {
e->acceptProposedAction();
App::main()->onFilesOrForwardDrop(p->id, e->mimeData());
}
}
}
void DialogsWidget::onListScroll() {
// if (!App::self()) return;
@@ -1750,14 +1951,23 @@ void DialogsWidget::onFilterUpdate(bool force) {
}
}
void DialogsWidget::searchInPeer(PeerData *peer) {
onCancelSearch();
_searchInPeer = peer;
list.searchInPeer(peer);
onFilterUpdate(true);
list.onFilterUpdate(_filter.text(), true);
}
void DialogsWidget::onFilterCursorMoved(int from, int to) {
if (to < 0) to = _filter.cursorPosition();
QString t = _filter.text(), r;
QString t = _filter.text();
QStringRef r;
for (int start = to; start > 0;) {
--start;
if (t.size() <= start) break;
if (t.at(start) == '#') {
r = t.mid(start, to - start);
r = t.midRef(start, to - start);
break;
}
if (!t.at(start).isLetterOrNumber() && t.at(start) != '_') break;
@@ -1799,9 +2009,16 @@ void DialogsWidget::resizeEvent(QResizeEvent *e) {
_addContact.move(w - _addContact.width() - st::dlgPaddingHor, _filter.y());
_cancelSearch.move(w - _cancelSearch.width() - st::dlgPaddingHor, _filter.y());
scroll.move(0, _filter.height() + 2 * st::dlgFilterPadding);
int32 addToY = App::main() ? App::main()->contentScrollAddToY() : 0;
int32 newScrollY = scroll.scrollTop() + addToY;
scroll.resize(w, height() - _filter.y() - _filter.height() - st::dlgFilterPadding - st::dlgPaddingVer);
list.resize(w, list.height());
onListScroll();
if (addToY) {
scroll.scrollToY(newScrollY);
} else {
onListScroll();
}
}
void DialogsWidget::keyPressEvent(QKeyEvent *e) {
@@ -1886,6 +2103,10 @@ DialogsIndexed &DialogsWidget::contactsList() {
return list.contactsList();
}
DialogsIndexed &DialogsWidget::dialogsList() {
return list.dialogsList();
}
void DialogsWidget::onAddContact() {
App::wnd()->replaceLayer(new AddContactBox());
}
@@ -1896,6 +2117,14 @@ void DialogsWidget::onNewGroup() {
bool DialogsWidget::onCancelSearch() {
bool clearing = !_filter.text().isEmpty();
if (_searchInPeer && !clearing) {
if (!cWideMode()) {
App::main()->showPeerHistory(_searchInPeer->id, ShowAtUnreadMsgId);
}
_searchInPeer = 0;
list.searchInPeer(0);
clearing = true;
}
list.clearFilter();
_filter.clear();
_filter.updatePlaceholder();
@@ -1903,6 +2132,23 @@ bool DialogsWidget::onCancelSearch() {
return clearing;
}
void DialogsWidget::onCancelSearchInPeer() {
if (_searchInPeer) {
if (!cWideMode()) {
App::main()->showPeerHistory(_searchInPeer->id, ShowAtUnreadMsgId);
}
_searchInPeer = 0;
list.searchInPeer(0);
}
list.clearFilter();
_filter.clear();
_filter.updatePlaceholder();
onFilterUpdate();
if (cWideMode()) {
emit cancelled();
}
}
void DialogsWidget::onDialogToTopFrom(int movedFrom) {
if (scroll.scrollTop() > 0) {
if (movedFrom > scroll.scrollTop()) {

View File

@@ -27,6 +27,7 @@ public:
DialogsListWidget(QWidget *parent, MainWidget *main);
void dialogsReceived(const QVector<MTPDialog> &dialogs);
void addAllSavedPeers();
void searchReceived(const QVector<MTPMessage> &messages, bool fromStart, int32 fullCount);
void peopleReceived(const QString &query, const QVector<MTPContactFound> &people);
void showMore(int32 pixels);
@@ -34,7 +35,7 @@ public:
void activate();
void contactsReceived(const QVector<MTPContact> &contacts);
int32 addNewContact(int32 uid, bool sel = false); // return y of row or -1 if failed
int32 addNewContact(int32 uid, bool sel = false); // -2 - err, -1 - don't scroll, >= 0 - scroll
int32 filteredOffset() const;
int32 peopleOffset() const;
@@ -48,6 +49,7 @@ public:
void leaveEvent(QEvent *e);
void peopleResultPaint(UserData *user, QPainter &p, int32 w, bool act, bool sel) const;
void searchInPeerPaint(QPainter &p, int32 w) const;
void selectSkip(int32 direction);
void selectSkipPage(int32 pixels, int32 direction);
@@ -93,11 +95,15 @@ public:
State state() const;
bool hasFilteredResults() const;
void searchInPeer(PeerData *peer);
void onFilterUpdate(QString newFilter, bool force = false);
void onHashtagFilterUpdate(QString newFilter);
void onHashtagFilterUpdate(QStringRef newFilter);
void itemRemoved(HistoryItem *item);
void itemReplaced(HistoryItem *oldItem, HistoryItem *newItem);
PeerData *updateFromParentDrag(QPoint globalPos);
~DialogsListWidget();
public slots:
@@ -115,6 +121,7 @@ signals:
void dialogToTopFrom(int movedFrom);
void searchMessages();
void searchResultChosen();
void cancelSearchInPeer();
void completeHashtag(QString tag);
void refreshHashtags();
@@ -130,7 +137,7 @@ private:
bool contactSel;
bool selByMouse;
QString filter;
QString filter, _hashtagFilter;
QStringList hashtagResults;
int32 hashtagSel;
@@ -154,9 +161,12 @@ private:
void paintDialog(QPainter &p, DialogRow *dialog);
LinkButton _addContactLnk;
IconedButton _cancelSearchInPeer;
bool _overDelete;
PeerData *_searchInPeer;
};
class DialogsWidget : public QWidget, public Animated, public RPCSender {
@@ -171,10 +181,18 @@ public:
void peopleReceived(const MTPcontacts_Found &result, mtpRequestId req);
bool addNewContact(int32 uid, bool show = true);
void dragEnterEvent(QDragEnterEvent *e);
void dragMoveEvent(QDragMoveEvent *e);
void dragLeaveEvent(QDragLeaveEvent *e);
void dropEvent(QDropEvent *e);
void updateDragInScroll(bool inScroll);
void resizeEvent(QResizeEvent *e);
void keyPressEvent(QKeyEvent *e);
void paintEvent(QPaintEvent *e);
void searchInPeer(PeerData *peer);
void loadDialogs();
void createDialogAtTop(History *history, int32 unreadCount);
void dlgUpdated(DialogRow *row);
@@ -185,8 +203,6 @@ public:
void animShow(const QPixmap &bgAnimCache);
bool animStep(float64 ms);
void setInnerFocus();
void destroyData();
void peerBefore(const PeerData *inPeer, MsgId inMsg, PeerData *&outPeer, MsgId &outMsg) const;
@@ -197,6 +213,7 @@ public:
void removeContact(UserData *user);
DialogsIndexed &contactsList();
DialogsIndexed &dialogsList();
void enableShadow(bool enable = true);
@@ -219,6 +236,7 @@ public slots:
void onAddContact();
void onNewGroup();
bool onCancelSearch();
void onCancelSearchInPeer();
void onFilterCursorMoved(int from = -1, int to = -1);
void onCompleteHashtag(QString tag);
@@ -227,10 +245,15 @@ public slots:
bool onSearchMessages(bool searchCache = false);
void onNeedSearchMessages();
void onChooseByDrag();
private:
bool _drawShadow;
bool _dragInScroll, _dragForward;
QTimer _chooseByDragTimer;
void unreadCountsReceived(const QVector<MTPDialog> &dialogs);
bool dialogsFailed(const RPCError &error);
bool contactsFailed(const RPCError &error);
@@ -250,6 +273,8 @@ private:
anim::ivalue a_coord, a_bgCoord;
anim::fvalue a_alpha, a_bgAlpha;
PeerData *_searchInPeer;
QTimer _searchTimer;
QString _searchQuery, _peopleQuery;
bool _searchFull, _peopleFull;

File diff suppressed because it is too large Load Diff

View File

@@ -25,25 +25,32 @@ class Dropdown : public TWidget, public Animated {
public:
Dropdown(QWidget *parent);
Dropdown(QWidget *parent, const style::dropdown &st = st::dropdownDef);
IconedButton *addButton(IconedButton *button);
void resetButtons();
void updateButtons();
void resizeEvent(QResizeEvent *e);
void paintEvent(QPaintEvent *e);
void enterEvent(QEvent *e);
void leaveEvent(QEvent *e);
void keyPressEvent(QKeyEvent *e);
void otherEnter();
void otherLeave();
void fastHide();
void ignoreShow(bool ignore = true);
bool animStep(float64 ms);
bool eventFilter(QObject *obj, QEvent *e);
signals:
void hiding();
public slots:
void hideStart();
@@ -52,13 +59,21 @@ public slots:
void showStart();
void onWndActiveChanged();
void buttonStateChanged(int oldState, ButtonStateChangeSource source);
private:
void adjustButtons();
bool _ignore;
typedef QVector<IconedButton*> Buttons;
Buttons _buttons;
int32 _selected;
const style::dropdown &_st;
int32 _width, _height;
bool _hiding;
@@ -95,7 +110,7 @@ public:
signals:
void dropped(QDropEvent *e);
void dropped(const QMimeData *data);
public slots:
@@ -117,52 +132,236 @@ private:
};
class EmojiPanInner : public QWidget, public Animated {
static const int EmojiColorsCount = 5;
class EmojiColorPicker : public TWidget, public Animated {
Q_OBJECT
public:
EmojiColorPicker(QWidget *parent);
void showEmoji(uint32 code);
void paintEvent(QPaintEvent *e);
void enterEvent(QEvent *e);
void leaveEvent(QEvent *e);
void mousePressEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
bool animStep(float64 ms);
void showStart();
void clearSelection(bool fast = false);
public slots:
void hideStart(bool fast = false);
signals:
void emojiSelected(EmojiPtr emoji);
void hidden();
private:
void drawVariant(Painter &p, int variant);
void updateSelected();
bool _ignoreShow;
EmojiPtr _variants[EmojiColorsCount + 1];
typedef QMap<int32, uint64> EmojiAnimations; // index - showing, -index - hiding
EmojiAnimations _emojiAnimations;
float64 _hovers[EmojiColorsCount + 1];
int32 _selected, _pressedSel;
QPoint _lastMousePos;
bool _hiding;
QPixmap _cache;
anim::fvalue a_opacity;
QTimer _hideTimer;
BoxShadow _shadow;
};
static const int32 SwitcherSelected = (INT_MAX / 2);
class EmojiPanInner : public TWidget, public Animated {
Q_OBJECT
public:
EmojiPanInner(QWidget *parent = 0);
void setMaxHeight(int32 h);
void paintEvent(QPaintEvent *e);
void mousePressEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
void leaveEvent(QEvent *e);
void leaveToChildEvent(QEvent *e);
void enterFromChildEvent(QEvent *e);
bool animStep(float64 ms);
void hideFinish();
void showEmojiPack(DBIEmojiTab packIndex);
void clearSelection(bool fast = false);
DBIEmojiTab currentTab(int yOffset) const;
void refreshRecent();
void setScrollTop(int top);
public slots:
void updateSelected();
void onSaveConfig();
void onShowPicker();
void onPickerHidden();
void onColorSelected(EmojiPtr emoji);
signals:
void emojiSelected(EmojiPtr emoji);
void stickerSelected(DocumentData *sticker);
void selected(EmojiPtr emoji);
void switchToStickers();
void scrollToY(int y);
void disableScroll(bool dis);
private:
typedef QMap<int32, uint64> EmojiAnimations; // index - showing, -index - hiding
EmojiAnimations _emojiAnimations;
int32 _maxHeight;
StickerPack _stickers;
QVector<bool> _isUserGen;
QVector<EmojiPtr> _emojis;
QVector<float64> _hovers;
int32 countHeight();
void selectEmoji(EmojiPtr emoji);
DBIEmojiTab _tab;
int32 _selected, _xSelected, _pressedSel, _xPressedSel;
typedef QMap<int32, uint64> Animations; // index - showing, -index - hiding
Animations _animations;
int32 _top, _counts[emojiTabCount];
QVector<EmojiPtr> _emojis[emojiTabCount];
QVector<float64> _hovers[emojiTabCount];
int32 _esize;
int32 _selected, _pressedSel, _pickerSel;
QPoint _lastMousePos;
QTimer _saveConfigTimer;
EmojiColorPicker _picker;
QTimer _showPickerTimer;
float64 _switcherHover;
int32 _stickersWidth;
};
struct StickerIcon {
StickerIcon() : setId(RecentStickerSetId), sticker(0), pixw(0), pixh(0) {
}
StickerIcon(uint64 setId, DocumentData *sticker, int32 pixw, int32 pixh) : setId(setId), sticker(sticker), pixw(pixw), pixh(pixh) {
}
uint64 setId;
DocumentData *sticker;
int32 pixw, pixh;
};
class StickerPanInner : public TWidget, public Animated {
Q_OBJECT
public:
StickerPanInner(QWidget *parent = 0);
void setMaxHeight(int32 h);
void paintEvent(QPaintEvent *e);
void mousePressEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
void leaveEvent(QEvent *e);
void leaveToChildEvent(QEvent *e);
void enterFromChildEvent(QEvent *e);
bool animStep(float64 ms);
void showStickerSet(uint64 setId);
void clearSelection(bool fast = false);
void refreshStickers();
void refreshRecent(bool resize = true);
void fillIcons(QVector<StickerIcon> &icons);
void setScrollTop(int top);
void preloadImages();
uint64 currentSet(int yOffset) const;
public slots:
void updateSelected();
signals:
void selected(DocumentData *sticker);
void removing(uint64 setId);
void refreshIcons();
void switchToEmoji();
void scrollToY(int y);
void disableScroll(bool dis);
private:
int32 _maxHeight;
void appendSet(uint64 setId);
int32 countHeight();
void selectEmoji(EmojiPtr emoji);
typedef QMap<int32, uint64> Animations; // index - showing, -index - hiding
Animations _animations;
int32 _top;
struct DisplayedSet {
DisplayedSet(uint64 id, int32 flags, const QString &title, int32 hoversSize, const StickerPack &pack = StickerPack()) : id(id), flags(flags), title(title), hovers(hoversSize, 0), pack(pack) {
}
uint64 id;
int32 flags;
QString title;
QVector<float64> hovers;
StickerPack pack;
};
QList<DisplayedSet> _sets;
QList<bool> _custom;
int32 _selected, _pressedSel;
QPoint _lastMousePos;
float64 _switcherHover;
int32 _emojiWidth;
};
class EmojiPan : public TWidget, public Animated {
@@ -172,6 +371,7 @@ public:
EmojiPan(QWidget *parent);
void setMaxHeight(int32 h);
void paintEvent(QPaintEvent *e);
void enterEvent(QEvent *e);
@@ -179,6 +379,12 @@ public:
void otherEnter();
void otherLeave();
void mousePressEvent(QMouseEvent *e);
void mouseMoveEvent(QMouseEvent *e);
void mouseReleaseEvent(QMouseEvent *e);
bool event(QEvent *e);
void fastHide();
bool hiding() const {
return _hiding || _hideTimer.isActive();
@@ -186,10 +392,15 @@ public:
bool animStep(float64 ms);
bool iconAnim(float64 ms);
bool eventFilter(QObject *obj, QEvent *e);
void stickersInstalled(uint64 setId);
public slots:
void refreshStickers();
void hideStart();
void hideFinish();
@@ -197,6 +408,14 @@ public slots:
void onWndActiveChanged();
void onTabChange();
void onScroll();
void onSwitch();
void onRemoveSet(uint64 setId);
void onRemoveSetSure();
void onDelayedHide();
void onRefreshIcons();
signals:
@@ -206,9 +425,21 @@ signals:
private:
int32 _maxHeight;
bool _horizontal;
void leaveToChildEvent(QEvent *e);
void updateSelected();
void updateIcons();
void prepareTab(int32 &left, int32 top, int32 _width, FlatRadiobutton &tab);
void showAll();
void hideAll();
bool _noTabUpdate;
int32 _width, _height;
bool _hiding;
QPixmap _cache;
@@ -219,16 +450,38 @@ private:
BoxShadow _shadow;
FlatRadiobutton _recent, _people, _nature, _objects, _places, _symbols, _stickers;
FlatRadiobutton _recent, _people, _nature, _food, _celebration, _activity, _travel, _objects;
QVector<StickerIcon> _icons;
QVector<float64> _iconHovers;
int32 _iconOver, _iconSel, _iconDown;
bool _iconsDragging;
typedef QMap<int32, uint64> Animations; // index - showing, -index - hiding
Animations _iconAnimations;
Animation _iconAnim;
QPoint _iconsMousePos, _iconsMouseDown;
int32 _iconsLeft, _iconsTop;
int32 _iconsStartX, _iconsMax;
anim::ivalue _iconsX, _iconSelX;
uint64 _iconsStartAnim;
int32 _emojiPack;
ScrollArea _scroll;
EmojiPanInner _inner;
bool _stickersShown;
QPixmap _fromCache, _toCache;
anim::ivalue a_fromCoord, a_toCoord;
anim::fvalue a_fromAlpha, a_toAlpha;
uint64 _moveStart;
ScrollArea e_scroll;
EmojiPanInner e_inner;
ScrollArea s_scroll;
StickerPanInner s_inner;
uint64 _removingSetId;
};
typedef QList<UserData*> MentionRows;
typedef QList<QString> HashtagRows;
typedef QList<QPair<UserData*, const BotCommand*> > BotCommandRows;
class MentionsDropdown;
class MentionsInner : public QWidget {
@@ -236,7 +489,7 @@ class MentionsInner : public QWidget {
public:
MentionsInner(MentionsDropdown *parent, MentionRows *rows, HashtagRows *hrows);
MentionsInner(MentionsDropdown *parent, MentionRows *rows, HashtagRows *hrows, BotCommandRows *crows);
void paintEvent(QPaintEvent *e);
@@ -250,6 +503,8 @@ public:
bool moveSel(int direction);
bool select();
QString getSelected() const;
signals:
void chosen(QString mentionOrHashtag);
@@ -267,6 +522,7 @@ private:
MentionsDropdown *_parent;
MentionRows *_rows;
HashtagRows *_hrows;
BotCommandRows *_crows;
int32 _sel;
bool _mouseSel;
QPoint _mousePos;
@@ -285,18 +541,21 @@ public:
void fastHide();
void showFiltered(ChatData *chat, QString start);
bool clearFilteredCommands();
void showFiltered(PeerData *peer, QString start);
void updateFiltered(bool toDown = false);
void setBoundings(QRect boundings);
bool animStep(float64 ms);
const QString &filter() const;
ChatData *chat() const;
int32 innerTop();
int32 innerBottom();
bool eventFilter(QObject *obj, QEvent *e);
QString getSelected() const;
~MentionsDropdown();
@@ -318,11 +577,13 @@ private:
QPixmap _cache;
MentionRows _rows;
HashtagRows _hrows;
BotCommandRows _crows;
ScrollArea _scroll;
MentionsInner _inner;
ChatData *_chat;
UserData *_user;
QString _filter;
QRect _boundings;
@@ -336,97 +597,3 @@ private:
BoxShadow _shadow;
};
//class StickerPanInner : public QWidget, public Animated {
// Q_OBJECT
//
//public:
//
// StickerPanInner(QWidget *parent = 0);
//
// void paintEvent(QPaintEvent *e);
//
// void mousePressEvent(QMouseEvent *e);
// void mouseReleaseEvent(QMouseEvent *e);
// void mouseMoveEvent(QMouseEvent *e);
// void leaveEvent(QEvent *e);
//
// bool animStep(float64 ms);
//
// void showStickerPack(EmojiPtr emoji);
// bool hasContent() const;
//
//public slots:
//
// void updateSelected();
//
//signals:
//
// void stickerSelected(DocumentData *sticker);
//
//private:
//
// typedef QMap<int32, uint64> StickerAnimations; // index - showing, -index - hiding
// StickerAnimations _stickerAnimations;
//
// StickerPack _stickers;
// QVector<float64> _hovers;
//
// EmojiPtr _emoji;
// int32 _selected, _pressedSel;
// QPoint _lastMousePos;
//
//};
//
//class StickerPan : public TWidget, public Animated {
// Q_OBJECT
//
//public:
//
// StickerPan(QWidget *parent);
//
// void setStickerPack(EmojiPtr emoji, bool show);
// void paintEvent(QPaintEvent *e);
//
// void enterEvent(QEvent *e);
// void leaveEvent(QEvent *e);
// void otherEnter();
// void otherLeave();
//
// void fastHide();
//
// bool animStep(float64 ms);
//
// bool eventFilter(QObject *obj, QEvent *e);
//
//public slots:
//
// void hideStart();
// void hideFinish();
//
// void showStart();
//
//signals:
//
// void stickerSelected(DocumentData *sticker);
//
//private:
//
// void showAll();
// void hideAll();
//
// int32 _width, _height;
// bool _hiding;
// QPixmap _cache;
//
// anim::fvalue a_opacity;
//
// QTimer _hideTimer;
//
// BoxShadow _shadow;
//
// EmojiPtr _emoji;
// ScrollArea _scroll;
// StickerPanInner _inner;
//
//};

View File

@@ -38,8 +38,12 @@ void FileUploader::uploadMedia(MsgId msgId, const ReadyLocalMedia &media) {
}
document->status = FileUploading;
if (!media.file.isEmpty()) {
document->location = FileLocation(mtpc_storage_filePartial, media.file);
document->location = FileLocation(StorageFilePartial, media.file);
}
} else if (media.type == ToPrepareAudio) {
AudioData *audio = App::feedAudio(media.audio);
audio->status = FileUploading;
audio->data = media.data;
}
queue.insert(msgId, File(media));
sendNext();
@@ -56,6 +60,12 @@ void FileUploader::currentFailed() {
doc->status = FileFailed;
}
emit documentFailed(j.key());
} else if (j->media.type == ToPrepareAudio) {
AudioData *audio = App::audio(j->media.id);
if (audio->status == FileUploading) {
audio->status = FileFailed;
}
emit audioFailed(j.key());
}
queue.erase(j);
}
@@ -112,7 +122,7 @@ void FileUploader::sendNext() {
emit photoReady(uploading, MTP_inputFile(MTP_long(i->media.id), MTP_int(i->partsCount), MTP_string(i->media.filename), MTP_string(i->media.jpeg_md5)));
} else if (i->media.type == ToPrepareDocument) {
QByteArray docMd5(32, Qt::Uninitialized);
hashMd5Hex(i->docHash.result(), docMd5.data());
hashMd5Hex(i->md5Hash.result(), docMd5.data());
MTPInputFile doc = (i->docSize > UseBigFilesFrom) ? MTP_inputFileBig(MTP_long(i->media.id), MTP_int(i->docPartsCount), MTP_string(i->media.filename)) : MTP_inputFile(MTP_long(i->media.id), MTP_int(i->docPartsCount), MTP_string(i->media.filename), MTP_string(docMd5));
if (i->partsCount) {
@@ -120,6 +130,12 @@ void FileUploader::sendNext() {
} else {
emit documentReady(uploading, doc);
}
} else if (i->media.type == ToPrepareAudio) {
QByteArray audioMd5(32, Qt::Uninitialized);
hashMd5Hex(i->md5Hash.result(), audioMd5.data());
MTPInputFile audio = (i->docSize > UseBigFilesFrom) ? MTP_inputFileBig(MTP_long(i->media.id), MTP_int(i->docPartsCount), MTP_string(i->media.filename)) : MTP_inputFile(MTP_long(i->media.id), MTP_int(i->docPartsCount), MTP_string(i->media.filename), MTP_string(audioMd5));
emit audioReady(uploading, audio);
}
queue.remove(uploading);
uploading = 0;
@@ -139,12 +155,12 @@ void FileUploader::sendNext() {
}
toSend = i->docFile->read(i->docPartSize);
if (i->docSize <= UseBigFilesFrom) {
i->docHash.feed(toSend.constData(), toSend.size());
i->md5Hash.feed(toSend.constData(), toSend.size());
}
} else {
toSend = i->media.data.mid(i->docSentParts * i->docPartSize, i->docPartSize);
if (i->media.type == ToPrepareDocument && i->docSentParts <= UseBigFilesFrom) {
i->docHash.feed(toSend.constData(), toSend.size());
if ((i->media.type == ToPrepareDocument || i->media.type == ToPrepareAudio) && i->docSentParts <= UseBigFilesFrom) {
i->md5Hash.feed(toSend.constData(), toSend.size());
}
}
if (toSend.size() > i->docPartSize || (toSend.size() < i->docPartSize && i->docSentParts + 1 != i->docPartsCount)) {
@@ -249,6 +265,15 @@ void FileUploader::partLoaded(const MTPBool &result, mtpRequestId requestId) {
}
}
emit documentProgress(k.key());
} else if (k->media.type == ToPrepareAudio) {
AudioData *audio = App::audio(k->media.id);
if (audio->status == FileUploading) {
audio->uploadOffset = (k->docSentParts - docRequestsSent.size()) * k->docPartSize;
if (audio->uploadOffset > audio->size) {
audio->uploadOffset = audio->size;
}
}
emit audioProgress(k.key());
}
}
}

View File

@@ -45,19 +45,22 @@ signals:
void photoReady(MsgId msgId, const MTPInputFile &file);
void documentReady(MsgId msgId, const MTPInputFile &file);
void thumbDocumentReady(MsgId msgId, const MTPInputFile &file, const MTPInputFile &thumb);
void audioReady(MsgId msgId, const MTPInputFile &file);
void photoProgress(MsgId msgId);
void documentProgress(MsgId msgId);
void audioProgress(MsgId msgId);
void photoFailed(MsgId msgId);
void documentFailed(MsgId msgId);
void audioFailed(MsgId msgId);
private:
struct File {
File(const ReadyLocalMedia &media) : media(media), docSentParts(0) {
partsCount = media.parts.size();
if (media.type == ToPrepareDocument) {
if (media.type == ToPrepareDocument || media.type == ToPrepareAudio) {
docSize = media.file.isEmpty() ? media.data.size() : media.filesize;
if (docSize >= 1024 * 1024 || !setPartSize(DocumentUploadPartSize0)) {
if (docSize > 32 * 1024 * 1024 || !setPartSize(DocumentUploadPartSize1)) {
@@ -83,12 +86,13 @@ private:
ReadyLocalMedia media;
int32 partsCount;
HashMd5 md5Hash;
QSharedPointer<QFile> docFile;
int32 docSentParts;
int32 docSize;
int32 docPartSize;
int32 docPartsCount;
HashMd5 docHash;
};
typedef QMap<MsgId, File> Queue;

View File

@@ -18,7 +18,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
#include "stdafx.h"
#include "animation.h"
#include <QtCore/QTimer>
#include "mainwidget.h"
#include "window.h"
namespace {
AnimationManager *manager = 0;
@@ -78,6 +80,11 @@ namespace anim {
manager->start(obj);
}
void step(Animated *obj) {
if (!manager) return;
manager->step(obj);
}
void stop(Animated *obj) {
if (!manager) return;
manager->stop(obj);
@@ -94,3 +101,135 @@ namespace anim {
}
}
bool AnimatedGif::animStep(float64 ms) {
int32 f = frame;
while (f < images.size() && ms > delays[f]) {
++f;
if (f == images.size() && images.size() < framesCount) {
if (reader->read(&img)) {
int64 d = reader->nextImageDelay(), delay = delays[f - 1];
if (!d) d = 1;
delay += d;
if (img.size() != QSize(w, h)) img = img.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
images.push_back(img);
frames.push_back(QPixmap());
delays.push_back(delay);
for (int32 i = 0; i < images.size(); ++i) {
if (!images[i].isNull() || !frames[i].isNull()) {
images[i] = QImage();
frames[i] = QPixmap();
break;
}
}
} else {
framesCount = images.size();
}
}
if (f == images.size()) {
if (!duration) {
duration = delays.isEmpty() ? 1 : delays.back();
}
f = 0;
for (int32 i = 0, s = delays.size() - 1; i <= s; ++i) {
delays[i] += duration;
}
if (images[f].isNull()) {
QString fname = reader->fileName();
delete reader;
reader = new QImageReader(fname);
}
}
if (images[f].isNull() && reader->read(&img)) {
if (img.size() != QSize(w, h)) img = img.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
images[f] = img;
frames[f] = QPixmap();
}
}
if (frame != f) {
frame = f;
if (msg && App::main()) {
App::main()->msgUpdated(msg->history()->peer->id, msg);
} else {
emit updated();
}
}
return true;
}
void AnimatedGif::start(HistoryItem *row, const QString &file) {
stop();
reader = new QImageReader(file);
if (!reader->canRead() || !reader->supportsAnimation()) {
stop();
return;
}
QSize s = reader->size();
w = s.width();
h = s.height();
framesCount = reader->imageCount();
if (!w || !h || !framesCount) {
stop();
return;
}
frames.reserve(framesCount);
images.reserve(framesCount);
delays.reserve(framesCount);
int32 sizeLeft = MediaViewImageSizeLimit, delay = 0;
for (bool read = reader->read(&img); read; read = reader->read(&img)) {
sizeLeft -= w * h * 4;
if (img.size() != s) img = img.scaled(w, h, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
images.push_back(img);
frames.push_back(QPixmap());
int32 d = reader->nextImageDelay();
if (!d) d = 1;
delay += d;
delays.push_back(delay);
if (sizeLeft < 0) break;
}
msg = row;
anim::start(this);
if (msg) {
msg->initDimensions();
if (App::main()) App::main()->itemResized(msg, true);
}
}
void AnimatedGif::stop(bool onItemRemoved) {
if (isNull()) return;
delete reader;
reader = 0;
HistoryItem *row = msg;
msg = 0;
frames.clear();
images.clear();
delays.clear();
w = h = frame = framesCount = duration = 0;
anim::stop(this);
if (row && !onItemRemoved) {
row->initDimensions();
if (App::main()) App::main()->itemResized(row, true);
}
}
const QPixmap &AnimatedGif::current(int32 width, int32 height, bool rounded) {
if (!width) width = w;
if (!height) height = h;
if ((frames[frame].isNull() || frames[frame].width() != width || frames[frame].height() != height) && !images[frame].isNull()) {
QImage img = images[frame];
if (img.width() != width || img.height() != height) img = img.scaled(width, height, Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
if (rounded) imageRound(img);
frames[frame] = QPixmap::fromImage(img, Qt::ColorOnly);
frames[frame].setDevicePixelRatio(cRetinaFactor());
}
return frames[frame];
}

View File

@@ -185,6 +185,7 @@ namespace anim {
};
void start(Animated *obj);
void step(Animated *obj);
void stop(Animated *obj);
void startManager();
@@ -222,6 +223,63 @@ private:
};
class AnimationFunc {
public:
virtual bool animStep(float64 ms) = 0;
virtual ~AnimationFunc() {
}
};
template <typename Type>
class AnimationFuncOwned : public AnimationFunc {
public:
typedef bool (Type::*Method)(float64);
AnimationFuncOwned(Type *obj, Method method) : _obj(obj), _method(method) {
}
bool animStep(float64 ms) {
return (_obj->*_method)(ms);
}
private:
Type *_obj;
Method _method;
};
template <typename Type>
AnimationFunc *animFunc(Type *obj, typename AnimationFuncOwned<Type>::Method method) {
return new AnimationFuncOwned<Type>(obj, method);
}
class Animation : public Animated {
public:
Animation(AnimationFunc *func) : _func(func) {
}
void start() {
anim::start(this);
}
void stop() {
anim::stop(this);
}
//Animation
bool animStep(float64 ms) {
return _func->animStep(ms);
}
~Animation() {
delete _func;
}
private:
AnimationFunc *_func;
};
class AnimationManager : public QObject {
Q_OBJECT
@@ -248,6 +306,23 @@ public:
obj->animInProcess = true;
}
void step(Animated *obj) {
if (iterating) return;
float64 ms = float64(getms());
AnimObjs::iterator i = objs.find(obj);
if (i != objs.cend()) {
Animated *obj = *i;
if (!obj->animStep(ms - obj->animStarted)) {
objs.erase(i);
if (!objs.size()) {
timer.stop();
}
obj->animInProcess = false;
}
}
}
void stop(Animated *obj) {
if (iterating) {
toStop.insert(obj);
@@ -307,3 +382,46 @@ private:
bool iterating;
};
class HistoryItem;
class AnimatedGif : public QObject, public Animated {
Q_OBJECT
public:
AnimatedGif() : msg(0), reader(0), w(0), h(0), frame(0), framesCount(0), duration(0) {
}
bool animStep(float64 ms);
void start(HistoryItem *row, const QString &file);
void stop(bool onItemRemoved = false);
bool isNull() const {
return !reader;
}
~AnimatedGif() {
stop(true);
}
const QPixmap &current(int32 width = 0, int32 height = 0, bool rounded = false);
signals:
void updated();
public:
HistoryItem *msg;
QImage img;
QImageReader *reader;
int32 w, h, frame;
private:
QVector<QPixmap> frames;
QVector<QImage> images;
QVector<int64> delays;
int32 framesCount, duration;
};

View File

@@ -19,12 +19,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
#include "boxshadow.h"
BoxShadow::BoxShadow(const style::rect &topLeft) : _size(topLeft.width() / cIntRetinaFactor()) {
QImage cornersImage(_size * 2, _size * 2, QImage::Format_ARGB32_Premultiplied);
BoxShadow::BoxShadow(const style::sprite &topLeft) : _size(topLeft.pxWidth()), _pixsize(_size * cIntRetinaFactor()) {
if (!_size) return;
QImage cornersImage(_pixsize * 2, _pixsize * 2, QImage::Format_ARGB32_Premultiplied);
cornersImage.setDevicePixelRatio(cRetinaFactor());
{
QPainter p(&cornersImage);
p.drawPixmap(QPoint(0, 0), App::sprite(), topLeft);
p.drawPixmap(QPoint(rtl() ? _size : 0, 0), App::sprite(), topLeft);
}
if (rtl()) cornersImage = cornersImage.mirrored(true, false);
uchar *bits = cornersImage.bits();
if (bits) {
for (
@@ -38,37 +42,65 @@ BoxShadow::BoxShadow(const style::rect &topLeft) : _size(topLeft.width() / cIntR
{
QPainter p(&cornersImage);
p.setCompositionMode(QPainter::CompositionMode_Source);
p.drawImage(0, _size, cornersImage.mirrored(), 0, _size, _size, _size);
QImage m = cornersImage.mirrored();
m.setDevicePixelRatio(cRetinaFactor());
p.drawImage(0, _size, m, 0, _pixsize, _pixsize, _pixsize);
}
{
QPainter p(&cornersImage);
p.setCompositionMode(QPainter::CompositionMode_Source);
p.drawImage(_size, 0, cornersImage.mirrored(true, false), _size, 0, _size, _size * 2);
QImage m = cornersImage.mirrored(true, false);
m.setDevicePixelRatio(cRetinaFactor());
p.drawImage(_size, 0, m, _pixsize, 0, _pixsize, _pixsize * 2);
}
_corners = QPixmap::fromImage(cornersImage, Qt::ColorOnly);
_colors.reserve(_size);
_corners.setDevicePixelRatio(cRetinaFactor());
_colors.reserve(_pixsize);
uchar prev = 0;
for (int32 i = 0; i < _size; ++i) {
uchar a = (cornersImage.pixel(QPoint(i, _size - 1)) >> 24);
for (int32 i = 0; i < _pixsize; ++i) {
uchar a = (cornersImage.pixel(QPoint(i, _pixsize - 1)) >> 24);
if (a < prev) break;
_colors.push_back(style::color(0, 0, 0, a));
prev = a;
}
}
void BoxShadow::paint(QPainter &p, const QRect &box, const QPoint &shift, int32 flags) {
int32 count = _colors.size(), minus = _size - count + 1;
bool left = (flags & Left), top = (flags & Top), right = (flags & Right), bottom = (flags & Bottom);
if (left && top) p.drawPixmap(box.left() - _size + minus + shift.x(), box.top() - _size + minus + shift.y(), _corners, 0, 0, _size, _size);
if (right && top) p.drawPixmap(box.right() - minus + 1 + shift.x(), box.top() - _size + minus + shift.y(), _corners, _size, 0, _size, _size);
if (right && bottom) p.drawPixmap(box.right() - minus + 1 + shift.x(), box.bottom() - minus + 1 + shift.y(), _corners, _size, _size, _size, _size);
if (left && bottom) p.drawPixmap(box.left() - _size + minus + shift.x(), box.bottom() - minus + 1 + shift.y(), _corners, 0, _size, _size, _size);
for (int32 i = 1; i <= count; ++i) {
p.setPen(_colors[i - 1]->p);
if (top) p.fillRect(box.left() + (left ? minus : 0) + shift.x(), box.top() - count + i + shift.y(), box.width() - (right ? minus : 0) - (left ? minus : 0), cIntRetinaFactor(), _colors[i - 1]->b);
if (right) p.fillRect(box.right() + count - i + shift.x(), box.top() + (top ? minus : 0) + shift.y(), cIntRetinaFactor(), box.height() - (bottom ? minus : 0) - (top ? minus : 0), _colors[i - 1]->b);
if (bottom) p.fillRect(box.left() + (left ? minus : 0) + shift.x(), box.bottom() + count - i + shift.y(), box.width() - (right ? minus : 0) - (left ? minus : 0), cIntRetinaFactor(), _colors[i - 1]->b);
if (left) p.fillRect(box.left() - count + i + shift.x(), box.top() + (top ? minus : 0) + shift.y(), cIntRetinaFactor(), box.height() - (bottom ? minus : 0) - (top ? minus : 0), _colors[i - 1]->b);
if (cRetina()) {
_left = QPixmap::fromImage(cornersImage.copy(0, _pixsize - 1, _colors.size(), 1), Qt::ColorOnly);
_left.setDevicePixelRatio(cRetinaFactor());
_top = QPixmap::fromImage(cornersImage.copy(_pixsize - 1, 0, 1, _colors.size()), Qt::ColorOnly);
_top.setDevicePixelRatio(cRetinaFactor());
_right = QPixmap::fromImage(cornersImage.copy(_pixsize * 2 - _colors.size(), _pixsize, _colors.size(), 1), Qt::ColorOnly);
_right.setDevicePixelRatio(cRetinaFactor());
_bottom = QPixmap::fromImage(cornersImage.copy(_pixsize, _pixsize * 2 - _colors.size(), 1, _colors.size()), Qt::ColorOnly);
_bottom.setDevicePixelRatio(cRetinaFactor());
}
}
void BoxShadow::paint(QPainter &p, const QRect &box, int32 shifty, int32 flags) {
if (!_size) return;
int32 rshifty = shifty * cIntRetinaFactor();
int32 count = _colors.size(), countsize = count / cIntRetinaFactor(), minus = _size - countsize + shifty;
bool left = (flags & Left), top = (flags & Top), right = (flags & Right), bottom = (flags & Bottom);
if (left && top) p.drawPixmap(box.left() - _size + minus, box.top() - _size + minus + shifty, _corners, 0, 0, _pixsize, _pixsize);
if (right && top) p.drawPixmap(box.left() + box.width() - minus, box.top() - _size + minus + shifty, _corners, _pixsize, 0, _pixsize, _pixsize);
if (right && bottom) p.drawPixmap(box.left() + box.width() - minus, box.top() + box.height() - minus + shifty, _corners, _pixsize, _pixsize, _pixsize, _pixsize);
if (left && bottom) p.drawPixmap(box.left() - _size + minus, box.top() + box.height() - minus + shifty, _corners, 0, _pixsize, _pixsize, _pixsize);
if (cRetina()) {
bool wasSmooth = p.renderHints().testFlag(QPainter::SmoothPixmapTransform);
if (wasSmooth) p.setRenderHint(QPainter::SmoothPixmapTransform, false);
if (left) p.drawPixmap(box.left() - countsize + shifty, box.top() + (top ? minus : 0) + shifty, countsize - shifty, box.height() - (bottom ? minus : 0) - (top ? minus : 0), _left, 0, 0, count - rshifty, 1);
if (top) p.drawPixmap(box.left() + (left ? minus : 0), box.top() - countsize + 2 * shifty, box.width() - (right ? minus : 0) - (left ? minus : 0), countsize - 2 * shifty, _top, 0, 0, 1, count - 2 * rshifty);
if (right) p.drawPixmap(box.left() + box.width(), box.top() + (top ? minus : 0) + shifty, countsize - shifty, box.height() - (bottom ? minus : 0) - (top ? minus : 0), _right, rshifty, 0, count - rshifty, 1);
if (bottom) p.drawPixmap(box.left() + (left ? minus : 0), box.top() + box.height(), box.width() - (right ? minus : 0) - (left ? minus : 0), countsize, _bottom, 0, 0, 1, count);
if (wasSmooth) p.setRenderHint(QPainter::SmoothPixmapTransform);
} else {
p.setPen(Qt::NoPen);
for (int32 i = 0; i < count; ++i) {
if (left && i + shifty < count) p.fillRect(box.left() - count + i + shifty, box.top() + (top ? minus : 0) + shifty, 1, box.height() - (bottom ? minus : 0) - (top ? minus : 0), _colors[i]->b);
if (top && i + 2 * shifty < count) p.fillRect(box.left() + (left ? minus : 0), box.top() - count + i + 2 * shifty, box.width() - (right ? minus : 0) - (left ? minus : 0), 1, _colors[i]->b);
if (right && i + shifty < count) p.fillRect(box.left() + box.width() + count - i - shifty - 1, box.top() + (top ? minus : 0) + shifty, 1, box.height() - (bottom ? minus : 0) - (top ? minus : 0), _colors[i]->b);
if (bottom) p.fillRect(box.left() + (left ? minus : 0), box.top() + box.height() + count - i - 1, box.width() - (right ? minus : 0) - (left ? minus : 0), 1, _colors[i]->b);
}
}
}

View File

@@ -27,14 +27,14 @@ public:
Bottom = 8
};
BoxShadow(const style::rect &topLeft);
BoxShadow(const style::sprite &topLeft);
void paint(QPainter &p, const QRect &box, const QPoint &shift = QPoint(0, 1), int32 flags = Left | Top | Right | Bottom);
void paint(QPainter &p, const QRect &box, int32 shifty, int32 flags = Left | Top | Right | Bottom);
private:
int32 _size;
QPixmap _corners;
int32 _size, _pixsize;
QPixmap _corners, _left, _top, _right, _bottom;
QVector<style::color> _colors;
};

View File

@@ -77,6 +77,7 @@ void Button::mouseReleaseEvent(QMouseEvent *e) {
}
void Button::setOver(bool over, ButtonStateChangeSource source) {
// LOG(("Set over: %1, by: %2 AT %3").arg(logBool(over)).arg(source).arg(dynamic_cast<IconedButton*>(this) ? dynamic_cast<IconedButton*>(this)->getText() : qsl("Unknown")));
if (over && !(_state & StateOver)) {
int oldState = _state;
_state |= StateOver;

Some files were not shown because too many files have changed in this diff Show More