mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-06-05 22:54:01 +02:00
merged master
This commit is contained in:
parent
a5c81cfd3b
commit
86f0216447
216 changed files with 52456 additions and 22440 deletions
16
MSVC.md
16
MSVC.md
|
@ -134,23 +134,23 @@ Open **VS2013 x86 Native Tools Command Prompt.bat** (should be in **\\Program Fi
|
|||
|
||||
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-encoder=libopus --enable-parser=aac --enable-parser=aac_latm --enable-parser=mpegaudio --enable-parser=opus --enable-parser=vorbis --enable-demuxer=aac --enable-demuxer=wav --enable-demuxer=mp3 --enable-demuxer=ogg --enable-demuxer=mov --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"
|
||||
./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.4.0, slightly patched
|
||||
####Qt 5.5.0, slightly patched
|
||||
|
||||
http://download.qt-project.org/official_releases/qt/5.4/5.4.0/single/qt-everywhere-opensource-src-5.4.0.zip
|
||||
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.4.0** to **QtStatic** to have **D:\TBuild\Libraries\QtStatic\qtbase\** folder
|
||||
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 (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 ./../../tdesktop/Telegram/_qt_5_4_0_patch.diff
|
||||
git apply ./../../tdesktop/Telegram/_qt_5_5_0_patch.diff
|
||||
|
||||
#####Building library
|
||||
|
||||
|
@ -183,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)
|
||||
|
|
28
QTCREATOR.md
28
QTCREATOR.md
|
@ -50,7 +50,7 @@ Download sources [ffmpeg-2.6.3.tar.bz2](http://ffmpeg.org/releases/ffmpeg-2.6.3.
|
|||
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-encoder=libopus --enable-parser=aac --enable-parser=aac_latm --enable-parser=mpegaudio --enable-parser=opus --enable-parser=vorbis --enable-demuxer=aac --enable-demuxer=wav --enable-demuxer=mp3 --enable-demuxer=ogg --enable-demuxer=mov --enable-muxer=ogg --enable-muxer=opus
|
||||
./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
|
||||
|
||||
make
|
||||
sudo make install
|
||||
|
@ -76,18 +76,28 @@ then go to **/home/user/TBuild/Libraries/openal-soft/build** and run
|
|||
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/Telegram/\_qt\_5\_4\_0\_patch/** to **/home/user/TBuild/Libraries/QtStatic/**
|
||||
* OR copy **/home/user/TBuild/tdesktop/Telegram/\_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
|
||||
|
||||
|
@ -106,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
|
||||
|
|
19
README.md
19
README.md
|
@ -6,13 +6,15 @@ Source code is published under GPL v3, license is available [here](https://githu
|
|||
|
||||
###Supported systems
|
||||
|
||||
* Windows XP - Windows 8.1 (**not** RT)
|
||||
* Mac OS X 10.7 - Mac OS X 10.10
|
||||
* 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))
|
||||
|
@ -25,7 +27,9 @@ Source code is published under GPL v3, license is available [here](https://githu
|
|||
|
||||
###[Build instructions for Visual Studio 2013](https://github.com/telegramdesktop/tdesktop/blob/master/MSVC.md)
|
||||
|
||||
###[Build instructions for XCode 6.3.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 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)
|
||||
|
||||
|
@ -58,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
|
||||
|
|
|
@ -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/
|
||||
|
|
|
@ -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/
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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/
|
||||
|
||||
|
|
|
@ -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\
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 */,
|
||||
|
@ -598,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/;
|
||||
|
@ -645,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",
|
||||
);
|
||||
|
@ -688,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/;
|
||||
|
@ -736,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",
|
||||
);
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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\
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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\
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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 */,
|
||||
|
@ -612,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;
|
||||
|
@ -659,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",
|
||||
);
|
||||
|
@ -702,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;
|
||||
|
@ -750,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",
|
||||
);
|
||||
|
@ -771,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;
|
||||
|
@ -797,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;
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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!";
|
||||
|
||||
|
|
|
@ -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!";
|
||||
|
||||
|
|
|
@ -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,23 @@ 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!";
|
||||
|
||||
|
|
|
@ -1,10 +1,11 @@
|
|||
@echo OFF
|
||||
|
||||
set "AppVersion=8028"
|
||||
set "AppVersionStrSmall=0.8.28"
|
||||
set "AppVersionStr=0.8.28"
|
||||
set "AppVersionStrFull=0.8.28.0"
|
||||
set "DevChannel=1"
|
||||
set "AppVersionStrMajor=0.8"
|
||||
set "AppVersion=8051"
|
||||
set "AppVersionStrSmall=0.8.51"
|
||||
set "AppVersionStr=0.8.51"
|
||||
set "AppVersionStrFull=0.8.51.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!
|
||||
|
|
|
@ -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";
|
||||
|
@ -69,6 +69,7 @@ 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";
|
||||
|
@ -156,8 +157,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";
|
||||
|
@ -166,11 +170,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";
|
||||
|
@ -182,6 +186,7 @@ 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_notification_preview" = "You have a new message";
|
||||
|
@ -301,13 +306,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";
|
||||
|
@ -319,6 +325,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?";
|
||||
|
||||
|
@ -338,6 +349,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"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";
|
||||
|
@ -347,6 +359,13 @@ 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";
|
||||
|
@ -367,6 +386,7 @@ 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_audio_files_header" = "Playlist";
|
||||
"lng_profile_show_all_types" = "Show all types";
|
||||
"lng_profile_copy_phone" = "Copy phone number";
|
||||
|
||||
|
@ -377,13 +397,16 @@ 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}";
|
||||
|
@ -459,10 +482,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"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_bot_start" = "Start";
|
||||
"lng_bot_choose_group" = "Choose Group";
|
||||
|
@ -475,6 +499,22 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"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";
|
||||
|
@ -508,6 +548,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"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";
|
||||
|
@ -600,7 +641,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" = "This new version includes support for bots using the new bot API, free for everyone. If you're an engineer, create your own bots for games, services or integrations.\n\nLearn more at {blog_link}";
|
||||
"lng_new_version_text" = "— Block users from their profile page\n— Added support for Windows toast notifications\n— Fixed input methods on Linux (Fcitx and IBus)";
|
||||
|
||||
"lng_menu_insert_unicode" = "Insert Unicode control character";
|
||||
|
||||
|
|
231
Telegram/Resources/numbers.txt
Normal file
231
Telegram/Resources/numbers.txt
Normal 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;
|
|
@ -82,7 +82,15 @@ defaultInputField: InputField {
|
|||
|
||||
height: 32px;
|
||||
}
|
||||
dialogsSearchField: InputField(defaultInputField) {
|
||||
textMargins: margins(34px, 5px, 34px, 5px);
|
||||
|
||||
iconSprite: sprite(227px, 21px, 24px, 24px);
|
||||
iconPosition: point(6px, 5px);
|
||||
|
||||
width: 240px;
|
||||
height: 34px;
|
||||
}
|
||||
titleBG: #6389a8;
|
||||
titleColor: #0f8dcc;//rgb(20, 136, 210);
|
||||
titleHeight: 39px;
|
||||
|
@ -894,6 +902,8 @@ defaultTextStyle: textStyle {
|
|||
lineHeight: 0px;
|
||||
}
|
||||
serviceTextStyle: textStyle(defaultTextStyle) {
|
||||
lnkFlags: msgServiceFont;
|
||||
lnkOverFlags: font(fsize semibold underline);
|
||||
lnkColor: msgServiceColor;
|
||||
lnkDownColor: msgServiceColor;
|
||||
selectBg: msgServiceSelectBg;
|
||||
|
@ -939,6 +949,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);
|
||||
|
@ -987,13 +999,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);
|
||||
|
@ -1011,26 +1028,32 @@ btnAttachPhoto: iconedButton(btnAttachDocument) {
|
|||
}
|
||||
btnAttachEmoji: iconedButton(btnAttachDocument) {
|
||||
overBgColor: white;
|
||||
icon: sprite(363px, 344px, 21px, 22px);
|
||||
icon: sprite(374px, 344px, 21px, 22px);
|
||||
iconPos: point(6px, 12px);
|
||||
downIcon: sprite(363px, 344px, 21px, 22px);
|
||||
downIcon: sprite(374px, 344px, 21px, 22px);
|
||||
downIconPos: point(6px, 12px);
|
||||
|
||||
width: 33px;
|
||||
}
|
||||
btnBotKbShow: iconedButton(btnAttachEmoji) {
|
||||
icon: sprite(375px, 74px, 21px, 16px);
|
||||
iconPos: point(6px, 16px);
|
||||
downIcon: sprite(375px, 74px, 21px, 16px);
|
||||
downIconPos: point(6px, 16px);
|
||||
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(352px, 74px, 23px, 14px);
|
||||
icon: sprite(373px, 95px, 23px, 14px);
|
||||
iconPos: point(5px, 17px);
|
||||
downIcon: sprite(352px, 74px, 23px, 14px);
|
||||
downIcon: sprite(373px, 95px, 23px, 14px);
|
||||
downIconPos: point(5px, 17px);
|
||||
}
|
||||
btnRecordAudio: sprite(363px, 366px, 16px, 24px);
|
||||
btnRecordAudio: sprite(379px, 390px, 16px, 24px);
|
||||
btnRecordAudioActive: sprite(379px, 366px, 16px, 24px);
|
||||
recordSignalColor: #f17077;
|
||||
recordSignalMin: 5px;
|
||||
|
@ -1166,7 +1189,7 @@ notifyTextTop: 7px;
|
|||
notifySlowHideFunc: transition(easeInCirc);
|
||||
notifyWaitShortHide: 0;
|
||||
notifyWaitLongHide: 20000;
|
||||
notifyFastAnim: 100;
|
||||
notifyFastAnim: 150;
|
||||
notifyFastAnimFunc: transition(linear);
|
||||
notifyWidth: 316px;
|
||||
notifyHeight: 80px;
|
||||
|
@ -1553,30 +1576,22 @@ stickersScroll: flatScroll(newScroll) {
|
|||
emojiScroll: flatScroll(newScroll) {
|
||||
deltat: 48px;
|
||||
}
|
||||
emojiRecent: sprite(0px, 196px, 21px, 22px);
|
||||
emojiRecentOver: sprite(287px, 220px, 21px, 22px);
|
||||
emojiRecentActive: sprite(287px, 242px, 21px, 22px);
|
||||
emojiPeople: sprite(21px, 196px, 21px, 22px);
|
||||
emojiPeopleOver: sprite(308px, 220px, 21px, 22px);
|
||||
emojiPeopleActive: sprite(308px, 242px, 21px, 22px);
|
||||
emojiNature: sprite(42px, 196px, 21px, 22px);
|
||||
emojiNatureOver: sprite(245px, 264px, 21px, 22px);
|
||||
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);
|
||||
emojiFood: sprite(63px, 196px, 21px, 22px);
|
||||
emojiFoodOver: sprite(266px, 264px, 21px, 22px);
|
||||
emojiFoodOver: sprite(63px, 196px, 21px, 22px);
|
||||
emojiFoodActive: sprite(266px, 286px, 21px, 22px);
|
||||
emojiCelebration: sprite(84px, 196px, 21px, 22px);
|
||||
emojiCelebrationOver: sprite(287px, 264px, 21px, 22px);
|
||||
emojiCelebrationOver: sprite(84px, 196px, 21px, 22px);
|
||||
emojiCelebrationActive: sprite(287px, 286px, 21px, 22px);
|
||||
emojiActivity: sprite(126px, 196px, 21px, 22px);
|
||||
emojiActivityOver: sprite(321px, 344px, 21px, 22px);
|
||||
emojiActivityActive: sprite(321px, 366px, 21px, 22px);
|
||||
emojiTravel: sprite(105px, 196px, 21px, 22px);
|
||||
emojiTravelOver: sprite(308px, 264px, 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);
|
||||
emojiObjects: sprite(147px, 196px, 21px, 22px);
|
||||
emojiObjectsOver: sprite(342px, 344px, 21px, 22px);
|
||||
emojiObjectsActive: sprite(342px, 366px, 21px, 22px);
|
||||
emojiObjectsOver: sprite(147px, 196px, 21px, 22px);
|
||||
emojiObjectsActive: sprite(308px, 264px, 21px, 22px);
|
||||
|
||||
emojiPanCategories: #f7f7f7;
|
||||
|
||||
|
@ -1585,7 +1600,7 @@ rbEmoji: flatCheckbox {
|
|||
bgColor: emojiPanCategories;
|
||||
disColor: emojiPanCategories;
|
||||
|
||||
width: 36px;
|
||||
width: 42px;
|
||||
height: 46px;
|
||||
|
||||
textTop: 0px;
|
||||
|
@ -1596,82 +1611,83 @@ rbEmoji: flatCheckbox {
|
|||
cursor: cursor(pointer);
|
||||
|
||||
disabledCursor: cursor(default);
|
||||
imagePos: point(8px, 12px);
|
||||
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: emojiFood;
|
||||
imageRect: emojiFoodOver;
|
||||
chkImageRect: emojiFoodActive;
|
||||
overImageRect: emojiFoodOver;
|
||||
chkOverImageRect: emojiFoodActive;
|
||||
disImageRect: emojiFood;
|
||||
disImageRect: emojiFoodOver;
|
||||
chkDisImageRect: emojiFoodActive;
|
||||
}
|
||||
rbEmojiCelebration: flatCheckbox(rbEmoji) {
|
||||
imageRect: emojiCelebration;
|
||||
imageRect: emojiCelebrationOver;
|
||||
chkImageRect: emojiCelebrationActive;
|
||||
overImageRect: emojiCelebrationOver;
|
||||
chkOverImageRect: emojiCelebrationActive;
|
||||
disImageRect: emojiCelebration;
|
||||
disImageRect: emojiCelebrationOver;
|
||||
chkDisImageRect: emojiCelebrationActive;
|
||||
}
|
||||
rbEmojiActivity: flatCheckbox(rbEmoji) {
|
||||
imageRect: emojiActivity;
|
||||
imageRect: emojiActivityOver;
|
||||
chkImageRect: emojiActivityActive;
|
||||
overImageRect: emojiActivityOver;
|
||||
chkOverImageRect: emojiActivityActive;
|
||||
disImageRect: emojiActivity;
|
||||
disImageRect: emojiActivityOver;
|
||||
chkDisImageRect: emojiActivityActive;
|
||||
}
|
||||
rbEmojiTravel: flatCheckbox(rbEmoji) {
|
||||
imageRect: emojiTravel;
|
||||
imageRect: emojiTravelOver;
|
||||
chkImageRect: emojiTravelActive;
|
||||
overImageRect: emojiTravelOver;
|
||||
chkOverImageRect: emojiTravelActive;
|
||||
disImageRect: emojiTravel;
|
||||
disImageRect: emojiTravelOver;
|
||||
chkDisImageRect: emojiTravelActive;
|
||||
}
|
||||
rbEmojiObjects: flatCheckbox(rbEmoji) {
|
||||
imageRect: emojiObjects;
|
||||
imageRect: emojiObjectsOver;
|
||||
chkImageRect: emojiObjectsActive;
|
||||
overImageRect: emojiObjectsOver;
|
||||
chkOverImageRect: emojiObjectsActive;
|
||||
disImageRect: emojiObjects;
|
||||
disImageRect: emojiObjectsOver;
|
||||
chkDisImageRect: emojiObjectsActive;
|
||||
}
|
||||
emojiPanPadding: 10px;
|
||||
emojiPanSize: size(39px, 35px);
|
||||
emojiPanFullSize: size(300px, 321px);
|
||||
emojiPanPadding: 12px;
|
||||
emojiPanSize: size(45px, 41px);
|
||||
emojiPanWidth: 345px;
|
||||
emojiPanMaxHeight: 366px;
|
||||
emojiPanDuration: 200;
|
||||
emojiPanHover: #f0f4f7;
|
||||
|
||||
emojiPanHeader: 42px;
|
||||
emojiPanHeaderFont: font(fsize semibold);
|
||||
emojiPanHeaderColor: #999;
|
||||
emojiPanHeaderLeft: 17px;
|
||||
emojiPanHeaderLeft: 22px;
|
||||
emojiPanHeaderTop: 12px;
|
||||
emojiPanHeaderBg: #fffffff2;
|
||||
|
||||
|
@ -1685,7 +1701,7 @@ emojiSwitchStickers: sprite(318px, 328px, 8px, 12px);
|
|||
emojiSwitchEmoji: sprite(310px, 328px, 8px, 12px);
|
||||
emojiSwitchColor: #42a8db;
|
||||
|
||||
stickerPanSize: size(55px, 55px);
|
||||
stickerPanSize: size(64px, 64px);
|
||||
stickerPanPadding: 11px;
|
||||
stickerPanDelete: sprite(123px, 132px, 12px, 12px);
|
||||
stickerPanDeleteOpacity: 0.5;
|
||||
|
@ -1744,11 +1760,11 @@ mvControlMargin: 0px;
|
|||
mvControlSize: 90px;
|
||||
mvIconSize: size(60px, 56px);
|
||||
|
||||
mvLeft: sprite(320px, 400px, 12px, 22px);
|
||||
mvRight: sprite(332px, 400px, 12px, 22px);
|
||||
mvClose: sprite(344px, 400px, 18px, 18px);
|
||||
mvSave: sprite(362px, 400px, 14px, 19px);
|
||||
mvMore: sprite(376px, 400px, 5px, 21px);
|
||||
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);
|
||||
|
@ -1957,8 +1973,6 @@ mentionFg: #777;
|
|||
mentionFgOver: #707070;
|
||||
mentionFgActive: #0080c0;
|
||||
mentionFgOverActive: #0077b3;
|
||||
botCommandFont: font(fsize semibold);
|
||||
botDescFont: font(fsize italic);
|
||||
|
||||
sessionsHeight: 440px;
|
||||
sessionHeight: 70px;
|
||||
|
@ -1989,3 +2003,36 @@ 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;
|
||||
|
|
|
@ -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)
|
||||
|
@ -1345,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)) {
|
||||
|
@ -1353,6 +1360,20 @@ 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;
|
||||
|
@ -1854,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);
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -83,91 +83,6 @@ void ApiWrap::requestReplyTo(HistoryReply *reply, MsgId to) {
|
|||
if (!req.req) _replyToTimer.start(1);
|
||||
}
|
||||
|
||||
void ApiWrap::requestFullPeer(PeerData *peer) {
|
||||
if (!peer || _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());
|
||||
const MTPDchatFull &f(d.vfull_chat.c_chatFull());
|
||||
App::feedUsers(d.vusers);
|
||||
App::feedChats(d.vchats);
|
||||
App::feedParticipants(f.vparticipants);
|
||||
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);
|
||||
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;
|
||||
}
|
||||
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);
|
||||
|
||||
_fullRequests.remove(peer);
|
||||
emit fullPeerUpdated(peer);
|
||||
}
|
||||
|
||||
void ApiWrap::gotUserFull(PeerData *peer, const MTPUserFull &result) {
|
||||
const MTPDuserFull &d(result.c_userFull());
|
||||
App::feedUsers(MTP_vector<MTPUser>(1, d.vuser));
|
||||
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);
|
||||
App::main()->gotNotifySetting(MTP_inputNotifyPeer(peer->input), d.vnotify_settings);
|
||||
|
||||
peer->asUser()->setBotInfo(d.vbot_info);
|
||||
|
||||
_fullRequests.remove(peer);
|
||||
emit fullPeerUpdated(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;
|
||||
|
||||
|
@ -186,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:
|
||||
|
@ -244,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()) {
|
||||
|
|
|
@ -31,11 +31,16 @@ 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:
|
||||
|
@ -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);
|
||||
|
||||
};
|
||||
|
|
|
@ -26,6 +26,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
#include "localstorage.h"
|
||||
|
||||
#include "numbers.h"
|
||||
|
||||
namespace {
|
||||
bool quiting = false;
|
||||
|
||||
|
@ -37,6 +39,9 @@ namespace {
|
|||
typedef QMap<PeerData*, bool> MutedPeers;
|
||||
MutedPeers mutedPeers;
|
||||
|
||||
typedef QMap<PeerData*, bool> UpdatedPeers;
|
||||
UpdatedPeers updatedPeers;
|
||||
|
||||
typedef QHash<PhotoId, PhotoData*> PhotosData;
|
||||
PhotosData photosData;
|
||||
|
||||
|
@ -104,7 +109,27 @@ namespace {
|
|||
namespace App {
|
||||
|
||||
QString formatPhone(QString phone) {
|
||||
return '+' + phone.replace(QRegularExpression(qsl("[^\\d]")), QString());
|
||||
if (phone.isEmpty()) return QString();
|
||||
QString number = phone;
|
||||
for (const QChar *ch = phone.constData(), *e = ch + phone.size(); ch != e; ++ch) {
|
||||
if (ch->unicode() < '0' || ch->unicode() > '9') {
|
||||
number = phone.replace(QRegularExpression(qsl("[^\\d]")), QString());
|
||||
}
|
||||
}
|
||||
QVector<int> groups = phoneNumberParse(number);
|
||||
if (groups.isEmpty()) return '+' + number;
|
||||
|
||||
QString result;
|
||||
result.reserve(number.size() + groups.size() + 1);
|
||||
result.append('+');
|
||||
int32 sum = 0;
|
||||
for (int32 i = 0, l = groups.size(); i < l; ++i) {
|
||||
result.append(number.midRef(sum, groups.at(i)));
|
||||
sum += groups.at(i);
|
||||
if (sum < number.size()) result.append(' ');
|
||||
}
|
||||
if (sum < number.size()) result.append(number.midRef(sum));
|
||||
return result;
|
||||
}
|
||||
|
||||
Application *app() {
|
||||
|
@ -264,8 +289,10 @@ namespace App {
|
|||
}
|
||||
|
||||
QString onlineText(UserData *user, int32 now, bool precise) {
|
||||
if (isServiceUser(user->id)) {
|
||||
if (isNotificationsUser(user->id)) {
|
||||
return lang(lng_status_service_notifications);
|
||||
} else if (isServiceUser(user->id)) {
|
||||
return lang(lng_status_support);
|
||||
} else if (user->botInfo) {
|
||||
return lang(lng_status_bot);
|
||||
}
|
||||
|
@ -312,7 +339,11 @@ namespace App {
|
|||
return lng_status_lastseen_date(lt_date, dOnline.date().toString(qsl("dd.MM.yy")));
|
||||
}
|
||||
|
||||
bool onlineColorUse(int32 online, int32 now) {
|
||||
bool onlineColorUse(UserData *user, int32 now) {
|
||||
if (isServiceUser(user->id) || user->botInfo) {
|
||||
return false;
|
||||
}
|
||||
int32 online = user->onlineTill;
|
||||
if (online <= 0) {
|
||||
switch (online) {
|
||||
case 0:
|
||||
|
@ -326,7 +357,7 @@ namespace App {
|
|||
return (online > now);
|
||||
}
|
||||
|
||||
UserData *feedUsers(const MTPVector<MTPUser> &users) {
|
||||
UserData *feedUsers(const MTPVector<MTPUser> &users, bool emitPeerUpdated) {
|
||||
UserData *data = 0;
|
||||
const QVector<MTPUser> &v(users.c_vector().v);
|
||||
for (QVector<MTPUser>::const_iterator i = v.cbegin(), e = v.cend(); i != e; ++i) {
|
||||
|
@ -341,8 +372,8 @@ namespace App {
|
|||
|
||||
PeerId peer(peerFromUser(d.vid.v));
|
||||
data = App::user(peer);
|
||||
data->input = MTP_inputPeerContact(d.vid);
|
||||
data->inputUser = MTP_inputUserContact(d.vid);
|
||||
data->input = MTP_inputPeerUser(d.vid, MTP_long(0));
|
||||
data->inputUser = MTP_inputUser(d.vid, MTP_long(0));
|
||||
data->setName(lang(lng_deleted), QString(), QString(), QString());
|
||||
data->setPhoto(MTP_userProfilePhotoEmpty());
|
||||
data->access = UserNoAccess;
|
||||
|
@ -360,12 +391,12 @@ namespace App {
|
|||
if (flags & MTPDuser_flag_self) {
|
||||
data->input = MTP_inputPeerSelf();
|
||||
data->inputUser = MTP_inputUserSelf();
|
||||
} else if ((flags & (MTPDuser_flag_contact | MTPDuser_flag_mutual_contact)) || !d.has_access_hash()) {
|
||||
data->input = MTP_inputPeerContact(d.vid);
|
||||
data->inputUser = MTP_inputUserContact(d.vid);
|
||||
} else if (!d.has_access_hash()) {
|
||||
data->input = MTP_inputPeerUser(d.vid, MTP_long((data->access == UserNoAccess) ? 0 : data->access));
|
||||
data->inputUser = MTP_inputUser(d.vid, MTP_long((data->access == UserNoAccess) ? 0 : data->access));
|
||||
} else {
|
||||
data->input = MTP_inputPeerForeign(d.vid, d.vaccess_hash);
|
||||
data->inputUser = MTP_inputUserForeign(d.vid, d.vaccess_hash);
|
||||
data->input = MTP_inputPeerUser(d.vid, d.vaccess_hash);
|
||||
data->inputUser = MTP_inputUser(d.vid, d.vaccess_hash);
|
||||
}
|
||||
if (flags & MTPDuser_flag_deleted) {
|
||||
data->setPhone(QString());
|
||||
|
@ -374,13 +405,24 @@ namespace App {
|
|||
data->access = UserNoAccess;
|
||||
status = &emptyStatus;
|
||||
} else {
|
||||
data->setPhone(d.has_phone() ? qs(d.vphone) : QString());
|
||||
QString phone = d.has_phone() ? qs(d.vphone) : QString();
|
||||
QString fname = d.has_first_name() ? textOneLine(qs(d.vfirst_name)) : QString();
|
||||
QString lname = d.has_last_name() ? textOneLine(qs(d.vlast_name)) : QString();
|
||||
QString uname = d.has_username() ? textOneLine(qs(d.vusername)) : QString();
|
||||
|
||||
bool phoneChanged = (data->phone != phone);
|
||||
if (phoneChanged) data->setPhone(phone);
|
||||
|
||||
bool nameChanged = (data->firstName != fname) || (data->lastName != lname);
|
||||
|
||||
bool showPhone = !isServiceUser(data->id) && !(flags & (MTPDuser_flag_self | MTPDuser_flag_contact | MTPDuser_flag_mutual_contact));
|
||||
QString pname = (showPhone && !data->phone.isEmpty()) ? formatPhone(data->phone) : QString();
|
||||
data->setName(fname, lname, QString(), uname);
|
||||
bool showPhoneChanged = !isServiceUser(data->id) && !(flags & (MTPDuser_flag_self)) && ((showPhone && data->contact) || (!showPhone && !data->contact));
|
||||
|
||||
// see also Local::readPeer
|
||||
|
||||
QString pname = (showPhoneChanged || phoneChanged || nameChanged) ? ((showPhone && !phone.isEmpty()) ? formatPhone(phone) : QString()) : data->nameOrPhone;
|
||||
|
||||
data->setName(fname, lname, pname, uname);
|
||||
if (d.has_photo()) {
|
||||
data->setPhoto(d.vphoto);
|
||||
} else {
|
||||
|
@ -424,19 +466,25 @@ namespace App {
|
|||
if (data->contact < 0 && !data->phone.isEmpty() && int32(data->id & 0xFFFFFFFF) != MTP::authedId()) {
|
||||
data->contact = 0;
|
||||
}
|
||||
if (data->contact > 0 && !wasContact) {
|
||||
App::main()->addNewContact(data->id & 0xFFFFFFFF, false);
|
||||
} else if (wasContact && data->contact <= 0) {
|
||||
App::main()->removeContact(data);
|
||||
}
|
||||
if (App::main()) {
|
||||
if (data->contact > 0 && !wasContact) {
|
||||
App::main()->addNewContact(data->id & 0xFFFFFFFF, false);
|
||||
} else if (wasContact && data->contact <= 0) {
|
||||
App::main()->removeContact(data);
|
||||
}
|
||||
|
||||
if (App::main()) App::main()->peerUpdated(data);
|
||||
if (emitPeerUpdated) {
|
||||
App::main()->peerUpdated(data);
|
||||
} else {
|
||||
markPeerUpdated(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return data;
|
||||
}
|
||||
|
||||
ChatData *feedChats(const MTPVector<MTPChat> &chats) {
|
||||
ChatData *feedChats(const MTPVector<MTPChat> &chats, bool emitPeerUpdated) {
|
||||
ChatData *data = 0;
|
||||
const QVector<MTPChat> &v(chats.c_vector().v);
|
||||
for (QVector<MTPChat>::const_iterator i = v.cbegin(), e = v.cend(); i != e; ++i) {
|
||||
|
@ -456,7 +504,6 @@ namespace App {
|
|||
data->count = d.vparticipants_count.v;
|
||||
data->left = d.vleft.v;
|
||||
data->forbidden = false;
|
||||
data->access = 0;
|
||||
if (data->version < d.vversion.v) {
|
||||
data->version = d.vversion.v;
|
||||
data->participants = ChatData::Participants();
|
||||
|
@ -475,7 +522,6 @@ namespace App {
|
|||
data->count = -1;
|
||||
data->left = false;
|
||||
data->forbidden = true;
|
||||
data->access = 0;
|
||||
} break;
|
||||
case mtpc_geoChat: {
|
||||
const MTPDgeoChat &d(chat.c_geoChat());
|
||||
|
@ -503,24 +549,31 @@ namespace App {
|
|||
data->loaded = true;
|
||||
data->updateName(title.trimmed(), QString(), QString());
|
||||
|
||||
if (App::main()) App::main()->peerUpdated(data);
|
||||
if (App::main()) {
|
||||
if (emitPeerUpdated) {
|
||||
App::main()->peerUpdated(data);
|
||||
} else {
|
||||
markPeerUpdated(data);
|
||||
}
|
||||
}
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
void feedParticipants(const MTPChatParticipants &p, bool requestBotInfos) {
|
||||
void feedParticipants(const MTPChatParticipants &p, bool requestBotInfos, bool emitPeerUpdated) {
|
||||
ChatData *chat = 0;
|
||||
switch (p.type()) {
|
||||
case mtpc_chatParticipantsForbidden: {
|
||||
const MTPDchatParticipantsForbidden &d(p.c_chatParticipantsForbidden());
|
||||
ChatData *chat = App::chat(d.vchat_id.v);
|
||||
chat = App::chat(d.vchat_id.v);
|
||||
chat->count = -1;
|
||||
if (App::main()) App::main()->peerUpdated(chat);
|
||||
} break;
|
||||
|
||||
case mtpc_chatParticipants: {
|
||||
const MTPDchatParticipants &d(p.c_chatParticipants());
|
||||
ChatData *chat = App::chat(d.vchat_id.v);
|
||||
chat = App::chat(d.vchat_id.v);
|
||||
chat->admin = d.vadmin_id.v;
|
||||
if (chat->version <= d.vversion.v) {
|
||||
if (!requestBotInfos || chat->version <= d.vversion.v) { // !requestBotInfos is true on getFullChat result
|
||||
chat->version = d.vversion.v;
|
||||
const QVector<MTPChatParticipant> &v(d.vparticipants.c_vector().v);
|
||||
chat->count = v.size();
|
||||
|
@ -564,13 +617,19 @@ namespace App {
|
|||
if (App::main()) App::main()->updateBotKeyboard();
|
||||
}
|
||||
}
|
||||
if (App::main()) App::main()->peerUpdated(chat);
|
||||
}
|
||||
} break;
|
||||
}
|
||||
if (chat && App::main()) {
|
||||
if (emitPeerUpdated) {
|
||||
App::main()->peerUpdated(chat);
|
||||
} else {
|
||||
markPeerUpdated(chat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void feedParticipantAdd(const MTPDupdateChatParticipantAdd &d) {
|
||||
void feedParticipantAdd(const MTPDupdateChatParticipantAdd &d, bool emitPeerUpdated) {
|
||||
ChatData *chat = App::chat(d.vchat_id.v);
|
||||
if (chat->version <= d.vversion.v && chat->count >= 0) {
|
||||
chat->version = d.vversion.v;
|
||||
|
@ -597,11 +656,17 @@ namespace App {
|
|||
chat->botStatus = 0;
|
||||
chat->count++;
|
||||
}
|
||||
if (App::main()) App::main()->peerUpdated(chat);
|
||||
if (App::main()) {
|
||||
if (emitPeerUpdated) {
|
||||
App::main()->peerUpdated(chat);
|
||||
} else {
|
||||
markPeerUpdated(chat);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void feedParticipantDelete(const MTPDupdateChatParticipantDelete &d) {
|
||||
void feedParticipantDelete(const MTPDupdateChatParticipantDelete &d, bool emitPeerUpdated) {
|
||||
ChatData *chat = App::chat(d.vchat_id.v);
|
||||
if (chat->version <= d.vversion.v && chat->count > 0) {
|
||||
chat->version = d.vversion.v;
|
||||
|
@ -641,7 +706,13 @@ namespace App {
|
|||
chat->botStatus = 0;
|
||||
chat->count--;
|
||||
}
|
||||
if (App::main()) App::main()->peerUpdated(chat);
|
||||
if (App::main()) {
|
||||
if (emitPeerUpdated) {
|
||||
App::main()->peerUpdated(chat);
|
||||
} else {
|
||||
markPeerUpdated(chat);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -691,27 +762,23 @@ namespace App {
|
|||
return ImagePtr();
|
||||
}
|
||||
|
||||
StorageImageLocation imageLocation(int32 w, int32 h, const MTPFileLocation &loc) {
|
||||
if (loc.type() == mtpc_fileLocation) {
|
||||
const MTPDfileLocation &l(loc.c_fileLocation());
|
||||
return StorageImageLocation(w, h, l.vdc_id.v, l.vvolume_id.v, l.vlocal_id.v, l.vsecret.v);
|
||||
}
|
||||
return StorageImageLocation(w, h, 0, 0, 0, 0);
|
||||
}
|
||||
|
||||
StorageImageLocation imageLocation(const MTPPhotoSize &size) {
|
||||
switch (size.type()) {
|
||||
case mtpc_photoSize: {
|
||||
const MTPDphotoSize &d(size.c_photoSize());
|
||||
if (d.vlocation.type() == mtpc_fileLocation) {
|
||||
const MTPDfileLocation &l(d.vlocation.c_fileLocation());
|
||||
return StorageImageLocation(d.vw.v, d.vh.v, l.vdc_id.v, l.vvolume_id.v, l.vlocal_id.v, l.vsecret.v);
|
||||
}
|
||||
return imageLocation(d.vw.v, d.vh.v, d.vlocation);
|
||||
} break;
|
||||
case mtpc_photoCachedSize: {
|
||||
const MTPDphotoCachedSize &d(size.c_photoCachedSize());
|
||||
if (d.vlocation.type() == mtpc_fileLocation) {
|
||||
const MTPDfileLocation &l(d.vlocation.c_fileLocation());
|
||||
const string &s(d.vbytes.c_string().v);
|
||||
QByteArray bytes(s.data(), s.size());
|
||||
return StorageImageLocation(d.vw.v, d.vh.v, l.vdc_id.v, l.vvolume_id.v, l.vlocal_id.v, l.vsecret.v);
|
||||
} else if (d.vlocation.type() == mtpc_fileLocationUnavailable) {
|
||||
const string &s(d.vbytes.c_string().v);
|
||||
QByteArray bytes(s.data(), s.size());
|
||||
return StorageImageLocation(d.vw.v, d.vh.v, 0, 0, 0, 0);
|
||||
}
|
||||
return imageLocation(d.vw.v, d.vh.v, d.vlocation);
|
||||
} break;
|
||||
}
|
||||
return StorageImageLocation();
|
||||
|
@ -737,6 +804,9 @@ namespace App {
|
|||
History *h = App::historyLoaded(peer);
|
||||
if (h) {
|
||||
h->outboxRead(upTo);
|
||||
if (!h->peer->chat) {
|
||||
h->peer->asUser()->madeAction();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -757,26 +827,34 @@ namespace App {
|
|||
}
|
||||
}
|
||||
|
||||
void feedUserLinks(const MTPVector<MTPcontacts_Link> &links) {
|
||||
void feedUserLinks(const MTPVector<MTPcontacts_Link> &links, bool emitPeerUpdated) {
|
||||
const QVector<MTPcontacts_Link> &v(links.c_vector().v);
|
||||
for (QVector<MTPcontacts_Link>::const_iterator i = v.cbegin(), e = v.cend(); i != e; ++i) {
|
||||
const MTPDcontacts_link &dv(i->c_contacts_link());
|
||||
feedUsers(MTP_vector<MTPUser>(1, dv.vuser));
|
||||
UserData *user = feedUsers(MTP_vector<MTPUser>(1, dv.vuser), false);
|
||||
MTPint userId(MTP_int(0));
|
||||
switch (dv.vuser.type()) {
|
||||
case mtpc_userEmpty: userId = dv.vuser.c_userEmpty().vid; break;
|
||||
case mtpc_user: userId = dv.vuser.c_user().vid; break;
|
||||
}
|
||||
if (userId.v) {
|
||||
feedUserLink(userId, dv.vmy_link, dv.vforeign_link);
|
||||
feedUserLink(userId, dv.vmy_link, dv.vforeign_link, false);
|
||||
}
|
||||
if (user && App::main()) {
|
||||
if (emitPeerUpdated) {
|
||||
App::main()->peerUpdated(user);
|
||||
} else {
|
||||
markPeerUpdated(user);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void feedUserLink(MTPint userId, const MTPContactLink &myLink, const MTPContactLink &foreignLink) {
|
||||
void feedUserLink(MTPint userId, const MTPContactLink &myLink, const MTPContactLink &foreignLink, bool emitPeerUpdated) {
|
||||
UserData *user = userLoaded(userId.v);
|
||||
if (user) {
|
||||
bool wasContact = (user->contact > 0);
|
||||
bool wasShowPhone = !user->contact;
|
||||
switch (myLink.type()) {
|
||||
case mtpc_contactLinkContact:
|
||||
user->contact = 1;
|
||||
|
@ -792,14 +870,8 @@ namespace App {
|
|||
if (user->contact > 0) {
|
||||
if (!wasContact) {
|
||||
App::main()->addNewContact(App::userFromPeer(user->id), false);
|
||||
if (user->input.type() != mtpc_inputPeerSelf) user->input = MTP_inputPeerContact(userId);
|
||||
if (user->inputUser.type() != mtpc_inputUserSelf) user->inputUser = MTP_inputUserContact(userId);
|
||||
}
|
||||
} else {
|
||||
if (user->access && user->access != UserNoAccess) {
|
||||
if (user->input.type() != mtpc_inputPeerSelf) user->input = MTP_inputPeerForeign(userId, MTP_long(user->access));
|
||||
if (user->inputUser.type() != mtpc_inputUserSelf) user->inputUser = MTP_inputUserForeign(userId, MTP_long(user->access));
|
||||
}
|
||||
if (user->contact < 0 && !user->phone.isEmpty() && App::userFromPeer(user->id) != MTP::authedId()) {
|
||||
user->contact = 0;
|
||||
}
|
||||
|
@ -807,8 +879,38 @@ namespace App {
|
|||
App::main()->removeContact(user);
|
||||
}
|
||||
}
|
||||
user->setName(textOneLine(user->firstName), textOneLine(user->lastName), (user->contact || isServiceUser(user->id) || user->phone.isEmpty()) ? QString() : App::formatPhone(user->phone), textOneLine(user->username));
|
||||
if (App::main()) App::main()->peerUpdated(user);
|
||||
|
||||
bool showPhone = !isServiceUser(user->id) && (user->input.type() != mtpc_inputPeerSelf) && !user->contact;
|
||||
bool showPhoneChanged = !isServiceUser(user->id) && (user->input.type() != mtpc_inputPeerSelf) && ((showPhone && !wasShowPhone) || (!showPhone && wasShowPhone));
|
||||
if (showPhoneChanged) {
|
||||
user->setName(textOneLine(user->firstName), textOneLine(user->lastName), showPhone ? App::formatPhone(user->phone) : QString(), textOneLine(user->username));
|
||||
}
|
||||
if (App::main()) {
|
||||
if (emitPeerUpdated) {
|
||||
App::main()->peerUpdated(user);
|
||||
} else {
|
||||
markPeerUpdated(user);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void markPeerUpdated(PeerData *data) {
|
||||
updatedPeers.insert(data, true);
|
||||
}
|
||||
|
||||
void clearPeerUpdated(PeerData *data) {
|
||||
updatedPeers.remove(data);
|
||||
}
|
||||
|
||||
void emitPeerUpdated() {
|
||||
if (!updatedPeers.isEmpty() && App::main()) {
|
||||
UpdatedPeers upd = updatedPeers;
|
||||
updatedPeers.clear();
|
||||
|
||||
for (UpdatedPeers::const_iterator i = upd.cbegin(), e = upd.cend(); i != e; ++i) {
|
||||
App::main()->peerUpdated(i.key());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -818,7 +920,7 @@ namespace App {
|
|||
return feedPhoto(photo.c_photo(), convert);
|
||||
} break;
|
||||
case mtpc_photoEmpty: {
|
||||
return App::photo(photo.c_photoEmpty().vid.v, convert);
|
||||
return App::photoSet(photo.c_photoEmpty().vid.v, convert, 0, 0, ImagePtr(), ImagePtr(), ImagePtr());
|
||||
} break;
|
||||
}
|
||||
return App::photo(0);
|
||||
|
@ -862,7 +964,7 @@ namespace App {
|
|||
switch (photo.type()) {
|
||||
case mtpc_photo: {
|
||||
const MTPDphoto &ph(photo.c_photo());
|
||||
return App::photo(ph.vid.v, 0, ph.vaccess_hash.v, ph.vuser_id.v, ph.vdate.v, ImagePtr(*thumb, "JPG"), ImagePtr(*medium, "JPG"), ImagePtr(*full, "JPG"));
|
||||
return App::photoSet(ph.vid.v, 0, ph.vaccess_hash.v, ph.vdate.v, ImagePtr(*thumb, "JPG"), ImagePtr(*medium, "JPG"), ImagePtr(*full, "JPG"));
|
||||
} break;
|
||||
case mtpc_photoEmpty: return App::photo(photo.c_photoEmpty().vid.v);
|
||||
}
|
||||
|
@ -917,13 +1019,13 @@ namespace App {
|
|||
}
|
||||
}
|
||||
if (thumb && medium && full) {
|
||||
return App::photo(photo.vid.v, convert, photo.vaccess_hash.v, photo.vuser_id.v, photo.vdate.v, App::image(*thumb), App::image(*medium), App::image(*full));
|
||||
return App::photoSet(photo.vid.v, convert, photo.vaccess_hash.v, photo.vdate.v, App::image(*thumb), App::image(*medium), App::image(*full));
|
||||
}
|
||||
return App::photo(photo.vid.v, convert);
|
||||
return App::photoSet(photo.vid.v, convert, 0, 0, ImagePtr(), ImagePtr(), ImagePtr());
|
||||
}
|
||||
|
||||
VideoData *feedVideo(const MTPDvideo &video, VideoData *convert) {
|
||||
return App::video(video.vid.v, convert, video.vaccess_hash.v, video.vuser_id.v, video.vdate.v, video.vduration.v, video.vw.v, video.vh.v, App::image(video.vthumb), video.vdc_id.v, video.vsize.v);
|
||||
return App::videoSet(video.vid.v, convert, video.vaccess_hash.v, video.vdate.v, video.vduration.v, video.vw.v, video.vh.v, App::image(video.vthumb), video.vdc_id.v, video.vsize.v);
|
||||
}
|
||||
|
||||
AudioData *feedAudio(const MTPaudio &audio, AudioData *convert) {
|
||||
|
@ -932,14 +1034,14 @@ namespace App {
|
|||
return feedAudio(audio.c_audio(), convert);
|
||||
} break;
|
||||
case mtpc_audioEmpty: {
|
||||
return App::audio(audio.c_audioEmpty().vid.v, convert);
|
||||
return App::audioSet(audio.c_audioEmpty().vid.v, convert, 0, 0, QString(), 0, 0, 0);
|
||||
} break;
|
||||
}
|
||||
return App::audio(0);
|
||||
}
|
||||
|
||||
AudioData *feedAudio(const MTPDaudio &audio, AudioData *convert) {
|
||||
return App::audio(audio.vid.v, convert, audio.vaccess_hash.v, audio.vuser_id.v, audio.vdate.v, qs(audio.vmime_type), audio.vduration.v, audio.vdc_id.v, audio.vsize.v);
|
||||
return App::audioSet(audio.vid.v, convert, audio.vaccess_hash.v, audio.vdate.v, qs(audio.vmime_type), audio.vduration.v, audio.vdc_id.v, audio.vsize.v);
|
||||
}
|
||||
|
||||
DocumentData *feedDocument(const MTPdocument &document, const QPixmap &thumb) {
|
||||
|
@ -970,11 +1072,11 @@ namespace App {
|
|||
}
|
||||
|
||||
WebPageData *feedWebPage(const MTPDwebPage &webpage, WebPageData *convert) {
|
||||
return App::webPage(webpage.vid.v, convert, webpage.has_type() ? qs(webpage.vtype) : qsl("article"), qs(webpage.vurl), qs(webpage.vdisplay_url), webpage.has_site_name() ? qs(webpage.vsite_name) : QString(), webpage.has_title() ? qs(webpage.vtitle) : QString(), webpage.has_description() ? qs(webpage.vdescription) : QString(), webpage.has_photo() ? App::feedPhoto(webpage.vphoto) : 0, webpage.has_duration() ? webpage.vduration.v : 0, webpage.has_author() ? qs(webpage.vauthor) : QString(), 0);
|
||||
return App::webPageSet(webpage.vid.v, convert, webpage.has_type() ? qs(webpage.vtype) : qsl("article"), qs(webpage.vurl), qs(webpage.vdisplay_url), webpage.has_site_name() ? qs(webpage.vsite_name) : QString(), webpage.has_title() ? qs(webpage.vtitle) : QString(), webpage.has_description() ? qs(webpage.vdescription) : QString(), webpage.has_photo() ? App::feedPhoto(webpage.vphoto) : 0, webpage.has_duration() ? webpage.vduration.v : 0, webpage.has_author() ? qs(webpage.vauthor) : QString(), 0);
|
||||
}
|
||||
|
||||
WebPageData *feedWebPage(const MTPDwebPagePending &webpage, WebPageData *convert) {
|
||||
return App::webPage(webpage.vid.v, convert, QString(), QString(), QString(), QString(), QString(), QString(), 0, 0, QString(), webpage.vdate.v);
|
||||
return App::webPageSet(webpage.vid.v, convert, QString(), QString(), QString(), QString(), QString(), QString(), 0, 0, QString(), webpage.vdate.v);
|
||||
}
|
||||
|
||||
WebPageData *feedWebPage(const MTPWebPage &webpage) {
|
||||
|
@ -1058,7 +1160,15 @@ namespace App {
|
|||
return App::peer(App::peerFromChat(chat))->asChat();
|
||||
}
|
||||
|
||||
PhotoData *photo(const PhotoId &photo, PhotoData *convert, const uint64 &access, int32 user, int32 date, const ImagePtr &thumb, const ImagePtr &medium, const ImagePtr &full) {
|
||||
PhotoData *photo(const PhotoId &photo) {
|
||||
PhotosData::const_iterator i = photosData.constFind(photo);
|
||||
if (i == photosData.cend()) {
|
||||
i = photosData.insert(photo, new PhotoData(photo));
|
||||
}
|
||||
return i.value();
|
||||
}
|
||||
|
||||
PhotoData *photoSet(const PhotoId &photo, PhotoData *convert, const uint64 &access, int32 date, const ImagePtr &thumb, const ImagePtr &medium, const ImagePtr &full) {
|
||||
if (convert) {
|
||||
if (convert->id != photo) {
|
||||
PhotosData::iterator i = photosData.find(convert->id);
|
||||
|
@ -1068,8 +1178,7 @@ namespace App {
|
|||
convert->id = photo;
|
||||
}
|
||||
convert->access = access;
|
||||
if (!convert->user && !convert->date && (user || date)) {
|
||||
convert->user = user;
|
||||
if (!convert->date && date) {
|
||||
convert->date = date;
|
||||
convert->thumb = thumb;
|
||||
convert->medium = medium;
|
||||
|
@ -1083,14 +1192,13 @@ namespace App {
|
|||
if (convert) {
|
||||
result = convert;
|
||||
} else {
|
||||
result = new PhotoData(photo, access, user, date, thumb, medium, full);
|
||||
result = new PhotoData(photo, access, date, thumb, medium, full);
|
||||
}
|
||||
photosData.insert(photo, result);
|
||||
} else {
|
||||
result = i.value();
|
||||
if (result != convert && !result->user && !result->date && (user || date)) {
|
||||
if (result != convert && !result->date && date) {
|
||||
result->access = access;
|
||||
result->user = user;
|
||||
result->date = date;
|
||||
result->thumb = thumb;
|
||||
result->medium = medium;
|
||||
|
@ -1112,7 +1220,15 @@ namespace App {
|
|||
return result;
|
||||
}
|
||||
|
||||
VideoData *video(const VideoId &video, VideoData *convert, const uint64 &access, int32 user, int32 date, int32 duration, int32 w, int32 h, const ImagePtr &thumb, int32 dc, int32 size) {
|
||||
VideoData *video(const VideoId &video) {
|
||||
VideosData::const_iterator i = videosData.constFind(video);
|
||||
if (i == videosData.cend()) {
|
||||
i = videosData.insert(video, new VideoData(video));
|
||||
}
|
||||
return i.value();
|
||||
}
|
||||
|
||||
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) {
|
||||
if (convert) {
|
||||
if (convert->id != video) {
|
||||
VideosData::iterator i = videosData.find(convert->id);
|
||||
|
@ -1123,8 +1239,7 @@ namespace App {
|
|||
convert->status = FileReady;
|
||||
}
|
||||
convert->access = access;
|
||||
if (!convert->user && !convert->date && (user || date)) {
|
||||
convert->user = user;
|
||||
if (!convert->date && date) {
|
||||
convert->date = date;
|
||||
convert->duration = duration;
|
||||
convert->w = w;
|
||||
|
@ -1140,14 +1255,13 @@ namespace App {
|
|||
if (convert) {
|
||||
result = convert;
|
||||
} else {
|
||||
result = new VideoData(video, access, user, date, duration, w, h, thumb, dc, size);
|
||||
result = new VideoData(video, access, date, duration, w, h, thumb, dc, size);
|
||||
}
|
||||
videosData.insert(video, result);
|
||||
} else {
|
||||
result = i.value();
|
||||
if (result != convert && !result->user && !result->date && (user || date)) {
|
||||
if (result != convert && !result->date && date) {
|
||||
result->access = access;
|
||||
result->user = user;
|
||||
result->date = date;
|
||||
result->duration = duration;
|
||||
result->w = w;
|
||||
|
@ -1160,7 +1274,15 @@ namespace App {
|
|||
return result;
|
||||
}
|
||||
|
||||
AudioData *audio(const AudioId &audio, AudioData *convert, const uint64 &access, int32 user, int32 date, const QString &mime, int32 duration, int32 dc, int32 size) {
|
||||
AudioData *audio(const AudioId &audio) {
|
||||
AudiosData::const_iterator i = audiosData.constFind(audio);
|
||||
if (i == audiosData.cend()) {
|
||||
i = audiosData.insert(audio, new AudioData(audio));
|
||||
}
|
||||
return i.value();
|
||||
}
|
||||
|
||||
AudioData *audioSet(const AudioId &audio, AudioData *convert, const uint64 &access, int32 date, const QString &mime, int32 duration, int32 dc, int32 size) {
|
||||
if (convert) {
|
||||
if (convert->id != audio) {
|
||||
AudiosData::iterator i = audiosData.find(convert->id);
|
||||
|
@ -1171,8 +1293,7 @@ namespace App {
|
|||
convert->status = FileReady;
|
||||
}
|
||||
convert->access = access;
|
||||
if (!convert->user && !convert->date && (user || date)) {
|
||||
convert->user = user;
|
||||
if (!convert->date && date) {
|
||||
convert->date = date;
|
||||
convert->mime = mime;
|
||||
convert->duration = duration;
|
||||
|
@ -1186,14 +1307,13 @@ namespace App {
|
|||
if (convert) {
|
||||
result = convert;
|
||||
} else {
|
||||
result = new AudioData(audio, access, user, date, mime, duration, dc, size);
|
||||
result = new AudioData(audio, access, date, mime, duration, dc, size);
|
||||
}
|
||||
audiosData.insert(audio, result);
|
||||
} else {
|
||||
result = i.value();
|
||||
if (result != convert && !result->user && !result->date && (user || date)) {
|
||||
if (result != convert && !result->date && date) {
|
||||
result->access = access;
|
||||
result->user = user;
|
||||
result->date = date;
|
||||
result->mime = mime;
|
||||
result->duration = duration;
|
||||
|
@ -1222,7 +1342,7 @@ namespace App {
|
|||
}
|
||||
convert->id = document;
|
||||
convert->status = FileReady;
|
||||
sentSticker = !!convert->sticker;
|
||||
sentSticker = !!convert->sticker();
|
||||
}
|
||||
convert->access = access;
|
||||
if (!convert->date && date) {
|
||||
|
@ -1236,20 +1356,20 @@ namespace App {
|
|||
if (!thumb->isNull() && (convert->thumb->isNull() || convert->thumb->width() < thumb->width() || convert->thumb->height() < thumb->height())) {
|
||||
convert->thumb = thumb;
|
||||
}
|
||||
if (convert->sticker && !attributes.isEmpty() && (convert->sticker->alt.isEmpty() || convert->sticker->set.type() == mtpc_inputStickerSetEmpty)) {
|
||||
if (convert->sticker() && !attributes.isEmpty() && (convert->sticker()->alt.isEmpty() || convert->sticker()->set.type() == mtpc_inputStickerSetEmpty)) {
|
||||
for (QVector<MTPDocumentAttribute>::const_iterator i = attributes.cbegin(), e = attributes.cend(); i != e; ++i) {
|
||||
if (i->type() == mtpc_documentAttributeSticker) {
|
||||
const MTPDdocumentAttributeSticker &d(i->c_documentAttributeSticker());
|
||||
if (d.valt.c_string().v.length() > 0) {
|
||||
convert->sticker->alt = qs(d.valt);
|
||||
convert->sticker->set = d.vstickerset;
|
||||
convert->sticker()->alt = qs(d.valt);
|
||||
convert->sticker()->set = d.vstickerset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (convert->sticker && !convert->sticker->loc.dc && thumbLocation.dc) {
|
||||
convert->sticker->loc = thumbLocation;
|
||||
if (convert->sticker() && !convert->sticker()->loc.dc && thumbLocation.dc) {
|
||||
convert->sticker()->loc = thumbLocation;
|
||||
}
|
||||
|
||||
if (convert->location.check()) {
|
||||
|
@ -1263,7 +1383,7 @@ namespace App {
|
|||
result = convert;
|
||||
} else {
|
||||
result = new DocumentData(document, access, date, attributes, mime, thumb, dc, size);
|
||||
if (result->sticker) result->sticker->loc = thumbLocation;
|
||||
if (result->sticker()) result->sticker()->loc = thumbLocation;
|
||||
}
|
||||
documentsData.insert(document, result);
|
||||
} else {
|
||||
|
@ -1281,19 +1401,19 @@ namespace App {
|
|||
if (!thumb->isNull() && (result->thumb->isNull() || result->thumb->width() < thumb->width() || result->thumb->height() < thumb->height())) {
|
||||
result->thumb = thumb;
|
||||
}
|
||||
if (result->sticker && !attributes.isEmpty() && (result->sticker->alt.isEmpty() || result->sticker->set.type() == mtpc_inputStickerSetEmpty)) {
|
||||
if (result->sticker() && !attributes.isEmpty() && (result->sticker()->alt.isEmpty() || result->sticker()->set.type() == mtpc_inputStickerSetEmpty)) {
|
||||
for (QVector<MTPDocumentAttribute>::const_iterator i = attributes.cbegin(), e = attributes.cend(); i != e; ++i) {
|
||||
if (i->type() == mtpc_documentAttributeSticker) {
|
||||
const MTPDdocumentAttributeSticker &d(i->c_documentAttributeSticker());
|
||||
if (d.valt.c_string().v.length() > 0) {
|
||||
result->sticker->alt = qs(d.valt);
|
||||
result->sticker->set = d.vstickerset;
|
||||
result->sticker()->alt = qs(d.valt);
|
||||
result->sticker()->set = d.vstickerset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (result->sticker && !result->sticker->loc.dc && thumbLocation.dc) {
|
||||
result->sticker->loc = thumbLocation;
|
||||
if (result->sticker() && !result->sticker()->loc.dc && thumbLocation.dc) {
|
||||
result->sticker()->loc = thumbLocation;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1302,7 +1422,15 @@ namespace App {
|
|||
return result;
|
||||
}
|
||||
|
||||
WebPageData *webPage(const WebPageId &webPage, WebPageData *convert, const QString &type, const QString &url, const QString &displayUrl, const QString &siteName, const QString &title, const QString &description, PhotoData *photo, int32 duration, const QString &author, int32 pendingTill) {
|
||||
WebPageData *webPage(const WebPageId &webPage) {
|
||||
WebPagesData::const_iterator i = webPagesData.constFind(webPage);
|
||||
if (i == webPagesData.cend()) {
|
||||
i = webPagesData.insert(webPage, new WebPageData(webPage));
|
||||
}
|
||||
return i.value();
|
||||
}
|
||||
|
||||
WebPageData *webPageSet(const WebPageId &webPage, WebPageData *convert, const QString &type, const QString &url, const QString &displayUrl, const QString &siteName, const QString &title, const QString &description, PhotoData *photo, int32 duration, const QString &author, int32 pendingTill) {
|
||||
if (convert) {
|
||||
if (convert->id != webPage) {
|
||||
WebPagesData::iterator i = webPagesData.find(convert->id);
|
||||
|
@ -1360,7 +1488,15 @@ namespace App {
|
|||
return result;
|
||||
}
|
||||
|
||||
ImageLinkData *imageLink(const QString &imageLink, ImageLinkType type, const QString &url) {
|
||||
ImageLinkData *imageLink(const QString &imageLink) {
|
||||
ImageLinksData::const_iterator i = imageLinksData.constFind(imageLink);
|
||||
if (i == imageLinksData.cend()) {
|
||||
i = imageLinksData.insert(imageLink, new ImageLinkData(imageLink));
|
||||
}
|
||||
return i.value();
|
||||
}
|
||||
|
||||
ImageLinkData *imageLinkSet(const QString &imageLink, ImageLinkType type, const QString &url) {
|
||||
ImageLinksData::const_iterator i = imageLinksData.constFind(imageLink);
|
||||
ImageLinkData *result;
|
||||
if (i == imageLinksData.cend()) {
|
||||
|
@ -1401,7 +1537,7 @@ namespace App {
|
|||
photoSizes.push_back(MTP_photoSize(MTP_string("a"), uphoto.vphoto_small, MTP_int(160), MTP_int(160), MTP_int(0)));
|
||||
photoSizes.push_back(MTP_photoSize(MTP_string("c"), uphoto.vphoto_big, MTP_int(640), MTP_int(640), MTP_int(0)));
|
||||
|
||||
return MTP_photo(uphoto.vphoto_id, MTP_long(0), userId, date, MTP_geoPointEmpty(), MTP_vector<MTPPhotoSize>(photoSizes));
|
||||
return MTP_photo(uphoto.vphoto_id, MTP_long(0), date, MTP_vector<MTPPhotoSize>(photoSizes));
|
||||
}
|
||||
return MTP_photoEmpty(MTP_long(0));
|
||||
}
|
||||
|
@ -1546,6 +1682,9 @@ namespace App {
|
|||
historyClearMsgs();
|
||||
randomData.clear();
|
||||
mutedPeers.clear();
|
||||
updatedPeers.clear();
|
||||
cSetSavedPeers(SavedPeers());
|
||||
cSetSavedPeersByTime(SavedPeersByTime());
|
||||
for (PeersData::const_iterator i = peersData.cbegin(), e = peersData.cend(); i != e; ++i) {
|
||||
delete *i;
|
||||
}
|
||||
|
@ -1573,7 +1712,6 @@ namespace App {
|
|||
if (api()) api()->clearWebPageRequests();
|
||||
cSetRecentStickers(RecentStickerPack());
|
||||
cSetStickersHash(QByteArray());
|
||||
cSetEmojiStickers(EmojiStickersMap());
|
||||
cSetStickerSets(StickerSets());
|
||||
cSetStickerSetsOrder(StickerSetsOrder());
|
||||
cSetLastStickersUpdate(0);
|
||||
|
@ -1602,15 +1740,6 @@ namespace App {
|
|||
}
|
||||
}
|
||||
|
||||
/* // don't delete history without deleting its' peerdata
|
||||
void deleteHistory(const PeerId &peer) {
|
||||
Histories::iterator i = ::histories.find(peer);
|
||||
if (i != ::histories.end()) {
|
||||
::histories.typing.remove(i.value());
|
||||
::histories.erase(i);
|
||||
}
|
||||
}
|
||||
/**/
|
||||
void historyRegRandom(uint64 randomId, MsgId itemId) {
|
||||
randomData.insert(randomId, itemId);
|
||||
}
|
||||
|
@ -1999,7 +2128,7 @@ namespace App {
|
|||
case mtpc_replyKeyboardMarkup: {
|
||||
const MTPDreplyKeyboardMarkup &d(markup.c_replyKeyboardMarkup());
|
||||
data.flags = d.vflags.v;
|
||||
|
||||
|
||||
const QVector<MTPKeyboardButtonRow> &v(d.vrows.c_vector().v);
|
||||
if (!v.isEmpty()) {
|
||||
commands.reserve(v.size());
|
||||
|
@ -2028,6 +2157,18 @@ namespace App {
|
|||
}
|
||||
}
|
||||
} break;
|
||||
|
||||
case mtpc_replyKeyboardHide: {
|
||||
const MTPDreplyKeyboardHide &d(markup.c_replyKeyboardHide());
|
||||
if (d.vflags.v) {
|
||||
replyMarkups.insert(msgId, ReplyMarkup(d.vflags.v | MTPDreplyKeyboardMarkup_flag_ZERO));
|
||||
}
|
||||
} break;
|
||||
|
||||
case mtpc_replyKeyboardForceReply: {
|
||||
const MTPDreplyKeyboardForceReply &d(markup.c_replyKeyboardForceReply());
|
||||
replyMarkups.insert(msgId, ReplyMarkup(d.vflags.v | MTPDreplyKeyboardMarkup_flag_FORCE_REPLY));
|
||||
} break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -105,23 +105,29 @@ namespace App {
|
|||
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); // returns last user
|
||||
ChatData *feedChats(const MTPVector<MTPChat> &chats); // returns last chat
|
||||
void feedParticipants(const MTPChatParticipants &p, bool requestBotInfos = false);
|
||||
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 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);
|
||||
|
@ -151,13 +157,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);
|
||||
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 *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());
|
||||
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, 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);
|
||||
|
@ -173,7 +184,6 @@ 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);
|
||||
|
|
|
@ -48,28 +48,43 @@ 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();
|
||||
return true;
|
||||
} else {
|
||||
App::wnd()->hide();
|
||||
App::wnd()->updateIsActive(cOfflineBlurTimeout());
|
||||
App::wnd()->updateGlobalMenu();
|
||||
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;
|
||||
}
|
||||
} 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);
|
||||
|
@ -95,9 +110,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"));
|
||||
|
@ -203,7 +216,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();
|
||||
}
|
||||
}
|
||||
|
@ -460,7 +473,7 @@ 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_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;
|
||||
|
@ -500,7 +513,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;
|
||||
}
|
||||
}
|
||||
|
@ -510,7 +523,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();
|
||||
|
@ -637,13 +654,12 @@ void Application::socketError(QLocalSocket::LocalSocketError e) {
|
|||
|
||||
void Application::checkMapVersion() {
|
||||
if (Local::oldMapVersion() < AppVersion) {
|
||||
psRegisterCustomScheme();
|
||||
if (Local::oldMapVersion()) {
|
||||
QString versionFeatures;
|
||||
if (DevChannel && Local::oldMapVersion() < 8028) {
|
||||
versionFeatures = lang(lng_new_version_minor);// QString::fromUtf8("\xe2\x80\x94 IPv6 connections support\n\xe2\x80\x94 Bug fixes and minor stuff");// .replace('@', qsl("@") + QChar(0x200D));
|
||||
} else if (!DevChannel && Local::oldMapVersion() < 8024) {
|
||||
versionFeatures = lng_new_version_text(lt_blog_link, qsl("https://telegram.org/blog/bot-revolution"));// lang(lng_new_version_text).trimmed();
|
||||
if (cDevVersion() && Local::oldMapVersion() < 8050) {
|
||||
versionFeatures = QString::fromUtf8("\xe2\x80\x94 Bug fixes in Windows notifications\n\xe2\x80\x94 Fixed input methods on Linux (Fcitx and IBus)");// .replace('@', qsl("@") + QChar(0x200D));
|
||||
} else if (!cDevVersion() && Local::oldMapVersion() < 8051) {
|
||||
versionFeatures = lang(lng_new_version_text).trimmed();
|
||||
}
|
||||
if (!versionFeatures.isEmpty()) {
|
||||
versionFeatures = lng_new_version_wrap(lt_version, QString::fromStdWString(AppVersionStr), lt_changes, versionFeatures, lt_link, qsl("https://desktop.telegram.org/#changelog"));
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 167 KiB |
Binary file not shown.
Before Width: | Height: | Size: 219 KiB After Width: | Height: | Size: 220 KiB |
File diff suppressed because it is too large
Load diff
|
@ -25,14 +25,19 @@ void audioPlayNotify();
|
|||
void audioFinish();
|
||||
|
||||
enum AudioPlayerState {
|
||||
AudioPlayerStopped,
|
||||
AudioPlayerStoppedAtStart,
|
||||
AudioPlayerStarting,
|
||||
AudioPlayerPlaying,
|
||||
AudioPlayerFinishing,
|
||||
AudioPlayerPausing,
|
||||
AudioPlayerPaused,
|
||||
AudioPlayerResuming,
|
||||
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 AudioPlayerFader;
|
||||
|
@ -45,39 +50,68 @@ public:
|
|||
|
||||
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(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);
|
||||
|
||||
void clearStoppedAtStart(const AudioMsgId &audio);
|
||||
void clearStoppedAtStart(const SongMsgId &song);
|
||||
|
||||
void currentState(AudioData **audio, AudioPlayerState *state = 0, int64 *position = 0, int64 *duration = 0, int32 *frequency = 0);
|
||||
void clearStoppedAtStart(AudioData *audio);
|
||||
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), frequency(AudioVoiceMsgFrequency), skipStart(0), skipEnd(0), loading(0), started(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;
|
||||
|
@ -92,9 +126,25 @@ private:
|
|||
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;
|
||||
|
||||
|
@ -154,10 +204,14 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
void error(AudioData *audio);
|
||||
void playPositionUpdated(AudioData *audio);
|
||||
void audioStopped(AudioData *audio);
|
||||
void needToPreload(AudioData *audio);
|
||||
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();
|
||||
|
||||
|
@ -168,12 +222,30 @@ public slots:
|
|||
void onPauseTimer();
|
||||
void onPauseTimerStop();
|
||||
|
||||
void onSuppressSong();
|
||||
void onUnsuppressSong();
|
||||
void onSuppressAll();
|
||||
void onSongVolumeChanged();
|
||||
|
||||
private:
|
||||
|
||||
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 AudioPlayerLoader;
|
||||
|
@ -187,22 +259,46 @@ public:
|
|||
|
||||
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:
|
||||
|
||||
typedef QMap<AudioData*, AudioPlayerLoader*> 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);
|
||||
|
||||
};
|
||||
|
||||
|
@ -239,3 +335,5 @@ private:
|
|||
QByteArray _captured;
|
||||
|
||||
};
|
||||
|
||||
MTPDocumentAttribute audioReadSongAttributes(const QString &fname, const QByteArray &data, QImage &cover, QByteArray &coverBytes, QByteArray &coverFormat);
|
||||
|
|
|
@ -256,15 +256,28 @@ void UpdateDownloader::unpackUpdate() {
|
|||
return fatalFail();
|
||||
}
|
||||
|
||||
RSA *pbKey = PEM_read_bio_RSAPublicKey(BIO_new_mem_buf(const_cast<char*>(DevChannel ? UpdatesPublicDevKey : UpdatesPublicKey), -1), 0, 0, 0);
|
||||
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);
|
||||
LOG(("Update Error: bad RSA signature of update file!"));
|
||||
return fatalFail();
|
||||
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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -285,7 +285,7 @@ void AddContactBox::onImportDone(const MTPcontacts_ImportedContacts &res) {
|
|||
}
|
||||
if (uid) {
|
||||
App::main()->addNewContact(uid);
|
||||
App::main()->showPeer(App::peerFromUser(uid));
|
||||
App::main()->choosePeer(App::peerFromUser(uid), ShowAtUnreadMsgId);
|
||||
App::wnd()->hideLayer();
|
||||
} else {
|
||||
_addButton.hide();
|
||||
|
|
|
@ -56,19 +56,24 @@ void ConfirmBox::init(const QString &text) {
|
|||
_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();
|
||||
|
|
|
@ -35,10 +35,15 @@ public:
|
|||
void leaveEvent(QEvent *e);
|
||||
void updateLink();
|
||||
|
||||
public slots:
|
||||
|
||||
void onCancel();
|
||||
|
||||
signals:
|
||||
|
||||
void confirmed();
|
||||
void cancelled();
|
||||
void cancelPressed();
|
||||
|
||||
protected:
|
||||
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,4 +47,5 @@ private:
|
|||
PortInput _portInput;
|
||||
FlatInput _userInput, _passwordInput;
|
||||
FlatRadiobutton _autoRadio, _httpProxyRadio, _tcpProxyRadio;
|
||||
FlatCheckbox _tryIPv6;
|
||||
};
|
||||
|
|
|
@ -60,7 +60,7 @@ _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) {
|
||||
if (r->history->peer->chat && !r->history->peer->asChat()->forbidden && !r->history->peer->asChat()->left) {
|
||||
_contacts->addToEnd(r->history);
|
||||
}
|
||||
}
|
||||
|
@ -96,7 +96,7 @@ void ContactsInner::onAddBot() {
|
|||
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()->showPeer(_addToChat->id, 0, false);
|
||||
App::main()->showPeerHistory(_addToChat->id, ShowAtUnreadMsgId);
|
||||
} else {
|
||||
App::main()->addParticipants(_addToChat, QVector<UserData*>(1, _bot));
|
||||
}
|
||||
|
@ -104,7 +104,7 @@ void ContactsInner::onAddBot() {
|
|||
|
||||
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) {
|
||||
|
@ -180,11 +180,11 @@ ContactsInner::ContactData *ContactsInner::contactData(DialogRow *row) {
|
|||
if (i == _contactsData.cend()) {
|
||||
_contactsData.insert(peer, data = new ContactData());
|
||||
data->inchat = (_chat && !peer->chat) ? _chat->participants.contains(peer->asUser()) : false;
|
||||
data->check = false;
|
||||
data->check = _checkedContacts.contains(peer);
|
||||
data->name.setText(st::profileListNameFont, peer->name, _textNameOptions);
|
||||
if (peer->chat) {
|
||||
ChatData *chat = peer->asChat();
|
||||
if (chat->forbidden) {
|
||||
if (chat->forbidden || chat->left) {
|
||||
data->online = lang(lng_chat_status_unaccessible);
|
||||
} else {
|
||||
data->online = lng_chat_status_members(lt_count, chat->count);
|
||||
|
@ -249,7 +249,7 @@ void ContactsInner::paintDialog(QPainter &p, PeerData *peer, ContactData *data,
|
|||
} else {
|
||||
if (data->inchat || data->check) {
|
||||
p.setPen(st::white->p);
|
||||
} else if (user && (uname || App::onlineColorUse(user->onlineTill, _time))) {
|
||||
} else if (user && (uname || App::onlineColorUse(user, _time))) {
|
||||
p.setPen(st::profileOnlineColor->p);
|
||||
} else {
|
||||
p.setPen(st::profileOfflineColor->p);
|
||||
|
@ -401,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);
|
||||
|
@ -409,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();
|
||||
|
@ -461,7 +461,7 @@ void ContactsInner::chooseParticipant() {
|
|||
App::wnd()->replaceLayer(box);
|
||||
} else {
|
||||
App::wnd()->hideSettings(true);
|
||||
App::main()->showPeer(peer->id, 0, false, true);
|
||||
App::main()->choosePeer(peer->id, ShowAtUnreadMsgId);
|
||||
App::wnd()->hideLayer();
|
||||
}
|
||||
}
|
||||
|
@ -470,15 +470,17 @@ void ContactsInner::chooseParticipant() {
|
|||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@ -693,7 +695,7 @@ void ContactsInner::peopleReceived(const QString &query, const QVector<MTPContac
|
|||
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;
|
||||
|
||||
|
@ -880,6 +882,11 @@ 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 && !i.key()->chat) {
|
||||
|
@ -896,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 && !i.key()->chat) {
|
||||
result.push_back(i.key()->inputUser);
|
||||
result.push_back(i.key()->asUser()->inputUser);
|
||||
}
|
||||
}
|
||||
for (int32 i = 0, l = _byUsername.size(); i < l; ++i) {
|
||||
|
@ -911,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();
|
||||
|
@ -1149,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));
|
||||
}
|
||||
|
@ -1258,7 +1275,7 @@ void CreateGroupBox::created(const MTPUpdates &updates) {
|
|||
} 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);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ 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);
|
||||
|
||||
|
@ -109,6 +109,8 @@ private:
|
|||
};
|
||||
typedef QMap<PeerData*, ContactData*> ContactsData;
|
||||
ContactsData _contactsData;
|
||||
typedef QMap<PeerData*, bool> CheckedContacts;
|
||||
CheckedContacts _checkedContacts;
|
||||
|
||||
ContactData *contactData(DialogRow *row);
|
||||
|
||||
|
|
|
@ -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()) {
|
||||
|
@ -189,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) {
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -27,7 +27,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
#include "localstorage.h"
|
||||
|
||||
StickerSetInner::StickerSetInner(const MTPInputStickerSet &set) :
|
||||
_loaded(false), _setId(0), _setAccess(0), _bottom(0),
|
||||
_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;
|
||||
|
@ -46,7 +46,7 @@ void StickerSetInner::gotSet(const MTPmessages_StickerSet &set) {
|
|||
_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;
|
||||
if (!doc || !doc->sticker()) continue;
|
||||
|
||||
_pack.push_back(doc);
|
||||
}
|
||||
|
@ -57,10 +57,13 @@ void StickerSetInner::gotSet(const MTPmessages_StickerSet &set) {
|
|||
_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() || _setShortName.isEmpty()) {
|
||||
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);
|
||||
|
@ -84,13 +87,25 @@ bool StickerSetInner::failedSet(const RPCError &error) {
|
|||
void StickerSetInner::installDone(const MTPBool &result) {
|
||||
StickerSets &sets(cRefStickerSets());
|
||||
|
||||
sets.insert(_setId, StickerSet(_setId, _setAccess, _setTitle, _setShortName)).value().stickers = _pack;
|
||||
int32 index = cStickerSetsOrder().indexOf(_setId);
|
||||
if (index > 0) {
|
||||
cRefStickerSetsOrder().removeAt(index);
|
||||
cRefStickerSetsOrder().push_front(_setId);
|
||||
} else if (index < 0) {
|
||||
cRefStickerSetsOrder().push_front(_setId);
|
||||
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);
|
||||
|
@ -141,11 +156,11 @@ void StickerSetInner::paintEvent(QPaintEvent *e) {
|
|||
if (!doc->loader && doc->status != FileFailed && !already && !hasdata) {
|
||||
doc->save(QString());
|
||||
}
|
||||
if (doc->sticker->img->isNull() && (already || hasdata)) {
|
||||
if (doc->sticker()->img->isNull() && (already || hasdata)) {
|
||||
if (already) {
|
||||
doc->sticker->img = ImagePtr(doc->already());
|
||||
doc->sticker()->img = ImagePtr(doc->already());
|
||||
} else {
|
||||
doc->sticker->img = ImagePtr(doc->data);
|
||||
doc->sticker()->img = ImagePtr(doc->data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -158,8 +173,8 @@ void StickerSetInner::paintEvent(QPaintEvent *e) {
|
|||
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));
|
||||
} else if (!doc->sticker()->img->isNull()) {
|
||||
p.drawPixmapLeft(ppos, width(), doc->sticker()->img->pix(w, h));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -183,6 +198,10 @@ 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);
|
||||
}
|
||||
|
@ -193,7 +212,7 @@ QString StickerSetInner::shortName() const {
|
|||
|
||||
void StickerSetInner::install() {
|
||||
if (_installRequest) return;
|
||||
_installRequest = MTP::send(MTPmessages_InstallStickerSet(_input), rpcDone(&StickerSetInner::installDone), rpcFail(&StickerSetInner::installFailed));
|
||||
_installRequest = MTP::send(MTPmessages_InstallStickerSet(_input, MTP_bool(false)), rpcDone(&StickerSetInner::installDone), rpcFail(&StickerSetInner::installFailed));
|
||||
}
|
||||
|
||||
StickerSetInner::~StickerSetInner() {
|
||||
|
@ -202,7 +221,8 @@ 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) {
|
||||
_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()));
|
||||
|
@ -212,6 +232,7 @@ _shareStickers(this, lang(lng_stickers_share_pack), st::btnStickersAdd) {
|
|||
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()));
|
||||
|
@ -235,7 +256,6 @@ void StickerSetBox::onAddStickers() {
|
|||
|
||||
void StickerSetBox::onShareStickers() {
|
||||
QString url = qsl("https://telegram.me/addstickers/") + _inner.shortName();
|
||||
DEBUG_LOG(("Setting text to clipboard from stickerset box: %1").arg(url));
|
||||
QApplication::clipboard()->setText(url);
|
||||
App::wnd()->showLayer(new ConfirmBox(lang(lng_stickers_copied), true), true);
|
||||
}
|
||||
|
@ -260,19 +280,26 @@ void StickerSetBox::showAll() {
|
|||
_close.show();
|
||||
int32 cnt = _inner.notInstalled();
|
||||
if (_inner.loaded()) {
|
||||
if (_inner.notInstalled()) {
|
||||
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();
|
||||
}
|
||||
|
@ -290,4 +317,5 @@ void StickerSetBox::resizeEvent(QResizeEvent *e) {
|
|||
_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);
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@ public:
|
|||
|
||||
bool loaded() const;
|
||||
int32 notInstalled() const;
|
||||
bool official() const;
|
||||
QString title() const;
|
||||
QString shortName() const;
|
||||
|
||||
|
@ -57,6 +58,7 @@ private:
|
|||
bool _loaded;
|
||||
uint64 _setId, _setAccess;
|
||||
QString _title, _setTitle, _setShortName;
|
||||
int32 _setCount, _setHash, _setFlags;
|
||||
|
||||
int32 _bottom;
|
||||
MTPInputStickerSet _input;
|
||||
|
@ -96,5 +98,5 @@ private:
|
|||
|
||||
StickerSetInner _inner;
|
||||
IconedButton _close;
|
||||
FlatButton _addStickers, _shareStickers;
|
||||
FlatButton _addStickers, _shareStickers, _closeStickers;
|
||||
};
|
||||
|
|
|
@ -17,9 +17,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
static const int32 AppVersion = 8028;
|
||||
static const wchar_t *AppVersionStr = L"0.8.28";
|
||||
static const bool DevChannel = true;
|
||||
static const int32 AppVersion = 8051;
|
||||
static const wchar_t *AppVersionStr = L"0.8.51";
|
||||
static const bool DevVersion = false;
|
||||
|
||||
static const wchar_t *AppNameOld = L"Telegram Win (Unofficial)";
|
||||
static const wchar_t *AppName = L"Telegram Desktop";
|
||||
|
@ -85,9 +85,10 @@ enum {
|
|||
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
|
||||
|
@ -100,7 +101,7 @@ enum {
|
|||
AudioVoiceMsgInMemory = 1024 * 1024, // 1 Mb audio is hold in memory and auto loaded
|
||||
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
|
||||
|
@ -139,12 +140,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 } };
|
||||
|
@ -288,7 +295,7 @@ 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
|
||||
|
@ -318,6 +325,7 @@ enum {
|
|||
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
|
||||
|
||||
|
@ -325,7 +333,7 @@ enum {
|
|||
};
|
||||
|
||||
inline const QRegularExpression &cWordSplit() {
|
||||
static QRegularExpression regexp(qsl("[\\s\\-\\+\\)\\(\\,\\.\\:\\!\\_\\;\\\"\\'\\x0]"));
|
||||
static QRegularExpression regexp(qsl("[\\@\\s\\-\\+\\)\\(\\,\\.\\:\\!\\_\\;\\\"\\'\\x0]"));
|
||||
return regexp;
|
||||
}
|
||||
|
||||
|
|
|
@ -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,7 +64,9 @@ 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) {
|
||||
|
@ -80,12 +86,12 @@ void DialogsListWidget::paintEvent(QPaintEvent *e) {
|
|||
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()) {
|
||||
|
@ -181,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);
|
||||
|
@ -252,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() {
|
||||
}
|
||||
|
||||
|
@ -274,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) {
|
||||
|
@ -347,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) {
|
||||
|
@ -397,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();
|
||||
|
||||
|
@ -440,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);
|
||||
}
|
||||
|
@ -489,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();
|
||||
}
|
||||
}
|
||||
|
@ -538,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();
|
||||
|
@ -550,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) {
|
||||
|
@ -629,7 +673,7 @@ void DialogsListWidget::onFilterUpdate(QString newFilter, bool force) {
|
|||
}
|
||||
|
||||
void DialogsListWidget::onHashtagFilterUpdate(QStringRef newFilter) {
|
||||
if (newFilter.isEmpty() || newFilter.at(0) != '#') {
|
||||
if (newFilter.isEmpty() || newFilter.at(0) != '#' || _searchInPeer) {
|
||||
_hashtagFilter = QString();
|
||||
if (!hashtagResults.isEmpty()) {
|
||||
hashtagResults.clear();
|
||||
|
@ -680,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();) {
|
||||
|
@ -709,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);
|
||||
|
@ -748,7 +822,7 @@ 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;
|
||||
}
|
||||
|
@ -765,11 +839,11 @@ int32 DialogsListWidget::addNewContact(int32 uid, bool select) {
|
|||
if (i == dialogs.list.rowByPeer.cend()) {
|
||||
DialogRow *added = contactsNoDialogs.addByName(history);
|
||||
if (!added) return -1;
|
||||
if (select) {
|
||||
if (select && false) {
|
||||
sel = added;
|
||||
contactSel = true;
|
||||
}
|
||||
if (contactsNoDialogs.list.count == 1 && !dialogs.list.count) refresh();
|
||||
// if (contactsNoDialogs.list.count == 1 && !dialogs.list.count) refresh();
|
||||
return added ? ((dialogs.list.count + added->pos) * st::dlgHeight) : -1;
|
||||
}
|
||||
if (select) {
|
||||
|
@ -782,7 +856,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 {
|
||||
|
@ -796,7 +870,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;
|
||||
}
|
||||
|
@ -817,6 +891,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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -844,9 +919,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();
|
||||
|
@ -859,6 +948,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);
|
||||
|
@ -871,7 +969,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;
|
||||
|
@ -879,14 +977,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;
|
||||
}
|
||||
|
@ -944,7 +1042,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;
|
||||
|
@ -979,7 +1077,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;
|
||||
|
@ -989,7 +1087,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;
|
||||
|
@ -1074,7 +1172,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) {
|
||||
|
@ -1113,11 +1211,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();
|
||||
}
|
||||
|
@ -1184,11 +1282,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;
|
||||
|
@ -1197,7 +1295,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) {
|
||||
|
@ -1211,7 +1309,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;
|
||||
|
@ -1226,14 +1324,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;
|
||||
}
|
||||
}
|
||||
|
@ -1247,7 +1345,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;
|
||||
}
|
||||
}
|
||||
|
@ -1260,17 +1358,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;
|
||||
|
@ -1278,11 +1376,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) {
|
||||
|
@ -1304,7 +1402,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;
|
||||
}
|
||||
|
@ -1314,13 +1412,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;
|
||||
}
|
||||
|
@ -1356,16 +1454,19 @@ MsgId DialogsListWidget::lastSearchId() const {
|
|||
|
||||
DialogsWidget::DialogsWidget(MainWidget *parent) : QWidget(parent)
|
||||
, _drawShadow(true)
|
||||
, _dragInScroll(false)
|
||||
, _dragForward(false)
|
||||
, dlgOffset(0)
|
||||
, dlgCount(-1)
|
||||
, dlgPreloading(0)
|
||||
, contactsRequest(0)
|
||||
, _filter(this, st::dlgFilter, lang(lng_dlg_filter))
|
||||
, _filter(this, st::dialogsSearchField, lang(lng_dlg_filter))
|
||||
, _newGroup(this, st::btnNewGroup)
|
||||
, _addContact(this, st::btnAddContact)
|
||||
, _cancelSearch(this, st::btnCancelSearch)
|
||||
, scroll(this, st::dlgScroll)
|
||||
, list(&scroll, parent)
|
||||
, _searchInPeer(0)
|
||||
, _searchFull(false)
|
||||
, _peopleFull(false)
|
||||
{
|
||||
|
@ -1377,6 +1478,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()));
|
||||
|
@ -1388,6 +1490,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()));
|
||||
|
||||
|
@ -1422,15 +1529,11 @@ void DialogsWidget::dlgUpdated(History *row) {
|
|||
}
|
||||
|
||||
void DialogsWidget::dialogsToUp() {
|
||||
if (_filter.text().trimmed().isEmpty()) {
|
||||
if (_filter.getLastText().trimmed().isEmpty()) {
|
||||
scroll.scrollToY(0);
|
||||
}
|
||||
}
|
||||
|
||||
void DialogsWidget::setInnerFocus() {
|
||||
_filter.setFocus();
|
||||
}
|
||||
|
||||
void DialogsWidget::animShow(const QPixmap &bgAnimCache) {
|
||||
_bgAnimCache = bgAnimCache;
|
||||
_animCache = myGrab(this, rect());
|
||||
|
@ -1471,7 +1574,7 @@ bool DialogsWidget::animStep(float64 ms) {
|
|||
}
|
||||
|
||||
void DialogsWidget::onCancel() {
|
||||
if (!onCancelSearch() || !App::main()->selectingPeer()) {
|
||||
if (!onCancelSearch() || (!_searchInPeer && !App::main()->selectingPeer())) {
|
||||
emit cancelled();
|
||||
}
|
||||
}
|
||||
|
@ -1553,7 +1656,7 @@ bool DialogsWidget::dialogsFailed(const RPCError &error) {
|
|||
}
|
||||
|
||||
bool DialogsWidget::onSearchMessages(bool searchCache) {
|
||||
QString q = _filter.text().trimmed();
|
||||
QString q = _filter.getLastText().trimmed();
|
||||
if (q.isEmpty()) {
|
||||
if (_searchRequest) {
|
||||
_searchRequest = 0;
|
||||
|
@ -1575,10 +1678,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()) {
|
||||
|
@ -1604,8 +1707,12 @@ void DialogsWidget::onNeedSearchMessages() {
|
|||
}
|
||||
}
|
||||
|
||||
void DialogsWidget::onChooseByDrag() {
|
||||
list.choosePeer();
|
||||
}
|
||||
|
||||
void DialogsWidget::searchMessages(const QString &query) {
|
||||
if (_filter.text() != query) {
|
||||
if (_filter.getLastText() != query) {
|
||||
_filter.setText(query);
|
||||
_filter.updatePlaceholder();
|
||||
onFilterUpdate();
|
||||
|
@ -1618,7 +1725,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);
|
||||
}
|
||||
|
@ -1628,6 +1735,7 @@ void DialogsWidget::onSearchMore(MsgId minMsgId) {
|
|||
void DialogsWidget::loadDialogs() {
|
||||
if (dlgPreloading) return;
|
||||
if (dlgCount >= 0 && dlgOffset >= dlgCount) {
|
||||
list.addAllSavedPeers();
|
||||
cSetDialogsReceived(true);
|
||||
return;
|
||||
}
|
||||
|
@ -1741,6 +1849,78 @@ bool DialogsWidget::addNewContact(int32 uid, bool show) {
|
|||
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;
|
||||
|
||||
|
@ -1757,7 +1937,7 @@ void DialogsWidget::onListScroll() {
|
|||
void DialogsWidget::onFilterUpdate(bool force) {
|
||||
if (animating() && !force) return;
|
||||
|
||||
QString filterText = _filter.text();
|
||||
QString filterText = _filter.getLastText();
|
||||
list.onFilterUpdate(filterText);
|
||||
if (filterText.isEmpty()) {
|
||||
_searchCache.clear();
|
||||
|
@ -1776,9 +1956,17 @@ void DialogsWidget::onFilterUpdate(bool force) {
|
|||
}
|
||||
}
|
||||
|
||||
void DialogsWidget::searchInPeer(PeerData *peer) {
|
||||
onCancelSearch();
|
||||
_searchInPeer = peer;
|
||||
list.searchInPeer(peer);
|
||||
onFilterUpdate(true);
|
||||
list.onFilterUpdate(_filter.getLastText(), true);
|
||||
}
|
||||
|
||||
void DialogsWidget::onFilterCursorMoved(int from, int to) {
|
||||
if (to < 0) to = _filter.cursorPosition();
|
||||
QString t = _filter.text();
|
||||
if (to < 0) to = _filter.textCursor().position();
|
||||
QString t = _filter.getLastText();
|
||||
QStringRef r;
|
||||
for (int start = to; start > 0;) {
|
||||
--start;
|
||||
|
@ -1793,8 +1981,8 @@ void DialogsWidget::onFilterCursorMoved(int from, int to) {
|
|||
}
|
||||
|
||||
void DialogsWidget::onCompleteHashtag(QString tag) {
|
||||
QString t = _filter.text(), r;
|
||||
int cur = _filter.cursorPosition();
|
||||
QString t = _filter.getLastText(), r;
|
||||
int cur = _filter.textCursor().position();
|
||||
for (int start = cur; start > 0;) {
|
||||
--start;
|
||||
if (t.size() <= start) break;
|
||||
|
@ -1806,7 +1994,9 @@ void DialogsWidget::onCompleteHashtag(QString tag) {
|
|||
if (cur - start - 1 == tag.size() && cur < t.size() && t.at(cur) == ' ') ++cur;
|
||||
r = t.mid(0, start + 1) + tag + ' ' + t.mid(cur);
|
||||
_filter.setText(r);
|
||||
_filter.setCursorPosition(start + 1 + tag.size() + 1);
|
||||
QTextCursor cursor(_filter.textCursor());
|
||||
cursor.setPosition(start + 1 + tag.size() + 1);
|
||||
_filter.setTextCursor(cursor);
|
||||
onFilterUpdate(true);
|
||||
return;
|
||||
}
|
||||
|
@ -1815,7 +2005,9 @@ void DialogsWidget::onCompleteHashtag(QString tag) {
|
|||
if (!t.at(start).isLetterOrNumber() && t.at(start) != '_') break;
|
||||
}
|
||||
_filter.setText(t.mid(0, cur) + '#' + tag + ' ' + t.mid(cur));
|
||||
_filter.setCursorPosition(cur + 1 + tag.size() + 1);
|
||||
QTextCursor cursor(_filter.textCursor());
|
||||
cursor.setPosition(cur + 1 + tag.size() + 1);
|
||||
_filter.setTextCursor(cursor);
|
||||
onFilterUpdate(true);
|
||||
}
|
||||
|
||||
|
@ -1826,9 +2018,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) {
|
||||
|
@ -1926,7 +2125,15 @@ void DialogsWidget::onNewGroup() {
|
|||
}
|
||||
|
||||
bool DialogsWidget::onCancelSearch() {
|
||||
bool clearing = !_filter.text().isEmpty();
|
||||
bool clearing = !_filter.getLastText().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();
|
||||
|
@ -1934,6 +2141,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()) {
|
||||
|
|
|
@ -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);
|
||||
|
@ -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(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();
|
||||
|
||||
|
@ -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;
|
||||
|
@ -220,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);
|
||||
|
@ -228,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);
|
||||
|
@ -242,7 +264,7 @@ private:
|
|||
mtpRequestId dlgPreloading;
|
||||
mtpRequestId contactsRequest;
|
||||
|
||||
FlatInput _filter;
|
||||
InputField _filter;
|
||||
IconedButton _newGroup, _addContact, _cancelSearch;
|
||||
ScrollArea scroll;
|
||||
DialogsListWidget list;
|
||||
|
@ -251,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;
|
||||
|
|
|
@ -384,7 +384,7 @@ void DragArea::dragLeaveEvent(QDragLeaveEvent *e) {
|
|||
void DragArea::dropEvent(QDropEvent *e) {
|
||||
static_cast<HistoryWidget*>(parentWidget())->dropEvent(e);
|
||||
if (e->isAccepted()) {
|
||||
emit dropped(e);
|
||||
emit dropped(e->mimeData());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -684,10 +684,11 @@ void EmojiColorPicker::drawVariant(Painter &p, int variant) {
|
|||
p.drawPixmapLeft(w.x() + (st::emojiPanSize.width() - (esize / cIntRetinaFactor())) / 2, w.y() + (st::emojiPanSize.height() - (esize / cIntRetinaFactor())) / 2, width(), App::emojisLarge(), QRect(_variants[variant]->x * esize, _variants[variant]->y * esize, esize, esize));
|
||||
}
|
||||
|
||||
EmojiPanInner::EmojiPanInner(QWidget *parent) : TWidget(parent),
|
||||
EmojiPanInner::EmojiPanInner(QWidget *parent) : TWidget(parent), _maxHeight(int(st::emojiPanMaxHeight)),
|
||||
_top(0), _selected(-1), _pressedSel(-1), _pickerSel(-1), _picker(this),
|
||||
_switcherHover(0), _stickersWidth(st::emojiPanHeaderFont->m.width(lang(lng_switch_stickers))) {
|
||||
resize(st::emojiPanFullSize.width(), countHeight());
|
||||
resize(st::emojiPanWidth, countHeight());
|
||||
|
||||
setMouseTracking(true);
|
||||
setFocusPolicy(Qt::NoFocus);
|
||||
|
||||
|
@ -709,6 +710,11 @@ _switcherHover(0), _stickersWidth(st::emojiPanHeaderFont->m.width(lang(lng_switc
|
|||
connect(&_picker, SIGNAL(hidden()), this, SLOT(onPickerHidden()));
|
||||
}
|
||||
|
||||
void EmojiPanInner::setMaxHeight(int32 h) {
|
||||
_maxHeight = h;
|
||||
resize(st::emojiPanWidth, countHeight());
|
||||
}
|
||||
|
||||
void EmojiPanInner::setScrollTop(int top) {
|
||||
if (top == _top) return;
|
||||
|
||||
|
@ -1131,10 +1137,11 @@ void EmojiPanInner::showEmojiPack(DBIEmojiTab packIndex) {
|
|||
update();
|
||||
}
|
||||
|
||||
StickerPanInner::StickerPanInner(QWidget *parent) : TWidget(parent),
|
||||
StickerPanInner::StickerPanInner(QWidget *parent) : TWidget(parent), _maxHeight(st::emojiPanMaxHeight),
|
||||
_top(0), _selected(-1), _pressedSel(-1),
|
||||
_switcherHover(0), _emojiWidth(st::emojiPanHeaderFont->m.width(lang(lng_switch_emoji))) {
|
||||
resize(st::emojiPanFullSize.width(), countHeight());
|
||||
resize(st::emojiPanWidth, countHeight());
|
||||
|
||||
setMouseTracking(true);
|
||||
setFocusPolicy(Qt::NoFocus);
|
||||
|
||||
|
@ -1143,6 +1150,11 @@ _switcherHover(0), _emojiWidth(st::emojiPanHeaderFont->m.width(lang(lng_switch_e
|
|||
refreshStickers();
|
||||
}
|
||||
|
||||
void StickerPanInner::setMaxHeight(int32 h) {
|
||||
_maxHeight = h;
|
||||
resize(st::emojiPanWidth, countHeight());
|
||||
}
|
||||
|
||||
void StickerPanInner::setScrollTop(int top) {
|
||||
if (top == _top) return;
|
||||
|
||||
|
@ -1154,9 +1166,9 @@ void StickerPanInner::setScrollTop(int top) {
|
|||
}
|
||||
|
||||
int StickerPanInner::countHeight() {
|
||||
int result = 0, minLastH = st::emojiPanFullSize.height() - st::rbEmoji.height - st::stickerPanPadding;
|
||||
int result = 0, minLastH = _maxHeight - st::rbEmoji.height - st::stickerPanPadding;
|
||||
for (int i = 0; i < _sets.size(); ++i) {
|
||||
int cnt = _sets.at(i).size(), rows = (cnt / StickerPanPerRow) + ((cnt % StickerPanPerRow) ? 1 : 0);
|
||||
int cnt = _sets.at(i).pack.size(), rows = (cnt / StickerPanPerRow) + ((cnt % StickerPanPerRow) ? 1 : 0);
|
||||
int h = st::emojiPanHeader + rows * st::stickerPanSize.height();
|
||||
if (i == _sets.size() - 1 && h < minLastH) h = minLastH;
|
||||
result += h;
|
||||
|
@ -1174,21 +1186,21 @@ void StickerPanInner::paintEvent(QPaintEvent *e) {
|
|||
int32 y, tilly = 0;
|
||||
for (int c = 0, l = _sets.size(); c < l; ++c) {
|
||||
y = tilly;
|
||||
int32 size = _sets.at(c).size();
|
||||
int32 size = _sets.at(c).pack.size();
|
||||
int32 rows = (size / StickerPanPerRow) + ((size % StickerPanPerRow) ? 1 : 0);
|
||||
tilly = y + st::emojiPanHeader + (rows * st::stickerPanSize.height());
|
||||
if (r.top() >= tilly) continue;
|
||||
|
||||
bool special = (_setIds[c] == DefaultStickerSetId || _setIds[c] == RecentStickerSetId);
|
||||
bool special = (_sets[c].flags & MTPDstickerSet_flag_official);
|
||||
y += st::emojiPanHeader;
|
||||
|
||||
QString title = _titles[c];
|
||||
QString title = _sets[c].title;
|
||||
if (r.bottom() <= y) {
|
||||
p.setFont(st::emojiPanHeaderFont->f);
|
||||
p.setPen(st::emojiPanHeaderColor->p);
|
||||
p.drawTextLeft(st::emojiPanHeaderLeft, qMax(y - int(st::emojiPanHeader), _top) + st::emojiPanHeaderTop, width(), title);
|
||||
if (!special && y >= _top + 2 * st::emojiPanHeader) {
|
||||
p.setOpacity(st::stickerPanDeleteOpacity + (1 - st::stickerPanDeleteOpacity) * _hovers[c][size]);
|
||||
p.setOpacity(st::stickerPanDeleteOpacity + (1 - st::stickerPanDeleteOpacity) * _sets[c].hovers[size]);
|
||||
p.drawSpriteRight(QPoint(st::emojiPanHeaderLeft, y - (st::emojiPanHeader + st::notifyClose.icon.pxHeight()) / 2), width(), st::notifyClose.icon);
|
||||
p.setOpacity(1);
|
||||
}
|
||||
|
@ -1201,10 +1213,10 @@ void StickerPanInner::paintEvent(QPaintEvent *e) {
|
|||
int32 index = i * StickerPanPerRow + j;
|
||||
if (index >= size) break;
|
||||
|
||||
float64 hover = _hovers[c][index];
|
||||
float64 hover = _sets[c].hovers[index];
|
||||
|
||||
DocumentData *sticker = _sets[c][index];
|
||||
if (!sticker->sticker) continue;
|
||||
DocumentData *sticker = _sets[c].pack[index];
|
||||
if (!sticker->sticker()) continue;
|
||||
|
||||
QPoint pos(st::stickerPanPadding + j * st::stickerPanSize.width(), y + i * st::stickerPanSize.height());
|
||||
if (hover > 0) {
|
||||
|
@ -1223,11 +1235,11 @@ void StickerPanInner::paintEvent(QPaintEvent *e) {
|
|||
if (!sticker->loader && sticker->status != FileFailed && !already && !hasdata) {
|
||||
sticker->save(QString());
|
||||
}
|
||||
if (sticker->sticker->img->isNull() && (already || hasdata)) {
|
||||
if (sticker->sticker()->img->isNull() && (already || hasdata)) {
|
||||
if (already) {
|
||||
sticker->sticker->img = ImagePtr(sticker->already());
|
||||
sticker->sticker()->img = ImagePtr(sticker->already());
|
||||
} else {
|
||||
sticker->sticker->img = ImagePtr(sticker->data);
|
||||
sticker->sticker()->img = ImagePtr(sticker->data);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1240,12 +1252,12 @@ void StickerPanInner::paintEvent(QPaintEvent *e) {
|
|||
QPoint ppos = pos + QPoint((st::stickerPanSize.width() - w) / 2, (st::stickerPanSize.height() - h) / 2);
|
||||
if (goodThumb) {
|
||||
p.drawPixmapLeft(ppos, width(), sticker->thumb->pix(w, h));
|
||||
} else if (!sticker->sticker->img->isNull()) {
|
||||
p.drawPixmapLeft(ppos, width(), sticker->sticker->img->pix(w, h));
|
||||
} else if (!sticker->sticker()->img->isNull()) {
|
||||
p.drawPixmapLeft(ppos, width(), sticker->sticker()->img->pix(w, h));
|
||||
}
|
||||
|
||||
if (hover > 0 && _setIds[c] == RecentStickerSetId && _custom.at(index)) {
|
||||
float64 xHover = _hovers[c][_sets[c].size() + index];
|
||||
if (hover > 0 && _sets[c].id == RecentStickerSetId && _custom.at(index)) {
|
||||
float64 xHover = _sets[c].hovers[_sets[c].pack.size() + index];
|
||||
|
||||
QPoint xPos = pos + QPoint(st::stickerPanSize.width() - st::stickerPanDelete.pxWidth(), 0);
|
||||
p.setOpacity(hover * (xHover + (1 - xHover) * st::stickerPanDeleteOpacity));
|
||||
|
@ -1258,7 +1270,7 @@ void StickerPanInner::paintEvent(QPaintEvent *e) {
|
|||
if (y - st::emojiPanHeader < _top) {
|
||||
p.fillRect(QRect(0, qMin(_top, tilly - int(st::emojiPanHeader)), width(), st::emojiPanHeader), st::emojiPanHeaderBg->b);
|
||||
} else if (!special && y >= _top + 2 * st::emojiPanHeader) {
|
||||
p.setOpacity(st::stickerPanDeleteOpacity + (1 - st::stickerPanDeleteOpacity) * _hovers[c][size]);
|
||||
p.setOpacity(st::stickerPanDeleteOpacity + (1 - st::stickerPanDeleteOpacity) * _sets[c].hovers[size]);
|
||||
p.drawSpriteRight(QPoint(st::emojiPanHeaderLeft, y - (st::emojiPanHeader + st::notifyClose.icon.pxHeight()) / 2), width(), st::notifyClose.icon);
|
||||
p.setOpacity(1);
|
||||
}
|
||||
|
@ -1293,15 +1305,15 @@ void StickerPanInner::mouseReleaseEvent(QMouseEvent *e) {
|
|||
emit switchToEmoji();
|
||||
return;
|
||||
}
|
||||
if (_selected >= MatrixRowShift * _setIds.size()) {
|
||||
if (_selected >= MatrixRowShift * _sets.size()) {
|
||||
return;
|
||||
}
|
||||
|
||||
int tab = (_selected / MatrixRowShift), sel = _selected % MatrixRowShift;
|
||||
if (_setIds[tab] == RecentStickerSetId && sel >= _sets[tab].size() && sel < _sets[tab].size() * 2 && _custom.at(sel - _sets[tab].size())) {
|
||||
if (_sets[tab].id == RecentStickerSetId && sel >= _sets[tab].pack.size() && sel < _sets[tab].pack.size() * 2 && _custom.at(sel - _sets[tab].pack.size())) {
|
||||
clearSelection(true);
|
||||
bool refresh = false;
|
||||
DocumentData *sticker = _sets[tab].at(sel - _sets[tab].size());
|
||||
DocumentData *sticker = _sets[tab].pack.at(sel - _sets[tab].pack.size());
|
||||
RecentStickerPack &recent(cGetRecentStickers());
|
||||
for (int32 i = 0, l = recent.size(); i < l; ++i) {
|
||||
if (recent.at(i).first == sticker) {
|
||||
|
@ -1333,10 +1345,10 @@ void StickerPanInner::mouseReleaseEvent(QMouseEvent *e) {
|
|||
}
|
||||
return;
|
||||
}
|
||||
if (sel < _sets[tab].size()) {
|
||||
emit selected(_sets[tab][sel]);
|
||||
} else if (sel == _sets[tab].size()) {
|
||||
emit removing(_setIds[tab]);
|
||||
if (sel < _sets[tab].pack.size()) {
|
||||
emit selected(_sets[tab].pack[sel]);
|
||||
} else if (sel == _sets[tab].pack.size()) {
|
||||
emit removing(_sets[tab].id);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1363,7 +1375,7 @@ void StickerPanInner::clearSelection(bool fast) {
|
|||
if (fast) {
|
||||
for (Animations::const_iterator i = _animations.cbegin(); i != _animations.cend(); ++i) {
|
||||
int index = qAbs(i.key()) - 1, tab = (index / MatrixRowShift), sel = index % MatrixRowShift;
|
||||
(index == SwitcherSelected ? _switcherHover : _hovers[tab][sel]) = 0;
|
||||
(index == SwitcherSelected ? _switcherHover : _sets[tab].hovers[sel]) = 0;
|
||||
}
|
||||
_animations.clear();
|
||||
_selected = _pressedSel = -1;
|
||||
|
@ -1377,14 +1389,9 @@ void StickerPanInner::refreshStickers() {
|
|||
clearSelection(true);
|
||||
|
||||
const StickerSets &sets(cStickerSets());
|
||||
_setIds.clear(); _setIds.reserve(sets.size() + 1);
|
||||
_sets.clear(); _sets.reserve(sets.size() + 1);
|
||||
_hovers.clear(); _hovers.reserve(sets.size() + 1);
|
||||
_titles.clear(); _titles.reserve(sets.size() + 1);
|
||||
|
||||
refreshRecent(false);
|
||||
|
||||
appendSet(DefaultStickerSetId);
|
||||
for (StickerSetsOrder::const_iterator i = cStickerSetsOrder().cbegin(), e = cStickerSetsOrder().cend(); i != e; ++i) {
|
||||
appendSet(*i);
|
||||
}
|
||||
|
@ -1400,11 +1407,11 @@ void StickerPanInner::refreshStickers() {
|
|||
void StickerPanInner::preloadImages() {
|
||||
uint64 ms = getms();
|
||||
for (int32 i = 0, l = _sets.size(), k = 0; i < l; ++i) {
|
||||
for (int32 j = 0, n = _sets.at(i).size(); j < n; ++j) {
|
||||
for (int32 j = 0, n = _sets.at(i).pack.size(); j < n; ++j) {
|
||||
if (++k > StickerPanPerRow * (StickerPanPerRow + 1)) break;
|
||||
|
||||
DocumentData *sticker = _sets.at(i).at(j);
|
||||
if (!sticker || !sticker->sticker) continue;
|
||||
DocumentData *sticker = _sets.at(i).pack.at(j);
|
||||
if (!sticker || !sticker->sticker()) continue;
|
||||
|
||||
bool goodThumb = !sticker->thumb->isNull() && ((sticker->thumb->width() >= 128) || (sticker->thumb->height() >= 128));
|
||||
if (goodThumb) {
|
||||
|
@ -1430,14 +1437,14 @@ void StickerPanInner::preloadImages() {
|
|||
uint64 StickerPanInner::currentSet(int yOffset) const {
|
||||
int y, ytill = 0;
|
||||
for (int i = 0, l = _sets.size(); i < l; ++i) {
|
||||
int cnt = _sets.at(i).size();
|
||||
int cnt = _sets.at(i).pack.size();
|
||||
y = ytill;
|
||||
ytill = y + st::emojiPanHeader + ((cnt / StickerPanPerRow) + ((cnt % StickerPanPerRow) ? 1 : 0)) * st::stickerPanSize.height();
|
||||
if (yOffset < ytill) {
|
||||
return _setIds.at(i);
|
||||
return _sets.at(i).id;
|
||||
}
|
||||
}
|
||||
return _setIds.isEmpty() ? RecentStickerSetId : _setIds.back();
|
||||
return _sets.isEmpty() ? RecentStickerSetId : _sets.back().id;
|
||||
}
|
||||
|
||||
void StickerPanInner::appendSet(uint64 setId) {
|
||||
|
@ -1450,11 +1457,9 @@ void StickerPanInner::appendSet(uint64 setId) {
|
|||
for (int32 i = 0, l = it->stickers.size(); i < l; ++i) {
|
||||
pack.push_back(it->stickers.at(i));
|
||||
}
|
||||
_setIds.push_back(it->id);
|
||||
_sets.push_back(pack);
|
||||
_hovers.push_back(QVector<float64>(it->stickers.size() + 1, 0));
|
||||
int32 availw = width() - st::emojiPanHeaderLeft - st::emojiSwitchSkip - _emojiWidth - (st::emojiSwitchSkip - st::emojiSwitchImgSkip);
|
||||
_titles.push_back(st::emojiPanHeaderFont->m.elidedText(it->title, Qt::ElideRight, availw));
|
||||
QString title = st::emojiPanHeaderFont->m.elidedText(it->title, Qt::ElideRight, availw);
|
||||
_sets.push_back(DisplayedSet(it->id, it->flags, title, pack.size() + 1, pack));
|
||||
}
|
||||
|
||||
void StickerPanInner::refreshRecent(bool performResize) {
|
||||
|
@ -1462,11 +1467,8 @@ void StickerPanInner::refreshRecent(bool performResize) {
|
|||
clearSelection(true);
|
||||
StickerSets::const_iterator customIt = cStickerSets().constFind(CustomStickerSetId);
|
||||
if (cGetRecentStickers().isEmpty() && (customIt == cStickerSets().cend() || customIt->stickers.isEmpty())) {
|
||||
if (!_setIds.isEmpty() && _setIds.at(0) == RecentStickerSetId) {
|
||||
_setIds.pop_front();
|
||||
if (!_sets.isEmpty() && _sets.at(0).id == RecentStickerSetId) {
|
||||
_sets.pop_front();
|
||||
_hovers.pop_front();
|
||||
_titles.pop_front();
|
||||
}
|
||||
} else {
|
||||
StickerPack recent;
|
||||
|
@ -1489,14 +1491,11 @@ void StickerPanInner::refreshRecent(bool performResize) {
|
|||
_custom.push_back(true);
|
||||
}
|
||||
}
|
||||
if (_setIds.isEmpty() || _setIds.at(0) != RecentStickerSetId) {
|
||||
_setIds.push_front(RecentStickerSetId);
|
||||
_hovers.push_back(QVector<float64>(recent.size() * 2, 0));
|
||||
_sets.push_back(recent);
|
||||
_titles.push_back(lang(lng_emoji_category0));
|
||||
if (_sets.isEmpty() || _sets.at(0).id != RecentStickerSetId) {
|
||||
_sets.push_back(DisplayedSet(RecentStickerSetId, MTPDstickerSet_flag_official, lang(lng_emoji_category0), recent.size() * 2, recent));
|
||||
} else {
|
||||
_sets[0] = recent;
|
||||
_hovers[0].resize(recent.size() * 2);
|
||||
_sets[0].pack = recent;
|
||||
_sets[0].hovers.resize(recent.size() * 2);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1510,14 +1509,14 @@ void StickerPanInner::refreshRecent(bool performResize) {
|
|||
|
||||
void StickerPanInner::fillIcons(QVector<StickerIcon> &icons) {
|
||||
icons.clear();
|
||||
if (_setIds.isEmpty()) return;
|
||||
if (_sets.isEmpty()) return;
|
||||
|
||||
icons.reserve(_sets.size());
|
||||
int32 i = 0;
|
||||
if (_setIds.at(0) == RecentStickerSetId) ++i;
|
||||
if (_sets.at(0).id == RecentStickerSetId) ++i;
|
||||
if (i > 0) icons.push_back(StickerIcon());
|
||||
for (int32 l = _sets.size(); i < l; ++i) {
|
||||
DocumentData *s = _sets.at(i).at(0);
|
||||
DocumentData *s = _sets.at(i).pack.at(0);
|
||||
int32 availw = st::rbEmoji.width - 2 * st::stickerIconPadding, availh = st::rbEmoji.height - 2 * st::stickerIconPadding;
|
||||
int32 thumbw = s->thumb->width(), thumbh = s->thumb->height(), pixw = 1, pixh = 1;
|
||||
if (availw * thumbh > availh * thumbw) {
|
||||
|
@ -1529,7 +1528,7 @@ void StickerPanInner::fillIcons(QVector<StickerIcon> &icons) {
|
|||
}
|
||||
if (pixw < 1) pixw = 1;
|
||||
if (pixh < 1) pixh = 1;
|
||||
icons.push_back(StickerIcon(_setIds.at(i), s, pixw, pixh));
|
||||
icons.push_back(StickerIcon(_sets.at(i).id, s, pixw, pixh));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1547,25 +1546,27 @@ void StickerPanInner::updateSelected() {
|
|||
}
|
||||
} else {
|
||||
int y, ytill = 0, sx = (rtl() ? width() - p.x() : p.x()) - st::stickerPanPadding;
|
||||
for (int c = 0, l = _setIds.size(); c < l; ++c) {
|
||||
int cnt = _sets[c].size();
|
||||
bool special = _setIds[c] == DefaultStickerSetId || _setIds[c] == RecentStickerSetId;
|
||||
for (int c = 0, l = _sets.size(); c < l; ++c) {
|
||||
const DisplayedSet &set(_sets.at(c));
|
||||
int cnt = set.pack.size();
|
||||
bool special = (set.flags & MTPDstickerSet_flag_official);
|
||||
|
||||
y = ytill;
|
||||
ytill = y + st::emojiPanHeader + ((cnt / StickerPanPerRow) + ((cnt % StickerPanPerRow) ? 1 : 0)) * st::stickerPanSize.height();
|
||||
if (p.y() >= y && p.y() < ytill) {
|
||||
if (!special && p.y() >= y && p.y() < y + st::emojiPanHeader && sx + st::stickerPanPadding >= width() - st::emojiPanHeaderLeft - st::notifyClose.icon.pxWidth() && sx + st::stickerPanPadding < width() - st::emojiPanHeaderLeft) {
|
||||
selIndex = c * MatrixRowShift + _sets[c].size();
|
||||
selIndex = c * MatrixRowShift + set.pack.size();
|
||||
} else {
|
||||
y += st::emojiPanHeader;
|
||||
if (p.y() >= y && sx >= 0 && sx < StickerPanPerRow * st::stickerPanSize.width()) {
|
||||
selIndex = qFloor((p.y() - y) / st::stickerPanSize.height()) * StickerPanPerRow + qFloor(sx / st::stickerPanSize.width());
|
||||
if (selIndex >= _sets[c].size()) {
|
||||
if (selIndex >= set.pack.size()) {
|
||||
selIndex = -1;
|
||||
} else {
|
||||
if (_setIds[c] == RecentStickerSetId && _custom[selIndex]) {
|
||||
if (set.id == RecentStickerSetId && _custom[selIndex]) {
|
||||
int32 inx = sx - (selIndex % StickerPanPerRow) * st::stickerPanSize.width(), iny = p.y() - y - ((selIndex / StickerPanPerRow) * st::stickerPanSize.height());
|
||||
if (inx >= st::stickerPanSize.width() - st::stickerPanDelete.pxWidth() && iny < st::stickerPanDelete.pxHeight()) {
|
||||
selIndex += _sets[c].size();
|
||||
selIndex += set.pack.size();
|
||||
}
|
||||
}
|
||||
selIndex += c * MatrixRowShift;
|
||||
|
@ -1579,13 +1580,13 @@ void StickerPanInner::updateSelected() {
|
|||
|
||||
bool startanim = false;
|
||||
int oldSel = _selected, oldSelTab = oldSel / MatrixRowShift, xOldSel = -1, newSel = selIndex, newSelTab = newSel / MatrixRowShift, xNewSel = -1;
|
||||
if (oldSel >= 0 && oldSelTab < _setIds.size() && _setIds[oldSelTab] == RecentStickerSetId && oldSel >= oldSelTab * MatrixRowShift + _sets[oldSelTab].size()) {
|
||||
if (oldSel >= 0 && oldSelTab < _sets.size() && _sets[oldSelTab].id == RecentStickerSetId && oldSel >= oldSelTab * MatrixRowShift + _sets[oldSelTab].pack.size()) {
|
||||
xOldSel = oldSel;
|
||||
oldSel -= _sets[oldSelTab].size();
|
||||
oldSel -= _sets[oldSelTab].pack.size();
|
||||
}
|
||||
if (newSel >= 0 && newSelTab < _setIds.size() && _setIds[newSelTab] == RecentStickerSetId && newSel >= newSelTab * MatrixRowShift + _sets[newSelTab].size()) {
|
||||
if (newSel >= 0 && newSelTab < _sets.size() && _sets[newSelTab].id == RecentStickerSetId && newSel >= newSelTab * MatrixRowShift + _sets[newSelTab].pack.size()) {
|
||||
xNewSel = newSel;
|
||||
newSel -= _sets[newSelTab].size();
|
||||
newSel -= _sets[newSelTab].pack.size();
|
||||
}
|
||||
if (newSel != oldSel) {
|
||||
if (oldSel >= 0) {
|
||||
|
@ -1630,10 +1631,10 @@ bool StickerPanInner::animStep(float64 ms) {
|
|||
int index = qAbs(i.key()) - 1, tab = (index / MatrixRowShift), sel = index % MatrixRowShift;
|
||||
float64 dt = float64(now - i.value()) / st::emojiPanDuration;
|
||||
if (dt >= 1) {
|
||||
(index == SwitcherSelected ? _switcherHover : _hovers[tab][sel]) = (i.key() > 0) ? 1 : 0;
|
||||
(index == SwitcherSelected ? _switcherHover : _sets[tab].hovers[sel]) = (i.key() > 0) ? 1 : 0;
|
||||
i = _animations.erase(i);
|
||||
} else {
|
||||
(index == SwitcherSelected ? _switcherHover : _hovers[tab][sel]) = (i.key() > 0) ? dt : (1 - dt);
|
||||
(index == SwitcherSelected ? _switcherHover : _sets[tab].hovers[sel]) = (i.key() > 0) ? dt : (1 - dt);
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
@ -1645,9 +1646,9 @@ void StickerPanInner::showStickerSet(uint64 setId) {
|
|||
clearSelection(true);
|
||||
|
||||
int32 y = 0;
|
||||
for (int c = 0; c < _setIds.size(); ++c) {
|
||||
if (_setIds.at(c) == setId) break;
|
||||
int rows = (_sets[c].size() / StickerPanPerRow) + ((_sets[c].size() % StickerPanPerRow) ? 1 : 0);
|
||||
for (int c = 0; c < _sets.size(); ++c) {
|
||||
if (_sets.at(c).id == setId) break;
|
||||
int rows = (_sets[c].pack.size() / StickerPanPerRow) + ((_sets[c].pack.size() % StickerPanPerRow) ? 1 : 0);
|
||||
y += st::emojiPanHeader + rows * st::stickerPanSize.height();
|
||||
}
|
||||
|
||||
|
@ -1658,7 +1659,7 @@ void StickerPanInner::showStickerSet(uint64 setId) {
|
|||
update();
|
||||
}
|
||||
|
||||
EmojiPan::EmojiPan(QWidget *parent) : TWidget(parent),
|
||||
EmojiPan::EmojiPan(QWidget *parent) : TWidget(parent), _maxHeight(st::emojiPanMaxHeight),
|
||||
_horizontal(false), _noTabUpdate(false), _hiding(false), a_opacity(0), _shadow(st::dropdownDef.shadow),
|
||||
_recent(this , qsl("emoji_group"), dbietRecent , QString(), true , st::rbEmojiRecent),
|
||||
_people(this , qsl("emoji_group"), dbietPeople , QString(), false, st::rbEmojiPeople),
|
||||
|
@ -1679,12 +1680,12 @@ e_scroll(this, st::emojiScroll), e_inner(), s_scroll(this, st::emojiScroll), s_i
|
|||
s_scroll.setFocusPolicy(Qt::NoFocus);
|
||||
s_scroll.viewport()->setFocusPolicy(Qt::NoFocus);
|
||||
|
||||
_width = st::dropdownDef.padding.left() + st::emojiPanFullSize.width() + st::dropdownDef.padding.right();
|
||||
_height = st::dropdownDef.padding.top() + st::emojiPanFullSize.height() + st::dropdownDef.padding.bottom();
|
||||
_width = st::dropdownDef.padding.left() + st::emojiPanWidth + st::dropdownDef.padding.right();
|
||||
_height = st::dropdownDef.padding.top() + _maxHeight + st::dropdownDef.padding.bottom();
|
||||
resize(_width, _height);
|
||||
|
||||
e_scroll.resize(st::emojiPanFullSize.width(), st::emojiPanFullSize.height() - st::rbEmoji.height);
|
||||
s_scroll.resize(st::emojiPanFullSize.width(), st::emojiPanFullSize.height() - st::rbEmoji.height);
|
||||
e_scroll.resize(st::emojiPanWidth, _maxHeight - st::rbEmoji.height);
|
||||
s_scroll.resize(st::emojiPanWidth, _maxHeight - st::rbEmoji.height);
|
||||
|
||||
e_scroll.move(st::dropdownDef.padding.left(), st::dropdownDef.padding.top());
|
||||
e_scroll.setWidget(&e_inner);
|
||||
|
@ -1696,8 +1697,8 @@ e_scroll(this, st::emojiScroll), e_inner(), s_scroll(this, st::emojiScroll), s_i
|
|||
s_inner.setAttribute(Qt::WA_OpaquePaintEvent);
|
||||
s_scroll.setAutoFillBackground(true);
|
||||
|
||||
int32 left = _iconsLeft = st::dropdownDef.padding.left() + (st::emojiPanFullSize.width() - 8 * st::rbEmoji.width) / 2;
|
||||
int32 top = _iconsTop = st::dropdownDef.padding.top() + st::emojiPanFullSize.height() - st::rbEmoji.height;
|
||||
int32 left = _iconsLeft = st::dropdownDef.padding.left() + (st::emojiPanWidth - 8 * st::rbEmoji.width) / 2;
|
||||
int32 top = _iconsTop = st::dropdownDef.padding.top() + _maxHeight - st::rbEmoji.height;
|
||||
prepareTab(left, top, _width, _recent);
|
||||
prepareTab(left, top, _width, _people);
|
||||
prepareTab(left, top, _width, _nature);
|
||||
|
@ -1735,6 +1736,41 @@ e_scroll(this, st::emojiScroll), e_inner(), s_scroll(this, st::emojiScroll), s_i
|
|||
// setAttribute(Qt::WA_AcceptTouchEvents);
|
||||
}
|
||||
|
||||
void EmojiPan::setMaxHeight(int32 h) {
|
||||
h = qMin(int(st::emojiPanMaxHeight), h);
|
||||
if (h == _maxHeight) return;
|
||||
|
||||
int32 was = _maxHeight;
|
||||
_maxHeight = h;
|
||||
|
||||
_height = st::dropdownDef.padding.top() + _maxHeight + st::dropdownDef.padding.bottom();
|
||||
resize(_width, _height);
|
||||
|
||||
if (was > _maxHeight) {
|
||||
e_scroll.resize(st::emojiPanWidth, _maxHeight - st::rbEmoji.height);
|
||||
s_scroll.resize(st::emojiPanWidth, _maxHeight - st::rbEmoji.height);
|
||||
s_inner.setMaxHeight(_maxHeight);
|
||||
e_inner.setMaxHeight(_maxHeight);
|
||||
} else {
|
||||
s_inner.setMaxHeight(_maxHeight);
|
||||
e_inner.setMaxHeight(_maxHeight);
|
||||
e_scroll.resize(st::emojiPanWidth, _maxHeight - st::rbEmoji.height);
|
||||
s_scroll.resize(st::emojiPanWidth, _maxHeight - st::rbEmoji.height);
|
||||
}
|
||||
|
||||
_iconsTop = st::dropdownDef.padding.top() + _maxHeight - st::rbEmoji.height;
|
||||
_recent.move(_recent.x(), _iconsTop);
|
||||
_people.move(_people.x(), _iconsTop);
|
||||
_nature.move(_nature.x(), _iconsTop);
|
||||
_food.move(_food.x(), _iconsTop);
|
||||
_celebration.move(_celebration.x(), _iconsTop);
|
||||
_activity.move(_activity.x(), _iconsTop);
|
||||
_travel.move(_travel.x(), _iconsTop);
|
||||
_objects.move(_objects.x(), _iconsTop);
|
||||
|
||||
update();
|
||||
}
|
||||
|
||||
void EmojiPan::prepareTab(int32 &left, int32 top, int32 _width, FlatRadiobutton &tab) {
|
||||
tab.moveToLeft(left, top, _width);
|
||||
left += tab.width();
|
||||
|
@ -1794,11 +1830,11 @@ void EmojiPan::paintEvent(QPaintEvent *e) {
|
|||
const StickerIcon &s(_icons.at(i));
|
||||
s.sticker->thumb->load();
|
||||
QPixmap pix(s.sticker->thumb->pix(s.pixw, s.pixh));
|
||||
if (_iconSel == i) {
|
||||
p.setOpacity(1);
|
||||
} else {
|
||||
p.setOpacity(1. * _iconHovers.at(i) + st::stickerIconOpacity * (1 - _iconHovers.at(i)));
|
||||
}
|
||||
//if (_iconSel == i) {
|
||||
// p.setOpacity(1);
|
||||
//} else {
|
||||
// p.setOpacity(1. * _iconHovers.at(i) + st::stickerIconOpacity * (1 - _iconHovers.at(i)));
|
||||
//}
|
||||
p.drawPixmapLeft(x + (st::rbEmoji.width - s.pixw) / 2, _iconsTop + (st::rbEmoji.height - s.pixh) / 2, width(), pix);
|
||||
x += st::rbEmoji.width;
|
||||
p.setOpacity(1);
|
||||
|
@ -1939,6 +1975,7 @@ void EmojiPan::mouseReleaseEvent(QMouseEvent *e) {
|
|||
updateSelected();
|
||||
|
||||
if (wasDown == _iconOver && _iconOver >= 0) {
|
||||
_iconSelX = anim::ivalue(_iconOver * st::rbEmoji.width, _iconOver * st::rbEmoji.width);
|
||||
s_inner.showStickerSet(_icons.at(_iconOver).setId);
|
||||
}
|
||||
}
|
||||
|
@ -2361,9 +2398,9 @@ void EmojiPan::onSwitch() {
|
|||
hideAll();
|
||||
_moveStart = getms();
|
||||
|
||||
a_toCoord = (_stickersShown != rtl()) ? anim::ivalue(st::emojiPanFullSize.width(), 0) : anim::ivalue(-st::emojiPanFullSize.width(), 0);
|
||||
a_toCoord = (_stickersShown != rtl()) ? anim::ivalue(st::emojiPanWidth, 0) : anim::ivalue(-st::emojiPanWidth, 0);
|
||||
a_toAlpha = anim::fvalue(0, 1);
|
||||
a_fromCoord = (_stickersShown != rtl()) ? anim::ivalue(0, -st::emojiPanFullSize.width()) : anim::ivalue(0, st::emojiPanFullSize.width());
|
||||
a_fromCoord = (_stickersShown != rtl()) ? anim::ivalue(0, -st::emojiPanWidth) : anim::ivalue(0, st::emojiPanWidth);
|
||||
a_fromAlpha = anim::fvalue(1, 0);
|
||||
|
||||
if (!animating()) anim::start(this);
|
||||
|
@ -2372,7 +2409,7 @@ void EmojiPan::onSwitch() {
|
|||
|
||||
void EmojiPan::onRemoveSet(uint64 setId) {
|
||||
StickerSets::const_iterator it = cStickerSets().constFind(setId);
|
||||
if (it != cStickerSets().cend() && setId != DefaultStickerSetId && setId != RecentStickerSetId) {
|
||||
if (it != cStickerSets().cend() && !(it->flags & MTPDstickerSet_flag_official)) {
|
||||
_removingSetId = it->id;
|
||||
ConfirmBox *box = new ConfirmBox(lng_stickers_remove_pack(lt_sticker_pack, it->title));
|
||||
connect(box, SIGNAL(confirmed()), this, SLOT(onRemoveSetSure()));
|
||||
|
@ -2384,7 +2421,7 @@ void EmojiPan::onRemoveSet(uint64 setId) {
|
|||
void EmojiPan::onRemoveSetSure() {
|
||||
App::wnd()->hideLayer();
|
||||
StickerSets::iterator it = cRefStickerSets().find(_removingSetId);
|
||||
if (it != cRefStickerSets().cend() && _removingSetId != DefaultStickerSetId && _removingSetId != RecentStickerSetId) {
|
||||
if (it != cRefStickerSets().cend() && !(it->flags & MTPDstickerSet_flag_official)) {
|
||||
if (it->id && it->access) {
|
||||
MTP::send(MTPmessages_UninstallStickerSet(MTP_inputStickerSetID(MTP_long(it->id), MTP_long(it->access))));
|
||||
} else if (!it->shortName.isEmpty()) {
|
||||
|
@ -2424,7 +2461,8 @@ void MentionsInner::paintEvent(QPaintEvent *e) {
|
|||
QPainter p(this);
|
||||
|
||||
int32 atwidth = st::mentionFont->m.width('@'), hashwidth = st::mentionFont->m.width('#');
|
||||
int32 availwidth = width() - 2 * st::mentionPadding.left() - st::mentionPhotoSize - 2 * st::mentionPadding.right();
|
||||
int32 mentionleft = 2 * st::mentionPadding.left() + st::mentionPhotoSize;
|
||||
int32 mentionwidth = width() - mentionleft - 2 * st::mentionPadding.right();
|
||||
int32 htagleft = st::btnAttachPhoto.width + st::taMsgField.textMrg.left() - st::dlgShadow, htagwidth = width() - st::mentionPadding.right() - htagleft - st::mentionScroll.width;
|
||||
|
||||
int32 from = qFloor(e->rect().top() / st::mentionHeight), to = qFloor(e->rect().bottom() / st::mentionHeight) + 1;
|
||||
|
@ -2444,9 +2482,9 @@ void MentionsInner::paintEvent(QPaintEvent *e) {
|
|||
UserData *user = _rows->at(i);
|
||||
QString first = (_parent->filter().size() < 2) ? QString() : ('@' + user->username.mid(0, _parent->filter().size() - 1)), second = (_parent->filter().size() < 2) ? ('@' + user->username) : user->username.mid(_parent->filter().size() - 1);
|
||||
int32 firstwidth = st::mentionFont->m.width(first), secondwidth = st::mentionFont->m.width(second), unamewidth = firstwidth + secondwidth, namewidth = user->nameText.maxWidth();
|
||||
if (availwidth < unamewidth + namewidth) {
|
||||
namewidth = (availwidth * namewidth) / (namewidth + unamewidth);
|
||||
unamewidth = availwidth - namewidth;
|
||||
if (mentionwidth < unamewidth + namewidth) {
|
||||
namewidth = (mentionwidth * namewidth) / (namewidth + unamewidth);
|
||||
unamewidth = mentionwidth - namewidth;
|
||||
if (firstwidth < unamewidth + st::mentionFont->elidew) {
|
||||
if (firstwidth < unamewidth) {
|
||||
first = st::mentionFont->m.elidedText(first, Qt::ElideRight, unamewidth);
|
||||
|
@ -2464,10 +2502,10 @@ void MentionsInner::paintEvent(QPaintEvent *e) {
|
|||
|
||||
p.setFont(st::mentionFont->f);
|
||||
p.setPen((selected ? st::mentionFgOverActive : st::mentionFgActive)->p);
|
||||
p.drawText(2 * st::mentionPadding.left() + st::mentionPhotoSize + namewidth + st::mentionPadding.right(), i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, first);
|
||||
p.drawText(mentionleft + namewidth + st::mentionPadding.right(), i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, first);
|
||||
if (!second.isEmpty()) {
|
||||
p.setPen((selected ? st::mentionFgOver : st::mentionFg)->p);
|
||||
p.drawText(2 * st::mentionPadding.left() + st::mentionPhotoSize + namewidth + st::mentionPadding.right() + firstwidth, i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, second);
|
||||
p.drawText(mentionleft + namewidth + st::mentionPadding.right() + firstwidth, i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, second);
|
||||
}
|
||||
} else if (!_hrows->isEmpty()) {
|
||||
QString hrow = _hrows->at(i);
|
||||
|
@ -2494,63 +2532,42 @@ void MentionsInner::paintEvent(QPaintEvent *e) {
|
|||
} else {
|
||||
UserData *user = _crows->at(i).first;
|
||||
|
||||
const BotCommand &command = _crows->at(i).second;
|
||||
QString toHighlight = command.command;
|
||||
const BotCommand *command = _crows->at(i).second;
|
||||
QString toHighlight = command->command;
|
||||
int32 botStatus = _parent->chat() ? _parent->chat()->botStatus : -1;
|
||||
if (hasUsername || botStatus == 0 || botStatus == 2) {
|
||||
toHighlight += '@' + user->username;
|
||||
}
|
||||
if (_parent->chat() || botStatus == 0 || botStatus == 2) {
|
||||
if (true || _parent->chat() || botStatus == 0 || botStatus == 2) {
|
||||
user->photo->load();
|
||||
p.drawPixmap(st::mentionPadding.left(), i * st::mentionHeight + st::mentionPadding.top(), user->photo->pixRounded(st::mentionPhotoSize));
|
||||
}
|
||||
|
||||
int32 addleft = 0, widthleft = htagwidth;
|
||||
int32 addleft = 0, widthleft = mentionwidth;
|
||||
QString first = (_parent->filter().size() < 2) ? QString() : ('/' + toHighlight.mid(0, _parent->filter().size() - 1)), second = (_parent->filter().size() < 2) ? ('/' + toHighlight) : toHighlight.mid(_parent->filter().size() - 1);
|
||||
int32 firstwidth = st::botCommandFont->m.width(first), secondwidth = st::botCommandFont->m.width(second);
|
||||
if (htagwidth < firstwidth + secondwidth) {
|
||||
if (htagwidth < firstwidth + st::botCommandFont->elidew) {
|
||||
first = st::botCommandFont->m.elidedText(first + second, Qt::ElideRight, htagwidth);
|
||||
int32 firstwidth = st::mentionFont->m.width(first), secondwidth = st::mentionFont->m.width(second);
|
||||
if (widthleft < firstwidth + secondwidth) {
|
||||
if (widthleft < firstwidth + st::mentionFont->elidew) {
|
||||
first = st::mentionFont->m.elidedText(first + second, Qt::ElideRight, widthleft);
|
||||
second = QString();
|
||||
} else {
|
||||
second = st::botCommandFont->m.elidedText(second, Qt::ElideRight, htagwidth - firstwidth);
|
||||
second = st::mentionFont->m.elidedText(second, Qt::ElideRight, widthleft - firstwidth);
|
||||
}
|
||||
}
|
||||
p.setFont(st::botCommandFont->f);
|
||||
p.setFont(st::mentionFont->f);
|
||||
if (!first.isEmpty()) {
|
||||
p.setPen((selected ? st::mentionFgOverActive : st::mentionFgActive)->p);
|
||||
p.drawText(htagleft, i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, first);
|
||||
p.drawText(mentionleft, i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, first);
|
||||
}
|
||||
if (!second.isEmpty()) {
|
||||
p.setPen((selected ? st::mentionFgOver : st::mentionFg)->p);
|
||||
p.drawText(htagleft + firstwidth, i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, second);
|
||||
p.drawText(mentionleft + firstwidth, i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, second);
|
||||
}
|
||||
addleft += firstwidth + secondwidth + st::mentionPadding.left();
|
||||
widthleft -= firstwidth + secondwidth + st::mentionPadding.left();
|
||||
|
||||
QString params = command.params;
|
||||
if (widthleft > st::mentionFont->elidew && !params.isEmpty()) {
|
||||
p.setFont(st::mentionFont->f);
|
||||
int32 paramswidth = st::mentionFont->m.width(params);
|
||||
if (widthleft < paramswidth) {
|
||||
params = st::mentionFont->m.elidedText(params, Qt::ElideRight, widthleft);
|
||||
}
|
||||
if (widthleft > st::mentionFont->elidew && !command->descriptionText().isEmpty()) {
|
||||
p.setPen((selected ? st::mentionFgOver : st::mentionFg)->p);
|
||||
p.drawText(htagleft + addleft, i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, params);
|
||||
|
||||
addleft += paramswidth + st::mentionPadding.left();
|
||||
widthleft -= paramswidth + st::mentionPadding.left();
|
||||
}
|
||||
QString description = command.description;
|
||||
if (widthleft > st::botDescFont->elidew && !description.isEmpty()) {
|
||||
p.setFont(st::botDescFont->f);
|
||||
int32 descwidth = st::botDescFont->m.width(description);
|
||||
if (widthleft < descwidth) {
|
||||
description = st::botDescFont->m.elidedText(description, Qt::ElideRight, widthleft);
|
||||
descwidth = st::botDescFont->m.width(description);
|
||||
}
|
||||
p.setPen((selected ? st::mentionFgOver : st::mentionFg)->p);
|
||||
p.drawText(htagleft + addleft + (widthleft - descwidth), i * st::mentionHeight + st::mentionTop + st::mentionFont->ascent, description);
|
||||
command->descriptionText().drawElided(p, mentionleft + addleft, i * st::mentionHeight + st::mentionTop, widthleft, 1, style::al_right);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2586,6 +2603,15 @@ bool MentionsInner::moveSel(int direction) {
|
|||
}
|
||||
|
||||
bool MentionsInner::select() {
|
||||
QString sel = getSelected();
|
||||
if (!sel.isEmpty()) {
|
||||
emit chosen(sel);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
QString MentionsInner::getSelected() const {
|
||||
int32 maxSel = (_rows->isEmpty() ? (_hrows->isEmpty() ? _crows->size() : _hrows->size()) : _rows->size());
|
||||
if (_sel >= 0 && _sel < maxSel) {
|
||||
QString result;
|
||||
|
@ -2595,18 +2621,17 @@ bool MentionsInner::select() {
|
|||
result = '#' + _hrows->at(_sel);
|
||||
} else {
|
||||
UserData *user = _crows->at(_sel).first;
|
||||
const BotCommand &command(_crows->at(_sel).second);
|
||||
const BotCommand *command(_crows->at(_sel).second);
|
||||
int32 botStatus = _parent->chat() ? _parent->chat()->botStatus : -1;
|
||||
if (botStatus == 0 || botStatus == 2 || _parent->filter().indexOf('@') > 1) {
|
||||
result = '/' + command.command + '@' + user->username;
|
||||
result = '/' + command->command + '@' + user->username;
|
||||
} else {
|
||||
result = '/' + command.command;
|
||||
result = '/' + command->command;
|
||||
}
|
||||
}
|
||||
emit chosen(result);
|
||||
return true;
|
||||
return result;
|
||||
}
|
||||
return false;
|
||||
return QString();
|
||||
}
|
||||
|
||||
void MentionsInner::mousePressEvent(QMouseEvent *e) {
|
||||
|
@ -2732,6 +2757,12 @@ void MentionsDropdown::showFiltered(PeerData *peer, QString start) {
|
|||
updateFiltered(toDown);
|
||||
}
|
||||
|
||||
bool MentionsDropdown::clearFilteredCommands() {
|
||||
if (_crows.isEmpty()) return false;
|
||||
_crows.clear();
|
||||
return true;
|
||||
}
|
||||
|
||||
void MentionsDropdown::updateFiltered(bool toDown) {
|
||||
int32 now = unixtime();
|
||||
MentionRows rows;
|
||||
|
@ -2795,6 +2826,7 @@ void MentionsDropdown::updateFiltered(bool toDown) {
|
|||
}
|
||||
}
|
||||
} else if (_user->botInfo) {
|
||||
if (!_user->botInfo->inited) App::api()->requestFullPeer(_user);
|
||||
cnt = _user->botInfo->commands.size();
|
||||
bots.insert(_user, true);
|
||||
}
|
||||
|
@ -2805,17 +2837,16 @@ void MentionsDropdown::updateFiltered(bool toDown) {
|
|||
for (MentionRows::const_iterator i = _chat->lastAuthors.cbegin(), e = _chat->lastAuthors.cend(); i != e; ++i) {
|
||||
UserData *user = *i;
|
||||
if (!user->botInfo) continue;
|
||||
if (!bots.contains(user)) continue;
|
||||
if (!user->botInfo->inited) App::api()->requestFullPeer(user);
|
||||
if (user->botInfo->commands.isEmpty()) continue;
|
||||
bots.remove(user);
|
||||
for (int32 j = 0, l = user->botInfo->commands.size(); j < l; ++j) {
|
||||
if (_filter.size() > 1) {
|
||||
QString toFilter = (hasUsername || botStatus == 0 || botStatus == 2) ? user->botInfo->commands.at(j).command + '@' + user->username : user->botInfo->commands.at(j).command;
|
||||
if (!toFilter.startsWith(_filter.midRef(1), Qt::CaseInsensitive) || toFilter.size() + 1 == _filter.size()) continue;
|
||||
if (!toFilter.startsWith(_filter.midRef(1), Qt::CaseInsensitive)/* || toFilter.size() + 1 == _filter.size()*/) continue;
|
||||
}
|
||||
crows.push_back(qMakePair(user, user->botInfo->commands.at(j)));
|
||||
}
|
||||
if (!bots.isEmpty()) {
|
||||
bots.remove(user);
|
||||
crows.push_back(qMakePair(user, &user->botInfo->commands.at(j)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2825,9 +2856,9 @@ void MentionsDropdown::updateFiltered(bool toDown) {
|
|||
for (int32 j = 0, l = user->botInfo->commands.size(); j < l; ++j) {
|
||||
if (_filter.size() > 1) {
|
||||
QString toFilter = (hasUsername || botStatus == 0 || botStatus == 2) ? user->botInfo->commands.at(j).command + '@' + user->username : user->botInfo->commands.at(j).command;
|
||||
if (!toFilter.startsWith(_filter.midRef(1), Qt::CaseInsensitive) || toFilter.size() + 1 == _filter.size()) continue;
|
||||
if (!toFilter.startsWith(_filter.midRef(1), Qt::CaseInsensitive)/* || toFilter.size() + 1 == _filter.size()*/) continue;
|
||||
}
|
||||
crows.push_back(qMakePair(user, user->botInfo->commands.at(j)));
|
||||
crows.push_back(qMakePair(user, &user->botInfo->commands.at(j)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2836,10 +2867,10 @@ void MentionsDropdown::updateFiltered(bool toDown) {
|
|||
if (rows.isEmpty() && hrows.isEmpty() && crows.isEmpty()) {
|
||||
if (!isHidden()) {
|
||||
hideStart();
|
||||
_rows.clear();
|
||||
_hrows.clear();
|
||||
_crows.clear();
|
||||
}
|
||||
_rows.clear();
|
||||
_hrows.clear();
|
||||
_crows.clear();
|
||||
} else {
|
||||
_rows = rows;
|
||||
_hrows = hrows;
|
||||
|
@ -2869,13 +2900,13 @@ void MentionsDropdown::recount(bool toDown) {
|
|||
int32 h = (_rows.isEmpty() ? (_hrows.isEmpty() ? _crows.size() : _hrows.size()) : _rows.size()) * st::mentionHeight, oldst = _scroll.scrollTop(), st = oldst;
|
||||
|
||||
if (_inner.height() != h) {
|
||||
st += h - _inner.height();
|
||||
// st += h - _inner.height();
|
||||
_inner.resize(width(), h);
|
||||
}
|
||||
if (h > _boundings.height()) h = _boundings.height();
|
||||
if (h > 4.5 * st::mentionHeight) h = 4.5 * st::mentionHeight;
|
||||
if (height() != h) {
|
||||
st += _scroll.height() - h;
|
||||
// st += _scroll.height() - h;
|
||||
setGeometry(0, _boundings.height() - h, width(), h);
|
||||
_scroll.resize(width(), h);
|
||||
} else if (y() != _boundings.height() - h) {
|
||||
|
@ -2966,6 +2997,10 @@ int32 MentionsDropdown::innerBottom() {
|
|||
return _scroll.scrollTop() + _scroll.height();
|
||||
}
|
||||
|
||||
QString MentionsDropdown::getSelected() const {
|
||||
return _inner.getSelected();
|
||||
}
|
||||
|
||||
bool MentionsDropdown::eventFilter(QObject *obj, QEvent *e) {
|
||||
if (isHidden()) return QWidget::eventFilter(obj, e);
|
||||
if (e->type() == QEvent::KeyPress) {
|
||||
|
|
|
@ -110,7 +110,7 @@ public:
|
|||
|
||||
signals:
|
||||
|
||||
void dropped(QDropEvent *e);
|
||||
void dropped(const QMimeData *data);
|
||||
|
||||
public slots:
|
||||
|
||||
|
@ -202,6 +202,7 @@ public:
|
|||
|
||||
EmojiPanInner(QWidget *parent = 0);
|
||||
|
||||
void setMaxHeight(int32 h);
|
||||
void paintEvent(QPaintEvent *e);
|
||||
|
||||
void mousePressEvent(QMouseEvent *e);
|
||||
|
@ -244,6 +245,8 @@ signals:
|
|||
|
||||
private:
|
||||
|
||||
int32 _maxHeight;
|
||||
|
||||
int32 countHeight();
|
||||
void selectEmoji(EmojiPtr emoji);
|
||||
|
||||
|
@ -286,6 +289,7 @@ public:
|
|||
|
||||
StickerPanInner(QWidget *parent = 0);
|
||||
|
||||
void setMaxHeight(int32 h);
|
||||
void paintEvent(QPaintEvent *e);
|
||||
|
||||
void mousePressEvent(QMouseEvent *e);
|
||||
|
@ -329,6 +333,8 @@ signals:
|
|||
|
||||
private:
|
||||
|
||||
int32 _maxHeight;
|
||||
|
||||
void appendSet(uint64 setId);
|
||||
|
||||
int32 countHeight();
|
||||
|
@ -339,10 +345,16 @@ private:
|
|||
|
||||
int32 _top;
|
||||
|
||||
QList<QString> _titles;
|
||||
QList<uint64> _setIds;
|
||||
QList<StickerPack> _sets;
|
||||
QList<QVector<float64> > _hovers;
|
||||
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;
|
||||
|
@ -359,6 +371,7 @@ public:
|
|||
|
||||
EmojiPan(QWidget *parent);
|
||||
|
||||
void setMaxHeight(int32 h);
|
||||
void paintEvent(QPaintEvent *e);
|
||||
|
||||
void enterEvent(QEvent *e);
|
||||
|
@ -412,6 +425,7 @@ signals:
|
|||
|
||||
private:
|
||||
|
||||
int32 _maxHeight;
|
||||
bool _horizontal;
|
||||
|
||||
void leaveToChildEvent(QEvent *e);
|
||||
|
@ -467,7 +481,7 @@ private:
|
|||
|
||||
typedef QList<UserData*> MentionRows;
|
||||
typedef QList<QString> HashtagRows;
|
||||
typedef QList<QPair<UserData*, BotCommand> > BotCommandRows;
|
||||
typedef QList<QPair<UserData*, const BotCommand*> > BotCommandRows;
|
||||
|
||||
class MentionsDropdown;
|
||||
class MentionsInner : public QWidget {
|
||||
|
@ -489,6 +503,8 @@ public:
|
|||
bool moveSel(int direction);
|
||||
bool select();
|
||||
|
||||
QString getSelected() const;
|
||||
|
||||
signals:
|
||||
|
||||
void chosen(QString mentionOrHashtag);
|
||||
|
@ -525,6 +541,7 @@ public:
|
|||
|
||||
void fastHide();
|
||||
|
||||
bool clearFilteredCommands();
|
||||
void showFiltered(PeerData *peer, QString start);
|
||||
void updateFiltered(bool toDown = false);
|
||||
void setBoundings(QRect boundings);
|
||||
|
@ -538,6 +555,7 @@ public:
|
|||
int32 innerBottom();
|
||||
|
||||
bool eventFilter(QObject *obj, QEvent *e);
|
||||
QString getSelected() const;
|
||||
|
||||
~MentionsDropdown();
|
||||
|
||||
|
|
|
@ -273,6 +273,7 @@ void FileUploader::partLoaded(const MTPBool &result, mtpRequestId requestId) {
|
|||
audio->uploadOffset = audio->size;
|
||||
}
|
||||
}
|
||||
emit audioProgress(k.key());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -25,9 +25,9 @@ void filedialogInit() {
|
|||
if (cDialogLastPath().isEmpty()) {
|
||||
#ifdef Q_OS_WIN
|
||||
// hack to restore previous dir without hurting performance
|
||||
QSettings settings(QSettings::UserScope, QLatin1String("QtProject"));
|
||||
settings.beginGroup(QLatin1String("Qt"));
|
||||
QByteArray sd = settings.value(QLatin1String("filedialog")).toByteArray();
|
||||
QSettings settings(QSettings::UserScope, qstr("QtProject"));
|
||||
settings.beginGroup(qstr("Qt"));
|
||||
QByteArray sd = settings.value(qstr("filedialog")).toByteArray();
|
||||
QDataStream stream(&sd, QIODevice::ReadOnly);
|
||||
if (!stream.atEnd()) {
|
||||
int version = 3, _QFileDialogMagic = 190;
|
||||
|
|
|
@ -45,7 +45,8 @@ namespace {
|
|||
InputStyle<InputField> _inputFieldStyle;
|
||||
}
|
||||
|
||||
FlatInput::FlatInput(QWidget *parent, const style::flatInput &st, const QString &pholder, const QString &v) : QLineEdit(v, parent), _fullph(pholder), _oldtext(v), _kev(0), _customUpDown(false), _phVisible(!v.length()),
|
||||
FlatInput::FlatInput(QWidget *parent, const style::flatInput &st, const QString &pholder, const QString &v) : QLineEdit(v, parent),
|
||||
_fullph(pholder), _oldtext(v), _fastph(false), _kev(0), _customUpDown(false), _phVisible(!v.length()),
|
||||
a_phLeft(_phVisible ? 0 : st.phShift), a_phAlpha(_phVisible ? 1 : 0), a_phColor(st.phColor->c),
|
||||
a_borderColor(st.borderColor->c), a_bgColor(st.bgColor->c), _notingBene(0), _st(st) {
|
||||
resize(_st.width, _st.height);
|
||||
|
@ -133,7 +134,7 @@ QRect FlatInput::getTextRect() const {
|
|||
}
|
||||
|
||||
void FlatInput::paintEvent(QPaintEvent *e) {
|
||||
QPainter p(this);
|
||||
Painter p(this);
|
||||
p.fillRect(rect(), a_bgColor.current());
|
||||
if (_st.borderWidth) {
|
||||
QBrush b(a_borderColor.current());
|
||||
|
@ -154,9 +155,9 @@ void FlatInput::paintEvent(QPaintEvent *e) {
|
|||
if (phDraw) {
|
||||
p.save();
|
||||
p.setClipRect(rect());
|
||||
QRect phRect(_st.textMrg.left() + _st.phPos.x() + a_phLeft.current(), _st.textMrg.top() + _st.phPos.y(), width() - _st.textMrg.left() - _st.textMrg.right(), height() - _st.textMrg.top() - _st.textMrg.bottom());
|
||||
p.setFont(_st.font->f);
|
||||
p.setPen(a_phColor.current());
|
||||
QRect phRect(placeholderRect());
|
||||
phRect.moveLeft(phRect.left() + a_phLeft.current());
|
||||
phPrepare(p);
|
||||
p.drawText(phRect, _ph, QTextOption(_st.phAlign));
|
||||
p.restore();
|
||||
}
|
||||
|
@ -231,20 +232,53 @@ bool FlatInput::animStep(float64 ms) {
|
|||
return res;
|
||||
}
|
||||
|
||||
void FlatInput::setPlaceholder(const QString &ph) {
|
||||
_fullph = ph;
|
||||
resizeEvent(0);
|
||||
update();
|
||||
}
|
||||
|
||||
void FlatInput::setPlaceholderFast(bool fast) {
|
||||
_fastph = fast;
|
||||
if (_fastph) {
|
||||
a_phLeft = anim::ivalue(_phVisible ? 0 : _st.phShift, _phVisible ? 0 : _st.phShift);
|
||||
a_phAlpha = anim::fvalue(_phVisible ? 1 : 0, _phVisible ? 1 : 0);
|
||||
update();
|
||||
}
|
||||
}
|
||||
|
||||
void FlatInput::updatePlaceholder() {
|
||||
bool vis = !text().length();
|
||||
if (vis == _phVisible) return;
|
||||
|
||||
a_phLeft.start(vis ? 0 : _st.phShift);
|
||||
a_phAlpha.start(vis ? 1 : 0);
|
||||
anim::start(this);
|
||||
|
||||
if (_fastph) {
|
||||
a_phLeft = anim::ivalue(vis ? 0 : _st.phShift, vis ? 0 : _st.phShift);
|
||||
a_phAlpha = anim::fvalue(vis ? 1 : 0, vis ? 1 : 0);
|
||||
update();
|
||||
} else {
|
||||
a_phLeft.start(vis ? 0 : _st.phShift);
|
||||
a_phAlpha.start(vis ? 1 : 0);
|
||||
anim::start(this);
|
||||
}
|
||||
_phVisible = vis;
|
||||
}
|
||||
|
||||
const QString &FlatInput::placeholder() const {
|
||||
return _fullph;
|
||||
}
|
||||
|
||||
QRect FlatInput::placeholderRect() const {
|
||||
return QRect(_st.textMrg.left() + _st.phPos.x(), _st.textMrg.top() + _st.phPos.y(), width() - _st.textMrg.left() - _st.textMrg.right(), height() - _st.textMrg.top() - _st.textMrg.bottom());
|
||||
}
|
||||
|
||||
void FlatInput::correctValue(QKeyEvent *e, const QString &was) {
|
||||
}
|
||||
|
||||
void FlatInput::phPrepare(Painter &p) {
|
||||
p.setFont(_st.font->f);
|
||||
p.setPen(a_phColor.current());
|
||||
}
|
||||
|
||||
void FlatInput::keyPressEvent(QKeyEvent *e) {
|
||||
QString was(text());
|
||||
_kev = e;
|
||||
|
@ -350,13 +384,18 @@ void CountryCodeInput::correctValue(QKeyEvent *e, const QString &was) {
|
|||
}
|
||||
}
|
||||
|
||||
InputField::InputField(QWidget *parent, const style::InputField &st, const QString &pholder, const QString &v) : QLineEdit(v, parent),
|
||||
_lastText(v),
|
||||
InputField::InputField(QWidget *parent, const style::InputField &st, const QString &ph, const QString &val) : QTextEdit(val, parent),
|
||||
_oldtext(val),
|
||||
_keyEvent(0),
|
||||
|
||||
_undoAvailable(false),
|
||||
_redoAvailable(false),
|
||||
|
||||
_fakeMargin(0),
|
||||
_customUpDown(false),
|
||||
|
||||
_placeholderFull(pholder),
|
||||
_placeholderVisible(!v.length()),
|
||||
_placeholderFull(ph),
|
||||
_placeholderVisible(val.isEmpty()),
|
||||
a_placeholderLeft(_placeholderVisible ? 0 : st.placeholderShift),
|
||||
a_placeholderOpacity(_placeholderVisible ? 1 : 0),
|
||||
a_placeholderFg(st.placeholderFg->c),
|
||||
|
@ -367,47 +406,67 @@ a_borderFg(st.borderFg->c),
|
|||
a_borderOpacityActive(0),
|
||||
_borderAnim(animFunc(this, &InputField::borderStep)),
|
||||
|
||||
_focused(false), _error(false), _st(&st) {
|
||||
_st(&st),
|
||||
|
||||
_touchPress(false),
|
||||
_touchRightButton(false),
|
||||
_touchMove(false),
|
||||
_replacingEmojis(false) {
|
||||
setAcceptRichText(false);
|
||||
resize(_st->width, _st->height);
|
||||
|
||||
setWordWrapMode(QTextOption::NoWrap);
|
||||
setLineWrapMode(QTextEdit::NoWrap);
|
||||
|
||||
setFont(_st->font->f);
|
||||
setAlignment(_st->textAlign);
|
||||
setLayoutDirection(cLangDir());
|
||||
setAlignment(cRtl() ? Qt::AlignRight : Qt::AlignLeft);
|
||||
|
||||
_placeholder = _st->font->m.elidedText(_placeholderFull, Qt::ElideRight, width() - _st->textMargins.left() - _st->textMargins.right() - _st->placeholderMargins.left() - _st->placeholderMargins.right() - 1);
|
||||
|
||||
QPalette p(palette());
|
||||
p.setColor(QPalette::Text, _st->textFg->c);
|
||||
setPalette(p);
|
||||
|
||||
connect(this, SIGNAL(textChanged(const QString &)), this, SLOT(onTextChange(const QString &)));
|
||||
connect(this, SIGNAL(textEdited(const QString &)), this, SLOT(onTextEdited()));
|
||||
if (App::wnd()) connect(this, SIGNAL(selectionChanged()), App::wnd(), SLOT(updateGlobalMenu()));
|
||||
setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
|
||||
|
||||
setFrameStyle(QFrame::NoFrame | QFrame::Plain);
|
||||
viewport()->setAutoFillBackground(false);
|
||||
|
||||
setStyle(&_inputFieldStyle);
|
||||
setTextMargins(0, 0, 0, 0);
|
||||
setContentsMargins(0, 0, 0, 0);
|
||||
|
||||
setAttribute(Qt::WA_AcceptTouchEvents);
|
||||
//switch (cScale()) {
|
||||
//case dbisOneAndQuarter: _fakeMargin = 1; break;
|
||||
//case dbisOneAndHalf: _fakeMargin = 2; break;
|
||||
//case dbisTwo: _fakeMargin = 4; break;
|
||||
//}
|
||||
//setStyleSheet(qsl("QTextEdit { margin: %1px; }").arg(_fakeMargin));
|
||||
setStyleSheet(qsl("QTextEdit { padding: 2px 74px; }"));
|
||||
|
||||
viewport()->setAttribute(Qt::WA_AcceptTouchEvents);
|
||||
_touchTimer.setSingleShot(true);
|
||||
connect(&_touchTimer, SIGNAL(timeout()), this, SLOT(onTouchTimer()));
|
||||
}
|
||||
|
||||
void InputField::setCustomUpDown(bool customUpDown) {
|
||||
_customUpDown = customUpDown;
|
||||
connect(document(), SIGNAL(contentsChange(int, int, int)), this, SLOT(onDocumentContentsChange(int, int, int)));
|
||||
connect(document(), SIGNAL(contentsChanged()), this, SLOT(onDocumentContentsChanged()));
|
||||
connect(this, SIGNAL(undoAvailable(bool)), this, SLOT(onUndoAvailable(bool)));
|
||||
connect(this, SIGNAL(redoAvailable(bool)), this, SLOT(onRedoAvailable(bool)));
|
||||
if (App::wnd()) connect(this, SIGNAL(selectionChanged()), App::wnd(), SLOT(updateGlobalMenu()));
|
||||
}
|
||||
|
||||
void InputField::onTouchTimer() {
|
||||
_touchRightButton = true;
|
||||
}
|
||||
|
||||
bool InputField::event(QEvent *e) {
|
||||
bool InputField::viewportEvent(QEvent *e) {
|
||||
if (e->type() == QEvent::TouchBegin || e->type() == QEvent::TouchUpdate || e->type() == QEvent::TouchEnd || e->type() == QEvent::TouchCancel) {
|
||||
QTouchEvent *ev = static_cast<QTouchEvent*>(e);
|
||||
if (ev->device()->type() == QTouchDevice::TouchScreen) {
|
||||
touchEvent(ev);
|
||||
return QLineEdit::event(e);
|
||||
return QTextEdit::viewportEvent(e);
|
||||
}
|
||||
}
|
||||
return QLineEdit::event(e);
|
||||
return QTextEdit::viewportEvent(e);
|
||||
}
|
||||
|
||||
void InputField::touchEvent(QTouchEvent *e) {
|
||||
|
@ -450,18 +509,18 @@ void InputField::touchEvent(QTouchEvent *e) {
|
|||
}
|
||||
|
||||
QRect InputField::getTextRect() const {
|
||||
QMargins m = _st->textMargins + QMargins(-2, -1, -2, -1);
|
||||
if (rtl()) {
|
||||
int l = m.left();
|
||||
m.setLeft(m.right());
|
||||
m.setRight(l);
|
||||
}
|
||||
return rect().marginsRemoved(m);
|
||||
return rect().marginsRemoved(_st->textMargins + st::textRectMargins);
|
||||
}
|
||||
|
||||
int32 InputField::fakeMargin() const {
|
||||
return _fakeMargin;
|
||||
}
|
||||
|
||||
void InputField::paintEvent(QPaintEvent *e) {
|
||||
Painter p(this);
|
||||
Painter p(viewport());
|
||||
|
||||
QRect r(rect().intersected(e->rect()));
|
||||
p.fillRect(r, st::white->b);
|
||||
if (_st->border) {
|
||||
p.fillRect(0, height() - _st->border, width(), _st->border, _st->borderFg->b);
|
||||
}
|
||||
|
@ -473,7 +532,7 @@ void InputField::paintEvent(QPaintEvent *e) {
|
|||
if (_st->iconSprite.pxWidth()) {
|
||||
p.drawSpriteLeft(_st->iconPosition, width(), _st->iconSprite);
|
||||
}
|
||||
|
||||
|
||||
bool drawPlaceholder = _placeholderVisible;
|
||||
if (_placeholderShiftAnim.animating()) {
|
||||
p.setOpacity(a_placeholderOpacity.current());
|
||||
|
@ -481,57 +540,51 @@ void InputField::paintEvent(QPaintEvent *e) {
|
|||
}
|
||||
if (drawPlaceholder) {
|
||||
p.save();
|
||||
p.setClipRect(rect());
|
||||
p.setClipRect(r);
|
||||
|
||||
QRect r(rect().marginsRemoved(_st->textMargins + _st->placeholderMargins));
|
||||
r.moveLeft(r.left() + a_placeholderLeft.current());
|
||||
if (rtl()) r.moveLeft(width() - r.left() - r.width());
|
||||
|
||||
|
||||
p.setFont(_st->font->f);
|
||||
p.setPen(a_placeholderFg.current());
|
||||
p.drawText(r, _placeholder, _st->placeholderAlign);
|
||||
|
||||
|
||||
p.restore();
|
||||
}
|
||||
QLineEdit::paintEvent(e);
|
||||
QTextEdit::paintEvent(e);
|
||||
}
|
||||
|
||||
void InputField::focusInEvent(QFocusEvent *e) {
|
||||
if (!_focused) {
|
||||
_focused = true;
|
||||
|
||||
|
||||
a_placeholderFg.start(_st->placeholderFgActive->c);
|
||||
_placeholderFgAnim.start();
|
||||
|
||||
|
||||
a_borderFg.start((_error ? _st->borderFgError : _st->borderFgActive)->c);
|
||||
a_borderOpacityActive.start(1);
|
||||
_borderAnim.start();
|
||||
}
|
||||
QLineEdit::focusInEvent(e);
|
||||
QTextEdit::focusInEvent(e);
|
||||
emit focused();
|
||||
}
|
||||
|
||||
void InputField::focusOutEvent(QFocusEvent *e) {
|
||||
if (_focused) {
|
||||
_focused = false;
|
||||
|
||||
|
||||
a_placeholderFg.start(_st->placeholderFg->c);
|
||||
_placeholderFgAnim.start();
|
||||
|
||||
|
||||
a_borderFg.start((_error ? _st->borderFgError : _st->borderFg)->c);
|
||||
a_borderOpacityActive.start(_error ? 1 : 0);
|
||||
_borderAnim.start();
|
||||
}
|
||||
QLineEdit::focusOutEvent(e);
|
||||
QTextEdit::focusOutEvent(e);
|
||||
emit blurred();
|
||||
}
|
||||
|
||||
void InputField::resizeEvent(QResizeEvent *e) {
|
||||
int32 availw = width() - _st->textMargins.left() - _st->textMargins.right() - _st->placeholderMargins.left() - _st->placeholderMargins.right() - 2;
|
||||
_placeholder = (_st->font->m.width(_placeholderFull) > availw) ? _st->font->m.elidedText(_placeholderFull, Qt::ElideRight, availw) : _placeholderFull;
|
||||
update();
|
||||
}
|
||||
|
||||
QSize InputField::sizeHint() const {
|
||||
return geometry().size();
|
||||
}
|
||||
|
@ -540,6 +593,264 @@ QSize InputField::minimumSizeHint() const {
|
|||
return geometry().size();
|
||||
}
|
||||
|
||||
QString InputField::getText(int32 start, int32 end) const {
|
||||
if (end >= 0 && end <= start) return QString();
|
||||
|
||||
if (start < 0) start = 0;
|
||||
bool full = (start == 0) && (end < 0);
|
||||
|
||||
QTextDocument *doc(document());
|
||||
QTextBlock from = full ? doc->begin() : doc->findBlock(start), till = (end < 0) ? doc->end() : doc->findBlock(end);
|
||||
if (till.isValid()) till = till.next();
|
||||
|
||||
int32 possibleLen = 0;
|
||||
for (QTextBlock b = from; b != till; b = b.next()) {
|
||||
possibleLen += b.length();
|
||||
}
|
||||
QString result;
|
||||
result.reserve(possibleLen + 1);
|
||||
if (!full && end < 0) {
|
||||
end = possibleLen;
|
||||
}
|
||||
|
||||
for (QTextBlock b = from; b != till; b = b.next()) {
|
||||
for (QTextBlock::Iterator iter = b.begin(); !iter.atEnd(); ++iter) {
|
||||
QTextFragment fragment(iter.fragment());
|
||||
if (!fragment.isValid()) continue;
|
||||
|
||||
int32 p = full ? 0 : fragment.position(), e = full ? 0 : (p + fragment.length());
|
||||
if (!full) {
|
||||
if (p >= end || e <= start) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
QTextCharFormat f = fragment.charFormat();
|
||||
QString emojiText;
|
||||
QString t(fragment.text());
|
||||
if (!full) {
|
||||
if (p < start) {
|
||||
t = t.mid(start - p, end - start);
|
||||
} else if (e > end) {
|
||||
t = t.mid(0, end - p);
|
||||
}
|
||||
}
|
||||
QChar *ub = t.data(), *uc = ub, *ue = uc + t.size();
|
||||
for (; uc != ue; ++uc) {
|
||||
switch (uc->unicode()) {
|
||||
case 0xfdd0: // QTextBeginningOfFrame
|
||||
case 0xfdd1: // QTextEndOfFrame
|
||||
case QChar::ParagraphSeparator:
|
||||
case QChar::LineSeparator:
|
||||
*uc = QLatin1Char('\n');
|
||||
break;
|
||||
case QChar::Nbsp:
|
||||
*uc = QLatin1Char(' ');
|
||||
break;
|
||||
case QChar::ObjectReplacementCharacter:
|
||||
if (emojiText.isEmpty() && f.isImageFormat()) {
|
||||
QString imageName = static_cast<QTextImageFormat*>(&f)->name();
|
||||
if (imageName.startsWith(qstr("emoji://e."))) {
|
||||
if (EmojiPtr emoji = emojiFromUrl(imageName)) {
|
||||
emojiText = emojiString(emoji);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (uc > ub) result.append(ub, uc - ub);
|
||||
if (!emojiText.isEmpty()) result.append(emojiText);
|
||||
ub = uc + 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (uc > ub) result.append(ub, uc - ub);
|
||||
}
|
||||
result.append('\n');
|
||||
}
|
||||
result.chop(1);
|
||||
return result;
|
||||
}
|
||||
|
||||
bool InputField::hasText() const {
|
||||
QTextDocument *doc(document());
|
||||
QTextBlock from = doc->begin(), till = doc->end();
|
||||
|
||||
if (from == till) return false;
|
||||
|
||||
for (QTextBlock::Iterator iter = from.begin(); !iter.atEnd(); ++iter) {
|
||||
QTextFragment fragment(iter.fragment());
|
||||
if (!fragment.isValid()) continue;
|
||||
if (!fragment.text().isEmpty()) return true;
|
||||
}
|
||||
return (from.next() != till);
|
||||
}
|
||||
|
||||
bool InputField::isUndoAvailable() const {
|
||||
return _undoAvailable;
|
||||
}
|
||||
|
||||
bool InputField::isRedoAvailable() const {
|
||||
return _redoAvailable;
|
||||
}
|
||||
|
||||
void InputField::insertEmoji(EmojiPtr emoji, QTextCursor c) {
|
||||
QTextImageFormat imageFormat;
|
||||
int32 ew = ESize + st::emojiPadding * cIntRetinaFactor() * 2, eh = _st->font->height * cIntRetinaFactor();
|
||||
imageFormat.setWidth(ew / cIntRetinaFactor());
|
||||
imageFormat.setHeight(eh / cIntRetinaFactor());
|
||||
imageFormat.setName(qsl("emoji://e.") + QString::number(emojiKey(emoji), 16));
|
||||
imageFormat.setVerticalAlignment(QTextCharFormat::AlignBaseline);
|
||||
|
||||
static QString objectReplacement(QChar::ObjectReplacementCharacter);
|
||||
c.insertText(objectReplacement, imageFormat);
|
||||
}
|
||||
|
||||
QVariant InputField::loadResource(int type, const QUrl &name) {
|
||||
QString imageName = name.toDisplayString();
|
||||
if (imageName.startsWith(qstr("emoji://e."))) {
|
||||
if (EmojiPtr emoji = emojiFromUrl(imageName)) {
|
||||
return QVariant(App::emojiSingle(emoji, _st->font->height));
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
void InputField::processDocumentContentsChange(int position, int charsAdded) {
|
||||
int32 emojiPosition = 0, emojiLen = 0;
|
||||
const EmojiData *emoji = 0;
|
||||
|
||||
QTextDocument *doc(document());
|
||||
|
||||
while (true) {
|
||||
int32 start = position, end = position + charsAdded;
|
||||
QTextBlock from = doc->findBlock(start), till = doc->findBlock(end);
|
||||
if (till.isValid()) till = till.next();
|
||||
|
||||
for (QTextBlock b = from; b != till; b = b.next()) {
|
||||
for (QTextBlock::Iterator iter = b.begin(); !iter.atEnd(); ++iter) {
|
||||
QTextFragment fragment(iter.fragment());
|
||||
if (!fragment.isValid()) continue;
|
||||
|
||||
int32 fp = fragment.position(), fe = fp + fragment.length();
|
||||
if (fp >= end || fe <= start) {
|
||||
continue;
|
||||
}
|
||||
|
||||
QString t(fragment.text());
|
||||
const QChar *ch = t.constData(), *e = ch + t.size();
|
||||
for (; ch != e; ++ch) {
|
||||
emoji = emojiFromText(ch, e, emojiLen);
|
||||
if (emoji) {
|
||||
emojiPosition = fp + (ch - t.constData());
|
||||
break;
|
||||
}
|
||||
if (ch + 1 < e && ch->isHighSurrogate() && (ch + 1)->isLowSurrogate()) ++ch;
|
||||
}
|
||||
if (emoji) break;
|
||||
}
|
||||
if (emoji) break;
|
||||
}
|
||||
if (emoji) {
|
||||
if (!document()->pageSize().isNull()) {
|
||||
document()->setPageSize(QSizeF(0, 0));
|
||||
}
|
||||
|
||||
QTextCursor c(doc->docHandle(), emojiPosition);
|
||||
c.setPosition(emojiPosition + emojiLen, QTextCursor::KeepAnchor);
|
||||
int32 removedUpto = c.position();
|
||||
|
||||
insertEmoji(emoji, c);
|
||||
|
||||
for (Insertions::iterator i = _insertions.begin(), e = _insertions.end(); i != e; ++i) {
|
||||
if (i->first >= removedUpto) {
|
||||
i->first -= removedUpto - emojiPosition - 1;
|
||||
} else if (i->first >= emojiPosition) {
|
||||
i->second -= removedUpto - emojiPosition;
|
||||
i->first = emojiPosition + 1;
|
||||
} else if (i->first + i->second > emojiPosition + 1) {
|
||||
i->second -= qMin(removedUpto, i->first + i->second) - emojiPosition;
|
||||
}
|
||||
}
|
||||
|
||||
charsAdded -= removedUpto - position;
|
||||
position = emojiPosition + 1;
|
||||
|
||||
emoji = 0;
|
||||
emojiPosition = 0;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InputField::onDocumentContentsChange(int position, int charsRemoved, int charsAdded) {
|
||||
if (_replacingEmojis) return;
|
||||
|
||||
if (document()->availableRedoSteps() > 0) return;
|
||||
|
||||
const int takeBack = 3;
|
||||
|
||||
position -= takeBack;
|
||||
charsAdded += takeBack;
|
||||
if (position < 0) {
|
||||
charsAdded += position;
|
||||
position = 0;
|
||||
}
|
||||
if (charsAdded <= 0) return;
|
||||
|
||||
// _insertions.push_back(Insertion(position, charsAdded));
|
||||
_replacingEmojis = true;
|
||||
QSizeF s = document()->pageSize();
|
||||
processDocumentContentsChange(position, charsAdded);
|
||||
if (document()->pageSize() != s) {
|
||||
document()->setPageSize(s);
|
||||
}
|
||||
_replacingEmojis = false;
|
||||
}
|
||||
|
||||
void InputField::onDocumentContentsChanged() {
|
||||
if (_replacingEmojis) return;
|
||||
|
||||
if (!_insertions.isEmpty()) {
|
||||
if (document()->availableRedoSteps() > 0) {
|
||||
_insertions.clear();
|
||||
} else {
|
||||
_replacingEmojis = true;
|
||||
QSizeF s = document()->pageSize();
|
||||
|
||||
do {
|
||||
Insertion i = _insertions.front();
|
||||
_insertions.pop_front();
|
||||
if (i.second > 0) {
|
||||
processDocumentContentsChange(i.first, i.second);
|
||||
}
|
||||
} while (!_insertions.isEmpty());
|
||||
|
||||
if (document()->pageSize() != s) {
|
||||
document()->setPageSize(s);
|
||||
}
|
||||
_replacingEmojis = false;
|
||||
}
|
||||
}
|
||||
|
||||
QString curText(getText());
|
||||
if (_oldtext != curText) {
|
||||
_oldtext = curText;
|
||||
emit changed();
|
||||
}
|
||||
updatePlaceholder();
|
||||
if (App::wnd()) App::wnd()->updateGlobalMenu();
|
||||
}
|
||||
|
||||
void InputField::onUndoAvailable(bool avail) {
|
||||
_undoAvailable = avail;
|
||||
if (App::wnd()) App::wnd()->updateGlobalMenu();
|
||||
}
|
||||
|
||||
void InputField::onRedoAvailable(bool avail) {
|
||||
_redoAvailable = avail;
|
||||
if (App::wnd()) App::wnd()->updateGlobalMenu();
|
||||
}
|
||||
|
||||
bool InputField::placeholderFgStep(float64 ms) {
|
||||
float dt = ms / _st->duration;
|
||||
bool res = true;
|
||||
|
@ -582,9 +893,12 @@ bool InputField::borderStep(float64 ms) {
|
|||
update();
|
||||
return res;
|
||||
}
|
||||
const QString &InputField::getLastText() const {
|
||||
return _oldtext;
|
||||
}
|
||||
|
||||
void InputField::updatePlaceholder() {
|
||||
bool placeholderVisible = !_lastText.isEmpty();
|
||||
bool placeholderVisible = _oldtext.isEmpty();
|
||||
if (placeholderVisible != _placeholderVisible) {
|
||||
_placeholderVisible = placeholderVisible;
|
||||
|
||||
|
@ -597,50 +911,71 @@ void InputField::updatePlaceholder() {
|
|||
void InputField::correctValue(QKeyEvent *e, const QString &was) {
|
||||
}
|
||||
|
||||
void InputField::keyPressEvent(QKeyEvent *e) {
|
||||
QString was(_lastText);
|
||||
QMimeData *InputField::createMimeDataFromSelection() const {
|
||||
QMimeData *result = new QMimeData();
|
||||
QTextCursor c(textCursor());
|
||||
int32 start = c.selectionStart(), end = c.selectionEnd();
|
||||
if (end > start) {
|
||||
result->setText(getText(start, end));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
_keyEvent = e;
|
||||
if (_customUpDown && (e->key() == Qt::Key_Up || e->key() == Qt::Key_Down)) {
|
||||
void InputField::customUpDown(bool custom) {
|
||||
_customUpDown = custom;
|
||||
}
|
||||
|
||||
void InputField::keyPressEvent(QKeyEvent *e) {
|
||||
bool shift = e->modifiers().testFlag(Qt::ShiftModifier);
|
||||
bool macmeta = (cPlatform() == dbipMac) && e->modifiers().testFlag(Qt::ControlModifier) && !e->modifiers().testFlag(Qt::MetaModifier) && !e->modifiers().testFlag(Qt::AltModifier);
|
||||
bool ctrl = e->modifiers().testFlag(Qt::ControlModifier) || e->modifiers().testFlag(Qt::MetaModifier), ctrlGood = (ctrl && cCtrlEnter()) || (!ctrl && !shift && !cCtrlEnter()) || (ctrl && shift);
|
||||
bool enter = (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return);
|
||||
|
||||
if (macmeta && e->key() == Qt::Key_Backspace) {
|
||||
QTextCursor tc(textCursor()), start(tc);
|
||||
start.movePosition(QTextCursor::StartOfLine);
|
||||
tc.setPosition(start.position(), QTextCursor::KeepAnchor);
|
||||
tc.removeSelectedText();
|
||||
} else if (enter && ctrlGood) {
|
||||
emit submitted(ctrl && shift);
|
||||
} else if (e->key() == Qt::Key_Escape) {
|
||||
emit cancelled();
|
||||
} else if (e->key() == Qt::Key_Tab || (ctrl && e->key() == Qt::Key_Backtab)) {
|
||||
if (ctrl) {
|
||||
e->ignore();
|
||||
} else {
|
||||
emit tabbed();
|
||||
}
|
||||
} else if (e->key() == Qt::Key_Search || e == QKeySequence::Find) {
|
||||
e->ignore();
|
||||
} else {
|
||||
QLineEdit::keyPressEvent(e);
|
||||
}
|
||||
|
||||
if (was == _lastText) { // call correct manually
|
||||
correctValue(_keyEvent, was);
|
||||
_lastText = text();
|
||||
if (was != _lastText) emit changed();
|
||||
updatePlaceholder();
|
||||
}
|
||||
if (e->key() == Qt::Key_Escape) {
|
||||
emit cancelled();
|
||||
} else if (e->key() == Qt::Key_Return || e->key() == Qt::Key_Enter) {
|
||||
emit accepted();
|
||||
}
|
||||
_keyEvent = 0;
|
||||
}
|
||||
|
||||
void InputField::onTextEdited() {
|
||||
QString was(_lastText);
|
||||
correctValue(_keyEvent, was);
|
||||
_lastText = text();
|
||||
if (was != _lastText) emit changed();
|
||||
updatePlaceholder();
|
||||
if (App::wnd()) App::wnd()->updateGlobalMenu();
|
||||
}
|
||||
|
||||
void InputField::onTextChange(const QString &text) {
|
||||
_lastText = text;
|
||||
if (App::wnd()) App::wnd()->updateGlobalMenu();
|
||||
}
|
||||
|
||||
void InputField::setError(bool error) {
|
||||
if (error != _error) {
|
||||
_error = error;
|
||||
|
||||
a_borderFg.start((_error ? _st->borderFgError : (_focused ? _st->borderFgActive : _st->borderFg))->c);
|
||||
a_borderOpacityActive.start((_error || _focused) ? 1 : 0);
|
||||
_borderAnim.start();
|
||||
QTextCursor tc(textCursor());
|
||||
if (enter && ctrl) {
|
||||
e->setModifiers(e->modifiers() & ~Qt::ControlModifier);
|
||||
}
|
||||
QTextEdit::keyPressEvent(e);
|
||||
if (tc == textCursor()) {
|
||||
bool check = false;
|
||||
if (e->key() == Qt::Key_PageUp || e->key() == Qt::Key_Up) {
|
||||
tc.movePosition(QTextCursor::Start, e->modifiers().testFlag(Qt::ShiftModifier) ? QTextCursor::KeepAnchor : QTextCursor::MoveAnchor);
|
||||
check = true;
|
||||
} else if (e->key() == Qt::Key_PageDown || e->key() == Qt::Key_Down) {
|
||||
tc.movePosition(QTextCursor::End, e->modifiers().testFlag(Qt::ShiftModifier) ? QTextCursor::KeepAnchor : QTextCursor::MoveAnchor);
|
||||
check = true;
|
||||
}
|
||||
if (check) {
|
||||
if (tc == textCursor()) {
|
||||
e->ignore();
|
||||
} else {
|
||||
setTextCursor(tc);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void InputField::resizeEvent(QResizeEvent *e) {
|
||||
_placeholder = _st->font->m.elidedText(_placeholderFull, Qt::ElideRight, width() - _st->textMargins.left() - _st->textMargins.right() - _st->placeholderMargins.left() - _st->placeholderMargins.right() - 1);
|
||||
viewport()->setGeometry(rect().marginsRemoved(_st->textMargins));
|
||||
QTextEdit::resizeEvent(e);
|
||||
}
|
||||
|
|
|
@ -38,7 +38,11 @@ public:
|
|||
|
||||
void notaBene();
|
||||
|
||||
void setPlaceholder(const QString &ph);
|
||||
void setPlaceholderFast(bool fast);
|
||||
void updatePlaceholder();
|
||||
const QString &placeholder() const;
|
||||
QRect placeholderRect() const;
|
||||
|
||||
QRect getTextRect() const;
|
||||
|
||||
|
@ -68,9 +72,16 @@ protected:
|
|||
|
||||
virtual void correctValue(QKeyEvent *e, const QString &was);
|
||||
|
||||
style::font phFont() {
|
||||
return _st.font;
|
||||
}
|
||||
|
||||
void phPrepare(Painter &p);
|
||||
|
||||
private:
|
||||
|
||||
QString _ph, _fullph, _oldtext;
|
||||
bool _fastph;
|
||||
QKeyEvent *_kev;
|
||||
|
||||
bool _customUpDown;
|
||||
|
@ -116,15 +127,118 @@ private:
|
|||
bool _nosignal;
|
||||
|
||||
};
|
||||
//
|
||||
//class InputField : public QTextEdit {
|
||||
// Q_OBJECT
|
||||
//
|
||||
//public:
|
||||
//
|
||||
// InputField(QWidget *parent, const style::InputField &st, const QString &ph = QString(), const QString &val = QString());
|
||||
//
|
||||
// bool event(QEvent *e);
|
||||
// void touchEvent(QTouchEvent *e);
|
||||
// void paintEvent(QPaintEvent *e);
|
||||
// void focusInEvent(QFocusEvent *e);
|
||||
// void focusOutEvent(QFocusEvent *e);
|
||||
// void keyPressEvent(QKeyEvent *e);
|
||||
// void resizeEvent(QResizeEvent *e);
|
||||
//
|
||||
// void setError(bool error);
|
||||
//
|
||||
// void updatePlaceholder();
|
||||
//
|
||||
// QRect getTextRect() const;
|
||||
//
|
||||
// bool placeholderFgStep(float64 ms);
|
||||
// bool placeholderShiftStep(float64 ms);
|
||||
// bool borderStep(float64 ms);
|
||||
//
|
||||
// QSize sizeHint() const;
|
||||
// QSize minimumSizeHint() const;
|
||||
//
|
||||
// void setCustomUpDown(bool customUpDown);
|
||||
//
|
||||
//public slots:
|
||||
//
|
||||
// void onTextChange(const QString &text);
|
||||
// void onTextEdited();
|
||||
//
|
||||
// void onTouchTimer();
|
||||
//
|
||||
// void onDocumentContentsChange(int position, int charsRemoved, int charsAdded);
|
||||
// void onDocumentContentsChanged();
|
||||
//
|
||||
// void onUndoAvailable(bool avail);
|
||||
// void onRedoAvailable(bool avail);
|
||||
//
|
||||
//signals:
|
||||
//
|
||||
// void changed();
|
||||
// void cancelled();
|
||||
// void accepted();
|
||||
// void focused();
|
||||
// void blurred();
|
||||
//
|
||||
//protected:
|
||||
//
|
||||
// virtual void correctValue(QKeyEvent *e, const QString &was);
|
||||
//
|
||||
// void insertEmoji(EmojiPtr emoji, QTextCursor c);
|
||||
// TWidget *tparent() {
|
||||
// return qobject_cast<TWidget*>(parentWidget());
|
||||
// }
|
||||
// const TWidget *tparent() const {
|
||||
// return qobject_cast<const TWidget*>(parentWidget());
|
||||
// }
|
||||
// void enterEvent(QEvent *e) {
|
||||
// TWidget *p(tparent());
|
||||
// if (p) p->leaveToChildEvent(e);
|
||||
// return QTextEdit::enterEvent(e);
|
||||
// }
|
||||
// void leaveEvent(QEvent *e) {
|
||||
// TWidget *p(tparent());
|
||||
// if (p) p->enterFromChildEvent(e);
|
||||
// return QTextEdit::leaveEvent(e);
|
||||
// }
|
||||
//
|
||||
// QVariant loadResource(int type, const QUrl &name);
|
||||
//
|
||||
//private:
|
||||
//
|
||||
// QString _lastText;
|
||||
// QKeyEvent *_keyEvent;
|
||||
//
|
||||
// bool _customUpDown;
|
||||
//
|
||||
// QString _placeholder, _placeholderFull;
|
||||
// bool _placeholderVisible;
|
||||
// anim::ivalue a_placeholderLeft;
|
||||
// anim::fvalue a_placeholderOpacity;
|
||||
// anim::cvalue a_placeholderFg;
|
||||
// Animation _placeholderFgAnim, _placeholderShiftAnim;
|
||||
//
|
||||
// anim::fvalue a_borderOpacityActive;
|
||||
// anim::cvalue a_borderFg;
|
||||
// Animation _borderAnim;
|
||||
//
|
||||
// bool _focused, _error;
|
||||
//
|
||||
// const style::InputField *_st;
|
||||
//
|
||||
// QTimer _touchTimer;
|
||||
// bool _touchPress, _touchRightButton, _touchMove;
|
||||
// QPoint _touchStart;
|
||||
//};
|
||||
|
||||
class InputField : public QLineEdit {
|
||||
|
||||
class InputField : public QTextEdit {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
InputField(QWidget *parent, const style::InputField &st, const QString &ph = QString(), const QString &val = QString());
|
||||
|
||||
bool event(QEvent *e);
|
||||
bool viewportEvent(QEvent *e);
|
||||
void touchEvent(QTouchEvent *e);
|
||||
void paintEvent(QPaintEvent *e);
|
||||
void focusInEvent(QFocusEvent *e);
|
||||
|
@ -132,11 +246,11 @@ public:
|
|||
void keyPressEvent(QKeyEvent *e);
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
|
||||
void setError(bool error);
|
||||
|
||||
const QString &getLastText() const;
|
||||
void updatePlaceholder();
|
||||
|
||||
QRect getTextRect() const;
|
||||
int32 fakeMargin() const;
|
||||
|
||||
bool placeholderFgStep(float64 ms);
|
||||
bool placeholderShiftStep(float64 ms);
|
||||
|
@ -145,50 +259,95 @@ public:
|
|||
QSize sizeHint() const;
|
||||
QSize minimumSizeHint() const;
|
||||
|
||||
void setCustomUpDown(bool customUpDown);
|
||||
QString getText(int32 start = 0, int32 end = -1) const;
|
||||
bool hasText() const;
|
||||
|
||||
bool isUndoAvailable() const;
|
||||
bool isRedoAvailable() const;
|
||||
|
||||
QMimeData *createMimeDataFromSelection() const;
|
||||
|
||||
void customUpDown(bool isCustom);
|
||||
|
||||
public slots:
|
||||
|
||||
void onTextChange(const QString &text);
|
||||
void onTextEdited();
|
||||
|
||||
void onTouchTimer();
|
||||
|
||||
void onDocumentContentsChange(int position, int charsRemoved, int charsAdded);
|
||||
void onDocumentContentsChanged();
|
||||
|
||||
void onUndoAvailable(bool avail);
|
||||
void onRedoAvailable(bool avail);
|
||||
|
||||
signals:
|
||||
|
||||
void changed();
|
||||
void submitted(bool ctrlShiftEnter);
|
||||
void cancelled();
|
||||
void accepted();
|
||||
void tabbed();
|
||||
|
||||
void focused();
|
||||
void blurred();
|
||||
|
||||
protected:
|
||||
|
||||
virtual void correctValue(QKeyEvent *e, const QString &was);
|
||||
|
||||
void insertEmoji(EmojiPtr emoji, QTextCursor c);
|
||||
TWidget *tparent() {
|
||||
return qobject_cast<TWidget*>(parentWidget());
|
||||
}
|
||||
const TWidget *tparent() const {
|
||||
return qobject_cast<const TWidget*>(parentWidget());
|
||||
}
|
||||
void enterEvent(QEvent *e) {
|
||||
TWidget *p(tparent());
|
||||
if (p) p->leaveToChildEvent(e);
|
||||
return QTextEdit::enterEvent(e);
|
||||
}
|
||||
void leaveEvent(QEvent *e) {
|
||||
TWidget *p(tparent());
|
||||
if (p) p->enterFromChildEvent(e);
|
||||
return QTextEdit::leaveEvent(e);
|
||||
}
|
||||
|
||||
QVariant loadResource(int type, const QUrl &name);
|
||||
|
||||
private:
|
||||
|
||||
QString _lastText;
|
||||
void processDocumentContentsChange(int position, int charsAdded);
|
||||
|
||||
QString _oldtext;
|
||||
|
||||
QKeyEvent *_keyEvent;
|
||||
|
||||
bool _customUpDown;
|
||||
bool _undoAvailable, _redoAvailable;
|
||||
|
||||
int32 _fakeMargin;
|
||||
|
||||
bool _customUpDown;
|
||||
|
||||
QString _placeholder, _placeholderFull;
|
||||
bool _placeholderVisible;
|
||||
anim::ivalue a_placeholderLeft;
|
||||
anim::fvalue a_placeholderOpacity;
|
||||
anim::cvalue a_placeholderFg;
|
||||
Animation _placeholderFgAnim, _placeholderShiftAnim;
|
||||
|
||||
|
||||
anim::fvalue a_borderOpacityActive;
|
||||
anim::cvalue a_borderFg;
|
||||
Animation _borderAnim;
|
||||
|
||||
|
||||
bool _focused, _error;
|
||||
|
||||
|
||||
const style::InputField *_st;
|
||||
|
||||
QTimer _touchTimer;
|
||||
bool _touchPress, _touchRightButton, _touchMove;
|
||||
QPoint _touchStart;
|
||||
|
||||
bool _replacingEmojis;
|
||||
typedef QPair<int, int> Insertion;
|
||||
typedef QList<Insertion> Insertions;
|
||||
Insertions _insertions;
|
||||
};
|
||||
|
|
|
@ -128,7 +128,8 @@ int32 FlatTextarea::fakeMargin() const {
|
|||
|
||||
void FlatTextarea::paintEvent(QPaintEvent *e) {
|
||||
QPainter p(viewport());
|
||||
p.fillRect(rect(), _st.bgColor->b);
|
||||
QRect r(rect().intersected(e->rect()));
|
||||
p.fillRect(r, _st.bgColor->b);
|
||||
bool phDraw = _phVisible;
|
||||
if (animating()) {
|
||||
p.setOpacity(a_phAlpha.current());
|
||||
|
@ -136,7 +137,7 @@ void FlatTextarea::paintEvent(QPaintEvent *e) {
|
|||
}
|
||||
if (phDraw) {
|
||||
p.save();
|
||||
p.setClipRect(rect());
|
||||
p.setClipRect(r);
|
||||
QRect phRect(_st.textMrg.left() - _fakeMargin + _st.phPos.x() + a_phLeft.current(), _st.textMrg.top() - _fakeMargin + _st.phPos.y(), width() - _st.textMrg.left() - _st.textMrg.right(), height() - _st.textMrg.top() - _st.textMrg.bottom());
|
||||
p.setFont(_st.font->f);
|
||||
p.setPen(a_phColor.current());
|
||||
|
@ -174,7 +175,10 @@ EmojiPtr FlatTextarea::getSingleEmoji() const {
|
|||
|
||||
if (!text.isEmpty()) {
|
||||
QTextCharFormat format = fragment.charFormat();
|
||||
return emojiFromUrl(static_cast<const QTextImageFormat*>(&format)->name());
|
||||
QString imageName = static_cast<QTextImageFormat*>(&format)->name();
|
||||
if (imageName.startsWith(qstr("emoji://e."))) {
|
||||
return emojiFromUrl(imageName);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -303,7 +307,7 @@ void FlatTextarea::getSingleEmojiFragment(QString &text, QTextFragment &fragment
|
|||
}
|
||||
if (f.isImageFormat() && !t.isEmpty() && t.at(0).unicode() == QChar::ObjectReplacementCharacter) {
|
||||
QString imageName = static_cast<QTextImageFormat*>(&f)->name();
|
||||
if (imageName.startsWith(QLatin1String("emoji://e."))) {
|
||||
if (imageName.startsWith(qstr("emoji://e."))) {
|
||||
fragment = fr;
|
||||
text = t;
|
||||
return;
|
||||
|
@ -387,7 +391,7 @@ QString FlatTextarea::getText(int32 start, int32 end) const {
|
|||
case QChar::ObjectReplacementCharacter:
|
||||
if (emojiText.isEmpty() && f.isImageFormat()) {
|
||||
QString imageName = static_cast<QTextImageFormat*>(&f)->name();
|
||||
if (imageName.startsWith(QLatin1String("emoji://e."))) {
|
||||
if (imageName.startsWith(qstr("emoji://e."))) {
|
||||
if (EmojiPtr emoji = emojiFromUrl(imageName)) {
|
||||
emojiText = emojiString(emoji);
|
||||
}
|
||||
|
@ -530,17 +534,25 @@ void FlatTextarea::insertFromMimeData(const QMimeData *source) {
|
|||
}
|
||||
|
||||
void FlatTextarea::insertEmoji(EmojiPtr emoji, QTextCursor c) {
|
||||
c.removeSelectedText();
|
||||
|
||||
QPixmap img(App::emojiSingle(emoji, _st.font->height));
|
||||
QString url = qsl("emoji://e.") + QString::number(emojiKey(emoji), 16);
|
||||
document()->addResource(QTextDocument::ImageResource, QUrl(url), QVariant(img));
|
||||
QTextImageFormat imageFormat;
|
||||
imageFormat.setWidth(img.width() / cIntRetinaFactor());
|
||||
imageFormat.setHeight(img.height() / cIntRetinaFactor());
|
||||
imageFormat.setName(url);
|
||||
int32 ew = ESize + st::emojiPadding * cIntRetinaFactor() * 2, eh = _st.font->height * cIntRetinaFactor();
|
||||
imageFormat.setWidth(ew / cIntRetinaFactor());
|
||||
imageFormat.setHeight(eh / cIntRetinaFactor());
|
||||
imageFormat.setName(qsl("emoji://e.") + QString::number(emojiKey(emoji), 16));
|
||||
imageFormat.setVerticalAlignment(QTextCharFormat::AlignBaseline);
|
||||
c.insertImage(imageFormat);
|
||||
|
||||
static QString objectReplacement(QChar::ObjectReplacementCharacter);
|
||||
c.insertText(objectReplacement, imageFormat);
|
||||
}
|
||||
|
||||
QVariant FlatTextarea::loadResource(int type, const QUrl &name) {
|
||||
QString imageName = name.toDisplayString();
|
||||
if (imageName.startsWith(qstr("emoji://e."))) {
|
||||
if (EmojiPtr emoji = emojiFromUrl(imageName)) {
|
||||
return QVariant(App::emojiSingle(emoji, _st.font->height));
|
||||
}
|
||||
}
|
||||
return QVariant();
|
||||
}
|
||||
|
||||
void FlatTextarea::processDocumentContentsChange(int position, int charsAdded) {
|
||||
|
@ -579,6 +591,10 @@ void FlatTextarea::processDocumentContentsChange(int position, int charsAdded) {
|
|||
if (emoji) break;
|
||||
}
|
||||
if (emoji) {
|
||||
if (!document()->pageSize().isNull()) {
|
||||
document()->setPageSize(QSizeF(0, 0));
|
||||
}
|
||||
|
||||
QTextCursor c(doc->docHandle(), emojiPosition);
|
||||
c.setPosition(emojiPosition + emojiLen, QTextCursor::KeepAnchor);
|
||||
int32 removedUpto = c.position();
|
||||
|
@ -608,6 +624,8 @@ void FlatTextarea::processDocumentContentsChange(int position, int charsAdded) {
|
|||
}
|
||||
|
||||
void FlatTextarea::onDocumentContentsChange(int position, int charsRemoved, int charsAdded) {
|
||||
if (_replacingEmojis) return;
|
||||
|
||||
if (!_links.isEmpty()) {
|
||||
bool changed = false;
|
||||
for (LinkRanges::iterator i = _links.begin(); i != _links.end();) {
|
||||
|
@ -624,7 +642,7 @@ void FlatTextarea::onDocumentContentsChange(int position, int charsRemoved, int
|
|||
if (changed) emit linksChanged();
|
||||
}
|
||||
|
||||
if (_replacingEmojis || document()->availableRedoSteps() > 0) return;
|
||||
if (document()->availableRedoSteps() > 0) return;
|
||||
|
||||
const int takeBack = 3;
|
||||
|
||||
|
@ -636,7 +654,14 @@ void FlatTextarea::onDocumentContentsChange(int position, int charsRemoved, int
|
|||
}
|
||||
if (charsAdded <= 0) return;
|
||||
|
||||
_insertions.push_back(Insertion(position, charsAdded));
|
||||
// _insertions.push_back(Insertion(position, charsAdded));
|
||||
_replacingEmojis = true;
|
||||
QSizeF s = document()->pageSize();
|
||||
processDocumentContentsChange(position, charsAdded);
|
||||
if (document()->pageSize() != s) {
|
||||
document()->setPageSize(s);
|
||||
}
|
||||
_replacingEmojis = false;
|
||||
}
|
||||
|
||||
void FlatTextarea::onDocumentContentsChanged() {
|
||||
|
@ -647,6 +672,8 @@ void FlatTextarea::onDocumentContentsChanged() {
|
|||
_insertions.clear();
|
||||
} else {
|
||||
_replacingEmojis = true;
|
||||
QSizeF s = document()->pageSize();
|
||||
|
||||
do {
|
||||
Insertion i = _insertions.front();
|
||||
_insertions.pop_front();
|
||||
|
@ -654,6 +681,10 @@ void FlatTextarea::onDocumentContentsChanged() {
|
|||
processDocumentContentsChange(i.first, i.second);
|
||||
}
|
||||
} while (!_insertions.isEmpty());
|
||||
|
||||
if (document()->pageSize() != s) {
|
||||
document()->setPageSize(s);
|
||||
}
|
||||
_replacingEmojis = false;
|
||||
}
|
||||
}
|
||||
|
@ -743,6 +774,8 @@ void FlatTextarea::keyPressEvent(QKeyEvent *e) {
|
|||
} else {
|
||||
emit tabbed();
|
||||
}
|
||||
} else if (e->key() == Qt::Key_Search || e == QKeySequence::Find) {
|
||||
e->ignore();
|
||||
} else {
|
||||
QTextCursor tc(textCursor());
|
||||
if (enter && ctrl) {
|
||||
|
@ -781,7 +814,3 @@ void FlatTextarea::resizeEvent(QResizeEvent *e) {
|
|||
_phelided = _st.font->m.elidedText(_ph, Qt::ElideRight, width() - _st.textMrg.left() - _st.textMrg.right() - _st.phPos.x() - 1);
|
||||
QTextEdit::resizeEvent(e);
|
||||
}
|
||||
|
||||
void FlatTextarea::mousePressEvent(QMouseEvent *e) {
|
||||
QTextEdit::mousePressEvent(e);
|
||||
}
|
||||
|
|
|
@ -35,7 +35,6 @@ public:
|
|||
void focusOutEvent(QFocusEvent *e);
|
||||
void keyPressEvent(QKeyEvent *e);
|
||||
void resizeEvent(QResizeEvent *e);
|
||||
void mousePressEvent(QMouseEvent *e);
|
||||
|
||||
const QString &getLastText() const;
|
||||
void updatePlaceholder();
|
||||
|
@ -62,6 +61,8 @@ public:
|
|||
|
||||
void insertFromMimeData(const QMimeData *source);
|
||||
|
||||
QMimeData *createMimeDataFromSelection() const;
|
||||
|
||||
public slots:
|
||||
|
||||
void onTouchTimer();
|
||||
|
@ -103,13 +104,13 @@ protected:
|
|||
return QTextEdit::leaveEvent(e);
|
||||
}
|
||||
|
||||
QVariant loadResource(int type, const QUrl &name);
|
||||
|
||||
private:
|
||||
|
||||
void getSingleEmojiFragment(QString &text, QTextFragment &fragment) const;
|
||||
void processDocumentContentsChange(int position, int charsAdded);
|
||||
|
||||
QMimeData *createMimeDataFromSelection() const;
|
||||
|
||||
QString _ph, _phelided, _oldtext;
|
||||
bool _phVisible;
|
||||
anim::ivalue a_phLeft;
|
||||
|
|
|
@ -29,6 +29,9 @@ struct StorageImageLocation {
|
|||
}
|
||||
StorageImageLocation(int32 width, int32 height, const MTPDfileLocation &location) : width(width), height(height), dc(location.vdc_id.v), volume(location.vvolume_id.v), local(location.vlocal_id.v), secret(location.vsecret.v) {
|
||||
}
|
||||
bool isNull() const {
|
||||
return !dc;
|
||||
}
|
||||
int32 width, height;
|
||||
int32 dc;
|
||||
uint64 volume;
|
||||
|
@ -36,6 +39,13 @@ struct StorageImageLocation {
|
|||
uint64 secret;
|
||||
};
|
||||
|
||||
inline bool operator==(const StorageImageLocation &a, const StorageImageLocation &b) {
|
||||
return !memcmp(&a, &b, sizeof(StorageImageLocation));
|
||||
}
|
||||
inline bool operator!=(const StorageImageLocation &a, const StorageImageLocation &b) {
|
||||
return !(a == b);
|
||||
}
|
||||
|
||||
class Image {
|
||||
public:
|
||||
|
||||
|
@ -144,6 +154,10 @@ inline StorageKey storageKey(int32 dc, const uint64 &volume, int32 local) {
|
|||
inline StorageKey storageKey(const MTPDfileLocation &location) {
|
||||
return storageKey(location.vdc_id.v, location.vvolume_id.v, location.vlocal_id.v);
|
||||
}
|
||||
inline StorageKey storageKey(const StorageImageLocation &location) {
|
||||
return storageKey(location.dc, location.volume, location.local);
|
||||
}
|
||||
|
||||
enum StorageFileType {
|
||||
StorageFileUnknown = 0xaa963b05, // mtpc_storage_fileUnknown
|
||||
StorageFileJpeg = 0x7efe0e, // mtpc_storage_fileJpeg
|
||||
|
|
|
@ -19,8 +19,30 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
#include "style.h"
|
||||
|
||||
#include "gui/phoneinput.h"
|
||||
#include "numbers.h"
|
||||
#include "lang.h"
|
||||
|
||||
PhoneInput::PhoneInput(QWidget *parent, const style::flatInput &st, const QString &ph) : FlatInput(parent, st, ph) {
|
||||
PhoneInput::PhoneInput(QWidget *parent, const style::flatInput &st) : FlatInput(parent, st, lang(lng_phone_ph)) {
|
||||
}
|
||||
|
||||
void PhoneInput::paintEvent(QPaintEvent *e) {
|
||||
FlatInput::paintEvent(e);
|
||||
|
||||
Painter p(this);
|
||||
QString t(text());
|
||||
if (!pattern.isEmpty() && !t.isEmpty()) {
|
||||
QString ph = placeholder().mid(t.size());
|
||||
if (!ph.isEmpty()) {
|
||||
p.setClipRect(rect());
|
||||
QRect phRect(placeholderRect());
|
||||
int tw = phFont()->m.width(t);
|
||||
if (tw < phRect.width()) {
|
||||
phRect.setLeft(phRect.left() + tw);
|
||||
phPrepare(p);
|
||||
p.drawText(phRect, ph, style::al_left);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void PhoneInput::correctValue(QKeyEvent *e, const QString &was) {
|
||||
|
@ -36,34 +58,58 @@ void PhoneInput::correctValue(QKeyEvent *e, const QString &was) {
|
|||
}
|
||||
}
|
||||
if (digitCount > MaxPhoneTailLength) digitCount = MaxPhoneTailLength;
|
||||
bool strict = (digitCount == MaxPhoneTailLength);
|
||||
|
||||
bool inPart = !pattern.isEmpty();
|
||||
int curPart = -1, leftInPart = 0;
|
||||
newText.reserve(oldLen);
|
||||
for (int i = 0; i < oldLen; ++i) {
|
||||
if (i == oldPos && newPos < 0) {
|
||||
newPos = newText.length();
|
||||
}
|
||||
|
||||
QChar ch(oldText[i]);
|
||||
if (ch.isDigit()) {
|
||||
if (!digitCount--) {
|
||||
break;
|
||||
}
|
||||
newText += ch;
|
||||
if (strict && !digitCount) {
|
||||
break;
|
||||
if (inPart) {
|
||||
if (leftInPart) {
|
||||
--leftInPart;
|
||||
} else {
|
||||
newText += ' ';
|
||||
++curPart;
|
||||
inPart = curPart < pattern.size();
|
||||
leftInPart = inPart ? (pattern.at(curPart) - 1) : 0;
|
||||
|
||||
++oldPos;
|
||||
}
|
||||
}
|
||||
} else if (ch == ' ' || ch == '-' || ch == '(' || ch == ')') {
|
||||
newText += ch;
|
||||
}
|
||||
if (i == oldPos) {
|
||||
newPos = newText.length();
|
||||
} else if (ch == ' ' || ch == '-' || ch == '(' || ch == ')') {
|
||||
if (inPart) {
|
||||
if (leftInPart) {
|
||||
} else {
|
||||
newText += ch;
|
||||
++curPart;
|
||||
inPart = curPart < pattern.size();
|
||||
leftInPart = inPart ? pattern.at(curPart) : 0;
|
||||
}
|
||||
} else {
|
||||
newText += ch;
|
||||
}
|
||||
}
|
||||
}
|
||||
int32 newlen = newText.size();
|
||||
while (newlen > 0 && newText.at(newlen - 1).isSpace()) {
|
||||
--newlen;
|
||||
}
|
||||
if (newlen < newText.size()) newText = newText.mid(0, newlen);
|
||||
if (newPos < 0) {
|
||||
newPos = newText.length();
|
||||
}
|
||||
if (newText != oldText) {
|
||||
setText(newText);
|
||||
if (newPos != oldPos) {
|
||||
setCursorPosition(newPos);
|
||||
}
|
||||
setCursorPosition(newPos);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -76,6 +122,29 @@ void PhoneInput::addedToNumber(const QString &added) {
|
|||
updatePlaceholder();
|
||||
}
|
||||
|
||||
void PhoneInput::onChooseCode(const QString &code) {
|
||||
pattern = phoneNumberParse(code);
|
||||
if (!pattern.isEmpty() && pattern.at(0) == code.size()) {
|
||||
pattern.pop_front();
|
||||
} else {
|
||||
pattern.clear();
|
||||
}
|
||||
if (pattern.isEmpty()) {
|
||||
setPlaceholder(lang(lng_phone_ph));
|
||||
} else {
|
||||
QString ph;
|
||||
ph.reserve(20);
|
||||
for (int i = 0, l = pattern.size(); i < l; ++i) {
|
||||
ph.append(' ');
|
||||
ph.append(QString(QChar(0x2212)).repeated(pattern.at(i)));
|
||||
}
|
||||
setPlaceholder(ph);
|
||||
}
|
||||
correctValue(0, text());
|
||||
setPlaceholderFast(!pattern.isEmpty());
|
||||
updatePlaceholder();
|
||||
}
|
||||
|
||||
PortInput::PortInput(QWidget *parent, const style::flatInput &st, const QString &ph, const QString &val) : FlatInput(parent, st, ph, val) {
|
||||
correctValue(0, QString());
|
||||
}
|
||||
|
|
|
@ -24,11 +24,14 @@ class PhoneInput : public FlatInput {
|
|||
|
||||
public:
|
||||
|
||||
PhoneInput(QWidget *parent, const style::flatInput &st, const QString &ph);
|
||||
PhoneInput(QWidget *parent, const style::flatInput &st);
|
||||
|
||||
void paintEvent(QPaintEvent *e);
|
||||
|
||||
public slots:
|
||||
|
||||
void addedToNumber(const QString &added);
|
||||
void onChooseCode(const QString &code);
|
||||
|
||||
signals:
|
||||
|
||||
|
@ -38,6 +41,10 @@ protected:
|
|||
|
||||
void correctValue(QKeyEvent *e, const QString &was);
|
||||
|
||||
private:
|
||||
|
||||
QVector<int> pattern;
|
||||
|
||||
};
|
||||
|
||||
class PortInput : public FlatInput {
|
||||
|
|
|
@ -47,7 +47,7 @@ ScrollBar::ScrollBar(ScrollArea *parent, bool vert, const style::flatScroll *st)
|
|||
_hideTimer.setSingleShot(true);
|
||||
connect(&_hideTimer, SIGNAL(timeout()), this, SLOT(onHideTimer()));
|
||||
|
||||
connect(_connected, SIGNAL(valueChanged(int)), this, SLOT(updateBar()));
|
||||
connect(_connected, SIGNAL(valueChanged(int)), this, SLOT(onValueChanged()));
|
||||
connect(_connected, SIGNAL(rangeChanged(int, int)), this, SLOT(updateBar()));
|
||||
|
||||
updateBar();
|
||||
|
@ -57,6 +57,11 @@ void ScrollBar::recountSize() {
|
|||
setGeometry(_vertical ? QRect(rtl() ? 0 : (_area->width() - _st->width), _st->deltat, _st->width, _area->height() - _st->deltat - _st->deltab) : QRect(_st->deltat, _area->height() - _st->width, _area->width() - _st->deltat - _st->deltab, _st->width));
|
||||
}
|
||||
|
||||
void ScrollBar::onValueChanged() {
|
||||
_area->onScrolled();
|
||||
updateBar();
|
||||
}
|
||||
|
||||
void ScrollBar::updateBar(bool force) {
|
||||
QRect newBar;
|
||||
if (_connected->maximum() != _scrollMax) {
|
||||
|
@ -266,8 +271,6 @@ _touchScrollState(TouchScrollManual), _touchPrevPosValid(false), _touchWaitingAc
|
|||
_touchSpeedTime(0), _touchAccelerationTime(0), _touchTime(0), _widgetAcceptsTouch(false) {
|
||||
setLayoutDirection(cLangDir());
|
||||
|
||||
connect(horizontalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(onScrolled()));
|
||||
connect(verticalScrollBar(), SIGNAL(valueChanged(int)), this, SLOT(onScrolled()));
|
||||
connect(&vert, SIGNAL(topShadowVisibility(bool)), &topSh, SLOT(changeVisibility(bool)));
|
||||
connect(&vert, SIGNAL(bottomShadowVisibility(bool)), &bottomSh, SLOT(changeVisibility(bool)));
|
||||
vert.updateBar(true);
|
||||
|
@ -297,6 +300,8 @@ void ScrollArea::touchDeaccelerate(int32 elapsed) {
|
|||
}
|
||||
|
||||
void ScrollArea::onScrolled() {
|
||||
myEnsureResized(widget());
|
||||
|
||||
bool em = false;
|
||||
int32 horValue = horizontalScrollBar()->value(), vertValue = verticalScrollBar()->value();
|
||||
if (_horValue != horValue) {
|
||||
|
@ -325,27 +330,29 @@ void ScrollArea::onScrolled() {
|
|||
}
|
||||
|
||||
int ScrollArea::scrollWidth() const {
|
||||
return scrollLeftMax() + width();
|
||||
QWidget *w(widget());
|
||||
return w ? qMax(w->width(), width()) : width();
|
||||
}
|
||||
|
||||
int ScrollArea::scrollHeight() const {
|
||||
return scrollTopMax() + height();
|
||||
QWidget *w(widget());
|
||||
return w ? qMax(w->height(), height()) : height();
|
||||
}
|
||||
|
||||
int ScrollArea::scrollLeftMax() const {
|
||||
return horizontalScrollBar()->maximum();
|
||||
return scrollWidth() - width();
|
||||
}
|
||||
|
||||
int ScrollArea::scrollTopMax() const {
|
||||
return verticalScrollBar()->maximum();
|
||||
return scrollHeight() - height();
|
||||
}
|
||||
|
||||
int ScrollArea::scrollLeft() const {
|
||||
return horizontalScrollBar()->value();
|
||||
return _horValue;
|
||||
}
|
||||
|
||||
int ScrollArea::scrollTop() const {
|
||||
return verticalScrollBar()->value();
|
||||
return _vertValue;
|
||||
}
|
||||
|
||||
void ScrollArea::onTouchTimer() {
|
||||
|
@ -612,6 +619,8 @@ void ScrollArea::leaveEvent(QEvent *e) {
|
|||
}
|
||||
|
||||
void ScrollArea::scrollToY(int toTop, int toBottom) {
|
||||
myEnsureResized(widget());
|
||||
|
||||
int toMin = 0, toMax = scrollTopMax();
|
||||
if (toTop < toMin) {
|
||||
toTop = toMin;
|
||||
|
|
|
@ -70,6 +70,7 @@ public:
|
|||
|
||||
public slots:
|
||||
|
||||
void onValueChanged();
|
||||
void updateBar(bool force = false);
|
||||
void onHideTimer();
|
||||
|
||||
|
|
|
@ -26,8 +26,17 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
#include <QtGui/QCursor>
|
||||
#include <QtGui/QFont>
|
||||
|
||||
inline QPoint rtlpoint(int x, int y, int outerw) {
|
||||
return QPoint(rtl() ? (outerw - x) : x, y);
|
||||
}
|
||||
inline QPoint rtlpoint(const QPoint &p, int outerw) {
|
||||
return rtl() ? QPoint(outerw - p.x(), p.y()) : p;
|
||||
}
|
||||
inline QRect rtlrect(int x, int y, int w, int h, int outerw) {
|
||||
return rtl() ? QRect(outerw - x - w, y, w, h) : QRect(x, y, w, h);
|
||||
return QRect(rtl() ? (outerw - x - w) : x, y, w, h);
|
||||
}
|
||||
inline QRect rtlrect(const QRect &r, int outerw) {
|
||||
return rtl() ? QRect(outerw - r.x() - r.width(), r.y(), r.width(), r.height()) : r;
|
||||
}
|
||||
inline QRect centerrect(const QRect &inRect, const QRect &rect) {
|
||||
return QRect(inRect.x() + (inRect.width() - rect.width()) / 2, inRect.y() + (inRect.height() - rect.height()) / 2, rect.width(), rect.height());
|
||||
|
|
|
@ -24,7 +24,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
namespace {
|
||||
|
||||
const QRegularExpression _reDomain(QString::fromUtf8("(?<![\\w\\$\\-\\_%=\\.])(?:([a-zA-Z]+)://)?((?:[A-Za-zА-яА-ЯёЁ0-9\\-\\_]+\\.){1,5}([A-Za-zрф\\-\\d]{2,22})(\\:\\d+)?)"), QRegularExpression::UseUnicodePropertiesOption);
|
||||
const QRegularExpression _reDomain(QString::fromUtf8("(?<![\\w\\$\\-\\_%=\\.])(?:([a-zA-Z]+)://)?((?:[A-Za-zА-яА-ЯёЁ0-9\\-\\_]+\\.){1,10}([A-Za-zрф\\-\\d]{2,22})(\\:\\d+)?)"), QRegularExpression::UseUnicodePropertiesOption);
|
||||
const QRegularExpression _reExplicitDomain(QString::fromUtf8("(?<![\\w\\$\\-\\_%=\\.])(?:([a-zA-Z]+)://)((?:[A-Za-zА-яА-ЯёЁ0-9\\-\\_]+\\.){0,5}([A-Za-zрф\\-\\d]{2,22})(\\:\\d+)?)"), QRegularExpression::UseUnicodePropertiesOption);
|
||||
const QRegularExpression _reMailName(qsl("[a-zA-Z\\-_\\.0-9]{1,256}$"));
|
||||
const QRegularExpression _reMailStart(qsl("^[a-zA-Z\\-_\\.0-9]{1,256}\\@"));
|
||||
|
@ -863,7 +863,7 @@ public:
|
|||
}
|
||||
|
||||
void draw(int32 left, int32 top, int32 w, style::align align, int32 yFrom, int32 yTo, uint16 selectedFrom = 0, uint16 selectedTo = 0) {
|
||||
if (_t->_blocks.isEmpty()) return;
|
||||
if (_t->isEmpty()) return;
|
||||
|
||||
_blocksSize = _t->_blocks.size();
|
||||
if (!_textStyle) _initDefault();
|
||||
|
@ -1043,7 +1043,7 @@ public:
|
|||
}
|
||||
|
||||
void drawElided(int32 left, int32 top, int32 w, style::align align, int32 lines, int32 yFrom, int32 yTo, int32 removeFromEnd) {
|
||||
if (lines <= 0) return;
|
||||
if (lines <= 0 || _t->isNull()) return;
|
||||
|
||||
if (yTo < 0 || (lines - 1) * _t->_font->height < yTo) {
|
||||
yTo = lines * _t->_font->height;
|
||||
|
@ -1057,7 +1057,7 @@ public:
|
|||
_lnkX = x;
|
||||
_lnkY = y;
|
||||
_lnkResult = &_zeroLnk;
|
||||
if (_lnkX >= 0 && _lnkX < w && _lnkY >= 0) {
|
||||
if (!_t->isNull() && _lnkX >= 0 && _lnkX < w && _lnkY >= 0) {
|
||||
draw(0, 0, w, align, _lnkY, _lnkY + 1);
|
||||
}
|
||||
return *_lnkResult;
|
||||
|
@ -1067,7 +1067,7 @@ public:
|
|||
lnk = TextLinkPtr();
|
||||
inText = false;
|
||||
|
||||
if (x >= 0 && x < w && y >= 0) {
|
||||
if (!_t->isNull() && x >= 0 && x < w && y >= 0) {
|
||||
_lnkX = x;
|
||||
_lnkY = y;
|
||||
_lnkResult = &lnk;
|
||||
|
@ -1081,8 +1081,7 @@ public:
|
|||
symbol = 0;
|
||||
after = false;
|
||||
upon = false;
|
||||
|
||||
if (y >= 0) {
|
||||
if (!_t->isNull() && y >= 0) {
|
||||
_lnkX = x;
|
||||
_lnkY = y;
|
||||
_getSymbol = &symbol;
|
||||
|
@ -1615,25 +1614,36 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
style::font applyFlags(int32 flags, const style::font &f) {
|
||||
style::font result = f;
|
||||
if (flags & TextBlockBold) result = result->bold();
|
||||
if (flags & TextBlockItalic) result = result->italic();
|
||||
if (flags & TextBlockUnderline) result = result->underline();
|
||||
return result;
|
||||
}
|
||||
|
||||
void eSetFont(ITextBlock *block) {
|
||||
style::font newFont = _t->_font;
|
||||
int flags = block->flags();
|
||||
if (!flags && block->lnkIndex()) {
|
||||
if (flags) {
|
||||
newFont = applyFlags(flags, _t->_font);
|
||||
}
|
||||
if (block->lnkIndex()) {
|
||||
const TextLinkPtr &l(_t->_links.at(block->lnkIndex() - 1));
|
||||
if (l == _overLnk) {
|
||||
if (l == _downLnk || !_downLnk) {
|
||||
flags = _textStyle->lnkOverFlags->flags();
|
||||
if (_t->_font != _textStyle->lnkOverFlags) newFont = _textStyle->lnkOverFlags;
|
||||
} else {
|
||||
flags = _textStyle->lnkFlags->flags();
|
||||
if (_t->_font != _textStyle->lnkFlags) newFont = _textStyle->lnkFlags;
|
||||
}
|
||||
} else {
|
||||
flags = _textStyle->lnkFlags->flags();
|
||||
if (_t->_font != _textStyle->lnkFlags) newFont = _textStyle->lnkFlags;
|
||||
}
|
||||
}
|
||||
if (flags & TextBlockBold) newFont = newFont->bold();
|
||||
if (flags & TextBlockItalic) newFont = newFont->italic();
|
||||
if (flags & TextBlockUnderline) newFont = newFont->underline();
|
||||
if (newFont != _f) {
|
||||
if (newFont->family() == _t->_font->family()) {
|
||||
newFont = applyFlags(flags | newFont->flags(), _t->_font);
|
||||
}
|
||||
_f = newFont;
|
||||
_e->fnt = _f->f;
|
||||
_e->resetFontEngineCache();
|
||||
|
|
|
@ -259,13 +259,23 @@ public:
|
|||
virtual QString encoded() const {
|
||||
return QString();
|
||||
}
|
||||
virtual const QLatin1String &type() const = 0;
|
||||
virtual ~ITextLink() {
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
#define TEXT_LINK_CLASS(ClassName) public: \
|
||||
const QLatin1String &type() const { \
|
||||
static const QLatin1String _type(qstr(#ClassName)); \
|
||||
return _type; \
|
||||
}
|
||||
|
||||
typedef QSharedPointer<ITextLink> TextLinkPtr;
|
||||
|
||||
class TextLink : public ITextLink {
|
||||
TEXT_LINK_CLASS(TextLink)
|
||||
|
||||
public:
|
||||
|
||||
TextLink(const QString &url, bool fullDisplayed = true) : _url(url), _fullDisplayed(fullDisplayed) {
|
||||
|
@ -289,7 +299,7 @@ public:
|
|||
|
||||
QString encoded() const {
|
||||
QUrl u(_url), good(u.isValid() ? u.toEncoded() : QString());
|
||||
QString result(good.isValid() ? good.toEncoded() : _url);
|
||||
QString result(good.isValid() ? QString::fromUtf8(good.toEncoded()) : _url);
|
||||
|
||||
if (!QRegularExpression(qsl("^[a-zA-Z]+://")).match(result).hasMatch()) { // no protocol
|
||||
return qsl("http://") + result;
|
||||
|
@ -305,6 +315,8 @@ private:
|
|||
};
|
||||
|
||||
class EmailLink : public ITextLink {
|
||||
TEXT_LINK_CLASS(EmailLink)
|
||||
|
||||
public:
|
||||
|
||||
EmailLink(const QString &email) : _email(email) {
|
||||
|
@ -335,6 +347,8 @@ private:
|
|||
};
|
||||
|
||||
class MentionLink : public ITextLink {
|
||||
TEXT_LINK_CLASS(MentionLink)
|
||||
|
||||
public:
|
||||
|
||||
MentionLink(const QString &tag) : _tag(tag) {
|
||||
|
@ -361,6 +375,8 @@ private:
|
|||
};
|
||||
|
||||
class HashtagLink : public ITextLink {
|
||||
TEXT_LINK_CLASS(HashtagLink)
|
||||
|
||||
public:
|
||||
|
||||
HashtagLink(const QString &tag) : _tag(tag) {
|
||||
|
@ -387,6 +403,8 @@ private:
|
|||
};
|
||||
|
||||
class BotCommandLink : public ITextLink {
|
||||
TEXT_LINK_CLASS(BotCommandLink)
|
||||
|
||||
public:
|
||||
|
||||
BotCommandLink(const QString &cmd) : _cmd(cmd) {
|
||||
|
@ -485,6 +503,9 @@ public:
|
|||
bool isEmpty() const {
|
||||
return _text.isEmpty();
|
||||
}
|
||||
bool isNull() const {
|
||||
return !_font;
|
||||
}
|
||||
QString original(uint16 selectedFrom = 0, uint16 selectedTo = 0xFFFF, bool expandLinks = true) const;
|
||||
|
||||
bool lastDots(int32 dots, int32 maxdots = 3) { // hack for typing animation
|
||||
|
|
|
@ -34,12 +34,16 @@ namespace {
|
|||
}
|
||||
}
|
||||
|
||||
void myEnsureResized(QWidget *target) {
|
||||
if (target && (target->testAttribute(Qt::WA_PendingResizeEvent) || !target->testAttribute(Qt::WA_WState_Created))) {
|
||||
_sendResizeEvents(target);
|
||||
}
|
||||
}
|
||||
|
||||
QPixmap myGrab(QWidget *target, const QRect &rect) {
|
||||
if (!cRetina()) return target->grab(rect);
|
||||
|
||||
if (target->testAttribute(Qt::WA_PendingResizeEvent) || !target->testAttribute(Qt::WA_WState_Created)) {
|
||||
_sendResizeEvents(target);
|
||||
}
|
||||
|
||||
myEnsureResized(target);
|
||||
|
||||
qreal dpr = App::app()->devicePixelRatio();
|
||||
QPixmap result(rect.size() * dpr);
|
||||
|
|
|
@ -17,20 +17,6 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
*/
|
||||
#pragma once
|
||||
|
||||
class Widget : public QWidget {
|
||||
public:
|
||||
|
||||
Widget(QWidget *parent = 0) : QWidget(parent) {
|
||||
}
|
||||
void moveToLeft(int x, int y, int outerw) {
|
||||
move(rtl() ? (outerw - x - width()) : x, y);
|
||||
}
|
||||
void moveToRight(int x, int y, int outerw) {
|
||||
move(rtl() ? x : (outerw - x - width()), y);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
namespace App {
|
||||
const QPixmap &sprite();
|
||||
}
|
||||
|
@ -119,14 +105,20 @@ public:
|
|||
void drawSpriteCenter(const QRect &in, const style::sprite &sprite) {
|
||||
return drawPixmap(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), App::sprite(), sprite);
|
||||
}
|
||||
void drawSpriteCenterLeft(const QRect &in, int outerw, const style::sprite &sprite) {
|
||||
return drawPixmapLeft(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), outerw, App::sprite(), sprite);
|
||||
}
|
||||
void drawSpriteCenterRight(const QRect &in, int outerw, const style::sprite &sprite) {
|
||||
return drawPixmapRight(QPoint(in.x() + (in.width() - sprite.pxWidth()) / 2, in.y() + (in.height() - sprite.pxHeight()) / 2), outerw, App::sprite(), sprite);
|
||||
}
|
||||
};
|
||||
|
||||
class TWidget : public Widget {
|
||||
class TWidget : public QWidget {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
TWidget(QWidget *parent = 0) : Widget(parent) {
|
||||
TWidget(QWidget *parent = 0) : QWidget(parent) {
|
||||
}
|
||||
TWidget *tparent() {
|
||||
return qobject_cast<TWidget*>(parentWidget());
|
||||
|
@ -140,6 +132,27 @@ public:
|
|||
virtual void enterFromChildEvent(QEvent *e) { // e -- from leaveEvent() of child TWidget
|
||||
}
|
||||
|
||||
void moveToLeft(int x, int y, int outerw) {
|
||||
move(rtl() ? (outerw - x - width()) : x, y);
|
||||
}
|
||||
void moveToRight(int x, int y, int outerw) {
|
||||
move(rtl() ? x : (outerw - x - width()), y);
|
||||
}
|
||||
QPoint myrtlpoint(int x, int y) const {
|
||||
return rtlpoint(x, y, width());
|
||||
}
|
||||
QPoint myrtlpoint(const QPoint p) const {
|
||||
return rtlpoint(p, width());
|
||||
}
|
||||
QRect myrtlrect(int x, int y, int w, int h) const {
|
||||
return rtlrect(x, y, w, h, width());
|
||||
}
|
||||
QRect myrtlrect(const QRect &r) {
|
||||
return rtlrect(r, width());
|
||||
}
|
||||
void rtlupdate(const QRect &r) {
|
||||
update(myrtlrect(r));
|
||||
}
|
||||
bool event(QEvent *e) {
|
||||
return QWidget::event(e);
|
||||
}
|
||||
|
@ -149,16 +162,17 @@ protected:
|
|||
void enterEvent(QEvent *e) {
|
||||
TWidget *p(tparent());
|
||||
if (p) p->leaveToChildEvent(e);
|
||||
return Widget::enterEvent(e);
|
||||
return QWidget::enterEvent(e);
|
||||
}
|
||||
void leaveEvent(QEvent *e) {
|
||||
TWidget *p(tparent());
|
||||
if (p) p->enterFromChildEvent(e);
|
||||
return Widget::leaveEvent(e);
|
||||
return QWidget::leaveEvent(e);
|
||||
}
|
||||
|
||||
private:
|
||||
|
||||
};
|
||||
|
||||
void myEnsureResized(QWidget *target);
|
||||
QPixmap myGrab(QWidget *target, const QRect &rect);
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -41,7 +41,7 @@ struct Histories : public QHash<PeerId, History*>, public Animated {
|
|||
Histories() : unreadFull(0), unreadMuted(0) {
|
||||
}
|
||||
|
||||
void regTyping(History *history, UserData *user);
|
||||
void regSendAction(History *history, UserData *user, const MTPSendMessageAction &action);
|
||||
bool animStep(float64 ms);
|
||||
|
||||
void clear();
|
||||
|
@ -106,6 +106,7 @@ enum MediaOverviewType {
|
|||
OverviewVideos,
|
||||
OverviewDocuments,
|
||||
OverviewAudios,
|
||||
OverviewAudioDocuments,
|
||||
|
||||
OverviewCount
|
||||
};
|
||||
|
@ -127,11 +128,31 @@ inline MTPMessagesFilter typeToMediaFilter(MediaOverviewType &type) {
|
|||
case OverviewVideos: return MTP_inputMessagesFilterVideo();
|
||||
case OverviewDocuments: return MTP_inputMessagesFilterDocument();
|
||||
case OverviewAudios: return MTP_inputMessagesFilterAudio();
|
||||
case OverviewAudioDocuments: return MTP_inputMessagesFilterAudioDocuments();
|
||||
default: type = OverviewCount; break;
|
||||
}
|
||||
return MTPMessagesFilter();
|
||||
}
|
||||
|
||||
enum SendActionType {
|
||||
SendActionTyping,
|
||||
SendActionRecordVideo,
|
||||
SendActionUploadVideo,
|
||||
SendActionRecordAudio,
|
||||
SendActionUploadAudio,
|
||||
SendActionUploadPhoto,
|
||||
SendActionUploadFile,
|
||||
SendActionChooseLocation,
|
||||
SendActionChooseContact,
|
||||
};
|
||||
struct SendAction {
|
||||
SendAction(SendActionType type, uint64 until, int32 progress = 0) : type(type), until(until), progress(progress) {
|
||||
}
|
||||
SendActionType type;
|
||||
uint64 until;
|
||||
int32 progress;
|
||||
};
|
||||
|
||||
class HistoryMedia;
|
||||
class HistoryMessage;
|
||||
class HistoryUnreadBar;
|
||||
|
@ -178,15 +199,14 @@ struct History : public QList<HistoryBlock*> {
|
|||
void addUnreadBar();
|
||||
void clearNotifications();
|
||||
|
||||
bool readyForWork() const; // all unread loaded or loaded around activeMsgId
|
||||
bool loadedAtBottom() const; // last message is in the list
|
||||
bool loadedAtTop() const; // nothing was added after loading history back
|
||||
bool isReadyFor(MsgId msgId, bool check = false) const; // has messages for showing history at msgId
|
||||
void getReadyFor(MsgId msgId);
|
||||
|
||||
void setLastMessage(HistoryItem *msg);
|
||||
void fixLastMessage(bool wasAtBottom);
|
||||
|
||||
void loadAround(MsgId msgId);
|
||||
bool canShowAround(MsgId msgId) const;
|
||||
|
||||
MsgId minMsgId() const;
|
||||
MsgId maxMsgId() const;
|
||||
|
||||
|
@ -199,7 +219,7 @@ struct History : public QList<HistoryBlock*> {
|
|||
PeerData *peer;
|
||||
bool oldLoaded, newLoaded;
|
||||
HistoryItem *lastMsg;
|
||||
MsgId activeMsgId;
|
||||
QDateTime lastMsgDate;
|
||||
|
||||
typedef QList<HistoryItem*> NotifyQueue;
|
||||
NotifyQueue notifies;
|
||||
|
@ -249,11 +269,13 @@ struct History : public QList<HistoryBlock*> {
|
|||
MessageCursor draftCursor;
|
||||
bool draftPreviewCancelled;
|
||||
int32 lastWidth, lastScrollTop;
|
||||
MsgId lastShowAtMsgId;
|
||||
bool mute;
|
||||
|
||||
bool lastKeyboardInited, lastKeyboardUsed;
|
||||
MsgId lastKeyboardId;
|
||||
PeerId lastKeyboardFrom;
|
||||
void clearLastKeyboard();
|
||||
|
||||
mtpRequestId sendRequestId;
|
||||
|
||||
|
@ -272,11 +294,13 @@ struct History : public QList<HistoryBlock*> {
|
|||
|
||||
typedef QMap<UserData*, uint64> TypingUsers;
|
||||
TypingUsers typing;
|
||||
typedef QMap<UserData*, SendAction> SendActionUsers;
|
||||
SendActionUsers sendActions;
|
||||
QString typingStr;
|
||||
Text typingText;
|
||||
uint32 typingFrame;
|
||||
bool updateTyping(uint64 ms = 0, uint32 dots = 0, bool force = false);
|
||||
uint64 myTyping;
|
||||
QMap<SendActionType, uint64> mySendActions;
|
||||
|
||||
typedef QList<MsgId> MediaOverview;
|
||||
typedef QMap<MsgId, NullType> MediaOverviewIds;
|
||||
|
@ -285,6 +309,8 @@ struct History : public QList<HistoryBlock*> {
|
|||
MediaOverviewIds _overviewIds[OverviewCount];
|
||||
int32 _overviewCount[OverviewCount]; // -1 - not loaded, 0 - all loaded, > 0 - count, but not all loaded
|
||||
|
||||
void eraseFromOverview(MediaOverviewType type, MsgId msgId);
|
||||
|
||||
static const int32 ScrollMax = INT_MAX;
|
||||
};
|
||||
|
||||
|
@ -422,11 +448,11 @@ struct DialogsList {
|
|||
|
||||
DialogRow *row = addToEnd(history), *change = row;
|
||||
const QString &peerName(history->peer->name);
|
||||
while (change->prev && change->prev->history->peer->name > peerName) {
|
||||
while (change->prev && change->prev->history->peer->name.compare(peerName, Qt::CaseInsensitive) > 0) {
|
||||
change = change->prev;
|
||||
}
|
||||
if (!insertBefore(row, change)) {
|
||||
while (change->next != end && change->next->history->peer->name < peerName) {
|
||||
while (change->next != end && change->next->history->peer->name.compare(peerName, Qt::CaseInsensitive) < 0) {
|
||||
change = change->next;
|
||||
}
|
||||
insertAfter(row, change);
|
||||
|
@ -635,6 +661,12 @@ class HistoryReply; // dynamic_cast optimize
|
|||
class HistoryMessage; // dynamic_cast optimize
|
||||
class HistoryForwarded; // dynamic_cast optimize
|
||||
|
||||
enum HistoryCursorState {
|
||||
HistoryDefaultCursorState,
|
||||
HistoryInTextCursorState,
|
||||
HistoryInDateCursorState
|
||||
};
|
||||
|
||||
class HistoryMedia;
|
||||
class HistoryItem : public HistoryElem {
|
||||
public:
|
||||
|
@ -697,9 +729,9 @@ public:
|
|||
virtual bool hasPoint(int32 x, int32 y) const {
|
||||
return false;
|
||||
}
|
||||
virtual void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y) const {
|
||||
virtual void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y) const {
|
||||
lnk = TextLinkPtr();
|
||||
inText = false;
|
||||
state = HistoryDefaultCursorState;
|
||||
}
|
||||
virtual void getSymbol(uint16 &symbol, bool &after, bool &upon, int32 x, int32 y) const { // from text
|
||||
upon = hasPoint(x, y);
|
||||
|
@ -717,8 +749,6 @@ public:
|
|||
}
|
||||
virtual void updateMedia(const MTPMessageMedia &media) {
|
||||
}
|
||||
virtual void updateStickerEmoji() {
|
||||
}
|
||||
|
||||
virtual QString selectedText(uint32 selection) const {
|
||||
return qsl("[-]");
|
||||
|
@ -787,6 +817,8 @@ protected:
|
|||
};
|
||||
|
||||
class MessageLink : public ITextLink {
|
||||
TEXT_LINK_CLASS(MessageLink)
|
||||
|
||||
public:
|
||||
MessageLink(PeerId peer, MsgId msgid) : _peer(peer), _msgid(msgid) {
|
||||
}
|
||||
|
@ -827,7 +859,7 @@ public:
|
|||
w = qMin(width, _maxw);
|
||||
return _height;
|
||||
}
|
||||
virtual void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const = 0;
|
||||
virtual void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const = 0;
|
||||
virtual void draw(QPainter &p, const HistoryItem *parent, bool selected, int32 width = -1) const = 0;
|
||||
virtual bool uploading() const {
|
||||
return false;
|
||||
|
@ -847,10 +879,6 @@ public:
|
|||
return false;
|
||||
}
|
||||
|
||||
virtual bool updateStickerEmoji() {
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual bool animating() const {
|
||||
return false;
|
||||
}
|
||||
|
@ -890,7 +918,7 @@ public:
|
|||
const QString inHistoryText() const;
|
||||
const Text &captionForClone() const;
|
||||
bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
HistoryMedia *clone() const;
|
||||
|
||||
PhotoData *photo() const {
|
||||
|
@ -922,6 +950,7 @@ private:
|
|||
};
|
||||
|
||||
QString formatSizeText(qint64 size);
|
||||
QString formatDownloadText(qint64 ready, qint64 total);
|
||||
QString formatDurationText(qint64 duration);
|
||||
|
||||
class HistoryVideo : public HistoryMedia {
|
||||
|
@ -938,7 +967,8 @@ public:
|
|||
const QString inDialogsText() const;
|
||||
const QString inHistoryText() const;
|
||||
bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
int32 countHeight(const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
bool uploading() const {
|
||||
return (data->status == FileUploading);
|
||||
}
|
||||
|
@ -978,7 +1008,7 @@ public:
|
|||
const QString inDialogsText() const;
|
||||
const QString inHistoryText() const;
|
||||
bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
bool uploading() const {
|
||||
return (data->status == FileUploading);
|
||||
}
|
||||
|
@ -1021,7 +1051,7 @@ public:
|
|||
bool uploading() const {
|
||||
return (data->status == FileUploading);
|
||||
}
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
HistoryMedia *clone() const;
|
||||
|
||||
DocumentData *document() {
|
||||
|
@ -1038,6 +1068,9 @@ public:
|
|||
}
|
||||
ImagePtr replyPreview();
|
||||
|
||||
void drawInPlaylist(QPainter &p, const HistoryItem *parent, bool selected, bool over, int32 width) const;
|
||||
TextLinkPtr linkInPlaylist();
|
||||
|
||||
private:
|
||||
|
||||
DocumentData *data;
|
||||
|
@ -1066,7 +1099,7 @@ public:
|
|||
const QString inHistoryText() const;
|
||||
bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
int32 countHeight(const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
HistoryMedia *clone() const;
|
||||
|
||||
DocumentData *document() {
|
||||
|
@ -1077,7 +1110,6 @@ public:
|
|||
void unregItem(HistoryItem *item);
|
||||
|
||||
void updateFrom(const MTPMessageMedia &media);
|
||||
bool updateStickerEmoji();
|
||||
|
||||
private:
|
||||
|
||||
|
@ -1101,7 +1133,7 @@ public:
|
|||
const QString inDialogsText() const;
|
||||
const QString inHistoryText() const;
|
||||
bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const HistoryItem *parent, int32 width) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width) const;
|
||||
HistoryMedia *clone() const;
|
||||
|
||||
void updateFrom(const MTPMessageMedia &media);
|
||||
|
@ -1131,7 +1163,7 @@ public:
|
|||
const QString inDialogsText() const;
|
||||
const QString inHistoryText() const;
|
||||
bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
HistoryMedia *clone() const;
|
||||
|
||||
void regItem(HistoryItem *item);
|
||||
|
@ -1224,7 +1256,7 @@ public:
|
|||
const QString inDialogsText() const;
|
||||
const QString inHistoryText() const;
|
||||
bool hasPoint(int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const HistoryItem *parent, int32 width = -1) const;
|
||||
HistoryMedia *clone() const;
|
||||
|
||||
bool isImageLink() const {
|
||||
|
@ -1266,8 +1298,8 @@ public:
|
|||
int32 resize(int32 width, bool dontRecountText = false, const HistoryItem *parent = 0);
|
||||
bool hasPoint(int32 x, int32 y) const;
|
||||
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y) const;
|
||||
virtual void getStateFromMessageText(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const QRect &r) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y) const;
|
||||
virtual void getStateFromMessageText(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const QRect &r) const;
|
||||
|
||||
void getSymbol(uint16 &symbol, bool &after, bool &upon, int32 x, int32 y) const;
|
||||
uint32 adjustSelection(uint16 from, uint16 to, TextSelectType type) const {
|
||||
|
@ -1283,7 +1315,6 @@ public:
|
|||
_media->updateFrom(media);
|
||||
}
|
||||
}
|
||||
void updateStickerEmoji();
|
||||
|
||||
QString selectedText(uint32 selection) const;
|
||||
QString inDialogsText() const;
|
||||
|
@ -1342,9 +1373,9 @@ public:
|
|||
void drawMessageText(QPainter &p, const QRect &trect, uint32 selection) const;
|
||||
int32 resize(int32 width, bool dontRecountText = false, const HistoryItem *parent = 0);
|
||||
bool hasPoint(int32 x, int32 y) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y) const;
|
||||
void getStateFromMessageText(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const QRect &r) const;
|
||||
void getForwardedState(TextLinkPtr &lnk, bool &inText, int32 x, int32 w) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y) const;
|
||||
void getStateFromMessageText(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const QRect &r) const;
|
||||
void getForwardedState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 w) const;
|
||||
void getSymbol(uint16 &symbol, bool &after, bool &upon, int32 x, int32 y) const;
|
||||
|
||||
QDateTime dateForwarded() const {
|
||||
|
@ -1395,8 +1426,8 @@ public:
|
|||
void drawMessageText(QPainter &p, const QRect &trect, uint32 selection) const;
|
||||
int32 resize(int32 width, bool dontRecountText = false, const HistoryItem *parent = 0);
|
||||
bool hasPoint(int32 x, int32 y) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y) const;
|
||||
void getStateFromMessageText(TextLinkPtr &lnk, bool &inText, int32 x, int32 y, const QRect &r) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y) const;
|
||||
void getStateFromMessageText(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y, const QRect &r) const;
|
||||
void getSymbol(uint16 &symbol, bool &after, bool &upon, int32 x, int32 y) const;
|
||||
|
||||
UserData *replyTo() const {
|
||||
|
@ -1429,14 +1460,14 @@ class HistoryServiceMsg : public HistoryItem {
|
|||
public:
|
||||
|
||||
HistoryServiceMsg(History *history, HistoryBlock *block, const MTPDmessageService &msg);
|
||||
HistoryServiceMsg(History *history, HistoryBlock *block, MsgId msgId, QDateTime date, const QString &msg, int32 flags = 0, HistoryMedia *media = 0);
|
||||
HistoryServiceMsg(History *history, HistoryBlock *block, MsgId msgId, QDateTime date, const QString &msg, int32 flags = 0, HistoryMedia *media = 0, int32 from = 0);
|
||||
|
||||
void initDimensions(const HistoryItem *parent = 0);
|
||||
|
||||
void draw(QPainter &p, uint32 selection) const;
|
||||
int32 resize(int32 width, bool dontRecountText = false, const HistoryItem *parent = 0);
|
||||
bool hasPoint(int32 x, int32 y) const;
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y) const;
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y) const;
|
||||
void getSymbol(uint16 &symbol, bool &after, bool &upon, int32 x, int32 y) const;
|
||||
uint32 adjustSelection(uint16 from, uint16 to, TextSelectType type) const {
|
||||
return _text.adjustSelection(from, to, type);
|
||||
|
@ -1477,9 +1508,9 @@ class HistoryDateMsg : public HistoryServiceMsg {
|
|||
public:
|
||||
|
||||
HistoryDateMsg(History *history, HistoryBlock *block, const QDate &date);
|
||||
void getState(TextLinkPtr &lnk, bool &inText, int32 x, int32 y) const {
|
||||
void getState(TextLinkPtr &lnk, HistoryCursorState &state, int32 x, int32 y) const {
|
||||
lnk = TextLinkPtr();
|
||||
inText = false;
|
||||
state = HistoryDefaultCursorState;
|
||||
}
|
||||
void getSymbol(uint16 &symbol, bool &after, bool &upon, int32 x, int32 y) const {
|
||||
symbol = 0xFFFF;
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -81,6 +81,9 @@ public:
|
|||
|
||||
void updateBotInfo(bool recount = true);
|
||||
|
||||
bool wasSelectedText() const;
|
||||
void setFirstLoading(bool loading);
|
||||
|
||||
~HistoryList();
|
||||
|
||||
public slots:
|
||||
|
@ -104,6 +107,7 @@ public slots:
|
|||
void onMenuDestroy(QObject *obj);
|
||||
void onTouchSelect();
|
||||
void onTouchScrollTimer();
|
||||
void onDragExec();
|
||||
|
||||
private:
|
||||
|
||||
|
@ -115,7 +119,6 @@ private:
|
|||
HistoryItem *prevItem(HistoryItem *item);
|
||||
HistoryItem *nextItem(HistoryItem *item);
|
||||
void updateDragSelection(HistoryItem *dragSelFrom, HistoryItem *dragSelTo, bool dragSelecting, bool force = false);
|
||||
void applyDragSelection();
|
||||
|
||||
History *hist;
|
||||
|
||||
|
@ -128,11 +131,16 @@ private:
|
|||
ScrollArea *scrollArea;
|
||||
int32 currentBlock, currentItem;
|
||||
|
||||
bool _firstLoading;
|
||||
|
||||
QTimer linkTipTimer;
|
||||
|
||||
Qt::CursorShape _cursor;
|
||||
typedef QMap<HistoryItem*, uint32> SelectedItems;
|
||||
SelectedItems _selected;
|
||||
void applyDragSelection();
|
||||
void applyDragSelection(SelectedItems *toItems) const;
|
||||
|
||||
enum DragAction {
|
||||
NoDrag = 0x00,
|
||||
PrepareDrag = 0x01,
|
||||
|
@ -144,6 +152,7 @@ private:
|
|||
TextSelectType _dragSelType;
|
||||
QPoint _dragStartPos, _dragPos;
|
||||
HistoryItem *_dragItem;
|
||||
HistoryCursorState _dragCursorState;
|
||||
uint16 _dragSymbol;
|
||||
bool _dragWasInactive;
|
||||
|
||||
|
@ -154,6 +163,7 @@ private:
|
|||
|
||||
HistoryItem *_dragSelFrom, *_dragSelTo;
|
||||
bool _dragSelecting;
|
||||
bool _wasSelectedText; // was some text selected in current drag action
|
||||
|
||||
bool _touchScroll, _touchSelect, _touchInProgress;
|
||||
QPoint _touchStart, _touchPrevPos, _touchPos;
|
||||
|
@ -214,6 +224,7 @@ public:
|
|||
|
||||
bool updateMarkup(HistoryItem *last);
|
||||
bool hasMarkup() const;
|
||||
bool forceReply() const;
|
||||
|
||||
bool hoverStep(float64 ms);
|
||||
void resizeToWidth(int32 width, int32 maxOuterHeight);
|
||||
|
@ -237,7 +248,7 @@ private:
|
|||
|
||||
MsgId _wasForMsgId;
|
||||
int32 _height, _maxOuterHeight;
|
||||
bool _maximizeSize, _singleUse;
|
||||
bool _maximizeSize, _singleUse, _forceReply;
|
||||
QTimer _cmdTipTimer;
|
||||
|
||||
QPoint _lastMousePos;
|
||||
|
@ -335,6 +346,7 @@ public:
|
|||
void start();
|
||||
|
||||
void messagesReceived(const MTPmessages_Messages &messages, mtpRequestId requestId);
|
||||
void historyLoaded();
|
||||
|
||||
void windowShown();
|
||||
bool isActive() const;
|
||||
|
@ -361,7 +373,8 @@ public:
|
|||
|
||||
void loadMessages();
|
||||
void loadMessagesDown();
|
||||
void loadMessagesAround();
|
||||
void firstLoadMessages();
|
||||
void delayedShowAt(MsgId showAtMsgId);
|
||||
void peerMessagesUpdated(PeerId peer);
|
||||
void peerMessagesUpdated();
|
||||
|
||||
|
@ -373,10 +386,12 @@ public:
|
|||
|
||||
QRect historyRect() const;
|
||||
|
||||
void updateTyping(bool typing = true);
|
||||
void updateSendAction(History *history, SendActionType type, int32 progress = 0);
|
||||
void cancelSendAction(History *history, SendActionType type);
|
||||
|
||||
void updateRecentStickers();
|
||||
void stickersInstalled(uint64 setId);
|
||||
void typingDone(const MTPBool &result, mtpRequestId req);
|
||||
void sendActionDone(const MTPBool &result, mtpRequestId req);
|
||||
|
||||
void destroyData();
|
||||
void uploadImage(const QImage &img, bool withText = false, const QString &source = QString());
|
||||
|
@ -389,7 +404,6 @@ public:
|
|||
void confirmSendImage(const ReadyLocalMedia &img);
|
||||
void cancelSendImage();
|
||||
|
||||
void checkUnreadLoaded(bool checkOnlyShow = false);
|
||||
void updateControlsVisibility();
|
||||
void updateOnlineDisplay(int32 x, int32 w);
|
||||
void updateOnlineDisplayTimer();
|
||||
|
@ -400,14 +414,12 @@ public:
|
|||
void shareContact(const PeerId &peer, const QString &phone, const QString &fname, const QString &lname, MsgId replyTo, int32 userId = 0);
|
||||
|
||||
PeerData *peer() const;
|
||||
PeerData *activePeer() const;
|
||||
MsgId activeMsgId() const;
|
||||
int32 lastWidth() const;
|
||||
int32 lastScrollTop() const;
|
||||
MsgId msgId() const;
|
||||
|
||||
void animShow(const QPixmap &bgAnimCache, const QPixmap &bgAnimTopBarCache, bool back = false);
|
||||
bool showStep(float64 ms);
|
||||
void animStop();
|
||||
void doneShow();
|
||||
|
||||
QPoint clampMousePosition(QPoint point);
|
||||
|
||||
|
@ -418,7 +430,7 @@ public:
|
|||
|
||||
QString prepareMessage(QString text);
|
||||
|
||||
uint64 animActiveTime() const;
|
||||
uint64 animActiveTime(MsgId id) const;
|
||||
void stopAnimActive();
|
||||
|
||||
void fillSelectedItems(SelectedItemSet &sel, bool forDelete = true);
|
||||
|
@ -430,7 +442,8 @@ public:
|
|||
|
||||
MsgId replyToId() const;
|
||||
void updateReplyTo(bool force = false);
|
||||
void cancelReply();
|
||||
bool lastForceReplyReplied(MsgId replyTo = -1) const;
|
||||
void cancelReply(bool lastKeyboardUsed = false);
|
||||
void updateForwarding(bool force = false);
|
||||
void cancelForwarding(); // called by MainWidget
|
||||
|
||||
|
@ -458,6 +471,13 @@ public:
|
|||
bool eventFilter(QObject *obj, QEvent *e);
|
||||
void updateBotKeyboard();
|
||||
|
||||
DragState getDragState(const QMimeData *d);
|
||||
|
||||
void fastShowAtEnd(History *h);
|
||||
void showPeerHistory(const PeerId &peer, MsgId showAtMsgId);
|
||||
void clearDelayedShowAt();
|
||||
void clearAllLoadRequests();
|
||||
|
||||
~HistoryWidget();
|
||||
|
||||
signals:
|
||||
|
@ -471,6 +491,8 @@ public slots:
|
|||
void onReplyToMessage();
|
||||
void onReplyForwardPreviewCancel();
|
||||
|
||||
void onCancelSendAction();
|
||||
|
||||
void onStickerPackInfo();
|
||||
|
||||
void onPreviewParse();
|
||||
|
@ -480,40 +502,44 @@ public slots:
|
|||
void peerUpdated(PeerData *data);
|
||||
void onFullPeerUpdated(PeerData *data);
|
||||
|
||||
void cancelTyping();
|
||||
|
||||
void onPhotoUploaded(MsgId msgId, const MTPInputFile &file);
|
||||
void onDocumentUploaded(MsgId msgId, const MTPInputFile &file);
|
||||
void onThumbDocumentUploaded(MsgId msgId, const MTPInputFile &file, const MTPInputFile &thumb);
|
||||
void onAudioUploaded(MsgId msgId, const MTPInputFile &file);
|
||||
|
||||
void onPhotoProgress(MsgId msgId);
|
||||
void onDocumentProgress(MsgId msgId);
|
||||
void onAudioProgress(MsgId msgId);
|
||||
|
||||
void onPhotoFailed(MsgId msgId);
|
||||
void onDocumentFailed(MsgId msgId);
|
||||
void onAudioFailed(MsgId msgId);
|
||||
|
||||
void onListScroll();
|
||||
void onHistoryToEnd();
|
||||
void onSend(bool ctrlShiftEnter = false, MsgId replyTo = -1);
|
||||
void onUnblock();
|
||||
void onBotStart();
|
||||
|
||||
void onPhotoSelect();
|
||||
void onDocumentSelect();
|
||||
void onPhotoDrop(QDropEvent *e);
|
||||
void onDocumentDrop(QDropEvent *e);
|
||||
void onPhotoDrop(const QMimeData *data);
|
||||
void onDocumentDrop(const QMimeData *data);
|
||||
void onFilesDrop(const QMimeData *data);
|
||||
|
||||
void onKbToggle(bool manual = true);
|
||||
void onCmdStart();
|
||||
|
||||
void onPhotoReady();
|
||||
void onSendConfirmed();
|
||||
void onSendCancelled();
|
||||
void onPhotoFailed(quint64 id);
|
||||
void showPeer(const PeerId &peer, MsgId msgId = 0, bool force = false, bool leaveActive = false);
|
||||
void clearLoadingAround();
|
||||
|
||||
void activate();
|
||||
void onMentionHashtagOrBotCommandInsert(QString str);
|
||||
void onTextChange();
|
||||
|
||||
void onFieldTabbed();
|
||||
void onStickerSend(DocumentData *sticker);
|
||||
|
||||
void onVisibleChanged();
|
||||
|
@ -539,6 +565,7 @@ public slots:
|
|||
void onDraftSave(bool delayed = false);
|
||||
|
||||
void updateStickers();
|
||||
void botCommandsChanged(UserData *user);
|
||||
|
||||
void onRecordError();
|
||||
void onRecordDone(QByteArray result, qint32 samples);
|
||||
|
@ -578,6 +605,11 @@ private:
|
|||
void addMessagesToFront(const QVector<MTPMessage> &messages);
|
||||
void addMessagesToBack(const QVector<MTPMessage> &messages);
|
||||
|
||||
void unblockDone(PeerData *peer, const MTPBool &result);
|
||||
bool unblockFail(const RPCError &error);
|
||||
|
||||
void countHistoryShowFrom();
|
||||
|
||||
void updateToEndVisibility();
|
||||
|
||||
void stickersGot(const MTPmessages_AllStickers &stickers);
|
||||
|
@ -589,32 +621,36 @@ private:
|
|||
void setFieldText(const QString &text);
|
||||
|
||||
QStringList getMediasFromMime(const QMimeData *d);
|
||||
DragState getDragState(const QMimeData *d);
|
||||
|
||||
void updateDragAreas();
|
||||
|
||||
bool _loadingMessages;
|
||||
int32 histRequestsCount;
|
||||
PeerData *histPeer;
|
||||
History *_activeHist;
|
||||
MTPinputPeer histInputPeer;
|
||||
mtpRequestId histPreloading, histPreloadingDown;
|
||||
QVector<MTPMessage> histPreload, histPreloadDown;
|
||||
PeerData *_peer;
|
||||
MsgId _showAtMsgId;
|
||||
|
||||
int32 _loadingAroundId;
|
||||
mtpRequestId _loadingAroundRequest;
|
||||
mtpRequestId _firstLoadRequest, _preloadRequest, _preloadDownRequest;
|
||||
|
||||
MsgId _delayedShowAtMsgId;
|
||||
mtpRequestId _delayedShowAtRequest;
|
||||
|
||||
MsgId _activeAnimMsgId;
|
||||
|
||||
ScrollArea _scroll;
|
||||
HistoryList *_list;
|
||||
History *hist;
|
||||
bool _histInited, _histNeedUpdate; // initial updateListSize() called
|
||||
History *_history;
|
||||
bool _histInited; // initial updateListSize() called
|
||||
|
||||
IconedButton _toHistoryEnd;
|
||||
|
||||
MentionsDropdown _attachMention;
|
||||
|
||||
FlatButton _send, _botStart;
|
||||
IconedButton _attachDocument, _attachPhoto, _attachEmoji, _kbShow, _kbHide;
|
||||
bool isBotStart() const;
|
||||
bool isBlocked() const;
|
||||
bool updateCmdStartShown();
|
||||
|
||||
FlatButton _send, _unblock, _botStart;
|
||||
mtpRequestId _unblockRequest;
|
||||
IconedButton _attachDocument, _attachPhoto, _attachEmoji, _kbShow, _kbHide, _cmdStart;
|
||||
bool _cmdStartShown;
|
||||
MessageField _field;
|
||||
Animation _recordAnim, _recordingAnim;
|
||||
bool _recording, _inRecord, _inField, _inReply;
|
||||
|
@ -636,19 +672,17 @@ private:
|
|||
|
||||
int32 _selCount; // < 0 - text selected, focus list, not _field
|
||||
|
||||
LocalImageLoader imageLoader;
|
||||
LocalImageLoader _imageLoader;
|
||||
bool _synthedTextUpdate;
|
||||
|
||||
int64 serviceImageCacheSize;
|
||||
QImage confirmImage;
|
||||
PhotoId confirmImageId;
|
||||
bool confirmWithText;
|
||||
QString confirmSource;
|
||||
int64 _serviceImageCacheSize;
|
||||
QImage _confirmImage;
|
||||
PhotoId _confirmImageId;
|
||||
bool _confirmWithText;
|
||||
QString _confirmSource;
|
||||
|
||||
QString titlePeerText;
|
||||
int32 titlePeerTextWidth;
|
||||
|
||||
bool hiderOffered;
|
||||
QString _titlePeerText;
|
||||
int32 _titlePeerTextWidth;
|
||||
|
||||
Animation _showAnim;
|
||||
QPixmap _animCache, _bgAnimCache, _animTopBarCache, _bgAnimTopBarCache;
|
||||
|
@ -661,8 +695,8 @@ private:
|
|||
QTimer _animActiveTimer;
|
||||
float64 _animActiveStart;
|
||||
|
||||
mtpRequestId _typingRequest;
|
||||
QTimer _typingStopTimer;
|
||||
QMap<QPair<History*, SendActionType>, mtpRequestId> _sendActionRequests;
|
||||
QTimer _sendActionStopTimer;
|
||||
|
||||
uint64 _saveDraftStart;
|
||||
bool _saveDraftText;
|
||||
|
|
|
@ -26,6 +26,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
namespace {
|
||||
class SignUpLink : public ITextLink {
|
||||
TEXT_LINK_CLASS(SignUpLink)
|
||||
|
||||
public:
|
||||
|
||||
SignUpLink(IntroPhone *widget) : _widget(widget) {
|
||||
|
@ -44,7 +46,7 @@ IntroPhone::IntroPhone(IntroWidget *parent) : IntroStage(parent),
|
|||
errorAlpha(0), changed(false),
|
||||
next(this, lang(lng_intro_next), st::btnIntroNext),
|
||||
country(this, st::introCountry),
|
||||
phone(this, st::inpIntroPhone, lang(lng_phone_ph)), code(this, st::inpIntroCountryCode),
|
||||
phone(this, st::inpIntroPhone), code(this, st::inpIntroCountryCode),
|
||||
_signup(this, lng_phone_notreg(lt_signup_start, textcmdStartLink(1), lt_signup_end, textcmdStopLink()), st::introErrLabel, st::introErrLabelTextStyle),
|
||||
_showSignup(false) {
|
||||
setVisible(false);
|
||||
|
@ -55,6 +57,8 @@ IntroPhone::IntroPhone(IntroWidget *parent) : IntroStage(parent),
|
|||
connect(&phone, SIGNAL(voidBackspace(QKeyEvent*)), &code, SLOT(startErasing(QKeyEvent*)));
|
||||
connect(&country, SIGNAL(codeChanged(const QString &)), &code, SLOT(codeSelected(const QString &)));
|
||||
connect(&code, SIGNAL(codeChanged(const QString &)), &country, SLOT(onChooseCode(const QString &)));
|
||||
connect(&code, SIGNAL(codeChanged(const QString &)), &phone, SLOT(onChooseCode(const QString &)));
|
||||
connect(&country, SIGNAL(codeChanged(const QString &)), &phone, SLOT(onChooseCode(const QString &)));
|
||||
connect(&code, SIGNAL(addedToNumber(const QString &)), &phone, SLOT(addedToNumber(const QString &)));
|
||||
connect(&country, SIGNAL(selectClosed()), this, SLOT(onSelectClose()));
|
||||
connect(&phone, SIGNAL(changed()), this, SLOT(onInputChange()));
|
||||
|
|
|
@ -71,28 +71,28 @@ void LangLoader::foundKeyValue(LangKey key) {
|
|||
}
|
||||
|
||||
QString Translator::translate(const char *context, const char *sourceText, const char *disambiguation, int n) const {
|
||||
if (QLatin1String("QMenuBar") == context) {
|
||||
if (QLatin1String("Services") == sourceText) return lang(lng_mac_menu_services);
|
||||
if (QLatin1String("Hide %1") == sourceText) return lng_mac_menu_hide_telegram(lt_telegram, qsl("%1"));
|
||||
if (QLatin1String("Hide Others") == sourceText) return lang(lng_mac_menu_hide_others);
|
||||
if (QLatin1String("Show All") == sourceText) return lang(lng_mac_menu_show_all);
|
||||
if (QLatin1String("Preferences...") == sourceText) return lang(lng_mac_menu_preferences);
|
||||
if (QLatin1String("Quit %1") == sourceText) return lng_mac_menu_quit_telegram(lt_telegram, qsl("%1"));
|
||||
if (QLatin1String("About %1") == sourceText) return lng_mac_menu_about_telegram(lt_telegram, qsl("%1"));
|
||||
if (qstr("QMenuBar") == context) {
|
||||
if (qstr("Services") == sourceText) return lang(lng_mac_menu_services);
|
||||
if (qstr("Hide %1") == sourceText) return lng_mac_menu_hide_telegram(lt_telegram, qsl("%1"));
|
||||
if (qstr("Hide Others") == sourceText) return lang(lng_mac_menu_hide_others);
|
||||
if (qstr("Show All") == sourceText) return lang(lng_mac_menu_show_all);
|
||||
if (qstr("Preferences...") == sourceText) return lang(lng_mac_menu_preferences);
|
||||
if (qstr("Quit %1") == sourceText) return lng_mac_menu_quit_telegram(lt_telegram, qsl("%1"));
|
||||
if (qstr("About %1") == sourceText) return lng_mac_menu_about_telegram(lt_telegram, qsl("%1"));
|
||||
return QString();
|
||||
}
|
||||
if (QLatin1String("QWidgetTextControl") == context || QLatin1String("QLineEdit") == context) {
|
||||
if (QLatin1String("&Undo") == sourceText) return lang((cPlatform() == dbipWindows) ? lng_wnd_menu_undo : ((cPlatform() == dbipMac) ? lng_mac_menu_undo : lng_linux_menu_undo));
|
||||
if (QLatin1String("&Redo") == sourceText) return lang((cPlatform() == dbipWindows) ? lng_wnd_menu_redo : ((cPlatform() == dbipMac) ? lng_mac_menu_redo : lng_linux_menu_redo));
|
||||
if (QLatin1String("Cu&t") == sourceText) return lang(lng_mac_menu_cut);
|
||||
if (QLatin1String("&Copy") == sourceText) return lang(lng_mac_menu_copy);
|
||||
if (QLatin1String("&Paste") == sourceText) return lang(lng_mac_menu_paste);
|
||||
if (QLatin1String("Delete") == sourceText) return lang(lng_mac_menu_delete);
|
||||
if (QLatin1String("Select All") == sourceText) return lang(lng_mac_menu_select_all);
|
||||
if (qstr("QWidgetTextControl") == context || qstr("QLineEdit") == context) {
|
||||
if (qstr("&Undo") == sourceText) return lang((cPlatform() == dbipWindows) ? lng_wnd_menu_undo : ((cPlatform() == dbipMac) ? lng_mac_menu_undo : lng_linux_menu_undo));
|
||||
if (qstr("&Redo") == sourceText) return lang((cPlatform() == dbipWindows) ? lng_wnd_menu_redo : ((cPlatform() == dbipMac) ? lng_mac_menu_redo : lng_linux_menu_redo));
|
||||
if (qstr("Cu&t") == sourceText) return lang(lng_mac_menu_cut);
|
||||
if (qstr("&Copy") == sourceText) return lang(lng_mac_menu_copy);
|
||||
if (qstr("&Paste") == sourceText) return lang(lng_mac_menu_paste);
|
||||
if (qstr("Delete") == sourceText) return lang(lng_mac_menu_delete);
|
||||
if (qstr("Select All") == sourceText) return lang(lng_mac_menu_select_all);
|
||||
return QString();
|
||||
}
|
||||
if (QLatin1String("QUnicodeControlCharacterMenu") == context) {
|
||||
if (QLatin1String("Insert Unicode control character") == sourceText) return lang(lng_menu_insert_unicode);
|
||||
if (qstr("QUnicodeControlCharacterMenu") == context) {
|
||||
if (qstr("Insert Unicode control character") == sourceText) return lang(lng_menu_insert_unicode);
|
||||
return QString();
|
||||
}
|
||||
return QString();
|
||||
|
|
|
@ -28,7 +28,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_open_from_tray" = "Telegram öffnen";
|
||||
"lng_minimize_to_tray" = "Minimieren";
|
||||
"lng_quit_from_tray" = "Telegram beenden";
|
||||
"lng_tray_icon_text" = "Telegram ist noch aktiv,\ndu kannst das in den Einstellungen anpassen.\n\nWenn dieses Symbol aus der Taskleiste verschwindet,\nkannst du es wieder hierher ziehen.";
|
||||
"lng_tray_icon_text" = "Telegram ist minimiert und läuft im Hintergrund,\ndu kannst das in den Einstellungen ändern.\nUm Telegram wieder anzuzeigen, klicke auf \ndas Symbol im Benachrichtigungsfeld.";
|
||||
|
||||
"lng_month1" = "Januar";
|
||||
"lng_month2" = "Februar";
|
||||
|
@ -69,6 +69,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_reconnecting_try_now" = "Jetzt versuchen";
|
||||
|
||||
"lng_status_service_notifications" = "Servicemeldungen";
|
||||
"lng_status_support" = "Support";
|
||||
"lng_status_bot" = "Bot";
|
||||
"lng_status_bot_reads_all" = "hat Zugriff auf Nachrichten";
|
||||
"lng_status_bot_not_reads_all" = "hat keinen Zugriff auf Nachrichten";
|
||||
|
@ -156,8 +157,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_dlg_new_group_name" = "Name der Gruppe";
|
||||
"lng_dlg_create_group" = "Erstellen";
|
||||
"lng_no_contacts" = "Du hast keine Kontakte";
|
||||
"lng_no_chats" = "Noch keine Chats";
|
||||
"lng_contacts_loading" = "Lade..";
|
||||
"lng_contacts_not_found" = "Keine Kontakte gefunden";
|
||||
"lng_dlg_search_chat" = "In diesem Chat suchen";
|
||||
"lng_dlg_search_for_messages" = "Nach Nachrichten suchen";
|
||||
|
||||
"lng_settings_save" = "Speichern";
|
||||
"lng_settings_upload" = "Profilbild festlegen";
|
||||
|
@ -166,11 +170,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_username_title" = "Benutzernamen ändern";
|
||||
"lng_username_about" = "Wähle einen (optionalen) öffentlichen \nBenutzernamen, wenn du von anderen \ngefunden werden willst, ohne, dass sie \ndeine Nummer kennen müssen.\n\nErlaubt sind a-z, 0-9 und Unterstriche. \nDie Mindestlänge beträgt 5 Zeichen.";
|
||||
"lng_username_invalid" = "Der Benutzername ist fehlerhaft.";
|
||||
"lng_username_occupied" = "Der Benutzername ist bereits belegt.";
|
||||
"lng_username_too_short" = "Der Benutzername ist zu kurz.";
|
||||
"lng_username_bad_symbols" = "Nur a-z, 0-9 und Unterstriche sind erlaubt.";
|
||||
"lng_username_available" = "Der Benutzername ist noch verfügbar.";
|
||||
"lng_username_invalid" = "Benutzername ungültig.";
|
||||
"lng_username_occupied" = "Benutzername ist bereits belegt.";
|
||||
"lng_username_too_short" = "Benutzername ist zu kurz.";
|
||||
"lng_username_bad_symbols" = "Ungültige Zeichen im Benutzernamen.";
|
||||
"lng_username_available" = "Benutzername ist verfügbar.";
|
||||
"lng_username_not_found" = "Kontakt @{user} konnte nicht gefunden werden.";
|
||||
|
||||
"lng_settings_section_contact_info" = "Kontaktprofil";
|
||||
|
@ -180,8 +184,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_settings_section_notify" = "Benachrichtigungen";
|
||||
"lng_settings_desktop_notify" = "Desktopbenachrichtigungen";
|
||||
"lng_settings_show_name" = "Sendername anzeigen";
|
||||
"lng_settings_show_name" = "Absendername anzeigen";
|
||||
"lng_settings_show_preview" = "Nachrichtenvorschau anzeigen";
|
||||
"lng_settings_use_windows" = "Windows Benachrichtigungen";
|
||||
"lng_settings_sound_notify" = "Ton abspielen";
|
||||
|
||||
"lng_notification_preview" = "Du hast eine neue Nachricht";
|
||||
|
@ -289,7 +294,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_cloud_password_bad" = "Kennwort und Hinweis müssen sich unterscheiden.";
|
||||
"lng_cloud_password_email" = "E-Mail für die Wiederherstellung";
|
||||
"lng_cloud_password_bad_email" = "Ungültige E-Mai, bitte erneut versuchen.";
|
||||
"lng_cloud_password_about" = "Du kannst ein eigenes Kennwort festlegen, um dich an einem neuen Gerät anzumelden, zusätzlich zum SMS-Code.";
|
||||
"lng_cloud_password_about" = "Dieses Kennwort brauchst du, wenn du dich mit einem neuen Gerät anmeldest.";
|
||||
"lng_cloud_password_about_recover" = "Hinweis! Möchtest du wirklich keine E-Mail\nAdresse hinterlegen? \n\nWenn dir dein Kennwort nicht mehr einfällt, \nverlierst du Zugriff auf dein Telegram Konto.";
|
||||
"lng_cloud_password_almost" = "Ein Bestätigungslink wurde an\ndeine E-Mail Adresse gesendet.\n\nZweistufige Bestätigung wird aktiviert,\nsobald du den Link öffnest.";
|
||||
"lng_cloud_password_was_set" = "Zweistufige Bestätigung aktiviert.";
|
||||
|
@ -301,13 +306,14 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_connection_type" = "Verbindungsart:";
|
||||
"lng_connection_auto_connecting" = "Standard (verbinden..)";
|
||||
"lng_connection_auto" = "Standard ({type} verwendet)";
|
||||
"lng_connection_http_proxy" = "HTTP mit Proxy";
|
||||
"lng_connection_tcp_proxy" = "TCP mit Proxy";
|
||||
"lng_connection_auto" = "Standard ({transport} verwendet)";
|
||||
"lng_connection_proxy_connecting" = "Verbinde über Proxy...";
|
||||
"lng_connection_proxy" = "{transport} mit Proxy";
|
||||
"lng_connection_header" = "Verbindungsart";
|
||||
"lng_connection_auto_rb" = "Auto (TCP wenn verfügbar oder HTTP)";
|
||||
"lng_connection_http_proxy_rb" = "HTTP mit benutzerdef. http-Proxy";
|
||||
"lng_connection_tcp_proxy_rb" = "TCP mit benutzerdef. socks5-Proxy";
|
||||
"lng_connection_try_ipv6" = "Über IPv6 verbinden";
|
||||
"lng_connection_host_ph" = "Hostname";
|
||||
"lng_connection_port_ph" = "Port";
|
||||
"lng_connection_user_ph" = "Benutzername";
|
||||
|
@ -319,6 +325,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_reset_one_sure" = "Dieses Gerät wirklich abmelden?";
|
||||
"lng_settings_reset_button" = "Beenden";
|
||||
"lng_settings_reset_done" = "Alle anderen Sitzungen wurden erfolgreich beendet.";
|
||||
"lng_settings_ask_question" = "Eine Frage stellen";
|
||||
"lng_settings_ask_sure" = "Bedenke bitte, dass der Telegram Support von ehrenamtlichen Helfern betreut wird.\n\nKennst du schon die Telegram FAQ? Dort findest du Antworten auf die am häufigsten gestellten Fragen.";
|
||||
"lng_settings_faq_button" = "FAQ öffnen";
|
||||
"lng_settings_ask_ok" = "Frage stellen";
|
||||
"lng_settings_faq" = "Telegram FAQ";
|
||||
"lng_settings_logout" = "Abmelden";
|
||||
"lng_sure_logout" = "Du kannst Telegram von all deinen Geräten gleichzeitig nutzen. Wirklich abmelden?";
|
||||
|
||||
|
@ -338,6 +349,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_topbar_info" = "Info";
|
||||
"lng_profile_about_section" = "Info";
|
||||
"lng_profile_settings_section" = "Einstellungen";
|
||||
"lng_profile_actions_section" = "Aktionen";
|
||||
"lng_profile_bot_settings" = "Einstellungen";
|
||||
"lng_profile_bot_help" = "Hilfe";
|
||||
"lng_profile_participants_section" = "Teilnehmer";
|
||||
|
@ -347,6 +359,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_edit_contact" = "Bearbeiten";
|
||||
"lng_profile_enable_notifications" = "Benachrichtigungen";
|
||||
"lng_profile_clear_history" = "Chatverlauf löschen";
|
||||
"lng_profile_delete_conversation" = "Chat entfernen";
|
||||
"lng_profile_clear_and_exit" = "Löschen und verlassen";
|
||||
"lng_profile_search_messages" = "In diesem Chat suchen";
|
||||
"lng_profile_block_user" = "Blockieren";
|
||||
"lng_profile_unblock_user" = "Freigeben";
|
||||
"lng_profile_block_bot" = "Bot anhalten und blockieren";
|
||||
"lng_profile_unblock_bot" = "Bot freigeben";
|
||||
"lng_profile_send_message" = "Nachricht senden";
|
||||
"lng_profile_share_contact" = "Kontakt teilen";
|
||||
"lng_profile_invite_to_group" = "In eine Gruppe einladen";
|
||||
|
@ -367,6 +386,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_files_header" = "Dateiübersicht";
|
||||
"lng_profile_audios" = "{count:_not_used_|# Sprachnachricht|# Sprachnachrichten} »";
|
||||
"lng_profile_audios_header" = "Übersicht Sprachnachrichten";
|
||||
"lng_profile_audio_files_header" = "Wiedergabeliste";
|
||||
"lng_profile_show_all_types" = "Alle Filter anzeigen";
|
||||
"lng_profile_copy_phone" = "Telefonnummer kopieren";
|
||||
|
||||
|
@ -377,13 +397,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_create_group_title" = "Neue Gruppe erstellen";
|
||||
|
||||
"lng_failed_add_participant" = "Kann Teilnehmer nicht hinzufügen. Später erneut versuchen.";
|
||||
"lng_failed_add_not_mutual" = "Wenn man eine Gruppe verlässt, kann nur \nein gemeinsamer Kontakt die Person erneut \neinladen (beide Seiten müssen die Nummer\n des anderen gespeichert haben).";
|
||||
|
||||
"lng_sure_delete_contact" = "Bist du sicher, dass du {contact} von deinen Kontakten löschen willst?";
|
||||
"lng_sure_delete_history" = "Sicher, dass du den kompletten Verlauf mit {contact} löschen willst?\n\nDas kann man nicht rückgängig machen.";
|
||||
"lng_sure_delete_group_history" = "Möchtest du wirklich deinen Verlauf von «{group}» löschen?\n\nDas kann man nicht rückgängig machen.";
|
||||
|
||||
"lng_sure_delete_and_exit" = "Deinen Verlauf von «{group}» löschen und die Gruppe verlassen?\n\nDas kann man nicht rückgängig machen.";
|
||||
|
||||
"lng_message_empty" = "(empty)";
|
||||
"lng_message_empty" = "Leere Nachricht";
|
||||
"lng_media_unsupported" = "Format Nicht Unterstützt";
|
||||
|
||||
"lng_action_add_user" = "{from} hat {user} hinzugefügt";
|
||||
"lng_action_kick_user" = "{from} hat {user} entfernt";
|
||||
|
@ -459,10 +482,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_message_ph" = "Schreibe deine Nachricht..";
|
||||
"lng_record_cancel" = "Zum Abbrechen rausbewegen";
|
||||
"lng_empty_history" = "";
|
||||
"lng_willbe_history" = "Wähle einen Chat aus, um zu schreiben";
|
||||
"lng_willbe_history" = "Chat auswählen um zu schreiben";
|
||||
"lng_message_with_from" = "[c]{from}:[/c] {message}";
|
||||
"lng_from_you" = "Ich";
|
||||
"lng_bot_description" = "Was kann dieser Bot?";
|
||||
"lng_unblock_button" = "Freigeben";
|
||||
|
||||
"lng_bot_start" = "Starten";
|
||||
"lng_bot_choose_group" = "Gruppe auswählen";
|
||||
|
@ -475,6 +499,22 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_user_typing" = "{user} tippt";
|
||||
"lng_users_typing" = "{user} und {second_user} tippen";
|
||||
"lng_many_typing" = "{count:_not_used_|# tippt|# tippen}";
|
||||
"lng_send_action_record_video" = "schickt Video";
|
||||
"lng_user_action_record_video" = "{user} sendet Video";
|
||||
"lng_send_action_upload_video" = "schickt Video";
|
||||
"lng_user_action_upload_video" = "{user} sendet Video";
|
||||
"lng_send_action_record_audio" = "nimmt Audio auf";
|
||||
"lng_user_action_record_audio" = "{user} nimmt Audio auf";
|
||||
"lng_send_action_upload_audio" = "nimmt Audio auf";
|
||||
"lng_user_action_upload_audio" = "{user} sendet Audio";
|
||||
"lng_send_action_upload_photo" = "sendet Bild";
|
||||
"lng_user_action_upload_photo" = "{user} sendet Bild";
|
||||
"lng_send_action_upload_file" = "sendet Datei";
|
||||
"lng_user_action_upload_file" = "{user} sendet Datei";
|
||||
"lng_send_action_geo_location" = "wählt Standort aus";
|
||||
"lng_user_action_geo_location" = "{user} wählt Standort aus";
|
||||
"lng_send_action_choose_contact" = "wählt Kontakt aus";
|
||||
"lng_user_action_choose_contact" = "{user} wählt Kontakt aus";
|
||||
"lng_unread_bar" = "{count:_not_used_|# Ungelesene Nachricht|# Ungelesene Nachrichten}";
|
||||
|
||||
"lng_maps_point" = "Standort";
|
||||
|
@ -508,6 +548,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_context_open_audio" = "Sprachnachricht öffnen";
|
||||
"lng_context_save_audio" = "Sprachnachricht speichern unter..";
|
||||
"lng_context_pack_info" = "Sticker-Paket";
|
||||
"lng_context_pack_add" = "Sticker hinzufügen";
|
||||
"lng_context_open_file" = "Datei öffnen";
|
||||
"lng_context_save_file" = "Datei speichern als..";
|
||||
"lng_context_forward_file" = "Datei weiterleiten";
|
||||
|
@ -571,7 +612,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_selected_delete_confirm" = "Löschen";
|
||||
|
||||
"lng_about_version" = "Version {version}";
|
||||
"lng_about_text" = "Telegram Desktop basiert auf [a href=\"https://core.telegram.org/mtproto\"]MTProto[/a] und\ndem [a href=\"https://core.telegram.org/api\"]Telegram API[/a], um Geschwindigkeit \nund Sicherheit zu gewährleisten.\n\nSoftware steht unter der [a href=\"https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\"]GNU GPL[/a] Version 3,\nQuelltext ist bei [a href=\"https://github.com/telegramdesktop/tdesktop\"]GitHub[/a] verfügbar.";
|
||||
"lng_about_text" = "Telegram Desktop basiert auf [a href=\"https://core.telegram.org/mtproto\"]MTProto[/a] und\nder [a href=\"https://core.telegram.org/api\"]Telegram API[/a], um Geschwindigkeit \nund Sicherheit zu gewährleisten.\n\nSoftware steht unter der [a href=\"https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE\"]GNU GPL[/a] Version 3,\nQuelltext ist bei [a href=\"https://github.com/telegramdesktop/tdesktop\"]GitHub[/a] verfügbar.";
|
||||
"lng_about_done" = "Fertig";
|
||||
|
||||
"lng_search_found_results" = "{count:Keine Nachrichten|# Nachricht|# Nachrichten}";
|
||||
|
@ -600,7 +641,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_new_version_wrap" = "Telegram Desktop wurde aktualisiert auf Version {version}\n\n{changes}\n\nGesamter Versionsverlauf:\n{link}";
|
||||
"lng_new_version_minor" = "— Fehlerbehebungen und Softwareoptimierungen";
|
||||
"lng_new_version_text" = "Diese neue Version enthält Unterstützung für die neue Bot API, welche für alle kostenlos verfügbar ist. Kannst du programmieren? Erstelle deine eigenen Bots für Spiele, Dienste oder Integrationen.\n\nMehr dazu unter {blog_link}";
|
||||
"lng_new_version_text" = "— Blockiere Nutzer über die Profilseite (im Chat auf den Namen oben tippen)\n— Windows 8, 8.1 und 10: Native Windowsbenachrichtigungen\n— Fehlerbehebung: Eingabemethoden unter Linux (Fcitx und iBus)";
|
||||
|
||||
"lng_menu_insert_unicode" = "Unicode-Steuerzeichen einfügen";
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_open_from_tray" = "Abrir Telegram";
|
||||
"lng_minimize_to_tray" = "Minimizar al icono";
|
||||
"lng_quit_from_tray" = "Salir de Telegram";
|
||||
"lng_tray_icon_text" = "Telegram sigue funcionando aquí, \npuedes cambiar esto desde los ajustes.\n\nSi este ícono desaparece desde el menú,\npuedes arrastrarlo de regreso desde los iconos ocultos.";
|
||||
"lng_tray_icon_text" = "Telegram aún está funcionando,\npuedes cambiar esto en los ajustes. \nSi este icono desaparece del menú, \npuedes arrastrarlo aquí desde los iconos ocultos.";
|
||||
|
||||
"lng_month1" = "enero";
|
||||
"lng_month2" = "febrero";
|
||||
|
@ -69,6 +69,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_reconnecting_try_now" = "Intentar ahora";
|
||||
|
||||
"lng_status_service_notifications" = "servicio de notificaciones";
|
||||
"lng_status_support" = "soporte";
|
||||
"lng_status_bot" = "bot";
|
||||
"lng_status_bot_reads_all" = "tiene acceso a los mensajes";
|
||||
"lng_status_bot_not_reads_all" = "no tiene acceso a los mensajes";
|
||||
|
@ -156,8 +157,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_dlg_new_group_name" = "Nombre del grupo";
|
||||
"lng_dlg_create_group" = "Crear";
|
||||
"lng_no_contacts" = "No tienes contactos";
|
||||
"lng_no_chats" = "Tus chats estarán aquí";
|
||||
"lng_contacts_loading" = "Cargando...";
|
||||
"lng_contacts_not_found" = "No se encontraron contactos";
|
||||
"lng_dlg_search_chat" = "Buscar en este chat";
|
||||
"lng_dlg_search_for_messages" = "Buscar mensajes";
|
||||
|
||||
"lng_settings_save" = "Guardar";
|
||||
"lng_settings_upload" = "Poner foto de perfil";
|
||||
|
@ -182,6 +186,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_desktop_notify" = "Notificaciones de escritorio";
|
||||
"lng_settings_show_name" = "Mostrar el nombre del remitente";
|
||||
"lng_settings_show_preview" = "Mostrar la vista previa del mensaje";
|
||||
"lng_settings_use_windows" = "Usar notificaciones de Windows";
|
||||
"lng_settings_sound_notify" = "Reproducir sonido";
|
||||
|
||||
"lng_notification_preview" = "Tienes un nuevo mensaje";
|
||||
|
@ -289,7 +294,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_cloud_password_bad" = "La contraseña y la pista no pueden ser iguales.";
|
||||
"lng_cloud_password_email" = "Pon un e-mail de recuperación";
|
||||
"lng_cloud_password_bad_email" = "E-mail incorrecto. Por favor, prueba otro.";
|
||||
"lng_cloud_password_about" = "Esta contraseña será requerida cuando inicies sesión en un nuevo dispositivo, además del código de activación.";
|
||||
"lng_cloud_password_about" = "Necesitarás la contraseña al iniciar sesión en un nuevo dispositivo, además del código de activación.";
|
||||
"lng_cloud_password_about_recover" = "¡Advertencia! ¿No quieres añadir un e-mail \nde recuperación para la contraseña?\n\nSi olvidas tu contraseña, perderás\nel acceso a tu cuenta de Telegram.";
|
||||
"lng_cloud_password_almost" = "Un enlace de confirmación fue enviado\nal e-mail que estableciste.\n\nLa verificación en dos pasos se activará\nen cuanto sigas ese enlace.";
|
||||
"lng_cloud_password_was_set" = "Verificación en dos pasos activada.";
|
||||
|
@ -301,13 +306,14 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_connection_type" = "Tipo de conexión:";
|
||||
"lng_connection_auto_connecting" = "Por defecto (conectando...)";
|
||||
"lng_connection_auto" = "Por defecto ({type} en uso)";
|
||||
"lng_connection_http_proxy" = "HTTP con proxy";
|
||||
"lng_connection_tcp_proxy" = "TCP con proxy";
|
||||
"lng_connection_auto" = "Por defecto ({transport} en uso)";
|
||||
"lng_connection_proxy_connecting" = "Conectando a través de un proxy...";
|
||||
"lng_connection_proxy" = "{transport} con un proxy";
|
||||
"lng_connection_header" = "Tipo de conexión";
|
||||
"lng_connection_auto_rb" = "Automático (TCP si está disponible o HTTP)";
|
||||
"lng_connection_http_proxy_rb" = "HTTP con http-proxy personalizado";
|
||||
"lng_connection_tcp_proxy_rb" = "TCP con socks5-proxy personalizado";
|
||||
"lng_connection_try_ipv6" = "Intentar conectar a través de IPv6";
|
||||
"lng_connection_host_ph" = "Nombre del host";
|
||||
"lng_connection_port_ph" = "Puerto";
|
||||
"lng_connection_user_ph" = "Alias";
|
||||
|
@ -319,6 +325,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_reset_one_sure" = "¿Quieres cerrar esta sesión?";
|
||||
"lng_settings_reset_button" = "Cerrar";
|
||||
"lng_settings_reset_done" = "Se cerraron las otras sesiones";
|
||||
"lng_settings_ask_question" = "Hacer una pregunta";
|
||||
"lng_settings_ask_sure" = "Por favor, considera que el soporte de Telegram está hecho por voluntarios. Respondemos lo antes posible, pero puede tomar tiempo.\n\nSi quieres, mira las preguntas frecuentes de Telegram: tienen soluciones a problemas y respuestas para la mayoría de las preguntas.";
|
||||
"lng_settings_faq_button" = "Preguntas frecuentes";
|
||||
"lng_settings_ask_ok" = "Preguntar";
|
||||
"lng_settings_faq" = "Preguntas frecuentes";
|
||||
"lng_settings_logout" = "Cerrar sesión";
|
||||
"lng_sure_logout" = "¿Quieres cerrar sesión?";
|
||||
|
||||
|
@ -338,6 +349,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_topbar_info" = "Información";
|
||||
"lng_profile_about_section" = "Acerca de";
|
||||
"lng_profile_settings_section" = "Ajustes";
|
||||
"lng_profile_actions_section" = "Acciones";
|
||||
"lng_profile_bot_settings" = "Ajustes";
|
||||
"lng_profile_bot_help" = "Ayuda";
|
||||
"lng_profile_participants_section" = "Miembros";
|
||||
|
@ -347,6 +359,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_edit_contact" = "Editar";
|
||||
"lng_profile_enable_notifications" = "Notificaciones";
|
||||
"lng_profile_clear_history" = "Borrar historial";
|
||||
"lng_profile_delete_conversation" = "Eliminar chat";
|
||||
"lng_profile_clear_and_exit" = "Eliminar y salir";
|
||||
"lng_profile_search_messages" = "Buscar mensajes";
|
||||
"lng_profile_block_user" = "Bloquear";
|
||||
"lng_profile_unblock_user" = "Desbloquear";
|
||||
"lng_profile_block_bot" = "Detener y bloquear el bot";
|
||||
"lng_profile_unblock_bot" = "Desbloquear el bot";
|
||||
"lng_profile_send_message" = "Enviar mensaje";
|
||||
"lng_profile_share_contact" = "Compartir contacto";
|
||||
"lng_profile_invite_to_group" = "Añadir al grupo";
|
||||
|
@ -358,15 +377,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_sure_kick" = "¿Quieres expulsar a {user} del grupo?";
|
||||
"lng_profile_loading" = "Cargando...";
|
||||
"lng_profile_shared_media" = "Todos los archivos";
|
||||
"lng_profile_no_media" = "No hay multimedia en esta conversación.";
|
||||
"lng_profile_no_media" = "No hay multimedia en este chat.";
|
||||
"lng_profile_photos" = "{count:_not_used_|# foto|# fotos} »";
|
||||
"lng_profile_photos_header" = "Todas las fotos";
|
||||
"lng_profile_videos" = "{count:_not_used_|# vídeo|# vídeos} »";
|
||||
"lng_profile_videos_header" = "Todos los vídeos";
|
||||
"lng_profile_videos_header" = "Vídeos";
|
||||
"lng_profile_files" = "{count:_not_used_|# archivo|# archivos} »";
|
||||
"lng_profile_files_header" = "Todos los archivos";
|
||||
"lng_profile_files_header" = "Archivos";
|
||||
"lng_profile_audios" = "{count:_not_used_|# mensaje de voz|# mensajes de voz} »";
|
||||
"lng_profile_audios_header" = "Todos los mensajes de voz";
|
||||
"lng_profile_audios_header" = "Mensajes de voz";
|
||||
"lng_profile_audio_files_header" = "Lista de reproducción";
|
||||
"lng_profile_show_all_types" = "Mostrar todos los tipos";
|
||||
"lng_profile_copy_phone" = "Copiar número";
|
||||
|
||||
|
@ -377,13 +397,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_create_group_title" = "Nuevo grupo";
|
||||
|
||||
"lng_failed_add_participant" = "No se pudo añadir el usuario. Por favor, inténtalo más tarde.";
|
||||
"lng_failed_add_not_mutual" = "Si una persona dejó el grupo, sólo\nun contacto mutuo puede volver \na invitarlo (necesitan tener tu \nnúmero y tú el de ellos).";
|
||||
|
||||
"lng_sure_delete_contact" = "¿Quieres eliminar a {contact} de tu lista de contactos?";
|
||||
"lng_sure_delete_history" = "¿Quieres eliminar todo el historial de mensajes con {contact}?\n\nEsta acción no se puede deshacer.";
|
||||
"lng_sure_delete_group_history" = "¿Quieres borrar todo el historial en «{group}»?\n\nEsta acción no se puede deshacer.";
|
||||
|
||||
"lng_sure_delete_and_exit" = "¿Quieres eliminar todo el historial de mensajes y dejar el grupo «{group}»?\n\nEsta acción no se puede deshacer.";
|
||||
|
||||
"lng_message_empty" = "(vacío)";
|
||||
"lng_message_empty" = "Mensaje vacío";
|
||||
"lng_media_unsupported" = "Multimedia no soportada";
|
||||
|
||||
"lng_action_add_user" = "{from} añadió a {user}";
|
||||
"lng_action_kick_user" = "{from} expulsó a {user}";
|
||||
|
@ -459,12 +482,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_message_ph" = "Escribir un mensaje...";
|
||||
"lng_record_cancel" = "Suelta fuera de aquí para cancelar";
|
||||
"lng_empty_history" = "";
|
||||
"lng_willbe_history" = "Por favor, elige un chat para comenzar a conversar";
|
||||
"lng_willbe_history" = "Por favor, elige un chat para comenzar";
|
||||
"lng_message_with_from" = "[c]{from}:[/c] {message}";
|
||||
"lng_from_you" = "Tú";
|
||||
"lng_bot_description" = "¿Qué puede hacer este bot?";
|
||||
"lng_unblock_button" = "Desbloquear";
|
||||
|
||||
"lng_bot_start" = "Empezar";
|
||||
"lng_bot_start" = "Iniciar";
|
||||
"lng_bot_choose_group" = "Elegir grupo";
|
||||
"lng_bot_no_groups" = "No tienes grupos";
|
||||
"lng_bot_groups_not_found" = "No se encontraron grupos";
|
||||
|
@ -475,6 +499,22 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_user_typing" = "{user} está escribiendo";
|
||||
"lng_users_typing" = "{user} y {second_user} están escribiendo";
|
||||
"lng_many_typing" = "{count:_not_used_|# está|# están} escribiendo";
|
||||
"lng_send_action_record_video" = "grabando vídeo";
|
||||
"lng_user_action_record_video" = "{user} está grabando un vídeo";
|
||||
"lng_send_action_upload_video" = "enviando vídeo";
|
||||
"lng_user_action_upload_video" = "{user} está enviando un vídeo";
|
||||
"lng_send_action_record_audio" = "grabando audio";
|
||||
"lng_user_action_record_audio" = "{user} está grabando un audio";
|
||||
"lng_send_action_upload_audio" = "enviando audio";
|
||||
"lng_user_action_upload_audio" = "{user} está enviando un audio";
|
||||
"lng_send_action_upload_photo" = "enviando foto";
|
||||
"lng_user_action_upload_photo" = "{user} está enviando una foto";
|
||||
"lng_send_action_upload_file" = "enviando archivo";
|
||||
"lng_user_action_upload_file" = "{user} está enviando un archivo";
|
||||
"lng_send_action_geo_location" = "obteniendo ubicación";
|
||||
"lng_user_action_geo_location" = "{user} está obteniendo una ubicación";
|
||||
"lng_send_action_choose_contact" = "eligiendo contacto";
|
||||
"lng_user_action_choose_contact" = "{user} está eligiendo un contacto";
|
||||
"lng_unread_bar" = "{count:_not_used_|# mensaje sin leer|# mensajes sin leer}";
|
||||
|
||||
"lng_maps_point" = "Ubicación";
|
||||
|
@ -508,6 +548,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_context_open_audio" = "Abrir audio";
|
||||
"lng_context_save_audio" = "Guardar como...";
|
||||
"lng_context_pack_info" = "Información del pack";
|
||||
"lng_context_pack_add" = "Añadir stickers";
|
||||
"lng_context_open_file" = "Abrir archivo";
|
||||
"lng_context_save_file" = "Guardar como...";
|
||||
"lng_context_forward_file" = "Reenviar archivo";
|
||||
|
@ -600,7 +641,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_new_version_wrap" = "Telegram Desktop fue actualizada a la versión {version}\n\n{changes}\n\nEl historial completo está disponible aquí:\n{link}";
|
||||
"lng_new_version_minor" = "— Corrección de errores y otras mejoras menores";
|
||||
"lng_new_version_text" = "Esta nueva versión incluye el soporte para bots, usando la nueva API para bots, gratis para todos. Si eres un ingeniero, crea tus propios bots para juegos, servicios o integraciones .\n\nConoce más en {blog_link}";
|
||||
"lng_new_version_text" = "— Bloquea usuarios desde sus perfiles\n— Añadido el soporte para notificaciones Windows toast\n— Arreglados los métodos de entrada en Linux (Fcitx e IBus)";
|
||||
|
||||
"lng_menu_insert_unicode" = "Insertar caracteres de control Unicode";
|
||||
|
||||
|
|
|
@ -26,9 +26,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_menu_back" = "Indietro";
|
||||
|
||||
"lng_open_from_tray" = "Apri Telegram";
|
||||
"lng_minimize_to_tray" = "Minimizza";
|
||||
"lng_minimize_to_tray" = "Riduci a icona";
|
||||
"lng_quit_from_tray" = "Chiudi Telegram";
|
||||
"lng_tray_icon_text" = "Telegram è ancora aperto qui,\npuoi cambiare questo nelle impostazioni.\n\nSe l'icona scompare dall'area di notifica,\npuoi riportarla indietro dalle icone nascoste.";
|
||||
"lng_tray_icon_text" = "Telegram è ancora attivo qui,\npuoi modificarlo nelle impostazioni.\nSe l'icona scompare dall'area di notifica,\npuoi ripristinarla dalle icone nascoste.";
|
||||
|
||||
"lng_month1" = "Gennaio";
|
||||
"lng_month2" = "Febbraio";
|
||||
|
@ -69,6 +69,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_reconnecting_try_now" = "Prova ora";
|
||||
|
||||
"lng_status_service_notifications" = "notifiche di servizio";
|
||||
"lng_status_support" = "supporto";
|
||||
"lng_status_bot" = "bot";
|
||||
"lng_status_bot_reads_all" = "ha accesso ai messaggi";
|
||||
"lng_status_bot_not_reads_all" = "non ha accesso ai messaggi";
|
||||
|
@ -156,8 +157,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_dlg_new_group_name" = "Nome gruppo";
|
||||
"lng_dlg_create_group" = "Crea";
|
||||
"lng_no_contacts" = "Non hai contatti";
|
||||
"lng_no_chats" = "Le tua chat saranno qui";
|
||||
"lng_contacts_loading" = "Caricamento..";
|
||||
"lng_contacts_not_found" = "Nessun contatto trovato";
|
||||
"lng_dlg_search_chat" = "Cerca in questa chat";
|
||||
"lng_dlg_search_for_messages" = "Cerca messaggi";
|
||||
|
||||
"lng_settings_save" = "Salva";
|
||||
"lng_settings_upload" = "Imposta foto profilo";
|
||||
|
@ -166,11 +170,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_username_title" = "Cambia username";
|
||||
"lng_username_about" = "Puoi scegliere un username su Telegram.\nSe lo fai, le altre persone potranno trovarti\ntramite questo nome utente e contattarti \nsenza conoscere il tuo numero di telefono.\n\nPuoi usare a-z, 0-9 e underscore.\nLa lunghezza minima è di 5 caratteri.";
|
||||
"lng_username_invalid" = "Il nome non è valido.";
|
||||
"lng_username_occupied" = "Il nome è già occupato.";
|
||||
"lng_username_too_short" = "Il nome è troppo corto.";
|
||||
"lng_username_bad_symbols" = "Questo nome ha simboli errati.";
|
||||
"lng_username_available" = "Il nome è disponibile.";
|
||||
"lng_username_invalid" = "L'username non è valido.";
|
||||
"lng_username_occupied" = "L'username è già occupato.";
|
||||
"lng_username_too_short" = "L'username è troppo corto.";
|
||||
"lng_username_bad_symbols" = "Questo username ha simboli errati.";
|
||||
"lng_username_available" = "L'username è disponibile.";
|
||||
"lng_username_not_found" = "Utente @{user} non trovato.";
|
||||
|
||||
"lng_settings_section_contact_info" = "Informazioni di contatto";
|
||||
|
@ -182,6 +186,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_desktop_notify" = "Notifiche desktop";
|
||||
"lng_settings_show_name" = "Mostra nome del mittente";
|
||||
"lng_settings_show_preview" = "Mostra anteprima messaggio";
|
||||
"lng_settings_use_windows" = "Usa le notifiche di Windows";
|
||||
"lng_settings_sound_notify" = "Riproduci suono";
|
||||
|
||||
"lng_notification_preview" = "Hai un nuovo messaggio";
|
||||
|
@ -267,7 +272,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_passcode_enter_first" = "Inserisci un codice";
|
||||
"lng_passcode_enter_new" = "Inserisci il nuovo codice";
|
||||
"lng_passcode_confirm_new" = "Reinserisci il nuovo codice";
|
||||
"lng_passcode_about" = "Quando imposti un codice, un'icona col lucchetto apparirà nel menu in alto. Premi su di essa per bloccare l'app. \n\nNota: se ti dimentichi il codice, dovrai rifare il login su Telegram Desktop.";
|
||||
"lng_passcode_about" = "Quando imposti un codice, un'icona col lucchetto apparirà nel menu in alto. Premi su di essa per bloccare l'app. \n\nNota: se dimentichi il codice, dovrai rifare l'accesso su Telegram Desktop.";
|
||||
"lng_passcode_differ" = "I codici sono diversi";
|
||||
"lng_passcode_wrong" = "Codice errato";
|
||||
"lng_passcode_is_same" = "Il codice non è stato cambiato";
|
||||
|
@ -301,13 +306,14 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_connection_type" = "Tipo di connessione:";
|
||||
"lng_connection_auto_connecting" = "Default (connessione..)";
|
||||
"lng_connection_auto" = "Default ({type} in uso)";
|
||||
"lng_connection_http_proxy" = "HTTP con proxy";
|
||||
"lng_connection_tcp_proxy" = "TCP con proxy";
|
||||
"lng_connection_auto" = "Predefinito ({transport} in uso)";
|
||||
"lng_connection_proxy_connecting" = "Connessione tramite proxy..";
|
||||
"lng_connection_proxy" = "{transport} con proxy";
|
||||
"lng_connection_header" = "Tipo di connessione";
|
||||
"lng_connection_auto_rb" = "Auto (TCP se disponibile o HTTP)";
|
||||
"lng_connection_http_proxy_rb" = "HTTP con proxy-http personalizzato";
|
||||
"lng_connection_tcp_proxy_rb" = "TCP con proxy-socks5 personalizzato";
|
||||
"lng_connection_try_ipv6" = "Prova a connettere tramite IPv6";
|
||||
"lng_connection_host_ph" = "Hostname";
|
||||
"lng_connection_port_ph" = "Porta";
|
||||
"lng_connection_user_ph" = "Username";
|
||||
|
@ -319,6 +325,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_reset_one_sure" = "Vuoi terminare questa sessione?";
|
||||
"lng_settings_reset_button" = "Chiudi";
|
||||
"lng_settings_reset_done" = "Altre sessioni terminate";
|
||||
"lng_settings_ask_question" = "Fai una domanda";
|
||||
"lng_settings_ask_sure" = "Per favore, considera che il supporto su Telegram è offerto da volontari. Proveremo a risponderti il più velocemente possibile, ma potrebbe volerci un po' di tempo.\n\nDai un'occhiata alle FAQ di Telegram: potrai trovare importanti suggerimenti riguardo alcune problematiche e risposte alla maggior parte delle domande.";
|
||||
"lng_settings_faq_button" = "Vai alle FAQ";
|
||||
"lng_settings_ask_ok" = "Chiedi";
|
||||
"lng_settings_faq" = "FAQ di Telegram";
|
||||
"lng_settings_logout" = "Disconnetti";
|
||||
"lng_sure_logout" = "Sicuro di volerti disconnettere?";
|
||||
|
||||
|
@ -338,6 +349,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_topbar_info" = "Info";
|
||||
"lng_profile_about_section" = "Info";
|
||||
"lng_profile_settings_section" = "Impostazioni";
|
||||
"lng_profile_actions_section" = "Azioni";
|
||||
"lng_profile_bot_settings" = "Impostazioni";
|
||||
"lng_profile_bot_help" = "Aiuto";
|
||||
"lng_profile_participants_section" = "Membri";
|
||||
|
@ -347,6 +359,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_edit_contact" = "Modifica";
|
||||
"lng_profile_enable_notifications" = "Notifiche";
|
||||
"lng_profile_clear_history" = "Cancella la cronologia";
|
||||
"lng_profile_delete_conversation" = "Elimina chat";
|
||||
"lng_profile_clear_and_exit" = "Elimina ed esci";
|
||||
"lng_profile_search_messages" = "Cerca messaggi";
|
||||
"lng_profile_block_user" = "Blocca utente";
|
||||
"lng_profile_unblock_user" = "Sblocca utente";
|
||||
"lng_profile_block_bot" = "Arresta e blocca bot";
|
||||
"lng_profile_unblock_bot" = "Sblocca bot";
|
||||
"lng_profile_send_message" = "Invia messaggio";
|
||||
"lng_profile_share_contact" = "Condividi contatto";
|
||||
"lng_profile_invite_to_group" = "Aggiungi a un gruppo";
|
||||
|
@ -367,6 +386,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_files_header" = "Panoramica file";
|
||||
"lng_profile_audios" = "{count:_not_used_|# nota vocale|# note vocali} »";
|
||||
"lng_profile_audios_header" = "Panoramica note vocali";
|
||||
"lng_profile_audio_files_header" = "Playlist";
|
||||
"lng_profile_show_all_types" = "Mostra tutti i tipi";
|
||||
"lng_profile_copy_phone" = "Copia numero di telefono";
|
||||
|
||||
|
@ -377,13 +397,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_create_group_title" = "Nuovo gruppo";
|
||||
|
||||
"lng_failed_add_participant" = "Impossibile aggiungere l'utente. Riprova più tardi.";
|
||||
"lng_failed_add_not_mutual" = "Se una persona lascia un gruppo,\nsolo un contatto in comune può reinvitarla\n(lei deve avere il tuo numero\ndi telefono, e tu il suo).";
|
||||
|
||||
"lng_sure_delete_contact" = "Sicuro di volere eliminare {contact} dalla tua lista dei contatti?";
|
||||
"lng_sure_delete_history" = "Sicuro di voler eliminare tutta la cronologia dei messaggi con {contact}?\n\nQuesta azione non può essere annullata.";
|
||||
"lng_sure_delete_group_history" = "Sicuro di voler eliminare tutta la cronologia dei messaggi in «{group}»?\n\nQuesta azione non può essere annullata.";
|
||||
|
||||
"lng_sure_delete_and_exit" = "Sicuro di voler eliminare tutta la cronologia dei messaggi e abbandonare «{group}»?\n\nQuesta azione non può essere annullata.";
|
||||
|
||||
"lng_message_empty" = "(vuoto)";
|
||||
"lng_message_empty" = "Messaggio vuoto";
|
||||
"lng_media_unsupported" = "Media non supportato";
|
||||
|
||||
"lng_action_add_user" = "{from} ha aggiunto {user}";
|
||||
"lng_action_kick_user" = "{from} ha rimosso {user}";
|
||||
|
@ -463,6 +486,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_message_with_from" = "[c]{from}:[/c] {message}";
|
||||
"lng_from_you" = "Tu";
|
||||
"lng_bot_description" = "Cosa può fare questo bot?";
|
||||
"lng_unblock_button" = "Sblocca";
|
||||
|
||||
"lng_bot_start" = "Avvia";
|
||||
"lng_bot_choose_group" = "Scegli gruppo";
|
||||
|
@ -475,6 +499,22 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_user_typing" = "{user} sta scrivendo";
|
||||
"lng_users_typing" = "{user} e {second_user} stanno scrivendo";
|
||||
"lng_many_typing" = "{count:_not_used_|# sta|# stanno} scrivendo";
|
||||
"lng_send_action_record_video" = "registrando un video";
|
||||
"lng_user_action_record_video" = "{user} sta registrando un video";
|
||||
"lng_send_action_upload_video" = "inviando un video";
|
||||
"lng_user_action_upload_video" = "{user} sta inviando un video";
|
||||
"lng_send_action_record_audio" = "registrando un audio";
|
||||
"lng_user_action_record_audio" = "{user} sta registrando un audio";
|
||||
"lng_send_action_upload_audio" = "inviando un audio";
|
||||
"lng_user_action_upload_audio" = "{user} sta inviando un audio";
|
||||
"lng_send_action_upload_photo" = "inviando una foto";
|
||||
"lng_user_action_upload_photo" = "{user} sta inviando una foto";
|
||||
"lng_send_action_upload_file" = "inviando un file";
|
||||
"lng_user_action_upload_file" = "{user} sta inviando un file";
|
||||
"lng_send_action_geo_location" = "selezionando una posizione";
|
||||
"lng_user_action_geo_location" = "{user} sta selezionando una posizione";
|
||||
"lng_send_action_choose_contact" = "selezionando un contatto";
|
||||
"lng_user_action_choose_contact" = "{user} sta selezionando un contatto";
|
||||
"lng_unread_bar" = "{count:_not_used_|# messaggio non letto|# messaggi non letti}";
|
||||
|
||||
"lng_maps_point" = "Posizione";
|
||||
|
@ -508,6 +548,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_context_open_audio" = "Apri audio";
|
||||
"lng_context_save_audio" = "Salva audio come..";
|
||||
"lng_context_pack_info" = "Mostra sticker";
|
||||
"lng_context_pack_add" = "Aggiungi sticker";
|
||||
"lng_context_open_file" = "Apri file";
|
||||
"lng_context_save_file" = "Salva file come..";
|
||||
"lng_context_forward_file" = "Inoltra file";
|
||||
|
@ -600,7 +641,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_new_version_wrap" = "Telegram Desktop si è aggiornato alla versione {version}\n\n{changes}\n\nLa cronologia degli update è disponibile qui:\n{link}";
|
||||
"lng_new_version_minor" = "— Bug fix e altri miglioramenti minori";
|
||||
"lng_new_version_text" = "Questa nuova versione include il support per i bot usando la nuova API per i bot. Se sei un ingegnere, crea i tuoi bot per giochi, servizi o integrazioni. Scopri di più su {blog_link}";
|
||||
"lng_new_version_text" = "— Blocca gli utenti dalla loro pagina profilo\n— Aggiunto il supporto per le notifiche toast di Windows\n— Risolti i problemi con alcuni metodi di input su Linux (Fcitx and IBus)";
|
||||
|
||||
"lng_menu_insert_unicode" = "Inserisci carattere di controllo Unicode";
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_open_from_tray" = "텔레그램 실행";
|
||||
"lng_minimize_to_tray" = "창을 최소화";
|
||||
"lng_quit_from_tray" = "텔레그램 종료";
|
||||
"lng_tray_icon_text" = "텔레그램은 아직 실행중입니다.\n설정 화면에서 실행설정을 변경하실 수 있습니다.\n\n트레이메뉴에서 이 아이콘이 사라질 경우.\n숨겨진 아이콘 목록에서 다시 복원할 수 있습니다.";
|
||||
"lng_tray_icon_text" = "텔레그램은 아직 실행중입니다. \n설정 화면에서 실행설정을 변경하실 수 있습니다. \n트레이메뉴에서 이 아이콘이 사라질 경우. \n숨겨진 아이콘 목록에서 다시 복원할 수 있습니다.";
|
||||
|
||||
"lng_month1" = "1월";
|
||||
"lng_month2" = "2월";
|
||||
|
@ -69,6 +69,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_reconnecting_try_now" = "다시 시도";
|
||||
|
||||
"lng_status_service_notifications" = "서비스 알림";
|
||||
"lng_status_support" = "지원";
|
||||
"lng_status_bot" = "bot";
|
||||
"lng_status_bot_reads_all" = "메시지 접근 권한이 있습니다.";
|
||||
"lng_status_bot_not_reads_all" = "메시지 접근 권한이 없습니다.";
|
||||
|
@ -156,8 +157,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_dlg_new_group_name" = "그룹이름";
|
||||
"lng_dlg_create_group" = "만들기";
|
||||
"lng_no_contacts" = "연락처가 없습니다.";
|
||||
"lng_no_chats" = "대화시 대화방이 존재 할 곳입니다.";
|
||||
"lng_contacts_loading" = "로드중..";
|
||||
"lng_contacts_not_found" = "연락처를 찾을 수 없음";
|
||||
"lng_dlg_search_chat" = "이 채팅에서 검색";
|
||||
"lng_dlg_search_for_messages" = "메시지 검색";
|
||||
|
||||
"lng_settings_save" = "저장";
|
||||
"lng_settings_upload" = "프로필 이미지 선택";
|
||||
|
@ -169,7 +173,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_username_invalid" = "올바르지 않은 아이디입니다.";
|
||||
"lng_username_occupied" = "사용중인 아이디입니다.";
|
||||
"lng_username_too_short" = "아이디가 너무 짧습니다.";
|
||||
"lng_username_bad_symbols" = "올바르지 않은 아이디입니다.";
|
||||
"lng_username_bad_symbols" = "아이디에 올바르지 않은 문자가 있습니다.";
|
||||
"lng_username_available" = "사용 가능한 아이디입니다.";
|
||||
"lng_username_not_found" = "아이디 @{user}를 찾을 수 없습니다.";
|
||||
|
||||
|
@ -182,6 +186,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_desktop_notify" = "데스크탑 알림";
|
||||
"lng_settings_show_name" = "발신인 표시";
|
||||
"lng_settings_show_preview" = "메시지 미리보기";
|
||||
"lng_settings_use_windows" = "윈도우 알림 사용";
|
||||
"lng_settings_sound_notify" = "소리 재생";
|
||||
|
||||
"lng_notification_preview" = "새로운 메시지가 있습니다.";
|
||||
|
@ -301,13 +306,14 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_connection_type" = "연결 유형:";
|
||||
"lng_connection_auto_connecting" = "기본값 (연결중..)";
|
||||
"lng_connection_auto" = "기본값 ({type} 사용)";
|
||||
"lng_connection_http_proxy" = "HTTP 프록시";
|
||||
"lng_connection_tcp_proxy" = "TCP 프록시";
|
||||
"lng_connection_auto" = "기본값 ({transport} 사용)";
|
||||
"lng_connection_proxy_connecting" = "프록시 연결 중...";
|
||||
"lng_connection_proxy" = "{transport} 프록시 연결";
|
||||
"lng_connection_header" = "연결 유형";
|
||||
"lng_connection_auto_rb" = "자동 (사용 가능하다면 TCP 아니면 HTTP 사용)";
|
||||
"lng_connection_http_proxy_rb" = "HTTP (커스텀 HTTP 프록시)";
|
||||
"lng_connection_tcp_proxy_rb" = "TCP (커스텀 socks5-proxy)";
|
||||
"lng_connection_try_ipv6" = "IPv6로 연결 시도 중";
|
||||
"lng_connection_host_ph" = "호스트네임";
|
||||
"lng_connection_port_ph" = "포트";
|
||||
"lng_connection_user_ph" = "아이디";
|
||||
|
@ -319,6 +325,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_reset_one_sure" = "해당 세션을 강제 종료 하시겠습니까?";
|
||||
"lng_settings_reset_button" = "종료";
|
||||
"lng_settings_reset_done" = "다른 모든 세션이 강제 종료 되었습니다.";
|
||||
"lng_settings_ask_question" = "질문하기";
|
||||
"lng_settings_ask_sure" = "텔레그램에 관한 질문은 자원봉사자들이 답변해 드립니다. 신속한 답변을 위해 노력하지만 답변이 다소 늦을 수 있습니다.\n\n일반적인 문제와 해결방법에 대해서는 자주 묻는 질문을 확인해 보세요.";
|
||||
"lng_settings_faq_button" = "자주 묻는 질문 으로 이동";
|
||||
"lng_settings_ask_ok" = "질문하기";
|
||||
"lng_settings_faq" = "텔레그램 자주 묻는 질문";
|
||||
"lng_settings_logout" = "로그아웃";
|
||||
"lng_sure_logout" = "로그아웃을 하시겠습니까?";
|
||||
|
||||
|
@ -338,6 +349,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_topbar_info" = "정보";
|
||||
"lng_profile_about_section" = "취소";
|
||||
"lng_profile_settings_section" = "환경설정";
|
||||
"lng_profile_actions_section" = "동작";
|
||||
"lng_profile_bot_settings" = "환경설정";
|
||||
"lng_profile_bot_help" = "도움말";
|
||||
"lng_profile_participants_section" = "사용자";
|
||||
|
@ -347,6 +359,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_edit_contact" = "수정";
|
||||
"lng_profile_enable_notifications" = "알림";
|
||||
"lng_profile_clear_history" = "히스토리 초기화";
|
||||
"lng_profile_delete_conversation" = "대화 지우기";
|
||||
"lng_profile_clear_and_exit" = "삭제 후 종료";
|
||||
"lng_profile_search_messages" = "메시지 검색";
|
||||
"lng_profile_block_user" = "차단하기";
|
||||
"lng_profile_unblock_user" = "차단해제하기";
|
||||
"lng_profile_block_bot" = "봇 중지 및 차단";
|
||||
"lng_profile_unblock_bot" = "봇 차단해제";
|
||||
"lng_profile_send_message" = "메세지 전송";
|
||||
"lng_profile_share_contact" = "연락처 공유";
|
||||
"lng_profile_invite_to_group" = "그룹에 추가";
|
||||
|
@ -367,6 +386,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_files_header" = "파일 내역";
|
||||
"lng_profile_audios" = "{count:_not_used_|#개의 음성 메시지|#개의 음성 메시지} »";
|
||||
"lng_profile_audios_header" = "음성 메시지 내역";
|
||||
"lng_profile_audio_files_header" = "재생목록";
|
||||
"lng_profile_show_all_types" = "모든 유형 보기";
|
||||
"lng_profile_copy_phone" = "전화번호 복사";
|
||||
|
||||
|
@ -377,13 +397,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_create_group_title" = "새로운 그룹";
|
||||
|
||||
"lng_failed_add_participant" = "사용자를 초대할 수 없습니다. 나중에 다시 시도해주세요.";
|
||||
"lng_failed_add_not_mutual" = "죄송합니다. 그룹방에서 대화상대방이 나갔을 경우,\n상대 전화번호가 있는 분만 초대가 가능합니다.\n(서로 전화번호가 등록되어져 있어야만 가능)";
|
||||
|
||||
"lng_sure_delete_contact" = "{contact} 님을 주소록에서 \n삭제하시겠습니까?";
|
||||
"lng_sure_delete_history" = "{contact} 님과 관련된 모든 메시지를 \n삭제하시겠습니까?\n\n삭제 하실 경우 취소가 불가능합니다.";
|
||||
"lng_sure_delete_group_history" = "그룹<<{group}>> 방의 모든 메시지 기록을 삭제하시겠습니까?\n\n이 작업은 취소가 불가능합니다.";
|
||||
|
||||
"lng_sure_delete_and_exit" = "그룹 «{group}» 방에서 모든 메시지를 \n삭제하시고 퇴장하시겠습니까?\n\n삭제 하실 경우 취소가 불가능합니다.";
|
||||
|
||||
"lng_message_empty" = "(없음)";
|
||||
"lng_message_empty" = "메시지 없음";
|
||||
"lng_media_unsupported" = "지원하지 않는 미디어";
|
||||
|
||||
"lng_action_add_user" = "{from} 님께서 {user} 님을 초대하셨습니다.";
|
||||
"lng_action_kick_user" = "{from} 님께서 {user} 님을 추방하셨습니다.";
|
||||
|
@ -457,12 +480,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_send_button" = "보내기";
|
||||
"lng_message_ph" = "메시지 쓰기";
|
||||
"lng_record_cancel" = "이 영역에서 마우스 클릭을 해제하시면 취소가 됩니다.";
|
||||
"lng_record_cancel" = "이 영역 밖에서 마우스 클릭을 해제하시면 취소가 됩니다.";
|
||||
"lng_empty_history" = "";
|
||||
"lng_willbe_history" = "대화하실 방을 선택해주세요.";
|
||||
"lng_message_with_from" = "[c]{from}:[/c] {message}";
|
||||
"lng_from_you" = "회원님";
|
||||
"lng_bot_description" = "봇이 할 수 있는 일은 무엇일까요?";
|
||||
"lng_unblock_button" = "차단해제";
|
||||
|
||||
"lng_bot_start" = "시작";
|
||||
"lng_bot_choose_group" = "그룹 선택";
|
||||
|
@ -475,6 +499,22 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_user_typing" = "{user}님이 입력중입니다.";
|
||||
"lng_users_typing" = "{user}님과 {second_user}님이 입력중입니다.";
|
||||
"lng_many_typing" = "{count:_not_used_|#명이|#명이} 입력중입니다";
|
||||
"lng_send_action_record_video" = "비디오 녹화 중";
|
||||
"lng_user_action_record_video" = "{user}님이 녹화중입니다.";
|
||||
"lng_send_action_upload_video" = "비디오 전송 중";
|
||||
"lng_user_action_upload_video" = "{user}님이 비디오를 전송 중입니다.";
|
||||
"lng_send_action_record_audio" = "오디오 녹음 중";
|
||||
"lng_user_action_record_audio" = "{user}님이 오디오를 녹음 중입니다.";
|
||||
"lng_send_action_upload_audio" = "오디오 전송 중";
|
||||
"lng_user_action_upload_audio" = "{user}님이 오디오를 전송 중입니다.";
|
||||
"lng_send_action_upload_photo" = "사진 전송 중";
|
||||
"lng_user_action_upload_photo" = "{user}님이 사진을 전송 중입니다.";
|
||||
"lng_send_action_upload_file" = "파일을 전송 중";
|
||||
"lng_user_action_upload_file" = "{user}님이 사진을 전송 중입니다.";
|
||||
"lng_send_action_geo_location" = "위치 선택 중";
|
||||
"lng_user_action_geo_location" = "{user}님이 위치를 선택 중입니다.";
|
||||
"lng_send_action_choose_contact" = "연락처 선택 중";
|
||||
"lng_user_action_choose_contact" = "{user}님이 연락처를 선택 중입니다.";
|
||||
"lng_unread_bar" = "{count:_not_used_|#개의 읽지 않은 메시지|#개의 읽지 않은 메시지}";
|
||||
|
||||
"lng_maps_point" = "위치";
|
||||
|
@ -508,6 +548,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_context_open_audio" = "음성메시지 열기";
|
||||
"lng_context_save_audio" = "음성메시지를 다른 이름으로 저장..";
|
||||
"lng_context_pack_info" = "팩 정보";
|
||||
"lng_context_pack_add" = "스티커 추가";
|
||||
"lng_context_open_file" = "파일 열기";
|
||||
"lng_context_save_file" = "파일을 다른 이름으로 저장..";
|
||||
"lng_context_forward_file" = "파일 전달";
|
||||
|
@ -600,7 +641,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_new_version_wrap" = "텔레그램 데스크탑은 {version} 버전으로 업데이트 되었습니다.\n\n{changes}\n\n전체 버전 히스토리는 아래에서 확인 가능합니다:\n{link}";
|
||||
"lng_new_version_minor" = "— 버그 수정 및 일부 기능 향상";
|
||||
"lng_new_version_text" = "새로운 버전에서는 신규 봇 API를 무료로 공개합니다. 개발자라면 누구나 게임, 서비스나 통합 봇등 개발이 가능합니다. \n\n{blog_link}에서 자세한 사항을 알아보세요.";
|
||||
"lng_new_version_text" = "— 프로필 화면에서 사용자 차단\n— 윈도우 알림 지원\n— 리눅스 입력 방법 수정 (Fcitx and IBus)";
|
||||
|
||||
"lng_menu_insert_unicode" = "유니코드 문자를 입력하세요.";
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_open_from_tray" = "Telegram openen";
|
||||
"lng_minimize_to_tray" = "Minimaliseer naar systeemvak";
|
||||
"lng_quit_from_tray" = "Telegram afsluiten";
|
||||
"lng_tray_icon_text" = "Telegram is nog steeds actief,\nJe kunt dit wijzigen via instellingen.\n\nAls dit icoon verdwijnt van het systeemvak,\nkun je deze terugslepen vanaf de verborgen iconen.";
|
||||
"lng_tray_icon_text" = "Telegram is nog steeds actief, \nje kunt dit wijzigen via instellingen.\nAls dit icoon verdwijnt van het systeemvak,\nkun je deze terugslepen vanaf de verborgen iconen.";
|
||||
|
||||
"lng_month1" = "januari";
|
||||
"lng_month2" = "februari";
|
||||
|
@ -69,8 +69,9 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_reconnecting_try_now" = "Probeer nu";
|
||||
|
||||
"lng_status_service_notifications" = "servicemeldingen";
|
||||
"lng_status_support" = "ondersteuning";
|
||||
"lng_status_bot" = "bot";
|
||||
"lng_status_bot_reads_all" = "toegang tot berichten";
|
||||
"lng_status_bot_reads_all" = "toegang tot berichten";
|
||||
"lng_status_bot_not_reads_all" = "geen toegang tot berichten";
|
||||
"lng_status_offline" = "lang geleden gezien";
|
||||
"lng_status_recently" = "recent gezien";
|
||||
|
@ -156,8 +157,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_dlg_new_group_name" = "Groepsnaam";
|
||||
"lng_dlg_create_group" = "Maak";
|
||||
"lng_no_contacts" = "Je hebt geen contacten";
|
||||
"lng_no_chats" = "Hier komen je chats";
|
||||
"lng_contacts_loading" = "Bezig met laden";
|
||||
"lng_contacts_not_found" = "Geen contacten gevonden";
|
||||
"lng_dlg_search_chat" = "Zoek in deze chat";
|
||||
"lng_dlg_search_for_messages" = "Zoek berichten";
|
||||
|
||||
"lng_settings_save" = "Opslaan";
|
||||
"lng_settings_upload" = "Profielfoto instellen";
|
||||
|
@ -166,11 +170,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_username_title" = "Gebruikersnaam wijzigen";
|
||||
"lng_username_about" = "Je kunt hier je gebruikersnaam kiezen. \nHiermee kunnen anderen je vinden \nen contact met je opnemen zonder \nje telefoonnummer te weten.\n\na-z, 0-9 en underscore is toegestaan. \nDe minimale lengte is 5 tekens.";
|
||||
"lng_username_invalid" = "Deze naam is ongeldig.";
|
||||
"lng_username_occupied" = "Sorry, deze gebruikersnaam is al bezet.";
|
||||
"lng_username_too_short" = "Deze naam is te kort.";
|
||||
"lng_username_bad_symbols" = "Sorry, deze naam bevat ongeldige tekens.";
|
||||
"lng_username_available" = "Deze naam is beschikbaar.";
|
||||
"lng_username_invalid" = "Deze gebruikersnaam is ongeldig.";
|
||||
"lng_username_occupied" = "Deze gebruikersnaam is al bezet";
|
||||
"lng_username_too_short" = "Deze gebruikersnaam is te kort.";
|
||||
"lng_username_bad_symbols" = "Deze gebruikersnaam bevat ongeldige tekens.";
|
||||
"lng_username_available" = "Deze gebruikersnaam is beschikbaar.";
|
||||
"lng_username_not_found" = "Gebruiker @{user} niet gevonden.";
|
||||
|
||||
"lng_settings_section_contact_info" = "Contactgegevens";
|
||||
|
@ -182,6 +186,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_desktop_notify" = "Desktopmeldingen";
|
||||
"lng_settings_show_name" = "Afzender weergeven";
|
||||
"lng_settings_show_preview" = "Voorvertoning weergeven";
|
||||
"lng_settings_use_windows" = "Windows-berichtgeving gebruiken";
|
||||
"lng_settings_sound_notify" = "Geluiden afspelen";
|
||||
|
||||
"lng_notification_preview" = "Je hebt een nieuw bericht";
|
||||
|
@ -289,7 +294,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_cloud_password_bad" = "De hint moet anders zijn dan je wachtwoord.";
|
||||
"lng_cloud_password_email" = "Herstel-e-mailadres invoeren";
|
||||
"lng_cloud_password_bad_email" = "Ongeldig e-mailadres, probeer een andere.";
|
||||
"lng_cloud_password_about" = "Naast de code die je per SMS ontvangt kun je een extra wachtwoord instellen voor als je inlogt op een nieuw apparaat.";
|
||||
"lng_cloud_password_about" = "Dit wachtwoord is nodig als je inlogt vanaf een nieuw apparaat, naast de SMS die je ontvangt.";
|
||||
"lng_cloud_password_about_recover" = "Let op: Echt geen herstel-emailadres\nopgeven voor je wachtwoord?\n\nBij verlies van je wachtwoord ben je\nook de toegang tot Telegram kwijt.";
|
||||
"lng_cloud_password_almost" = "Een bevestigingslink is naar\nhet e-mailadres verstuurd.\n\ntwee-staps-verificatie is actief\nna het klikken van de e-mail-link.";
|
||||
"lng_cloud_password_was_set" = "Twee-staps-verificatie ingeschakeld.";
|
||||
|
@ -301,13 +306,14 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_connection_type" = "Verbindingstype:";
|
||||
"lng_connection_auto_connecting" = "Standaard (verbinden)";
|
||||
"lng_connection_auto" = "Standaard ({type} wordt gebruikt)";
|
||||
"lng_connection_http_proxy" = "HTTP met proxy";
|
||||
"lng_connection_tcp_proxy" = "TCP met proxy";
|
||||
"lng_connection_auto" = "Standaard ({transport} wordt gebruikt)";
|
||||
"lng_connection_proxy_connecting" = "Verbinden via proxy..";
|
||||
"lng_connection_proxy" = "{transport} met proxy";
|
||||
"lng_connection_header" = "Verbindingstype";
|
||||
"lng_connection_auto_rb" = "Auto (TCP indien beschikbaar of HTTP)";
|
||||
"lng_connection_http_proxy_rb" = "HTTP met aangepaste http-proxy";
|
||||
"lng_connection_tcp_proxy_rb" = "TCP met aangepaste socks5-proxy";
|
||||
"lng_connection_try_ipv6" = "Verbinden via IPV6";
|
||||
"lng_connection_host_ph" = "Hostnaam";
|
||||
"lng_connection_port_ph" = "Poort";
|
||||
"lng_connection_user_ph" = "Gebruikersnaam";
|
||||
|
@ -319,6 +325,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_reset_one_sure" = "Deze sessie beëindigen?";
|
||||
"lng_settings_reset_button" = "Beëindigen";
|
||||
"lng_settings_reset_done" = "Alle andere sessies zijn beëindigd";
|
||||
"lng_settings_ask_question" = "Een vraag stellen";
|
||||
"lng_settings_ask_sure" = "De ondersteuning voor Telegram wordt gedaan door vrijwilligers. We proberen zo snel mogelijk te reageren maar het kan even duren. \n\nBekijk ook de veelgestelde vragen, deze bevat belangrijke tips en antwoorden op de meest gestelde vragen. ";
|
||||
"lng_settings_faq_button" = "Veelgestelde vragen";
|
||||
"lng_settings_ask_ok" = "Vraag";
|
||||
"lng_settings_faq" = "Veelgestelde vragen";
|
||||
"lng_settings_logout" = "Uitloggen";
|
||||
"lng_sure_logout" = "Weet je zeker dat je wilt uitloggen?";
|
||||
|
||||
|
@ -338,6 +349,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_topbar_info" = "Info";
|
||||
"lng_profile_about_section" = "Over";
|
||||
"lng_profile_settings_section" = "Instellingen";
|
||||
"lng_profile_actions_section" = "Acties";
|
||||
"lng_profile_bot_settings" = "Instellingen";
|
||||
"lng_profile_bot_help" = "Help";
|
||||
"lng_profile_participants_section" = "Deelnemers";
|
||||
|
@ -347,6 +359,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_edit_contact" = "Wijzig";
|
||||
"lng_profile_enable_notifications" = "Meldingen";
|
||||
"lng_profile_clear_history" = "Geschiedenis wissen";
|
||||
"lng_profile_delete_conversation" = "Gesprek verwijderen";
|
||||
"lng_profile_clear_and_exit" = "Verwijder en verlaat";
|
||||
"lng_profile_search_messages" = "Zoek berichten";
|
||||
"lng_profile_block_user" = "Blokkeer gebruiker";
|
||||
"lng_profile_unblock_user" = "Deblokkeer gebruiker";
|
||||
"lng_profile_block_bot" = "Stop en blokkeer bot";
|
||||
"lng_profile_unblock_bot" = "Deblokkeer bot";
|
||||
"lng_profile_send_message" = "Bericht sturen";
|
||||
"lng_profile_share_contact" = "Contact delen";
|
||||
"lng_profile_invite_to_group" = "Groepslid maken";
|
||||
|
@ -367,6 +386,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_files_header" = "Bestandsoverzicht";
|
||||
"lng_profile_audios" = "{count:_not_used_|# spraakbericht|# spraakberichten} »";
|
||||
"lng_profile_audios_header" = "Overzicht van spraakberichten";
|
||||
"lng_profile_audio_files_header" = "Afspeellijst";
|
||||
"lng_profile_show_all_types" = "Alles weergeven";
|
||||
"lng_profile_copy_phone" = "Telefoonnummer kopiëren";
|
||||
|
||||
|
@ -377,13 +397,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_create_group_title" = "Nieuwe groep";
|
||||
|
||||
"lng_failed_add_participant" = "Gebruiker toevoegen mislukt. Probeer het later nog eens.";
|
||||
"lng_failed_add_not_mutual" = "Sorry, als een persoon verlaat, \nKan alleen een wederzijds\ncontact ze weer toevoegen\n(opgeslagen telefoonnummers).";
|
||||
|
||||
"lng_sure_delete_contact" = "{contact} echt verwijderen uit contacten?";
|
||||
"lng_sure_delete_history" = "Geschiedenis met {contact} echt wissen? \n\nDeze actie kan niet ongedaan worden gemaakt.";
|
||||
"lng_sure_delete_group_history" = "Echt de geschiedenis van «{group}» wissen?\n\nHerstellen is niet mogelijk. ";
|
||||
|
||||
"lng_sure_delete_and_exit" = "Wil je de groep «{group}» verlaten en de geschiedenis wissen?\n\nDeze actie kan niet ongedaan worden gemaakt.";
|
||||
|
||||
"lng_message_empty" = "(leeg)";
|
||||
"lng_message_empty" = "Leeg bericht";
|
||||
"lng_media_unsupported" = "Niet-ondersteunde media";
|
||||
|
||||
"lng_action_add_user" = "{from} heeft {user} toegevoegd";
|
||||
"lng_action_kick_user" = "{from} heeft {user} verwijderd";
|
||||
|
@ -463,6 +486,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_message_with_from" = "[c]{from}:[/c] {message}";
|
||||
"lng_from_you" = "Jij";
|
||||
"lng_bot_description" = "Wat kan deze bot? ";
|
||||
"lng_unblock_button" = "Deblokkeer";
|
||||
|
||||
"lng_bot_start" = "Begin";
|
||||
"lng_bot_choose_group" = "Groep kiezen";
|
||||
|
@ -475,6 +499,22 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_user_typing" = "{user} is aan het typen";
|
||||
"lng_users_typing" = "{user} en {second_user} zijn aan het typen";
|
||||
"lng_many_typing" = "{count:_not_used_|# is|# zijn} aan het typen";
|
||||
"lng_send_action_record_video" = "video opnemen";
|
||||
"lng_user_action_record_video" = "{user} neemt video op";
|
||||
"lng_send_action_upload_video" = "video versturen";
|
||||
"lng_user_action_upload_video" = "{user} verstuurt video";
|
||||
"lng_send_action_record_audio" = "geluid opnemen";
|
||||
"lng_user_action_record_audio" = "{user} neemt geluid op";
|
||||
"lng_send_action_upload_audio" = "geluid versturen";
|
||||
"lng_user_action_upload_audio" = "{user} verstuurt geluid";
|
||||
"lng_send_action_upload_photo" = "foto versturen";
|
||||
"lng_user_action_upload_photo" = "{user} verstuurt een foto";
|
||||
"lng_send_action_upload_file" = "bestand versturen";
|
||||
"lng_user_action_upload_file" = "{user} verstuurt een bestand";
|
||||
"lng_send_action_geo_location" = "locatie kiezen";
|
||||
"lng_user_action_geo_location" = "{user} kiest een locatie";
|
||||
"lng_send_action_choose_contact" = "contact kiezen";
|
||||
"lng_user_action_choose_contact" = "{user} kiest een contact";
|
||||
"lng_unread_bar" = "{count:_not_used_|# ongelezen bericht|# ongelezen berichten}";
|
||||
|
||||
"lng_maps_point" = "Locatie";
|
||||
|
@ -508,6 +548,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_context_open_audio" = "Geluidsbestand openen";
|
||||
"lng_context_save_audio" = "Geluidsbestand opslaan als";
|
||||
"lng_context_pack_info" = "Bundelinformatie";
|
||||
"lng_context_pack_add" = "Stickers toevoegen";
|
||||
"lng_context_open_file" = "Bestand openen";
|
||||
"lng_context_save_file" = "Bestand opslaan als";
|
||||
"lng_context_forward_file" = "Bestand doorsturen";
|
||||
|
@ -600,7 +641,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_new_version_wrap" = "Telegram is bijgewerkt naar versie {version}\n\n{changes} \n\nVolledige versiegeschiedenis is hier te vinden:\n{link}";
|
||||
"lng_new_version_minor" = "— Probleemoplossing en andere kleine verbeteringen";
|
||||
"lng_new_version_text" = "Deze versie heeft ondersteuning voor de nieuwe bot-API, gratis voor iedereen. Handig met programmeren? Maak dan je eigen bots voor spelletjes, diensten en integraties. \n\nMeer weten? kijk op: {blog_link}";
|
||||
"lng_new_version_text" = "— Blokkeer gebruikers vanaf de profielpagina\n— Ondersteuning voor Windows toast-meldingen\n— Problemen met invoermethodes onder Linux (Fcitx and IBus) opgelost";
|
||||
|
||||
"lng_menu_insert_unicode" = "Unicode-besturingsteken invoegen";
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_open_from_tray" = "Abrir Telegram";
|
||||
"lng_minimize_to_tray" = "Minimizar";
|
||||
"lng_quit_from_tray" = "Sair do Telegram";
|
||||
"lng_tray_icon_text" = "Telegram ainda está sendo executado,\nvocê pode mudar isso nas configurações.\n\nSe este ícone desaparecer de sua bandeja,\nvocê pode arrastar de volta dos ícones ocultos.";
|
||||
"lng_tray_icon_text" = "Telegram ainda está sendo executado,\nvocê pode mudar isso nas configurações.\nSe este ícone desaparecer de sua bandeja,\nvocê pode arrastar de volta dos ícones ";
|
||||
|
||||
"lng_month1" = "Janeiro";
|
||||
"lng_month2" = "Fevereiro";
|
||||
|
@ -69,6 +69,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_reconnecting_try_now" = "Tentar agora";
|
||||
|
||||
"lng_status_service_notifications" = "notificações de serviço";
|
||||
"lng_status_support" = "suporte";
|
||||
"lng_status_bot" = "bot";
|
||||
"lng_status_bot_reads_all" = "tem acesso as mensagens";
|
||||
"lng_status_bot_not_reads_all" = "não tem acesso as mensagens";
|
||||
|
@ -156,8 +157,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_dlg_new_group_name" = "Nome do grupo";
|
||||
"lng_dlg_create_group" = "Criar";
|
||||
"lng_no_contacts" = "Você não possui contatos";
|
||||
"lng_no_chats" = "Seus chats estarão aqui";
|
||||
"lng_contacts_loading" = "Carregando..";
|
||||
"lng_contacts_not_found" = "Nenhum contato encontrado";
|
||||
"lng_dlg_search_chat" = "Buscar nesse chat";
|
||||
"lng_dlg_search_for_messages" = "Buscar por mensagens";
|
||||
|
||||
"lng_settings_save" = "Salvar";
|
||||
"lng_settings_upload" = "Definir Foto de Perfil";
|
||||
|
@ -166,11 +170,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_username_title" = "Alterar nome de usuário";
|
||||
"lng_username_about" = "Você pode escolher um nome de usuário no Telegram.\nAssim, outras pessoas poderão te encontrar\npelo nome de usuário e entrar em contato\nsem precisar saber seu telefone.\n\nVocê pode usar a-z, 0-9 e underline.\nO tamanho mínimo é 5 caracteres.";
|
||||
"lng_username_invalid" = "Esse nome é inválido.";
|
||||
"lng_username_occupied" = "Esse nome já está ocupado.";
|
||||
"lng_username_too_short" = "Esse nome é muito curto.";
|
||||
"lng_username_bad_symbols" = "Esse nome contém símbolos incompatíveis.";
|
||||
"lng_username_available" = "Esse nome está disponível.";
|
||||
"lng_username_invalid" = "Nome de usuário inválido.";
|
||||
"lng_username_occupied" = "Nome de usuário ocupado.";
|
||||
"lng_username_too_short" = "Nome de usuário muito curto.";
|
||||
"lng_username_bad_symbols" = "Nome de usuário com símbolos incompatíveis.";
|
||||
"lng_username_available" = "Nome de usuário disponível.";
|
||||
"lng_username_not_found" = "Usuário @{user} não encontrado.";
|
||||
|
||||
"lng_settings_section_contact_info" = "Informação de contato";
|
||||
|
@ -182,6 +186,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_desktop_notify" = "Notificações na área de trabalho";
|
||||
"lng_settings_show_name" = "Mostrar nome de quem enviou";
|
||||
"lng_settings_show_preview" = "Mostrar pré-visualização da mensagem";
|
||||
"lng_settings_use_windows" = "Usar notificações do Windows";
|
||||
"lng_settings_sound_notify" = "Tocar som";
|
||||
|
||||
"lng_notification_preview" = "Você tem uma nova mensagem";
|
||||
|
@ -301,13 +306,14 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_connection_type" = "Tipo de conexão:";
|
||||
"lng_connection_auto_connecting" = "Padrão (conectando..)";
|
||||
"lng_connection_auto" = "Padrão ({type} usado)";
|
||||
"lng_connection_http_proxy" = "HTTP com proxy";
|
||||
"lng_connection_tcp_proxy" = "TCP com proxy";
|
||||
"lng_connection_auto" = "Padrão ({transport} usado)";
|
||||
"lng_connection_proxy_connecting" = "Conectando via proxy...";
|
||||
"lng_connection_proxy" = "{transport} com proxy";
|
||||
"lng_connection_header" = "Tipo de conexão";
|
||||
"lng_connection_auto_rb" = "Auto (TCP se disponível ou HTTP)";
|
||||
"lng_connection_http_proxy_rb" = "HTTP com http-proxy customizado";
|
||||
"lng_connection_tcp_proxy_rb" = "TCP com socks5-proxy customizado";
|
||||
"lng_connection_try_ipv6" = "Tentando conexão via IPv6";
|
||||
"lng_connection_host_ph" = "Nome do host";
|
||||
"lng_connection_port_ph" = "Porta";
|
||||
"lng_connection_user_ph" = "Nome de usuário";
|
||||
|
@ -319,6 +325,11 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_settings_reset_one_sure" = "Você deseja terminar essa sessão?";
|
||||
"lng_settings_reset_button" = "Encerrar";
|
||||
"lng_settings_reset_done" = "Outras sessões encerradas";
|
||||
"lng_settings_ask_question" = "Fazer uma Pergunta";
|
||||
"lng_settings_ask_sure" = "Entenda que o suporte do Telegram é feito por voluntários. Tentaremos responder o mais rápido possível, mas poderemos demorar um pouco.\n\nPor favor verifique a página de Perguntas Frequentes do Telegram: há dicas e respostas para a maioria das perguntas.";
|
||||
"lng_settings_faq_button" = "Perguntas Frequentes";
|
||||
"lng_settings_ask_ok" = "Perguntar";
|
||||
"lng_settings_faq" = "Perguntas Frequentes";
|
||||
"lng_settings_logout" = "Sair";
|
||||
"lng_sure_logout" = "Tem certeza que deseja sair?";
|
||||
|
||||
|
@ -338,6 +349,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_topbar_info" = "Info";
|
||||
"lng_profile_about_section" = "Sobre";
|
||||
"lng_profile_settings_section" = "Configurações";
|
||||
"lng_profile_actions_section" = "Ações";
|
||||
"lng_profile_bot_settings" = "Configurações";
|
||||
"lng_profile_bot_help" = "Ajuda";
|
||||
"lng_profile_participants_section" = "Membros";
|
||||
|
@ -347,6 +359,13 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_edit_contact" = "Editar";
|
||||
"lng_profile_enable_notifications" = "Notificações";
|
||||
"lng_profile_clear_history" = "Limpar histórico";
|
||||
"lng_profile_delete_conversation" = "Apagar conversa";
|
||||
"lng_profile_clear_and_exit" = "Apagar e sair";
|
||||
"lng_profile_search_messages" = "Buscar mensagens";
|
||||
"lng_profile_block_user" = "Bloquear usuário";
|
||||
"lng_profile_unblock_user" = "Desbloquear usuário";
|
||||
"lng_profile_block_bot" = "Parar e bloquear o bot";
|
||||
"lng_profile_unblock_bot" = "Desbloquear bot";
|
||||
"lng_profile_send_message" = "Enviar Mensagem";
|
||||
"lng_profile_share_contact" = "Compartilhar";
|
||||
"lng_profile_invite_to_group" = "Adicionar ao Grupo";
|
||||
|
@ -360,13 +379,14 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_profile_shared_media" = "Mídia compartilhada";
|
||||
"lng_profile_no_media" = "Nenhuma mídia nessa conversa.";
|
||||
"lng_profile_photos" = "{count:_not_used_|# foto|# fotos} »";
|
||||
"lng_profile_photos_header" = "Visualização de fotos";
|
||||
"lng_profile_photos_header" = "Fotos";
|
||||
"lng_profile_videos" = "{count:_not_used_|# arquivo de vídeo|# arquivo de vídeos} »";
|
||||
"lng_profile_videos_header" = "Visualização de vídeos";
|
||||
"lng_profile_videos_header" = "Vídeos";
|
||||
"lng_profile_files" = "{count:_not_used_|# arquivo|# arquivos} »";
|
||||
"lng_profile_files_header" = "Visualização de arquivos";
|
||||
"lng_profile_files_header" = "Arquivos";
|
||||
"lng_profile_audios" = "{count:_not_used_|# mensagem de voz|# mensagens de voz} »";
|
||||
"lng_profile_audios_header" = "Visualização de mensagens de voz";
|
||||
"lng_profile_audios_header" = "Mensagens de voz";
|
||||
"lng_profile_audio_files_header" = "Reprodução";
|
||||
"lng_profile_show_all_types" = "Mostrar todos os tipos";
|
||||
"lng_profile_copy_phone" = "Copiar número de telefone";
|
||||
|
||||
|
@ -377,13 +397,16 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_create_group_title" = "Novo Grupo";
|
||||
|
||||
"lng_failed_add_participant" = "Não foi possível adicionar o usuário. Tente novamente mais tarde.";
|
||||
"lng_failed_add_not_mutual" = "Desculpe, se uma pessoa deixou o\ngrupo, apenas um contato mútuo pode\ncolocá-la de volta (eles precisam do seu \ncontato no telefone e você o deles)";
|
||||
|
||||
"lng_sure_delete_contact" = "Você tem certeza que deseja remover {contact} da sua lista de contatos?";
|
||||
"lng_sure_delete_history" = "Você tem certeza que deseja apagar todo o seu histórico de mensagens com {contact}?\n\nEssa ação não pode ser desfeita.";
|
||||
"lng_sure_delete_group_history" = "Você tem certeza que deseja apagar todo o histórico de «{group}»?\n\nEssa ação não pode ser desfeita.";
|
||||
|
||||
"lng_sure_delete_and_exit" = "Você tem certeza que deseja apagar todo o seu histórico de mensagens e deixar «{group}»?\n\nEssa ação não pode ser desfeita.";
|
||||
|
||||
"lng_message_empty" = "(vazio)";
|
||||
"lng_message_empty" = "Mensagem Vazia";
|
||||
"lng_media_unsupported" = "Mídia Não-Suportada";
|
||||
|
||||
"lng_action_add_user" = "{from} adicionou {user}";
|
||||
"lng_action_kick_user" = "{from} removeu {user}";
|
||||
|
@ -463,6 +486,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_message_with_from" = "[c]{from}:[/c] {message}";
|
||||
"lng_from_you" = "Você";
|
||||
"lng_bot_description" = "O que esse bot pode fazer?";
|
||||
"lng_unblock_button" = "Desbloquear";
|
||||
|
||||
"lng_bot_start" = "Iniciar";
|
||||
"lng_bot_choose_group" = "Escolher Grupo";
|
||||
|
@ -475,6 +499,22 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_user_typing" = "{user} está escrevendo";
|
||||
"lng_users_typing" = "{user} e {second_user} estão escrevendo";
|
||||
"lng_many_typing" = "{count:_not_used_|# está|# estão} escrevendo";
|
||||
"lng_send_action_record_video" = "gravando vídeo";
|
||||
"lng_user_action_record_video" = "{user} está gravando vídeo";
|
||||
"lng_send_action_upload_video" = "enviando vídeo";
|
||||
"lng_user_action_upload_video" = "{user} está enviando vídeo";
|
||||
"lng_send_action_record_audio" = "gravando áudio";
|
||||
"lng_user_action_record_audio" = "{user} está gravando áudio";
|
||||
"lng_send_action_upload_audio" = "enviando áudio";
|
||||
"lng_user_action_upload_audio" = "{user} está gravando áudio";
|
||||
"lng_send_action_upload_photo" = "enviando foto";
|
||||
"lng_user_action_upload_photo" = "{user} está enviando foto";
|
||||
"lng_send_action_upload_file" = "enviando arquivo";
|
||||
"lng_user_action_upload_file" = "{user} está enviando arquivo";
|
||||
"lng_send_action_geo_location" = "escolhendo local";
|
||||
"lng_user_action_geo_location" = "{user} está escolhendo local";
|
||||
"lng_send_action_choose_contact" = "escolhendo contato";
|
||||
"lng_user_action_choose_contact" = "{user} está escolhendo contato";
|
||||
"lng_unread_bar" = "{count:_not_used_|# mensagem não lida|# mensagens não lidas}";
|
||||
|
||||
"lng_maps_point" = "Localização";
|
||||
|
@ -508,6 +548,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
"lng_context_open_audio" = "Abrir Áudio";
|
||||
"lng_context_save_audio" = "Salvar Áudio Como..";
|
||||
"lng_context_pack_info" = "Informação do pacote";
|
||||
"lng_context_pack_add" = "Adicionar aos Stickers";
|
||||
"lng_context_open_file" = "Abrir Arquivo";
|
||||
"lng_context_save_file" = "Salvar Arquivo Como..";
|
||||
"lng_context_forward_file" = "Encaminhar Arquivo";
|
||||
|
@ -600,7 +641,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
"lng_new_version_wrap" = "Telegram Desktop foi atualizado para a versão {version}\n\n{changes}\n\nHistórico completo de mudanças disponível aqui:\n{link}";
|
||||
"lng_new_version_minor" = "— Resolução de bugs e outras menores melhorias";
|
||||
"lng_new_version_text" = "Essa nova versão inclui suporte para bots usando a nova API de bots. Se você for um engenheiro, crie seus próprios bots para jogos, serviços ou integrações.\n\nLeia mais em {blog_link}";
|
||||
"lng_new_version_text" = "— Bloqueie usuários direto da página do perfil\n— Adicionado suporte às notificações de sistema do Windows\n— Consertado métodos de entrada no Linux (Fcitx e IBus)";
|
||||
|
||||
"lng_menu_insert_unicode" = "Inserir caractere de controle Unicode";
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
#include "stdafx.h"
|
||||
#include "localimageloader.h"
|
||||
#include "gui/filedialog.h"
|
||||
#include "audio.h"
|
||||
#include <libexif/exif-data.h>
|
||||
|
||||
LocalImageLoaderPrivate::LocalImageLoaderPrivate(int32 currentUser, LocalImageLoader *loader, QThread *thread) : QObject(0)
|
||||
|
@ -77,12 +78,15 @@ void LocalImageLoaderPrivate::prepareImages() {
|
|||
type = ToPrepareDocument;
|
||||
}
|
||||
}
|
||||
if (type == ToPrepareDocument) {
|
||||
mime = mimeTypeForFile(info).name();
|
||||
}
|
||||
if (type != ToPrepareAuto && info.size() < MaxUploadPhotoSize) {
|
||||
bool opaque = (mime != stickerMime);
|
||||
img = App::readImage(file, 0, opaque, &animated);
|
||||
if (animated) {
|
||||
type = ToPrepareDocument;
|
||||
}
|
||||
}
|
||||
if (type == ToPrepareDocument) {
|
||||
mime = mimeTypeForFile(info).name();
|
||||
}
|
||||
filename = info.fileName();
|
||||
filesize = info.size();
|
||||
|
@ -164,7 +168,41 @@ void LocalImageLoaderPrivate::prepareImages() {
|
|||
MTPDocument document(MTP_documentEmpty(MTP_long(0)));
|
||||
MTPAudio audio(MTP_audioEmpty(MTP_long(0)));
|
||||
|
||||
bool isSong = false;
|
||||
QByteArray jpeg;
|
||||
if (type == ToPrepareDocument) {
|
||||
if (mime == qstr("audio/mp3") || mime == qstr("audio/m4a") || mime == qstr("audio/aac") || mime == qstr("audio/ogg") || mime == qstr("audio/flac") ||
|
||||
filename.endsWith(qstr(".mp3"), Qt::CaseInsensitive) || filename.endsWith(qstr(".m4a"), Qt::CaseInsensitive) ||
|
||||
filename.endsWith(qstr(".aac"), Qt::CaseInsensitive) || filename.endsWith(qstr(".ogg"), Qt::CaseInsensitive) ||
|
||||
filename.endsWith(qstr(".flac"), Qt::CaseInsensitive)) {
|
||||
|
||||
QImage cover;
|
||||
QByteArray coverBytes, coverFormat;
|
||||
MTPDocumentAttribute audioAttribute = audioReadSongAttributes(file, data, cover, coverBytes, coverFormat);
|
||||
if (audioAttribute.type() == mtpc_documentAttributeAudio) {
|
||||
attributes.push_back(audioAttribute);
|
||||
isSong = true;
|
||||
if (!cover.isNull()) { // cover to thumb
|
||||
int32 cw = cover.width(), ch = cover.height();
|
||||
if (cw < 20 * ch && ch < 20 * cw) {
|
||||
QPixmap full = (cw > 90 || ch > 90) ? QPixmap::fromImage(cover.scaled(90, 90, Qt::KeepAspectRatio, Qt::SmoothTransformation), Qt::ColorOnly) : QPixmap::fromImage(cover, Qt::ColorOnly);
|
||||
{
|
||||
QByteArray thumbFormat = "JPG";
|
||||
int32 thumbQuality = 87;
|
||||
|
||||
QBuffer jpegBuffer(&jpeg);
|
||||
full.save(&jpegBuffer, thumbFormat, thumbQuality);
|
||||
}
|
||||
|
||||
photoThumbs.insert('0', full);
|
||||
thumb = MTP_photoSize(MTP_string(""), MTP_fileLocationUnavailable(MTP_long(0), MTP_int(0), MTP_long(0)), MTP_int(full.width()), MTP_int(full.height()), MTP_int(0));
|
||||
|
||||
thumbId = MTP::nonce<uint64>();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (type == ToPreparePhoto) {
|
||||
int32 w = img.width(), h = img.height();
|
||||
|
||||
|
@ -186,10 +224,10 @@ void LocalImageLoaderPrivate::prepareImages() {
|
|||
}
|
||||
if (!filesize) filesize = jpeg.size();
|
||||
|
||||
photo = MTP_photo(MTP_long(id), MTP_long(0), MTP_int(user), MTP_int(unixtime()), MTP_geoPointEmpty(), MTP_vector<MTPPhotoSize>(photoSizes));
|
||||
photo = MTP_photo(MTP_long(id), MTP_long(0), MTP_int(unixtime()), MTP_vector<MTPPhotoSize>(photoSizes));
|
||||
|
||||
thumbId = id;
|
||||
} else if ((type == ToPrepareVideo || type == ToPrepareDocument) && !img.isNull()) {
|
||||
} else if ((type == ToPrepareVideo || type == ToPrepareDocument) && !img.isNull() && !isSong) {
|
||||
int32 w = img.width(), h = img.height();
|
||||
QByteArray thumbFormat = "JPG";
|
||||
int32 thumbQuality = 87;
|
||||
|
@ -219,7 +257,7 @@ void LocalImageLoaderPrivate::prepareImages() {
|
|||
if (type == ToPrepareDocument) {
|
||||
document = MTP_document(MTP_long(id), MTP_long(0), MTP_int(unixtime()), MTP_string(mime), MTP_int(filesize), thumb, MTP_int(MTP::maindc()), MTP_vector<MTPDocumentAttribute>(attributes));
|
||||
} else if (type == ToPrepareAudio) {
|
||||
audio = MTP_audio(MTP_long(id), MTP_long(0), MTP_int(user), MTP_int(unixtime()), MTP_int(duration), MTP_string(mime), MTP_int(filesize), MTP_int(MTP::maindc()));
|
||||
audio = MTP_audio(MTP_long(id), MTP_long(0), MTP_int(unixtime()), MTP_int(duration), MTP_string(mime), MTP_int(filesize), MTP_int(MTP::maindc()));
|
||||
}
|
||||
|
||||
{
|
||||
|
|
|
@ -18,6 +18,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
#include "stdafx.h"
|
||||
#include "localstorage.h"
|
||||
|
||||
#include "mainwidget.h"
|
||||
#include "window.h"
|
||||
#include "lang.h"
|
||||
|
||||
namespace {
|
||||
|
@ -505,6 +507,7 @@ namespace {
|
|||
lskUserSettings = 0x09, // no data
|
||||
lskRecentHashtags = 0x0a, // no data
|
||||
lskStickers = 0x0b, // no data
|
||||
lskSavedPeers = 0x0c, // no data
|
||||
};
|
||||
|
||||
typedef QMap<PeerId, FileKey> DraftsMap;
|
||||
|
@ -517,6 +520,8 @@ namespace {
|
|||
typedef QPair<MediaKey, FileLocation> FileLocationPair;
|
||||
typedef QMap<QString, FileLocationPair> FileLocationPairs;
|
||||
FileLocationPairs _fileLocationPairs;
|
||||
typedef QMap<MediaKey, MediaKey> FileLocationAliases;
|
||||
FileLocationAliases _fileLocationAliases;
|
||||
FileKey _locationsKey = 0;
|
||||
|
||||
FileKey _recentStickersKeyOld = 0, _stickersKey = 0;
|
||||
|
@ -528,13 +533,15 @@ namespace {
|
|||
FileKey _recentHashtagsKey = 0;
|
||||
bool _recentHashtagsWereRead = false;
|
||||
|
||||
FileKey _savedPeersKey = 0;
|
||||
|
||||
typedef QPair<FileKey, qint32> FileDesc; // file, size
|
||||
typedef QMap<StorageKey, FileDesc> StorageMap;
|
||||
StorageMap _imagesMap, _stickerImagesMap, _audiosMap;
|
||||
int32 _storageImagesSize = 0, _storageStickersSize = 0, _storageAudiosSize = 0;
|
||||
|
||||
bool _mapChanged = false;
|
||||
int32 _oldMapVersion = 0;
|
||||
int32 _oldMapVersion = 0, _oldSettingsVersion = 0;
|
||||
|
||||
enum WriteMapWhen {
|
||||
WriteMapNow,
|
||||
|
@ -566,14 +573,28 @@ namespace {
|
|||
_writeMap(WriteMapFast);
|
||||
}
|
||||
quint32 size = 0;
|
||||
for (FileLocations::const_iterator i = _fileLocations.cbegin(); i != _fileLocations.cend(); ++i) {
|
||||
for (FileLocations::const_iterator i = _fileLocations.cbegin(), e = _fileLocations.cend(); i != e; ++i) {
|
||||
// location + type + namelen + name + date + size
|
||||
size += sizeof(quint64) * 2 + sizeof(quint32) + _stringSize(i.value().name) + _dateTimeSize() + sizeof(quint32);
|
||||
}
|
||||
//end mark
|
||||
size += sizeof(quint64) * 2 + sizeof(quint32) + _stringSize(QString()) + _dateTimeSize() + sizeof(quint32);
|
||||
size += sizeof(quint32); // aliases count
|
||||
for (FileLocationAliases::const_iterator i = _fileLocationAliases.cbegin(), e = _fileLocationAliases.cend(); i != e; ++i) {
|
||||
// alias + location
|
||||
size += sizeof(quint64) * 2 + sizeof(quint64) * 2;
|
||||
}
|
||||
|
||||
EncryptedDescriptor data(size);
|
||||
for (FileLocations::const_iterator i = _fileLocations.cbegin(); i != _fileLocations.cend(); ++i) {
|
||||
data.stream << quint64(i.key().first) << quint64(i.key().second) << quint32(i.value().type) << i.value().name << i.value().modified << quint32(i.value().size);
|
||||
}
|
||||
data.stream << quint64(0) << quint64(0) << quint32(0) << QString() << QDateTime::currentDateTime() << quint32(0);
|
||||
data.stream << quint32(_fileLocationAliases.size());
|
||||
for (FileLocationAliases::const_iterator i = _fileLocationAliases.cbegin(), e = _fileLocationAliases.cend(); i != e; ++i) {
|
||||
data.stream << quint64(i.key().first) << quint64(i.key().second) << quint64(i.value().first) << quint64(i.value().second);
|
||||
}
|
||||
|
||||
FileWriteDescriptor file(_locationsKey);
|
||||
file.writeEncrypted(data);
|
||||
}
|
||||
|
@ -588,12 +609,18 @@ namespace {
|
|||
return;
|
||||
}
|
||||
|
||||
bool endMarkFound = false;
|
||||
while (!locations.stream.atEnd()) {
|
||||
quint64 first, second;
|
||||
FileLocation loc;
|
||||
quint32 type;
|
||||
locations.stream >> first >> second >> type >> loc.name >> loc.modified >> loc.size;
|
||||
|
||||
if (!first && !second && !type && loc.name.isEmpty() && !loc.size) { // end mark
|
||||
endMarkFound = true;
|
||||
break;
|
||||
}
|
||||
|
||||
MediaKey key(first, second);
|
||||
loc.type = StorageFileType(type);
|
||||
|
||||
|
@ -604,6 +631,16 @@ namespace {
|
|||
_writeLocations();
|
||||
}
|
||||
}
|
||||
|
||||
if (endMarkFound) {
|
||||
quint32 cnt;
|
||||
locations.stream >> cnt;
|
||||
for (quint32 i = 0; i < cnt; ++i) {
|
||||
quint64 kfirst, ksecond, vfirst, vsecond;
|
||||
locations.stream >> kfirst >> ksecond >> vfirst >> vsecond;
|
||||
_fileLocationAliases.insert(MediaKey(kfirst, ksecond), MediaKey(vfirst, vsecond));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mtpDcOptions *_dcOpts = 0;
|
||||
|
@ -701,6 +738,15 @@ namespace {
|
|||
cSetDesktopNotify(v == 1);
|
||||
} break;
|
||||
|
||||
case dbiWindowsNotifications: {
|
||||
qint32 v;
|
||||
stream >> v;
|
||||
if (!_checkStreamStatus(stream)) return false;
|
||||
|
||||
cSetWindowsNotifications(v == 1);
|
||||
cSetCustomNotifies((App::wnd() ? App::wnd()->psHasNativeNotifications() : true) && !cWindowsNotifications());
|
||||
} break;
|
||||
|
||||
case dbiWorkMode: {
|
||||
qint32 v;
|
||||
stream >> v;
|
||||
|
@ -736,6 +782,14 @@ namespace {
|
|||
};
|
||||
} break;
|
||||
|
||||
case dbiTryIPv6: {
|
||||
qint32 v;
|
||||
stream >> v;
|
||||
if (!_checkStreamStatus(stream)) return false;
|
||||
|
||||
cSetTryIPv6(v == 1);
|
||||
} break;
|
||||
|
||||
case dbiSeenTrayTooltip: {
|
||||
qint32 v;
|
||||
stream >> v;
|
||||
|
@ -996,6 +1050,14 @@ namespace {
|
|||
cSetDialogLastPath(path);
|
||||
} break;
|
||||
|
||||
case dbiSongVolume: {
|
||||
qint32 v;
|
||||
stream >> v;
|
||||
if (!_checkStreamStatus(stream)) return false;
|
||||
|
||||
cSetSongVolume(snap(v / 1e6, 0., 1.));
|
||||
} break;
|
||||
|
||||
default:
|
||||
LOG(("App Error: unknown blockId in _readSetting: %1").arg(blockId));
|
||||
return false;
|
||||
|
@ -1217,7 +1279,7 @@ namespace {
|
|||
_writeMap(WriteMapFast);
|
||||
}
|
||||
|
||||
uint32 size = 11 * (sizeof(quint32) + sizeof(qint32));
|
||||
uint32 size = 13 * (sizeof(quint32) + sizeof(qint32));
|
||||
size += sizeof(quint32) + _stringSize(cAskDownloadPath() ? QString() : cDownloadPath());
|
||||
size += sizeof(quint32) + sizeof(qint32) + (cRecentEmojisPreload().isEmpty() ? cGetRecentEmojis().size() : cRecentEmojisPreload().size()) * (sizeof(uint64) + sizeof(ushort));
|
||||
size += sizeof(quint32) + sizeof(qint32) + cEmojiVariants().size() * (sizeof(uint32) + sizeof(uint64));
|
||||
|
@ -1233,11 +1295,13 @@ namespace {
|
|||
data.stream << quint32(dbiSoundNotify) << qint32(cSoundNotify());
|
||||
data.stream << quint32(dbiDesktopNotify) << qint32(cDesktopNotify());
|
||||
data.stream << quint32(dbiNotifyView) << qint32(cNotifyView());
|
||||
data.stream << quint32(dbiWindowsNotifications) << qint32(cWindowsNotifications());
|
||||
data.stream << quint32(dbiAskDownloadPath) << qint32(cAskDownloadPath());
|
||||
data.stream << quint32(dbiDownloadPath) << (cAskDownloadPath() ? QString() : cDownloadPath());
|
||||
data.stream << quint32(dbiCompressPastedImage) << qint32(cCompressPastedImage());
|
||||
data.stream << quint32(dbiEmojiTab) << qint32(cEmojiTab());
|
||||
data.stream << quint32(dbiDialogLastPath) << cDialogLastPath();
|
||||
data.stream << quint32(dbiSongVolume) << qint32(qRound(cSongVolume() * 1e6));
|
||||
|
||||
{
|
||||
RecentEmojisPreload v(cRecentEmojisPreload());
|
||||
|
@ -1383,7 +1447,7 @@ namespace {
|
|||
DraftsNotReadMap draftsNotReadMap;
|
||||
StorageMap imagesMap, stickerImagesMap, audiosMap;
|
||||
qint64 storageImagesSize = 0, storageStickersSize = 0, storageAudiosSize = 0;
|
||||
quint64 locationsKey = 0, recentStickersKeyOld = 0, stickersKey = 0, backgroundKey = 0, userSettingsKey = 0, recentHashtagsKey = 0;
|
||||
quint64 locationsKey = 0, recentStickersKeyOld = 0, stickersKey = 0, backgroundKey = 0, userSettingsKey = 0, recentHashtagsKey = 0, savedPeersKey = 0;
|
||||
while (!map.stream.atEnd()) {
|
||||
quint32 keyType;
|
||||
map.stream >> keyType;
|
||||
|
@ -1463,6 +1527,9 @@ namespace {
|
|||
case lskStickers: {
|
||||
map.stream >> stickersKey;
|
||||
} break;
|
||||
case lskSavedPeers: {
|
||||
map.stream >> savedPeersKey;
|
||||
} break;
|
||||
default:
|
||||
LOG(("App Error: unknown key type in encrypted map: %1").arg(keyType));
|
||||
return Local::ReadMapFailed;
|
||||
|
@ -1486,6 +1553,7 @@ namespace {
|
|||
_locationsKey = locationsKey;
|
||||
_recentStickersKeyOld = recentStickersKeyOld;
|
||||
_stickersKey = stickersKey;
|
||||
_savedPeersKey = savedPeersKey;
|
||||
_backgroundKey = backgroundKey;
|
||||
_userSettingsKey = userSettingsKey;
|
||||
_recentHashtagsKey = recentHashtagsKey;
|
||||
|
@ -1505,6 +1573,9 @@ namespace {
|
|||
_readMtpData();
|
||||
|
||||
LOG(("Map read time: %1").arg(getms() - ms));
|
||||
if (_oldSettingsVersion < AppVersion) {
|
||||
Local::writeSettings();
|
||||
}
|
||||
return Local::ReadMapDone;
|
||||
}
|
||||
|
||||
|
@ -1550,6 +1621,7 @@ namespace {
|
|||
if (_locationsKey) mapSize += sizeof(quint32) + sizeof(quint64);
|
||||
if (_recentStickersKeyOld) mapSize += sizeof(quint32) + sizeof(quint64);
|
||||
if (_stickersKey) mapSize += sizeof(quint32) + sizeof(quint64);
|
||||
if (_savedPeersKey) mapSize += sizeof(quint32) + sizeof(quint64);
|
||||
if (_backgroundKey) mapSize += sizeof(quint32) + sizeof(quint64);
|
||||
if (_userSettingsKey) mapSize += sizeof(quint32) + sizeof(quint64);
|
||||
if (_recentHashtagsKey) mapSize += sizeof(quint32) + sizeof(quint64);
|
||||
|
@ -1593,6 +1665,9 @@ namespace {
|
|||
if (_stickersKey) {
|
||||
mapData.stream << quint32(lskStickers) << quint64(_stickersKey);
|
||||
}
|
||||
if (_savedPeersKey) {
|
||||
mapData.stream << quint32(lskSavedPeers) << quint64(_savedPeersKey);
|
||||
}
|
||||
if (_backgroundKey) {
|
||||
mapData.stream << quint32(lskBackground) << quint64(_backgroundKey);
|
||||
}
|
||||
|
@ -1748,6 +1823,7 @@ namespace Local {
|
|||
cSetDcOptions(dcOpts);
|
||||
}
|
||||
|
||||
_oldSettingsVersion = settingsData.version;
|
||||
_settingsSalt = salt;
|
||||
}
|
||||
|
||||
|
@ -1789,7 +1865,7 @@ namespace Local {
|
|||
cSetDcOptions(dcOpts);
|
||||
}
|
||||
|
||||
quint32 size = 10 * (sizeof(quint32) + sizeof(qint32));
|
||||
quint32 size = 11 * (sizeof(quint32) + sizeof(qint32));
|
||||
for (mtpDcOptions::const_iterator i = dcOpts.cbegin(), e = dcOpts.cend(); i != e; ++i) {
|
||||
size += sizeof(quint32) + sizeof(quint32) + sizeof(quint32);
|
||||
size += sizeof(quint32) + _stringSize(QString::fromUtf8(i->ip.data(), i->ip.size()));
|
||||
|
@ -1827,6 +1903,7 @@ namespace Local {
|
|||
const ConnectionProxy &proxy(cConnectionProxy());
|
||||
data.stream << proxy.host << qint32(proxy.port) << proxy.user << proxy.password;
|
||||
}
|
||||
data.stream << quint32(dbiTryIPv6) << qint32(cTryIPv6());
|
||||
|
||||
TWindowPos pos(cWindowPos());
|
||||
data.stream << quint32(dbiWindowPosition) << qint32(pos.x) << qint32(pos.y) << qint32(pos.w) << qint32(pos.h) << qint32(pos.moncrc) << qint32(pos.maximized);
|
||||
|
@ -1850,7 +1927,7 @@ namespace Local {
|
|||
_draftsNotReadMap.clear();
|
||||
_stickerImagesMap.clear();
|
||||
_audiosMap.clear();
|
||||
_locationsKey = _recentStickersKeyOld = _stickersKey = _backgroundKey = _userSettingsKey = _recentHashtagsKey = 0;
|
||||
_locationsKey = _recentStickersKeyOld = _stickersKey = _backgroundKey = _userSettingsKey = _recentHashtagsKey = _savedPeersKey = 0;
|
||||
_mapChanged = true;
|
||||
_writeMap(WriteMapNow);
|
||||
|
||||
|
@ -1889,6 +1966,10 @@ namespace Local {
|
|||
return _oldMapVersion;
|
||||
}
|
||||
|
||||
int32 oldSettingsVersion() {
|
||||
return _oldSettingsVersion;
|
||||
}
|
||||
|
||||
void writeDraft(const PeerId &peer, const MessageDraft &draft) {
|
||||
if (!_working()) return;
|
||||
|
||||
|
@ -1989,12 +2070,21 @@ namespace Local {
|
|||
return (_draftsPositionsMap.constFind(peer) != _draftsPositionsMap.cend());
|
||||
}
|
||||
|
||||
void writeFileLocation(const MediaKey &location, const FileLocation &local) {
|
||||
void writeFileLocation(MediaKey location, const FileLocation &local) {
|
||||
if (local.name.isEmpty()) return;
|
||||
|
||||
FileLocationAliases::const_iterator aliasIt = _fileLocationAliases.constFind(location);
|
||||
if (aliasIt != _fileLocationAliases.cend()) {
|
||||
location = aliasIt.value();
|
||||
}
|
||||
|
||||
FileLocationPairs::iterator i = _fileLocationPairs.find(local.name);
|
||||
if (i != _fileLocationPairs.cend()) {
|
||||
if (i.value().second == local) {
|
||||
if (i.value().first != location) {
|
||||
_fileLocationAliases.insert(location, i.value().first);
|
||||
_writeLocations(WriteMapFast);
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (i.value().first != location) {
|
||||
|
@ -2012,7 +2102,12 @@ namespace Local {
|
|||
_writeLocations(WriteMapFast);
|
||||
}
|
||||
|
||||
FileLocation readFileLocation(const MediaKey &location, bool check) {
|
||||
FileLocation readFileLocation(MediaKey location, bool check) {
|
||||
FileLocationAliases::const_iterator aliasIt = _fileLocationAliases.constFind(location);
|
||||
if (aliasIt != _fileLocationAliases.cend()) {
|
||||
location = aliasIt.value();
|
||||
}
|
||||
|
||||
FileLocations::iterator i = _fileLocations.find(location);
|
||||
for (FileLocations::iterator i = _fileLocations.find(location); (i != _fileLocations.end()) && (i.key() == location);) {
|
||||
if (check) {
|
||||
|
@ -2229,15 +2324,40 @@ namespace Local {
|
|||
return _storageAudiosSize;
|
||||
}
|
||||
|
||||
void _writeStorageImageLocation(QDataStream &stream, const StorageImageLocation &loc) {
|
||||
stream << qint32(loc.width) << qint32(loc.height);
|
||||
stream << qint32(loc.dc) << quint64(loc.volume) << qint32(loc.local) << quint64(loc.secret);
|
||||
}
|
||||
|
||||
uint32 _storageImageLocationSize() {
|
||||
// width + height + dc + volume + local + secret
|
||||
return sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + sizeof(quint64) + sizeof(qint32) + sizeof(quint64);
|
||||
}
|
||||
|
||||
StorageImageLocation _readStorageImageLocation(FileReadDescriptor &from) {
|
||||
qint32 thumbWidth, thumbHeight, thumbDc, thumbLocal;
|
||||
quint64 thumbVolume, thumbSecret;
|
||||
from.stream >> thumbWidth >> thumbHeight >> thumbDc >> thumbVolume >> thumbLocal >> thumbSecret;
|
||||
return StorageImageLocation(thumbWidth, thumbHeight, thumbDc, thumbVolume, thumbLocal, thumbSecret);
|
||||
}
|
||||
|
||||
void _writeStickerSet(QDataStream &stream, uint64 setId) {
|
||||
StickerSets::const_iterator it = cStickerSets().constFind(setId);
|
||||
if (it == cStickerSets().cend() || it->stickers.isEmpty()) return;
|
||||
if (it == cStickerSets().cend()) return;
|
||||
|
||||
stream << quint64(it->id) << quint64(it->access) << it->title << it->shortName << quint32(it->stickers.size());
|
||||
bool notLoaded = (it->flags & MTPDstickerSet_flag_NOT_LOADED);
|
||||
if (notLoaded) {
|
||||
stream << quint64(it->id) << quint64(it->access) << it->title << it->shortName << qint32(-it->count) << qint32(it->hash) << qint32(it->flags);
|
||||
return;
|
||||
} else {
|
||||
if (it->stickers.isEmpty()) return;
|
||||
}
|
||||
|
||||
stream << quint64(it->id) << quint64(it->access) << it->title << it->shortName << qint32(it->stickers.size()) << qint32(it->hash) << qint32(it->flags);
|
||||
for (StickerPack::const_iterator j = it->stickers.cbegin(), e = it->stickers.cend(); j != e; ++j) {
|
||||
DocumentData *doc = *j;
|
||||
stream << quint64(doc->id) << quint64(doc->access) << qint32(doc->date) << doc->name << doc->mime << qint32(doc->dc) << qint32(doc->size) << qint32(doc->dimensions.width()) << qint32(doc->dimensions.height()) << qint32(doc->type) << doc->sticker->alt;
|
||||
switch (doc->sticker->set.type()) {
|
||||
stream << quint64(doc->id) << quint64(doc->access) << qint32(doc->date) << doc->name << doc->mime << qint32(doc->dc) << qint32(doc->size) << qint32(doc->dimensions.width()) << qint32(doc->dimensions.height()) << qint32(doc->type) << doc->sticker()->alt;
|
||||
switch (doc->sticker()->set.type()) {
|
||||
case mtpc_inputStickerSetID: {
|
||||
stream << qint32(StickerSetTypeID);
|
||||
} break;
|
||||
|
@ -2249,8 +2369,7 @@ namespace Local {
|
|||
stream << qint32(StickerSetTypeEmpty);
|
||||
} break;
|
||||
}
|
||||
const StorageImageLocation &loc(doc->sticker->loc);
|
||||
stream << qint32(loc.width) << qint32(loc.height) << qint32(loc.dc) << quint64(loc.volume) << qint32(loc.local) << quint64(loc.secret);
|
||||
_writeStorageImageLocation(stream, doc->sticker()->loc);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2266,30 +2385,39 @@ namespace Local {
|
|||
}
|
||||
_writeMap();
|
||||
} else {
|
||||
int32 setsCount = 0;
|
||||
quint32 size = sizeof(quint32) + _bytearraySize(cStickersHash());
|
||||
for (StickerSets::const_iterator i = sets.cbegin(); i != sets.cend(); ++i) {
|
||||
bool notLoaded = (i->flags & MTPDstickerSet_flag_NOT_LOADED);
|
||||
if (notLoaded) {
|
||||
if (!(i->flags & MTPDstickerSet_flag_disabled)) { // waiting to receive
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
if (i->stickers.isEmpty()) continue;
|
||||
}
|
||||
|
||||
// id + access + title + shortName + stickersCount + hash + flags
|
||||
size += sizeof(quint64) * 2 + _stringSize(i->title) + _stringSize(i->shortName) + sizeof(quint32) + sizeof(qint32) * 2;
|
||||
for (StickerPack::const_iterator j = i->stickers.cbegin(), e = i->stickers.cend(); j != e; ++j) {
|
||||
DocumentData *doc = *j;
|
||||
|
||||
// id + access + date + namelen + name + mimelen + mime + dc + size + width + height + type + alt + type-of-set
|
||||
size += sizeof(quint64) + sizeof(quint64) + sizeof(qint32) + _stringSize(doc->name) + _stringSize(doc->mime) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + _stringSize(doc->sticker()->alt) + sizeof(qint32);
|
||||
|
||||
// loc
|
||||
size += _storageImageLocationSize();
|
||||
}
|
||||
++setsCount;
|
||||
}
|
||||
|
||||
if (!_stickersKey) {
|
||||
_stickersKey = genKey();
|
||||
_mapChanged = true;
|
||||
_writeMap(WriteMapFast);
|
||||
}
|
||||
quint32 size = sizeof(quint32) + _bytearraySize(cStickersHash());
|
||||
for (StickerSets::const_iterator i = sets.cbegin(); i != sets.cend(); ++i) {
|
||||
if (i->stickers.isEmpty()) continue;
|
||||
|
||||
// id + access + title + shortName + stickersCount
|
||||
size += sizeof(quint64) * 2 + _stringSize(i->title) + _stringSize(i->shortName) + sizeof(quint32);
|
||||
for (StickerPack::const_iterator j = i->stickers.cbegin(), e = i->stickers.cend(); j != e; ++j) {
|
||||
DocumentData *doc = *j;
|
||||
|
||||
// id + access + date + namelen + name + mimelen + mime + dc + size + width + height + type + alt + type-of-set
|
||||
size += sizeof(quint64) + sizeof(quint64) + sizeof(qint32) + _stringSize(doc->name) + _stringSize(doc->mime) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + _stringSize(doc->sticker->alt) + sizeof(qint32);
|
||||
|
||||
// thumb-width + thumb-height + thumb-dc + thumb-volume + thumb-local + thumb-secret
|
||||
size += sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + sizeof(quint64) + sizeof(qint32) + sizeof(quint64);
|
||||
}
|
||||
}
|
||||
EncryptedDescriptor data(size);
|
||||
data.stream << quint32(cStickerSets().size()) << cStickersHash();
|
||||
_writeStickerSet(data.stream, DefaultStickerSetId);
|
||||
data.stream << quint32(setsCount) << cStickersHash();
|
||||
_writeStickerSet(data.stream, CustomStickerSetId);
|
||||
for (StickerSetsOrder::const_iterator i = cStickerSetsOrder().cbegin(), e = cStickerSetsOrder().cend(); i != e; ++i) {
|
||||
_writeStickerSet(data.stream, *i);
|
||||
|
@ -2312,15 +2440,17 @@ namespace Local {
|
|||
|
||||
StickerSets &sets(cRefStickerSets());
|
||||
sets.clear();
|
||||
cSetStickerSetsOrder(StickerSetsOrder());
|
||||
|
||||
StickerSetsOrder &order(cRefStickerSetsOrder());
|
||||
order.clear();
|
||||
|
||||
RecentStickerPack &recent(cRefRecentStickers());
|
||||
recent.clear();
|
||||
|
||||
cSetStickersHash(QByteArray());
|
||||
|
||||
StickerSet &def(sets.insert(DefaultStickerSetId, StickerSet(DefaultStickerSetId, 0, lang(lng_stickers_default_set), QString())).value());
|
||||
StickerSet &custom(sets.insert(CustomStickerSetId, StickerSet(CustomStickerSetId, 0, lang(lng_custom_stickers), QString())).value());
|
||||
StickerSet &def(sets.insert(DefaultStickerSetId, StickerSet(DefaultStickerSetId, 0, lang(lng_stickers_default_set), QString(), 0, 0, MTPDstickerSet_flag_official)).value());
|
||||
StickerSet &custom(sets.insert(CustomStickerSetId, StickerSet(CustomStickerSetId, 0, lang(lng_custom_stickers), QString(), 0, 0, 0)).value());
|
||||
|
||||
QMap<uint64, bool> read;
|
||||
while (!stickers.stream.atEnd()) {
|
||||
|
@ -2347,16 +2477,22 @@ namespace Local {
|
|||
}
|
||||
|
||||
DocumentData *doc = App::documentSet(id, 0, access, date, attributes, mime, ImagePtr(), dc, size, StorageImageLocation());
|
||||
if (!doc->sticker) continue;
|
||||
if (!doc->sticker()) continue;
|
||||
|
||||
if (value > 0) {
|
||||
def.stickers.push_back(doc);
|
||||
++def.count;
|
||||
} else {
|
||||
custom.stickers.push_back(doc);
|
||||
++custom.count;
|
||||
}
|
||||
if (recent.size() < StickerPanPerRow * StickerPanRowsPerPage && qAbs(value) > 1) recent.push_back(qMakePair(doc, qAbs(value)));
|
||||
}
|
||||
if (def.stickers.isEmpty()) sets.remove(DefaultStickerSetId);
|
||||
if (def.stickers.isEmpty()) {
|
||||
sets.remove(DefaultStickerSetId);
|
||||
} else {
|
||||
order.push_front(DefaultStickerSetId);
|
||||
}
|
||||
if (custom.stickers.isEmpty()) sets.remove(CustomStickerSetId);
|
||||
|
||||
writeStickers();
|
||||
|
@ -2396,11 +2532,18 @@ namespace Local {
|
|||
for (uint32 i = 0; i < cnt; ++i) {
|
||||
quint64 setId = 0, setAccess = 0;
|
||||
QString setTitle, setShortName;
|
||||
quint32 scnt = 0;
|
||||
qint32 scnt = 0;
|
||||
stickers.stream >> setId >> setAccess >> setTitle >> setShortName >> scnt;
|
||||
|
||||
qint32 setHash = 0, setFlags = 0;
|
||||
if (stickers.version > 8033) {
|
||||
stickers.stream >> setHash >> setFlags;
|
||||
}
|
||||
|
||||
if (setId == DefaultStickerSetId) {
|
||||
setTitle = lang(lng_stickers_default_set);
|
||||
setFlags |= MTPDstickerSet_flag_official;
|
||||
order.push_front(setId);
|
||||
} else if (setId == CustomStickerSetId) {
|
||||
setTitle = lang(lng_custom_stickers);
|
||||
} else if (setId) {
|
||||
|
@ -2408,19 +2551,22 @@ namespace Local {
|
|||
} else {
|
||||
continue;
|
||||
}
|
||||
StickerSet &set(sets.insert(setId, StickerSet(setId, setAccess, setTitle, setShortName)).value());
|
||||
StickerSet &set(sets.insert(setId, StickerSet(setId, setAccess, setTitle, setShortName, 0, setHash, setFlags)).value());
|
||||
if (scnt < 0) { // disabled not loaded set
|
||||
set.count = -scnt;
|
||||
continue;
|
||||
}
|
||||
|
||||
set.stickers.reserve(scnt);
|
||||
|
||||
QMap<uint64, bool> read;
|
||||
for (uint32 j = 0; j < scnt; ++j) {
|
||||
for (int32 j = 0; j < scnt; ++j) {
|
||||
quint64 id, access;
|
||||
QString name, mime, alt;
|
||||
qint32 date, dc, size, width, height, type, typeOfSet;
|
||||
stickers.stream >> id >> access >> date >> name >> mime >> dc >> size >> width >> height >> type >> alt >> typeOfSet;
|
||||
|
||||
qint32 thumbWidth, thumbHeight, thumbDc, thumbLocal;
|
||||
quint64 thumbVolume, thumbSecret;
|
||||
stickers.stream >> thumbWidth >> thumbHeight >> thumbDc >> thumbVolume >> thumbLocal >> thumbSecret;
|
||||
StorageImageLocation thumb(_readStorageImageLocation(stickers));
|
||||
|
||||
if (read.contains(id)) continue;
|
||||
read.insert(id, true);
|
||||
|
@ -2451,11 +2597,11 @@ namespace Local {
|
|||
attributes.push_back(MTP_documentAttributeImageSize(MTP_int(width), MTP_int(height)));
|
||||
}
|
||||
|
||||
StorageImageLocation thumb(thumbWidth, thumbHeight, thumbDc, thumbVolume, thumbLocal, thumbSecret);
|
||||
DocumentData *doc = App::documentSet(id, 0, access, date, attributes, mime, thumb.dc ? ImagePtr(thumb) : ImagePtr(), dc, size, thumb);
|
||||
if (!doc->sticker) continue;
|
||||
if (!doc->sticker()) continue;
|
||||
|
||||
set.stickers.push_back(doc);
|
||||
++set.count;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2603,6 +2749,190 @@ namespace Local {
|
|||
cSetRecentSearchHashtags(search);
|
||||
}
|
||||
|
||||
uint32 _peerSize(PeerData *peer) {
|
||||
uint32 result = sizeof(quint64) + sizeof(quint64) + _storageImageLocationSize();
|
||||
if (peer->chat) {
|
||||
ChatData *chat = peer->asChat();
|
||||
|
||||
// name + count + date + version + admin + forbidden + left + invitationUrl
|
||||
result += _stringSize(chat->name) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32) + _stringSize(chat->invitationUrl);
|
||||
} else {
|
||||
UserData *user = peer->asUser();
|
||||
|
||||
// first + last + phone + username + access + onlineTill + contact + botInfoVersion
|
||||
result += _stringSize(user->firstName) + _stringSize(user->lastName) + _stringSize(user->phone) + _stringSize(user->username) + sizeof(quint64) + sizeof(qint32) + sizeof(qint32) + sizeof(qint32);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
void _writePeer(QDataStream &stream, PeerData *peer) {
|
||||
stream << quint64(peer->id) << quint64(peer->photoId);
|
||||
_writeStorageImageLocation(stream, peer->photoLoc);
|
||||
if (peer->chat) {
|
||||
ChatData *chat = peer->asChat();
|
||||
|
||||
stream << chat->name << qint32(chat->count) << qint32(chat->date) << qint32(chat->version) << qint32(chat->admin);
|
||||
stream << qint32(chat->forbidden ? 1 : 0) << qint32(chat->left ? 1 : 0) << chat->invitationUrl;
|
||||
} else {
|
||||
UserData *user = peer->asUser();
|
||||
|
||||
stream << user->firstName << user->lastName << user->phone << user->username << quint64(user->access) << qint32(user->onlineTill) << qint32(user->contact) << qint32(user->botInfo ? user->botInfo->version : -1);
|
||||
}
|
||||
}
|
||||
|
||||
PeerData *_readPeer(FileReadDescriptor &from) {
|
||||
PeerData *result = 0;
|
||||
quint64 peerId = 0, photoId = 0;
|
||||
from.stream >> peerId >> photoId;
|
||||
|
||||
StorageImageLocation photoLoc(_readStorageImageLocation(from));
|
||||
|
||||
result = App::peer(peerId);
|
||||
result->loaded = true;
|
||||
if (result->chat) {
|
||||
ChatData *chat = result->asChat();
|
||||
|
||||
QString name, invitationUrl;
|
||||
qint32 count, date, version, admin, forbidden, left;
|
||||
from.stream >> name >> count >> date >> version >> admin >> forbidden >> left >> invitationUrl;
|
||||
|
||||
chat->updateName(name, QString(), QString());
|
||||
chat->count = count;
|
||||
chat->date = date;
|
||||
chat->version = version;
|
||||
chat->admin = admin;
|
||||
chat->forbidden = (forbidden == 1);
|
||||
chat->left = (left == 1);
|
||||
chat->invitationUrl = invitationUrl;
|
||||
|
||||
chat->input = MTP_inputPeerChat(MTP_int(App::chatFromPeer(chat->id)));
|
||||
|
||||
chat->photo = photoLoc.isNull() ? ImagePtr(chatDefPhoto(chat->colorIndex)) : ImagePtr(photoLoc);
|
||||
} else {
|
||||
UserData *user = result->asUser();
|
||||
|
||||
QString first, last, phone, username;
|
||||
quint64 access;
|
||||
qint32 onlineTill, contact, botInfoVersion;
|
||||
from.stream >> first >> last >> phone >> username >> access >> onlineTill >> contact >> botInfoVersion;
|
||||
|
||||
bool showPhone = !isServiceUser(user->id) && (App::userFromPeer(user->id) != MTP::authedId()) && (contact <= 0);
|
||||
QString pname = (showPhone && !phone.isEmpty()) ? App::formatPhone(phone) : QString();
|
||||
|
||||
user->setName(first, last, pname, username);
|
||||
|
||||
user->access = access;
|
||||
user->onlineTill = onlineTill;
|
||||
user->contact = contact;
|
||||
user->setBotInfoVersion(botInfoVersion);
|
||||
|
||||
if (App::userFromPeer(user->id) == MTP::authedId()) {
|
||||
user->input = MTP_inputPeerSelf();
|
||||
user->inputUser = MTP_inputUserSelf();
|
||||
} else {
|
||||
user->input = MTP_inputPeerUser(MTP_int(App::userFromPeer(user->id)), MTP_long((user->access == UserNoAccess) ? 0 : user->access));
|
||||
user->inputUser = MTP_inputUser(MTP_int(App::userFromPeer(user->id)), MTP_long((user->access == UserNoAccess) ? 0 : user->access));
|
||||
}
|
||||
|
||||
user->photo = photoLoc.isNull() ? ImagePtr(userDefPhoto(user->colorIndex)) : ImagePtr(photoLoc);
|
||||
}
|
||||
App::markPeerUpdated(result);
|
||||
emit App::main()->peerPhotoChanged(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
void writeSavedPeers() {
|
||||
if (!_working()) return;
|
||||
|
||||
const SavedPeers &saved(cSavedPeers());
|
||||
if (saved.isEmpty()) {
|
||||
if (_savedPeersKey) {
|
||||
clearKey(_savedPeersKey);
|
||||
_savedPeersKey = 0;
|
||||
_mapChanged = true;
|
||||
}
|
||||
_writeMap();
|
||||
} else {
|
||||
if (!_savedPeersKey) {
|
||||
_savedPeersKey = genKey();
|
||||
_mapChanged = true;
|
||||
_writeMap(WriteMapFast);
|
||||
}
|
||||
quint32 size = sizeof(quint32);
|
||||
for (SavedPeers::const_iterator i = saved.cbegin(); i != saved.cend(); ++i) {
|
||||
size += _peerSize(i.key()) + _dateTimeSize();
|
||||
}
|
||||
|
||||
EncryptedDescriptor data(size);
|
||||
data.stream << quint32(saved.size());
|
||||
for (SavedPeers::const_iterator i = saved.cbegin(); i != saved.cend(); ++i) {
|
||||
_writePeer(data.stream, i.key());
|
||||
data.stream << i.value();
|
||||
}
|
||||
|
||||
FileWriteDescriptor file(_savedPeersKey);
|
||||
file.writeEncrypted(data);
|
||||
}
|
||||
}
|
||||
|
||||
void readSavedPeers() {
|
||||
if (!_savedPeersKey) return;
|
||||
|
||||
FileReadDescriptor saved;
|
||||
if (!readEncryptedFile(saved, _savedPeersKey)) {
|
||||
clearKey(_savedPeersKey);
|
||||
_savedPeersKey = 0;
|
||||
_writeMap();
|
||||
return;
|
||||
}
|
||||
|
||||
quint32 count = 0;
|
||||
saved.stream >> count;
|
||||
cRefSavedPeers().clear();
|
||||
cRefSavedPeersByTime().clear();
|
||||
QList<PeerData*> peers;
|
||||
peers.reserve(count);
|
||||
for (uint32 i = 0; i < count; ++i) {
|
||||
PeerData *peer = _readPeer(saved);
|
||||
if (!peer) break;
|
||||
|
||||
QDateTime t;
|
||||
saved.stream >> t;
|
||||
|
||||
cRefSavedPeers().insert(peer, t);
|
||||
cRefSavedPeersByTime().insert(t, peer);
|
||||
peers.push_back(peer);
|
||||
}
|
||||
App::emitPeerUpdated();
|
||||
App::api()->requestPeers(peers);
|
||||
}
|
||||
|
||||
void addSavedPeer(PeerData *peer, const QDateTime &position) {
|
||||
SavedPeers &savedPeers(cRefSavedPeers());
|
||||
SavedPeers::iterator i = savedPeers.find(peer);
|
||||
if (i == savedPeers.cend()) {
|
||||
savedPeers.insert(peer, position);
|
||||
} else if (i.value() != position) {
|
||||
cRefSavedPeersByTime().remove(i.value(), peer);
|
||||
i.value() = position;
|
||||
cRefSavedPeersByTime().insert(i.value(), peer);
|
||||
}
|
||||
writeSavedPeers();
|
||||
}
|
||||
|
||||
void removeSavedPeer(PeerData *peer) {
|
||||
SavedPeers &savedPeers(cRefSavedPeers());
|
||||
if (savedPeers.isEmpty()) return;
|
||||
|
||||
SavedPeers::iterator i = savedPeers.find(peer);
|
||||
if (i != savedPeers.cend()) {
|
||||
cRefSavedPeersByTime().remove(i.value(), peer);
|
||||
savedPeers.erase(i);
|
||||
|
||||
writeSavedPeers();
|
||||
}
|
||||
}
|
||||
|
||||
struct ClearManagerData {
|
||||
QThread *thread;
|
||||
StorageMap images, stickers, audios;
|
||||
|
@ -2662,6 +2992,10 @@ namespace Local {
|
|||
_recentHashtagsKey = 0;
|
||||
_mapChanged = true;
|
||||
}
|
||||
if (_savedPeersKey) {
|
||||
_savedPeersKey = 0;
|
||||
_mapChanged = true;
|
||||
}
|
||||
_writeMap();
|
||||
} else {
|
||||
if (task & ClearManagerStorage) {
|
||||
|
@ -2771,7 +3105,7 @@ namespace Local {
|
|||
if (!QDir(di.filePath()).removeRecursively()) result = false;
|
||||
} else {
|
||||
QString path = di.filePath();
|
||||
if (!path.endsWith(QLatin1String("map0")) && !path.endsWith(QLatin1String("map1"))) {
|
||||
if (!path.endsWith(qstr("map0")) && !path.endsWith(qstr("map1"))) {
|
||||
if (!QFile::remove(di.filePath())) result = false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -100,6 +100,8 @@ namespace Local {
|
|||
ReadMapState readMap(const QByteArray &pass);
|
||||
int32 oldMapVersion();
|
||||
|
||||
int32 oldSettingsVersion();
|
||||
|
||||
struct MessageDraft {
|
||||
MessageDraft(MsgId replyTo = 0, QString text = QString(), bool previewCancelled = false) : replyTo(replyTo), text(text), previewCancelled(previewCancelled) {
|
||||
}
|
||||
|
@ -113,8 +115,8 @@ namespace Local {
|
|||
MessageCursor readDraftPositions(const PeerId &peer);
|
||||
bool hasDraftPositions(const PeerId &peer);
|
||||
|
||||
void writeFileLocation(const StorageKey &location, const FileLocation &local);
|
||||
FileLocation readFileLocation(const StorageKey &location, bool check = true);
|
||||
void writeFileLocation(MediaKey location, const FileLocation &local);
|
||||
FileLocation readFileLocation(MediaKey location, bool check = true);
|
||||
|
||||
void writeImage(const StorageKey &location, const ImagePtr &img);
|
||||
void writeImage(const StorageKey &location, const StorageImageSaved &jpeg, bool overwrite = true);
|
||||
|
@ -141,4 +143,8 @@ namespace Local {
|
|||
void writeRecentHashtags();
|
||||
void readRecentHashtags();
|
||||
|
||||
void addSavedPeer(PeerData *peer, const QDateTime &position);
|
||||
void removeSavedPeer(PeerData *peer);
|
||||
void readSavedPeers();
|
||||
|
||||
};
|
||||
|
|
|
@ -232,6 +232,9 @@ void logsInit() {
|
|||
logsInitDebug();
|
||||
cSetDebug(true);
|
||||
}
|
||||
if (!cDevVersion() && QFile(cWorkingDir() + qsl("tdata/devversion")).exists()) {
|
||||
cSetDevVersion(true);
|
||||
}
|
||||
|
||||
QDir().setCurrent(cWorkingDir());
|
||||
}
|
||||
|
|
|
@ -39,6 +39,9 @@ int main(int argc, char *argv[]) {
|
|||
logsInit();
|
||||
|
||||
Local::readSettings();
|
||||
if (Local::oldSettingsVersion() < AppVersion) {
|
||||
psNewVersion();
|
||||
}
|
||||
if (cFromAutoStart() && !cAutoStart()) {
|
||||
psAutoStart(false, true);
|
||||
Local::stop();
|
||||
|
@ -79,6 +82,15 @@ int main(int argc, char *argv[]) {
|
|||
DEBUG_LOG(("Application Info: Telegram done, result: %1").arg(result));
|
||||
|
||||
if (cRestartingUpdate()) {
|
||||
if (DevVersion) {
|
||||
LOG(("Writing 'devversion' file before launching the Updater!"));
|
||||
QFile f(cWorkingDir() + qsl("tdata/devversion"));
|
||||
if (!f.exists() && f.open(QIODevice::WriteOnly)) {
|
||||
f.write("1");
|
||||
f.close();
|
||||
}
|
||||
}
|
||||
|
||||
DEBUG_LOG(("Application Info: executing updater to install update.."));
|
||||
psExecUpdater();
|
||||
} else if (cRestarting()) {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -21,6 +21,7 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
#include "historywidget.h"
|
||||
#include "profilewidget.h"
|
||||
#include "overviewwidget.h"
|
||||
#include "playerwidget.h"
|
||||
#include "apiwrap.h"
|
||||
|
||||
class Window;
|
||||
|
@ -110,13 +111,14 @@ public:
|
|||
|
||||
class StackItemHistory : public StackItem {
|
||||
public:
|
||||
StackItemHistory(PeerData *peer, int32 lastWidth, int32 lastScrollTop, QList<MsgId> replyReturns, bool kbWasHidden) : StackItem(peer), replyReturns(replyReturns), lastWidth(lastWidth), lastScrollTop(lastScrollTop), kbWasHidden(kbWasHidden) {
|
||||
StackItemHistory(PeerData *peer, MsgId msgId, QList<MsgId> replyReturns, bool kbWasHidden) : StackItem(peer),
|
||||
msgId(msgId), replyReturns(replyReturns), kbWasHidden(kbWasHidden) {
|
||||
}
|
||||
StackItemType type() const {
|
||||
return HistoryStackItem;
|
||||
}
|
||||
MsgId msgId;
|
||||
QList<MsgId> replyReturns;
|
||||
int32 lastWidth, lastScrollTop;
|
||||
bool kbWasHidden;
|
||||
};
|
||||
|
||||
|
@ -163,6 +165,13 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
enum ForwardWhatMessages {
|
||||
ForwardSelectedMessages,
|
||||
ForwardContextMessage,
|
||||
ForwardPressedMessage,
|
||||
ForwardPressedLinkMessage
|
||||
};
|
||||
|
||||
class MainWidget : public QWidget, public Animated, public RPCSender {
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -176,12 +185,15 @@ public:
|
|||
|
||||
void updateWideMode();
|
||||
bool needBackButton();
|
||||
void onShowDialogs();
|
||||
void showDialogs();
|
||||
|
||||
void paintTopBar(QPainter &p, float64 over, int32 decreaseWidth);
|
||||
void topBarShadowParams(int32 &x, float64 &o);
|
||||
TopBarWidget *topBar();
|
||||
|
||||
PlayerWidget *player();
|
||||
int32 contentScrollAddToY() const;
|
||||
|
||||
void animShow(const QPixmap &bgAnimCache, bool back = false);
|
||||
bool animStep(float64 ms);
|
||||
|
||||
|
@ -223,13 +235,17 @@ public:
|
|||
void peerAfter(const PeerData *inPeer, MsgId inMsg, PeerData *&outPeer, MsgId &outMsg);
|
||||
PeerData *historyPeer();
|
||||
PeerData *peer();
|
||||
|
||||
PeerData *activePeer();
|
||||
MsgId activeMsgId();
|
||||
|
||||
PeerData *profilePeer();
|
||||
PeerData *overviewPeer();
|
||||
bool mediaTypeSwitch();
|
||||
void showPeerProfile(PeerData *peer, bool back = false, int32 lastScrollTop = -1, bool allMediaShown = false);
|
||||
void showMediaOverview(PeerData *peer, MediaOverviewType type, bool back = false, int32 lastScrollTop = -1);
|
||||
void showBackFromStack();
|
||||
void orderWidgets();
|
||||
QRect historyRect() const;
|
||||
|
||||
void confirmShareContact(bool ctrlShiftEnter, const QString &phone, const QString &fname, const QString &lname, MsgId replyTo);
|
||||
|
@ -254,20 +270,22 @@ public:
|
|||
void shareContactLayer(UserData *contact);
|
||||
void hiderLayer(HistoryHider *h);
|
||||
void noHider(HistoryHider *destroyed);
|
||||
void onForward(const PeerId &peer, bool forwardSelected);
|
||||
void onForward(const PeerId &peer, ForwardWhatMessages what);
|
||||
void onShareContact(const PeerId &peer, UserData *contact);
|
||||
void onSendPaths(const PeerId &peer);
|
||||
void onFilesOrForwardDrop(const PeerId &peer, const QMimeData *data);
|
||||
bool selectingPeer(bool withConfirm = false);
|
||||
void offerPeer(PeerId peer);
|
||||
void focusPeerSelect();
|
||||
void dialogsActivate();
|
||||
|
||||
DragState getDragState(const QMimeData *mime);
|
||||
|
||||
bool leaveChatFailed(PeerData *peer, const RPCError &e);
|
||||
void deleteHistory(PeerData *peer, const MTPUpdates &updates);
|
||||
void deleteHistoryAfterLeave(PeerData *peer, const MTPUpdates &updates);
|
||||
void deleteHistoryPart(PeerData *peer, const MTPmessages_AffectedHistory &result);
|
||||
void deleteMessages(const QVector<MTPint> &ids);
|
||||
void deletedContact(UserData *user, const MTPcontacts_Link &result);
|
||||
void deleteHistoryAndContact(UserData *user, const MTPcontacts_Link &result);
|
||||
void deleteConversation(PeerData *peer);
|
||||
void clearHistory(PeerData *peer);
|
||||
void removeContact(UserData *user);
|
||||
|
||||
|
@ -295,7 +313,7 @@ public:
|
|||
|
||||
void readServerHistory(History *history, bool force = true);
|
||||
|
||||
uint64 animActiveTime() const;
|
||||
uint64 animActiveTime(MsgId id) const;
|
||||
void stopAnimActive();
|
||||
|
||||
void sendBotCommand(const QString &cmd, MsgId msgId);
|
||||
|
@ -303,7 +321,7 @@ public:
|
|||
|
||||
void searchMessages(const QString &query);
|
||||
void preloadOverviews(PeerData *peer);
|
||||
void mediaOverviewUpdated(PeerData *peer);
|
||||
void mediaOverviewUpdated(PeerData *peer, MediaOverviewType type);
|
||||
void changingMsgId(HistoryItem *row, MsgId newId);
|
||||
void itemRemoved(HistoryItem *item);
|
||||
void itemReplaced(HistoryItem *oldItem, HistoryItem *newItem);
|
||||
|
@ -352,6 +370,10 @@ public:
|
|||
void updateMutedIn(int32 seconds);
|
||||
|
||||
void updateStickers();
|
||||
void botCommandsChanged(UserData *bot);
|
||||
|
||||
void choosePeer(PeerId peerId, MsgId showAtMsgId); // does offerPeer or showPeerHistory
|
||||
void clearBotStartToken(PeerData *peer);
|
||||
|
||||
~MainWidget();
|
||||
|
||||
|
@ -363,7 +385,7 @@ signals:
|
|||
void dialogRowReplaced(DialogRow *oldRow, DialogRow *newRow);
|
||||
void dialogToTop(const History::DialogLinks &links);
|
||||
void dialogsUpdated();
|
||||
void showPeerAsync(quint64 peer, qint32 msgId, bool back, bool force);
|
||||
void showPeerAsync(quint64 peerId, qint32 showAtMsgId);
|
||||
void stickersUpdated();
|
||||
|
||||
public slots:
|
||||
|
@ -376,10 +398,12 @@ public slots:
|
|||
void audioLoadProgress(mtpFileLoader *loader);
|
||||
void audioLoadFailed(mtpFileLoader *loader, bool started);
|
||||
void audioLoadRetry();
|
||||
void audioPlayProgress(AudioData *audio);
|
||||
void audioPlayProgress(const AudioMsgId &audioId);
|
||||
void documentLoadProgress(mtpFileLoader *loader);
|
||||
void documentLoadFailed(mtpFileLoader *loader, bool started);
|
||||
void documentLoadRetry();
|
||||
void documentPlayProgress(const SongMsgId &songId);
|
||||
void hidePlayer();
|
||||
|
||||
void setInnerFocus();
|
||||
void dialogsCancelled();
|
||||
|
@ -393,10 +417,12 @@ public slots:
|
|||
void checkIdleFinish();
|
||||
void updateOnlineDisplay();
|
||||
|
||||
void showPeer(quint64 peer, qint32 msgId = 0, bool back = false, bool force = false); // PeerId, MsgId
|
||||
void showPeerHistory(quint64 peer, qint32 msgId, bool back = false);
|
||||
void onTopBarClick();
|
||||
void onPeerShown(PeerData *peer);
|
||||
|
||||
void searchInPeer(PeerData *peer);
|
||||
|
||||
void onUpdateNotifySettings();
|
||||
|
||||
void onPhotosSelect();
|
||||
|
@ -479,11 +505,16 @@ private:
|
|||
HistoryWidget history;
|
||||
ProfileWidget *profile;
|
||||
OverviewWidget *overview;
|
||||
PlayerWidget _player;
|
||||
TopBarWidget _topBar;
|
||||
ConfirmBox *_forwardConfirm; // for narrow mode
|
||||
HistoryHider *hider;
|
||||
HistoryHider *_hider;
|
||||
StackItems _stack;
|
||||
QPixmap profileAnimCache;
|
||||
PeerData *_peerInStack;
|
||||
MsgId _msgIdInStack;
|
||||
|
||||
int32 _playerHeight;
|
||||
int32 _contentScrollAddToY;
|
||||
|
||||
Dropdown _mediaType;
|
||||
int32 _mediaTypeMask;
|
||||
|
|
|
@ -26,6 +26,8 @@ Copyright (c) 2014 John Preston, https://desktop.telegram.org
|
|||
|
||||
namespace {
|
||||
class SaveMsgLink : public ITextLink {
|
||||
TEXT_LINK_CLASS(SaveMsgLink)
|
||||
|
||||
public:
|
||||
|
||||
SaveMsgLink(MediaView *view) : _view(view) {
|
||||
|
@ -134,19 +136,19 @@ void MediaView::moveToScreen() {
|
|||
}
|
||||
|
||||
int32 navSkip = 2 * st::mvControlMargin + st::mvControlSize;
|
||||
_closeNav = rtlrect(width() - st::mvControlMargin - st::mvControlSize, st::mvControlMargin, st::mvControlSize, st::mvControlSize, width());
|
||||
_closeNav = myrtlrect(width() - st::mvControlMargin - st::mvControlSize, st::mvControlMargin, st::mvControlSize, st::mvControlSize);
|
||||
_closeNavIcon = centersprite(_closeNav, st::mvClose);
|
||||
_leftNav = rtlrect(st::mvControlMargin, navSkip, st::mvControlSize, height() - 2 * navSkip, width());
|
||||
_leftNav = myrtlrect(st::mvControlMargin, navSkip, st::mvControlSize, height() - 2 * navSkip);
|
||||
_leftNavIcon = centersprite(_leftNav, st::mvLeft);
|
||||
_rightNav = rtlrect(width() - st::mvControlMargin - st::mvControlSize, navSkip, st::mvControlSize, height() - 2 * navSkip, width());
|
||||
_rightNav = myrtlrect(width() - st::mvControlMargin - st::mvControlSize, navSkip, st::mvControlSize, height() - 2 * navSkip);
|
||||
_rightNavIcon = centersprite(_rightNav, st::mvRight);
|
||||
|
||||
_saveMsg.moveTo((width() - _saveMsg.width()) / 2, (height() - _saveMsg.height()) / 2);
|
||||
}
|
||||
|
||||
void MediaView::mediaOverviewUpdated(PeerData *peer) {
|
||||
void MediaView::mediaOverviewUpdated(PeerData *peer, MediaOverviewType type) {
|
||||
if (!_photo && !_doc) return;
|
||||
if (_history && _history->peer == peer) {
|
||||
if (_history && _history->peer == peer && type == _overview) {
|
||||
_index = -1;
|
||||
for (int i = 0, l = _history->_overview[_overview].size(); i < l; ++i) {
|
||||
if (_history->_overview[_overview].at(i) == _msgid) {
|
||||
|
@ -156,7 +158,7 @@ void MediaView::mediaOverviewUpdated(PeerData *peer) {
|
|||
}
|
||||
updateControls();
|
||||
preloadData(0);
|
||||
} else if (_user == peer) {
|
||||
} else if (_user == peer && type == OverviewCount) {
|
||||
if (!_photo) return;
|
||||
|
||||
_index = -1;
|
||||
|
@ -190,7 +192,7 @@ void MediaView::changingMsgId(HistoryItem *row, MsgId newId) {
|
|||
if (row->id == _msgid) {
|
||||
_msgid = newId;
|
||||
}
|
||||
mediaOverviewUpdated(row->history()->peer);
|
||||
mediaOverviewUpdated(row->history()->peer, _overview);
|
||||
}
|
||||
|
||||
void MediaView::updateDocSize() {
|
||||
|
@ -223,8 +225,6 @@ void MediaView::updateDocSize() {
|
|||
}
|
||||
|
||||
void MediaView::updateControls() {
|
||||
if (!_photo && !_doc) return;
|
||||
|
||||
if (_doc && _current.isNull() && _currentGif.isNull()) {
|
||||
if (_doc->loader) {
|
||||
_docDownload.hide();
|
||||
|
@ -255,13 +255,20 @@ void MediaView::updateControls() {
|
|||
_docCancel.hide();
|
||||
}
|
||||
|
||||
_saveVisible = ((_photo && _photo->full->loaded()) || (_doc && (!_doc->already(true).isEmpty() || (_current.isNull() && _currentGif.isNull()))));
|
||||
_saveNav = rtlrect(width() - st::mvIconSize.width() * 2, height() - st::mvIconSize.height(), st::mvIconSize.width(), st::mvIconSize.height(), width());
|
||||
_saveVisible = ((_photo && _photo->full->loaded()) || (_doc && (!_doc->already(true).isEmpty() || (_current.isNull() && _currentGif.isNull() && (_photo || _doc)))));
|
||||
_saveNav = myrtlrect(width() - st::mvIconSize.width() * 2, height() - st::mvIconSize.height(), st::mvIconSize.width(), st::mvIconSize.height());
|
||||
_saveNavIcon = centersprite(_saveNav, st::mvSave);
|
||||
_moreNav = rtlrect(width() - st::mvIconSize.width(), height() - st::mvIconSize.height(), st::mvIconSize.width(), st::mvIconSize.height(), width());
|
||||
_moreNav = myrtlrect(width() - st::mvIconSize.width(), height() - st::mvIconSize.height(), st::mvIconSize.width(), st::mvIconSize.height());
|
||||
_moreNavIcon = centersprite(_moreNav, st::mvMore);
|
||||
|
||||
QDateTime d(date(_photo ? _photo->date : _doc->date)), dNow(date(unixtime()));
|
||||
QDateTime d, dNow(date(unixtime()));
|
||||
if (_photo) {
|
||||
d = date(_photo->date);
|
||||
} else if (_doc) {
|
||||
d = date(_doc->date);
|
||||
} else if (HistoryItem *item = App::histItemById(_msgid)) {
|
||||
d = item->date;
|
||||
}
|
||||
if (d.date() == dNow.date()) {
|
||||
_dateText = lng_mediaview_today(lt_time, d.time().toString(cTimeFormat()));
|
||||
} else if (d.date().addDays(1) == dNow.date()) {
|
||||
|
@ -271,19 +278,19 @@ void MediaView::updateControls() {
|
|||
}
|
||||
if (_from) {
|
||||
_fromName.setText(st::mvFont, _from->name);
|
||||
_nameNav = rtlrect(st::mvTextLeft, height() - st::mvTextTop, qMin(_fromName.maxWidth(), width() / 3), st::mvFont->height, width());
|
||||
_dateNav = rtlrect(st::mvTextLeft + _nameNav.width() + st::mvTextSkip, height() - st::mvTextTop, st::mvFont->m.width(_dateText), st::mvFont->height, width());
|
||||
_nameNav = myrtlrect(st::mvTextLeft, height() - st::mvTextTop, qMin(_fromName.maxWidth(), width() / 3), st::mvFont->height);
|
||||
_dateNav = myrtlrect(st::mvTextLeft + _nameNav.width() + st::mvTextSkip, height() - st::mvTextTop, st::mvFont->m.width(_dateText), st::mvFont->height);
|
||||
} else {
|
||||
_nameNav = QRect();
|
||||
_dateNav = rtlrect(st::mvTextLeft, height() - st::mvTextTop, st::mvFont->m.width(_dateText), st::mvFont->height, width());
|
||||
_dateNav = myrtlrect(st::mvTextLeft, height() - st::mvTextTop, st::mvFont->m.width(_dateText), st::mvFont->height);
|
||||
}
|
||||
updateHeader();
|
||||
if (_photo) {
|
||||
if (_photo || (_history && _overview == OverviewPhotos)) {
|
||||
_leftNavVisible = (_index > 0) || (_index == 0 && _history && _history->_overview[_overview].size() < _history->_overviewCount[_overview]);
|
||||
_rightNavVisible = (_index >= 0) && (
|
||||
(_history && _index + 1 < _history->_overview[_overview].size()) ||
|
||||
(_user && (_index + 1 < _user->photos.size() || _index + 1 < _user->photosCount)));
|
||||
} else if (_doc) {
|
||||
} else if (_history && _overview == OverviewDocuments) {
|
||||
_leftNavVisible = (_index > 0) || (_index == 0 && _history && _history->_overview[_overview].size() < _history->_overviewCount[_overview]);
|
||||
_rightNavVisible = (_index >= 0) && _history && (_index + 1 < _history->_overview[_overview].size());
|
||||
} else {
|
||||
|
@ -308,7 +315,7 @@ void MediaView::updateDropdown() {
|
|||
_btnSaveAs->setVisible(true);
|
||||
_btnCopy->setVisible((_doc && !_current.isNull()) || (_photo && _photo->full->loaded()));
|
||||
_btnForward->setVisible(_msgid > 0);
|
||||
_btnDelete->setVisible(_msgid > 0 || (App::self() && App::self()->photoId == _photo->id) || (_photo->chat && _photo->chat->photoId == _photo->id));
|
||||
_btnDelete->setVisible(_msgid > 0 || (_photo && App::self() && App::self()->photoId == _photo->id) || (_photo && _photo->chat && _photo->chat->photoId == _photo->id));
|
||||
_btnViewAll->setVisible((_overview != OverviewCount) && _history);
|
||||
_btnViewAll->setText(lang(_doc ? lng_mediaview_files_all : lng_mediaview_photos_all));
|
||||
_dropdown.updateButtons();
|
||||
|
@ -347,7 +354,6 @@ bool MediaView::animStep(float64 msp) {
|
|||
a_cOpacity.finish();
|
||||
_controlsState = (_controlsState == ControlsShowing ? ControlsShown : ControlsHidden);
|
||||
setCursor(_controlsState == ControlsHidden ? Qt::BlankCursor : (_over == OverNone ? style::cur_default : style::cur_pointer));
|
||||
LOG(("Finished with controls!"));
|
||||
} else {
|
||||
a_cOpacity.update(dt, anim::linear);
|
||||
}
|
||||
|
@ -408,7 +414,6 @@ void MediaView::close() {
|
|||
void MediaView::activateControls() {
|
||||
_controlsHideTimer.start(int(st::mvWaitHide));
|
||||
if (_controlsState == ControlsHiding || _controlsState == ControlsHidden) {
|
||||
LOG(("Showing controls.."));
|
||||
_controlsState = ControlsShowing;
|
||||
_controlsAnimStarted = getms();
|
||||
a_cOpacity.start(1);
|
||||
|
@ -419,7 +424,6 @@ void MediaView::activateControls() {
|
|||
void MediaView::onHideControls(bool force) {
|
||||
if (!force && !_dropdown.isHidden()) return;
|
||||
if (_controlsState == ControlsHiding || _controlsState == ControlsHidden) return;
|
||||
LOG(("Hiding controls.."));
|
||||
_controlsState = ControlsHiding;
|
||||
_controlsAnimStarted = getms();
|
||||
a_cOpacity.start(0);
|
||||
|
@ -442,7 +446,7 @@ void MediaView::onToMessage() {
|
|||
if (HistoryItem *item = _msgid ? App::histItemById(_msgid) : 0) {
|
||||
if (App::wnd()) {
|
||||
close();
|
||||
if (App::main()) App::main()->showPeer(item->history()->peer->id, _msgid, false, true);
|
||||
if (App::main()) App::main()->showPeerHistory(item->history()->peer->id, _msgid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -680,7 +684,7 @@ void MediaView::showPhoto(PhotoData *photo, PeerData *context) {
|
|||
_photo = photo;
|
||||
_overview = OverviewCount;
|
||||
if (_user) {
|
||||
if (_user->photos.isEmpty() && _user->photosCount < 0 && _user->photoId) {
|
||||
if (_user->photos.isEmpty() && _user->photosCount < 0 && _user->photoId && _user->photoId != UnknownPeerPhotoId) {
|
||||
_index = 0;
|
||||
}
|
||||
for (int i = 0, l = _user->photos.size(); i < l; ++i) {
|
||||
|
@ -771,18 +775,14 @@ void MediaView::displayPhoto(PhotoData *photo, HistoryItem *item) {
|
|||
_x = (width() - _w) / 2;
|
||||
_y = (height() - _h) / 2;
|
||||
_width = _w;
|
||||
if (_photo->user == WebPageUserId && _msgid) {
|
||||
if (HistoryItem *item = App::histItemById(_msgid)) {
|
||||
if (dynamic_cast<HistoryForwarded*>(item)) {
|
||||
_from = static_cast<HistoryForwarded*>(item)->fromForwarded();
|
||||
} else {
|
||||
_from = item->from();
|
||||
}
|
||||
if (_msgid && item) {
|
||||
if (HistoryForwarded *fwd = item->toHistoryForwarded()) {
|
||||
_from = fwd->fromForwarded();
|
||||
} else {
|
||||
_from = App::user(_photo->user);
|
||||
_from = item->from();
|
||||
}
|
||||
} else {
|
||||
_from = App::user(_photo->user);
|
||||
_from = _user;
|
||||
}
|
||||
updateControls();
|
||||
_photo->full->load();
|
||||
|
@ -793,24 +793,30 @@ void MediaView::displayPhoto(PhotoData *photo, HistoryItem *item) {
|
|||
}
|
||||
}
|
||||
|
||||
void MediaView::displayDocument(DocumentData *doc, HistoryItem *item) {
|
||||
void MediaView::displayDocument(DocumentData *doc, HistoryItem *item) { // empty messages shown as docs: doc can be NULL
|
||||
_doc = doc;
|
||||
_photo = 0;
|
||||
|
||||
_caption = Text();
|
||||
QString already = _doc->already(true);
|
||||
if (_doc->sticker && !_doc->sticker->img->isNull() && _doc->sticker->img->loaded()) {
|
||||
_currentGif.stop();
|
||||
_current = _doc->sticker->img->pix();
|
||||
} else if (!already.isEmpty()) {
|
||||
QImageReader reader(already);
|
||||
if (reader.canRead()) {
|
||||
if (reader.supportsAnimation() && reader.imageCount() > 1) {
|
||||
_currentGif.start(0, already);
|
||||
_current = QPixmap();
|
||||
if (_doc) {
|
||||
QString already = _doc->already(true);
|
||||
if (_doc->sticker() && !_doc->sticker()->img->isNull() && _doc->sticker()->img->loaded()) {
|
||||
_currentGif.stop();
|
||||
_current = _doc->sticker()->img->pix();
|
||||
} else if (!already.isEmpty()) {
|
||||
QImageReader reader(already);
|
||||
if (reader.canRead()) {
|
||||
if (reader.supportsAnimation() && reader.imageCount() > 1) {
|
||||
_currentGif.start(0, already);
|
||||
_current = QPixmap();
|
||||
} else {
|
||||
_currentGif.stop();
|
||||
QPixmap pix = QPixmap::fromImage(App::readImage(already, 0, false), Qt::ColorOnly);
|
||||
_current = pix;
|
||||
}
|
||||
} else {
|
||||
_currentGif.stop();
|
||||
QPixmap pix = QPixmap::fromImage(App::readImage(already, 0, false), Qt::ColorOnly);
|
||||
_current = pix;
|
||||
_current = QPixmap();
|
||||
}
|
||||
} else {
|
||||
_currentGif.stop();
|
||||
|
@ -822,37 +828,37 @@ void MediaView::displayDocument(DocumentData *doc, HistoryItem *item) {
|
|||
}
|
||||
|
||||
if (_current.isNull() && _currentGif.isNull()) {
|
||||
if (_doc->thumb->isNull()) {
|
||||
if (!_doc || _doc->thumb->isNull()) {
|
||||
style::sprite thumbs[] = { st::mvDocBlue, st::mvDocGreen, st::mvDocRed, st::mvDocYellow };
|
||||
style::color colors[] = { st::mvDocBlueColor, st::mvDocGreenColor, st::mvDocRedColor, st::mvDocYellowColor };
|
||||
QString name = _doc->name.toLower(), mime = _doc->mime.toLower();
|
||||
if (name.endsWith(QLatin1String(".doc")) ||
|
||||
name.endsWith(QLatin1String(".txt")) ||
|
||||
name.endsWith(QLatin1String(".psd")) ||
|
||||
mime.startsWith(QLatin1String("text/"))
|
||||
QString name = _doc ? _doc->name.toLower() : QString(), mime = _doc ? _doc->mime.toLower() : QString();
|
||||
if (name.endsWith(qstr(".doc")) ||
|
||||
name.endsWith(qstr(".txt")) ||
|
||||
name.endsWith(qstr(".psd")) ||
|
||||
mime.startsWith(qstr("text/"))
|
||||
) {
|
||||
_docIcon = thumbs[0];
|
||||
_docIconColor = colors[0];
|
||||
} else if (
|
||||
name.endsWith(QLatin1String(".xls")) ||
|
||||
name.endsWith(QLatin1String(".csv"))
|
||||
name.endsWith(qstr(".xls")) ||
|
||||
name.endsWith(qstr(".csv"))
|
||||
) {
|
||||
_docIcon = thumbs[1];
|
||||
_docIconColor = colors[1];
|
||||
} else if (
|
||||
name.endsWith(QLatin1String(".pdf")) ||
|
||||
name.endsWith(QLatin1String(".ppt")) ||
|
||||
name.endsWith(QLatin1String(".key"))
|
||||
name.endsWith(qstr(".pdf")) ||
|
||||
name.endsWith(qstr(".ppt")) ||
|
||||
name.endsWith(qstr(".key"))
|
||||
) {
|
||||
_docIcon = thumbs[2];
|
||||
_docIconColor = colors[2];
|
||||
} else if (
|
||||
name.endsWith(QLatin1String(".zip")) ||
|
||||
name.endsWith(QLatin1String(".rar")) ||
|
||||
name.endsWith(QLatin1String(".ai")) ||
|
||||
name.endsWith(QLatin1String(".mp3")) ||
|
||||
name.endsWith(QLatin1String(".mov")) ||
|
||||
name.endsWith(QLatin1String(".avi"))
|
||||
name.endsWith(qstr(".zip")) ||
|
||||
name.endsWith(qstr(".rar")) ||
|
||||
name.endsWith(qstr(".ai")) ||
|
||||
name.endsWith(qstr(".mp3")) ||
|
||||
name.endsWith(qstr(".mov")) ||
|
||||
name.endsWith(qstr(".avi"))
|
||||
) {
|
||||
_docIcon = thumbs[3];
|
||||
_docIconColor = colors[3];
|
||||
|
@ -880,9 +886,9 @@ void MediaView::displayDocument(DocumentData *doc, HistoryItem *item) {
|
|||
|
||||
int32 maxw = st::mvDocSize.width() - st::mvDocBlue.pxWidth() - st::mvDocPadding * 3;
|
||||
|
||||
_docName = _doc->name.isEmpty() ? lang(_doc->type == StickerDocument ? lng_in_dlg_sticker : lng_mediaview_doc_image) : _doc->name;
|
||||
_docName = (!_doc || _doc->name.isEmpty()) ? lang(_doc ? (_doc->type == StickerDocument ? lng_in_dlg_sticker : lng_mediaview_doc_image) : lng_message_empty) : _doc->name;
|
||||
int32 lastDot = _docName.lastIndexOf('.');
|
||||
_docExt = (lastDot < 0 || lastDot + 2 > _docName.size()) ? _docName : _docName.mid(lastDot + 1);
|
||||
_docExt = _doc ? ((lastDot < 0 || lastDot + 2 > _docName.size()) ? _docName : _docName.mid(lastDot + 1)) : QString();
|
||||
_docNameWidth = st::mvDocNameFont->m.width(_docName);
|
||||
if (_docNameWidth > maxw) {
|
||||
_docName = st::mvDocNameFont->m.elidedText(_docName, Qt::ElideMiddle, maxw);
|
||||
|
@ -899,12 +905,12 @@ void MediaView::displayDocument(DocumentData *doc, HistoryItem *item) {
|
|||
|
||||
_docRadialFirst = _docRadialLast = _docRadialStart = 0;
|
||||
|
||||
float64 prg = _doc->loader ? _doc->loader->currentProgress() : 0;
|
||||
float64 prg = (_doc && _doc->loader) ? _doc->loader->currentProgress() : 0;
|
||||
a_docRadial = anim::fvalue(prg, qMax(prg, 0.0001));
|
||||
// _docSize is updated in updateControls()
|
||||
|
||||
_docRect = QRect((width() - st::mvDocSize.width()) / 2, (height() - st::mvDocSize.height()) / 2, st::mvDocSize.width(), st::mvDocSize.height());
|
||||
_docIconRect = rtlrect(_docRect.x() + st::mvDocPadding, _docRect.y() + st::mvDocPadding, st::mvDocBlue.pxWidth(), st::mvDocBlue.pxHeight(), width());
|
||||
_docIconRect = myrtlrect(_docRect.x() + st::mvDocPadding, _docRect.y() + st::mvDocPadding, st::mvDocBlue.pxWidth(), st::mvDocBlue.pxHeight());
|
||||
} else if (!_current.isNull()) {
|
||||
_current.setDevicePixelRatio(cRetinaFactor());
|
||||
_w = _current.width() / cIntRetinaFactor();
|
||||
|
@ -945,10 +951,10 @@ void MediaView::displayDocument(DocumentData *doc, HistoryItem *item) {
|
|||
}
|
||||
_x = (width() - _w) / 2;
|
||||
_y = (height() - _h) / 2;
|
||||
if (HistoryForwarded *fwd = dynamic_cast<HistoryForwarded*>(item)) {
|
||||
_from = fwd->fromForwarded()->asUser();
|
||||
if (HistoryForwarded *fwd = item->toHistoryForwarded()) {
|
||||
_from = fwd->fromForwarded();
|
||||
} else {
|
||||
_from = item->from()->asUser();
|
||||
_from = item->from();
|
||||
}
|
||||
_full = 1;
|
||||
updateControls();
|
||||
|
@ -1008,7 +1014,7 @@ void MediaView::paintEvent(QPaintEvent *e) {
|
|||
QRect imgRect(_x, _y, _w, _h);
|
||||
const QPixmap *toDraw = _currentGif.isNull() ? &_current : &_currentGif.current(_currentGif.w, _currentGif.h, false);
|
||||
if (imgRect.intersects(r)) {
|
||||
if (toDraw->hasAlpha() && (!_doc || !_doc->sticker || _doc->sticker->img->isNull())) {
|
||||
if (toDraw->hasAlpha() && (!_doc || !_doc->sticker() || _doc->sticker()->img->isNull())) {
|
||||
p.fillRect(imgRect, _transparentBrush);
|
||||
}
|
||||
if (_zoom) {
|
||||
|
@ -1074,17 +1080,19 @@ void MediaView::paintEvent(QPaintEvent *e) {
|
|||
}
|
||||
}
|
||||
}
|
||||
} else if (_doc) {
|
||||
} else {
|
||||
if (_docRect.intersects(r)) {
|
||||
p.fillRect(_docRect, st::mvDocBg->b);
|
||||
if (_docIconRect.intersects(r)) {
|
||||
icon = true;
|
||||
if (_doc->thumb->isNull()) {
|
||||
if (!_doc->already().isEmpty() && (!_docRadialStart || _docRadialOpacity < 1)) {
|
||||
if (!_doc || _doc->thumb->isNull()) {
|
||||
if ((!_doc || !_doc->already().isEmpty()) && (!_docRadialStart || _docRadialOpacity < 1)) {
|
||||
p.drawPixmap(_docIconRect.topLeft(), App::sprite(), _docIcon);
|
||||
p.setPen(st::mvDocExtColor->p);
|
||||
p.setFont(st::mvDocExtFont->f);
|
||||
p.drawText(_docIconRect.x() + (_docIconRect.width() - _docExtWidth) / 2, _docIconRect.y() + st::mvDocExtTop + st::mvDocExtFont->ascent, _docExt);
|
||||
if (!_docExt.isEmpty()) {
|
||||
p.drawText(_docIconRect.x() + (_docIconRect.width() - _docExtWidth) / 2, _docIconRect.y() + st::mvDocExtTop + st::mvDocExtFont->ascent, _docExt);
|
||||
}
|
||||
} else {
|
||||
p.fillRect(_docIconRect, _docIconColor->b);
|
||||
}
|
||||
|
@ -1094,7 +1102,7 @@ void MediaView::paintEvent(QPaintEvent *e) {
|
|||
}
|
||||
|
||||
float64 o = overLevel(OverIcon);
|
||||
if (_docRadialStart > 0) {
|
||||
if (_doc && _docRadialStart > 0) {
|
||||
if (_doc->already().isEmpty() && _docRadialOpacity < 1) {
|
||||
p.setOpacity((o * 1. + (1 - o) * st::radialDownloadOpacity) * (1 - _docRadialOpacity));
|
||||
p.drawSpriteCenter(_docIconRect, st::radialDownload);
|
||||
|
@ -1121,7 +1129,7 @@ void MediaView::paintEvent(QPaintEvent *e) {
|
|||
|
||||
p.setOpacity(1);
|
||||
p.setRenderHint(QPainter::HighQualityAntialiasing, false);
|
||||
} else if (_doc->already().isEmpty()) {
|
||||
} else if (_doc && _doc->already().isEmpty()) {
|
||||
p.setOpacity((o * 1. + (1 - o) * st::radialDownloadOpacity));
|
||||
p.drawSpriteCenter(_docIconRect, st::radialDownload);
|
||||
}
|
||||
|
@ -1191,7 +1199,7 @@ void MediaView::paintEvent(QPaintEvent *e) {
|
|||
}
|
||||
|
||||
// save button
|
||||
if (_saveNavIcon.intersects(r)) {
|
||||
if (_saveVisible && _saveNavIcon.intersects(r)) {
|
||||
float64 o = overLevel(OverSave);
|
||||
p.setOpacity((o * st::mvIconOverOpacity + (1 - o) * st::mvIconOpacity) * co);
|
||||
p.drawPixmap(_saveNavIcon.topLeft(), App::sprite(), st::mvSave);
|
||||
|
@ -1262,11 +1270,6 @@ void MediaView::paintEvent(QPaintEvent *e) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
// static uint64 t = getms();
|
||||
// uint64 t2 = getms();
|
||||
// LOG(("paint: %1, wait: %2, name: %3, icon: %4").arg(t2 - ms).arg(t2 - t).arg(logBool(name)).arg(logBool(icon)));
|
||||
// t = t2;
|
||||
}
|
||||
|
||||
void MediaView::keyPressEvent(QKeyEvent *e) {
|
||||
|
@ -1370,7 +1373,7 @@ void MediaView::keyPressEvent(QKeyEvent *e) {
|
|||
}
|
||||
|
||||
void MediaView::moveToNext(int32 delta) {
|
||||
if (_index < 0 || (!_photo && !_doc) || (_overview == OverviewCount && !_user)) return;
|
||||
if (_index < 0 || (_history && _overview != OverviewPhotos && _overview != OverviewDocuments) || (_overview == OverviewCount && !_user)) return;
|
||||
|
||||
int32 newIndex = _index + delta;
|
||||
if (_history && _overview != OverviewCount) {
|
||||
|
@ -1378,10 +1381,15 @@ void MediaView::moveToNext(int32 delta) {
|
|||
_index = newIndex;
|
||||
if (HistoryItem *item = App::histItemById(_history->_overview[_overview][_index])) {
|
||||
_msgid = item->id;
|
||||
switch (item->getMedia()->type()) {
|
||||
case MediaTypePhoto: displayPhoto(static_cast<HistoryPhoto*>(item->getMedia())->photo(), item); preloadData(delta); break;
|
||||
case MediaTypeDocument: displayDocument(static_cast<HistoryDocument*>(item->getMedia())->document(), item); preloadData(delta); break;
|
||||
case MediaTypeSticker: displayDocument(static_cast<HistorySticker*>(item->getMedia())->document(), item); preloadData(delta); break;
|
||||
if (item->getMedia()) {
|
||||
switch (item->getMedia()->type()) {
|
||||
case MediaTypePhoto: displayPhoto(static_cast<HistoryPhoto*>(item->getMedia())->photo(), item); preloadData(delta); break;
|
||||
case MediaTypeDocument: displayDocument(static_cast<HistoryDocument*>(item->getMedia())->document(), item); preloadData(delta); break;
|
||||
case MediaTypeSticker: displayDocument(static_cast<HistorySticker*>(item->getMedia())->document(), item); preloadData(delta); break;
|
||||
}
|
||||
} else {
|
||||
displayDocument(0, item);
|
||||
preloadData(delta);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1413,7 +1421,7 @@ void MediaView::preloadData(int32 delta) {
|
|||
switch (media->type()) {
|
||||
case MediaTypePhoto: static_cast<HistoryPhoto*>(media)->photo()->full->load(); break;
|
||||
case MediaTypeDocument: static_cast<HistoryDocument*>(media)->document()->thumb->load(); break;
|
||||
case MediaTypeSticker: static_cast<HistorySticker*>(media)->document()->sticker->img->load(); break;
|
||||
case MediaTypeSticker: static_cast<HistorySticker*>(media)->document()->sticker()->img->load(); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1826,7 +1834,7 @@ void MediaView::findCurrent() {
|
|||
}
|
||||
}
|
||||
|
||||
if (_history->_overviewCount[_overview] < 0) {
|
||||
if (_history->_overviewCount[_overview] < 0 || (!_index && _history->_overviewCount[_overview] > 0)) {
|
||||
loadBack();
|
||||
}
|
||||
}
|
||||
|
@ -1838,7 +1846,7 @@ void MediaView::loadBack() {
|
|||
if (App::main()) App::main()->loadMediaBack(_history->peer, _overview);
|
||||
} else if (_user && _user->photosCount != 0) {
|
||||
int32 limit = (_index < MediaOverviewStartPerPage && _user->photos.size() > MediaOverviewStartPerPage) ? SearchPerPage : MediaOverviewStartPerPage;
|
||||
_loadRequest = MTP::send(MTPphotos_GetUserPhotos(_user->inputUser, MTP_int(_user->photos.size()), MTP_int(0), MTP_int(limit)), rpcDone(&MediaView::userPhotosLoaded, _user));
|
||||
_loadRequest = MTP::send(MTPphotos_GetUserPhotos(_user->inputUser, MTP_int(_user->photos.size()), MTP_long(0), MTP_int(limit)), rpcDone(&MediaView::userPhotosLoaded, _user));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1875,7 +1883,7 @@ void MediaView::userPhotosLoaded(UserData *u, const MTPphotos_Photos &photos, mt
|
|||
photo->thumb->load();
|
||||
u->photos.push_back(photo);
|
||||
}
|
||||
if (App::wnd()) App::wnd()->mediaOverviewUpdated(u);
|
||||
if (App::wnd()) App::wnd()->mediaOverviewUpdated(u, OverviewCount);
|
||||
}
|
||||
|
||||
void MediaView::updateHeader() {
|
||||
|
@ -1911,7 +1919,7 @@ void MediaView::updateHeader() {
|
|||
hwidth = width() / 3;
|
||||
_headerText = st::mvThickFont->m.elidedText(_headerText, Qt::ElideMiddle, hwidth);
|
||||
}
|
||||
_headerNav = rtlrect(st::mvTextLeft, height() - st::mvHeaderTop, hwidth, st::mvThickFont->height, width());
|
||||
_headerNav = myrtlrect(st::mvTextLeft, height() - st::mvHeaderTop, hwidth, st::mvThickFont->height);
|
||||
}
|
||||
//
|
||||
//void MediaView::updatePolaroid() {
|
||||
|
|
|
@ -55,7 +55,7 @@ public:
|
|||
updateOver(mapFromGlobal(QCursor::pos()));
|
||||
}
|
||||
|
||||
void mediaOverviewUpdated(PeerData *peer);
|
||||
void mediaOverviewUpdated(PeerData *peer, MediaOverviewType type);
|
||||
void documentUpdated(DocumentData *doc);
|
||||
void changingMsgId(HistoryItem *row, MsgId newId);
|
||||
void updateDocSize();
|
||||
|
|
|
@ -150,6 +150,13 @@ with open('scheme.tl') as f:
|
|||
print('Bad param found: "' + param + '" in line: ' + line);
|
||||
continue;
|
||||
ptype = pmasktype.group(3);
|
||||
if (ptype.find('<') >= 0):
|
||||
templ = re.match(r'^([vV]ector<)([A-Za-z0-9\._]+)>$', ptype);
|
||||
if (templ):
|
||||
ptype = templ.group(1) + 'MTP' + templ.group(2).replace('.', '_') + '>';
|
||||
else:
|
||||
print('Bad template type: ' + ptype);
|
||||
continue;
|
||||
if (not pname in conditions):
|
||||
conditionsList.append(pname);
|
||||
conditions[pname] = pmasktype.group(2);
|
||||
|
|
|
@ -606,7 +606,7 @@ void MTPabstractTcpConnection::socketRead() {
|
|||
}
|
||||
|
||||
MTPautoConnection::MTPautoConnection(QThread *thread) : status(WaitingBoth),
|
||||
tcpNonce(MTP::nonce<MTPint128>()), httpNonce(MTP::nonce<MTPint128>()), _tcpTimeout(MTPMinReceiveDelay) {
|
||||
tcpNonce(MTP::nonce<MTPint128>()), httpNonce(MTP::nonce<MTPint128>()), _tcpTimeout(MTPMinReceiveDelay), _flags(0) {
|
||||
moveToThread(thread);
|
||||
|
||||
manager.moveToThread(thread);
|
||||
|
@ -615,6 +615,7 @@ tcpNonce(MTP::nonce<MTPint128>()), httpNonce(MTP::nonce<MTPint128>()), _tcpTimeo
|
|||
httpStartTimer.moveToThread(thread);
|
||||
httpStartTimer.setSingleShot(true);
|
||||
connect(&httpStartTimer, SIGNAL(timeout()), this, SLOT(onHttpStart()));
|
||||
|
||||
tcpTimeoutTimer.moveToThread(thread);
|
||||
tcpTimeoutTimer.setSingleShot(true);
|
||||
connect(&tcpTimeoutTimer, SIGNAL(timeout()), this, SLOT(onTcpTimeoutTimer()));
|
||||
|
@ -628,7 +629,7 @@ tcpNonce(MTP::nonce<MTPint128>()), httpNonce(MTP::nonce<MTPint128>()), _tcpTimeo
|
|||
|
||||
void MTPautoConnection::onHttpStart() {
|
||||
if (status == HttpReady) {
|
||||
DEBUG_LOG(("Connection Info: Http-transport chosen by timer"));
|
||||
DEBUG_LOG(("Connection Info: HTTP/%1-transport chosen by timer").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
status = UsingHttp;
|
||||
sock.disconnectFromHost();
|
||||
emit connected();
|
||||
|
@ -639,7 +640,7 @@ void MTPautoConnection::onSocketConnected() {
|
|||
if (status == HttpReady || status == WaitingBoth || status == WaitingTcp) {
|
||||
mtpBuffer buffer(_preparePQFake(tcpNonce));
|
||||
|
||||
DEBUG_LOG(("Connection Info: sending fake req_pq through tcp transport"));
|
||||
DEBUG_LOG(("Connection Info: sending fake req_pq through TCP/%1 transport").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
|
||||
if (_tcpTimeout < 0) _tcpTimeout = -_tcpTimeout;
|
||||
tcpTimeoutTimer.start(_tcpTimeout);
|
||||
|
@ -677,7 +678,7 @@ void MTPautoConnection::onSocketDisconnected() {
|
|||
} else if (status == WaitingTcp || status == UsingTcp) {
|
||||
emit disconnected();
|
||||
} else if (status == HttpReady) {
|
||||
DEBUG_LOG(("Connection Info: Http-transport chosen by socket disconnect"));
|
||||
DEBUG_LOG(("Connection Info: HTTP/%1-transport chosen by socket disconnect").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
status = UsingHttp;
|
||||
emit connected();
|
||||
}
|
||||
|
@ -724,6 +725,7 @@ void MTPautoConnection::httpSend(mtpBuffer &buffer) {
|
|||
|
||||
void MTPautoConnection::disconnectFromServer() {
|
||||
if (status == FinishedWork) return;
|
||||
status = FinishedWork;
|
||||
|
||||
Requests copy = requests;
|
||||
requests.clear();
|
||||
|
@ -740,7 +742,6 @@ void MTPautoConnection::disconnectFromServer() {
|
|||
sock.close();
|
||||
|
||||
httpStartTimer.stop();
|
||||
status = FinishedWork;
|
||||
}
|
||||
|
||||
void MTPautoConnection::connectToServer(const QString &addr, int32 port, int32 flags) {
|
||||
|
@ -750,19 +751,20 @@ void MTPautoConnection::connectToServer(const QString &addr, int32 port, int32 f
|
|||
|
||||
_addr = addr;
|
||||
_port = port;
|
||||
_flags = flags;
|
||||
|
||||
connect(&sock, SIGNAL(readyRead()), this, SLOT(socketRead()));
|
||||
sock.connectToHost(QHostAddress(_addr), _port);
|
||||
|
||||
mtpBuffer buffer(_preparePQFake(httpNonce));
|
||||
|
||||
DEBUG_LOG(("Connection Info: sending fake req_pq through http transport"));
|
||||
DEBUG_LOG(("Connection Info: sending fake req_pq through HTTP/%1 transport").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
|
||||
httpSend(buffer);
|
||||
}
|
||||
|
||||
bool MTPautoConnection::isConnected() {
|
||||
return status != FinishedWork && !address.isEmpty();
|
||||
bool MTPautoConnection::isConnected() const {
|
||||
return (status == UsingTcp) || (status == UsingHttp);
|
||||
}
|
||||
|
||||
void MTPautoConnection::requestFinished(QNetworkReply *reply) {
|
||||
|
@ -792,13 +794,14 @@ void MTPautoConnection::requestFinished(QNetworkReply *reply) {
|
|||
status = HttpReady;
|
||||
httpStartTimer.start(MTPTcpConnectionWaitTimeout);
|
||||
} else {
|
||||
DEBUG_LOG(("Connection Info: Http-transport chosen by pq-response, awaited"));
|
||||
DEBUG_LOG(("Connection Info: HTTP/%1-transport chosen by pq-response, awaited").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
status = UsingHttp;
|
||||
sock.disconnectFromHost();
|
||||
emit connected();
|
||||
}
|
||||
}
|
||||
} catch (Exception &e) {
|
||||
DEBUG_LOG(("Connection Error: exception in parsing HTTP fake pq-responce, %1").arg(e.what()));
|
||||
if (status == WaitingBoth) {
|
||||
status = WaitingTcp;
|
||||
} else {
|
||||
|
@ -834,7 +837,7 @@ void MTPautoConnection::socketPacket(mtpPrime *packet, uint32 size) {
|
|||
status = WaitingHttp;
|
||||
sock.disconnectFromHost();
|
||||
} else if (status == HttpReady) {
|
||||
DEBUG_LOG(("Connection Info: Http-transport chosen by bad tcp response, ready"));
|
||||
DEBUG_LOG(("Connection Info: HTTP/%1-transport chosen by bad tcp response, ready").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
status = UsingHttp;
|
||||
sock.disconnectFromHost();
|
||||
emit connected();
|
||||
|
@ -853,16 +856,17 @@ void MTPautoConnection::socketPacket(mtpPrime *packet, uint32 size) {
|
|||
MTPResPQ res_pq = _readPQFakeReply(data);
|
||||
const MTPDresPQ &res_pq_data(res_pq.c_resPQ());
|
||||
if (res_pq_data.vnonce == tcpNonce) {
|
||||
DEBUG_LOG(("Connection Info: Tcp-transport chosen by pq-response"));
|
||||
DEBUG_LOG(("Connection Info: TCP/%1-transport chosen by pq-response").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
status = UsingTcp;
|
||||
emit connected();
|
||||
}
|
||||
} catch (Exception &e) {
|
||||
DEBUG_LOG(("Connection Error: exception in parsing TCP fake pq-responce, %1").arg(e.what()));
|
||||
if (status == WaitingBoth) {
|
||||
status = WaitingHttp;
|
||||
sock.disconnectFromHost();
|
||||
} else if (status == HttpReady) {
|
||||
DEBUG_LOG(("Connection Info: Http-transport chosen by bad tcp response, awaited"));
|
||||
DEBUG_LOG(("Connection Info: HTTP/%1-transport chosen by bad tcp response, awaited").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
status = UsingHttp;
|
||||
sock.disconnectFromHost();
|
||||
emit connected();
|
||||
|
@ -902,7 +906,7 @@ void MTPautoConnection::socketError(QAbstractSocket::SocketError e) {
|
|||
if (status == WaitingBoth) {
|
||||
status = WaitingHttp;
|
||||
} else if (status == HttpReady) {
|
||||
DEBUG_LOG(("Connection Info: Http-transport chosen by tcp error, ready"));
|
||||
DEBUG_LOG(("Connection Info: HTTP/%1-transport chosen by tcp error, ready").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
status = UsingHttp;
|
||||
emit connected();
|
||||
} else if (status == WaitingTcp || status == UsingTcp) {
|
||||
|
@ -912,16 +916,64 @@ void MTPautoConnection::socketError(QAbstractSocket::SocketError e) {
|
|||
}
|
||||
}
|
||||
|
||||
MTPtcpConnection::MTPtcpConnection(QThread *thread) {
|
||||
MTPtcpConnection::MTPtcpConnection(QThread *thread) : status(WaitingTcp),
|
||||
tcpNonce(MTP::nonce<MTPint128>()), _tcpTimeout(MTPMinReceiveDelay), _flags(0) {
|
||||
moveToThread(thread);
|
||||
|
||||
tcpTimeoutTimer.moveToThread(thread);
|
||||
tcpTimeoutTimer.setSingleShot(true);
|
||||
connect(&tcpTimeoutTimer, SIGNAL(timeout()), this, SLOT(onTcpTimeoutTimer()));
|
||||
|
||||
sock.moveToThread(thread);
|
||||
App::setProxySettings(sock);
|
||||
connect(&sock, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(socketError(QAbstractSocket::SocketError)));
|
||||
connect(&sock, SIGNAL(connected()), this, SIGNAL(connected()));
|
||||
connect(&sock, SIGNAL(disconnected()), this, SIGNAL(disconnected()));
|
||||
connect(&sock, SIGNAL(connected()), this, SLOT(onSocketConnected()));
|
||||
connect(&sock, SIGNAL(disconnected()), this, SLOT(onSocketDisconnected()));
|
||||
}
|
||||
|
||||
void MTPtcpConnection::onSocketConnected() {
|
||||
if (status == WaitingTcp) {
|
||||
mtpBuffer buffer(_preparePQFake(tcpNonce));
|
||||
|
||||
DEBUG_LOG(("Connection Info: sending fake req_pq through TCP/%1 transport").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
|
||||
if (_tcpTimeout < 0) _tcpTimeout = -_tcpTimeout;
|
||||
tcpTimeoutTimer.start(_tcpTimeout);
|
||||
|
||||
sendData(buffer);
|
||||
}
|
||||
}
|
||||
|
||||
void MTPtcpConnection::onTcpTimeoutTimer() {
|
||||
if (status == WaitingTcp) {
|
||||
if (_tcpTimeout < MTPMaxReceiveDelay) _tcpTimeout *= 2;
|
||||
_tcpTimeout = -_tcpTimeout;
|
||||
|
||||
QAbstractSocket::SocketState state = sock.state();
|
||||
if (state == QAbstractSocket::ConnectedState || state == QAbstractSocket::ConnectingState || state == QAbstractSocket::HostLookupState) {
|
||||
sock.disconnectFromHost();
|
||||
} else if (state != QAbstractSocket::ClosingState) {
|
||||
sock.connectToHost(QHostAddress(_addr), _port);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MTPtcpConnection::onSocketDisconnected() {
|
||||
if (_tcpTimeout < 0) {
|
||||
_tcpTimeout = -_tcpTimeout;
|
||||
if (status == WaitingTcp) {
|
||||
sock.connectToHost(QHostAddress(_addr), _port);
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (status == WaitingTcp || status == UsingTcp) {
|
||||
emit disconnected();
|
||||
}
|
||||
}
|
||||
|
||||
void MTPtcpConnection::sendData(mtpBuffer &buffer) {
|
||||
if (status == FinishedWork) return;
|
||||
|
||||
if (buffer.size() < 3) {
|
||||
LOG(("TCP Error: writing bad packet, len = %1").arg(buffer.size() * sizeof(mtpPrime)));
|
||||
TCP_LOG(("TCP Error: bad packet %1").arg(mb(&buffer[0], buffer.size() * sizeof(mtpPrime)).str()));
|
||||
|
@ -940,28 +992,51 @@ void MTPtcpConnection::sendData(mtpBuffer &buffer) {
|
|||
}
|
||||
|
||||
void MTPtcpConnection::disconnectFromServer() {
|
||||
if (status == FinishedWork) return;
|
||||
status = FinishedWork;
|
||||
|
||||
disconnect(&sock, SIGNAL(readyRead()), 0, 0);
|
||||
sock.close();
|
||||
}
|
||||
|
||||
void MTPtcpConnection::connectToServer(const QString &addr, int32 port, int32 flags) {
|
||||
_addr = addr;
|
||||
_port = port;
|
||||
_flags = flags;
|
||||
|
||||
connect(&sock, SIGNAL(readyRead()), this, SLOT(socketRead()));
|
||||
sock.connectToHost(QHostAddress(addr), port);
|
||||
sock.connectToHost(QHostAddress(_addr), _port);
|
||||
}
|
||||
|
||||
void MTPtcpConnection::socketPacket(mtpPrime *packet, uint32 size) {
|
||||
if (status == FinishedWork) return;
|
||||
|
||||
mtpBuffer data = _handleTcpResponse(packet, size);
|
||||
if (data.size() == 1) {
|
||||
bool mayBeBadKey = (data[0] == -404) && _sentEncrypted;
|
||||
emit error(mayBeBadKey);
|
||||
} else if (status == UsingTcp) {
|
||||
receivedQueue.push_back(data);
|
||||
emit receivedData();
|
||||
} else if (status == WaitingTcp) {
|
||||
tcpTimeoutTimer.stop();
|
||||
try {
|
||||
MTPResPQ res_pq = _readPQFakeReply(data);
|
||||
const MTPDresPQ &res_pq_data(res_pq.c_resPQ());
|
||||
if (res_pq_data.vnonce == tcpNonce) {
|
||||
DEBUG_LOG(("Connection Info: TCP/%1-transport chosen by pq-response").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
status = UsingTcp;
|
||||
emit connected();
|
||||
}
|
||||
} catch (Exception &e) {
|
||||
DEBUG_LOG(("Connection Error: exception in parsing TCP fake pq-responce, %1").arg(e.what()));
|
||||
emit error();
|
||||
}
|
||||
}
|
||||
|
||||
receivedQueue.push_back(data);
|
||||
emit receivedData();
|
||||
}
|
||||
|
||||
bool MTPtcpConnection::isConnected() {
|
||||
return sock.state() == QAbstractSocket::ConnectedState;
|
||||
bool MTPtcpConnection::isConnected() const {
|
||||
return (status == UsingTcp);
|
||||
}
|
||||
|
||||
int32 MTPtcpConnection::debugState() const {
|
||||
|
@ -969,21 +1044,25 @@ int32 MTPtcpConnection::debugState() const {
|
|||
}
|
||||
|
||||
QString MTPtcpConnection::transport() const {
|
||||
return qsl("TCP");
|
||||
return isConnected() ? qsl("TCP") : QString();
|
||||
}
|
||||
|
||||
void MTPtcpConnection::socketError(QAbstractSocket::SocketError e) {
|
||||
if (status == FinishedWork) return;
|
||||
|
||||
_handleTcpError(e, sock);
|
||||
emit error();
|
||||
}
|
||||
|
||||
MTPhttpConnection::MTPhttpConnection(QThread *thread) {
|
||||
MTPhttpConnection::MTPhttpConnection(QThread *thread) : status(WaitingHttp), httpNonce(MTP::nonce<MTPint128>()), _flags(0) {
|
||||
moveToThread(thread);
|
||||
manager.moveToThread(thread);
|
||||
App::setProxySettings(manager);
|
||||
}
|
||||
|
||||
void MTPhttpConnection::sendData(mtpBuffer &buffer) {
|
||||
if (status == FinishedWork) return;
|
||||
|
||||
if (buffer.size() < 3) {
|
||||
LOG(("TCP Error: writing bad packet, len = %1").arg(buffer.size() * sizeof(mtpPrime)));
|
||||
TCP_LOG(("TCP Error: bad packet %1").arg(mb(&buffer[0], buffer.size() * sizeof(mtpPrime)).str()));
|
||||
|
@ -1002,6 +1081,9 @@ void MTPhttpConnection::sendData(mtpBuffer &buffer) {
|
|||
}
|
||||
|
||||
void MTPhttpConnection::disconnectFromServer() {
|
||||
if (status == FinishedWork) return;
|
||||
status = FinishedWork;
|
||||
|
||||
Requests copy = requests;
|
||||
requests.clear();
|
||||
for (Requests::const_iterator i = copy.cbegin(), e = copy.cend(); i != e; ++i) {
|
||||
|
@ -1018,14 +1100,23 @@ void MTPhttpConnection::connectToServer(const QString &addr, int32 p, int32 flag
|
|||
address = QUrl(((flags & MTPDdcOption_flag_ipv6) ? qsl("http://[%1]:%2/api") : qsl("http://%1:%2/api")).arg(addr).arg(80));//not p - always 80 port for http transport
|
||||
TCP_LOG(("HTTP Info: address is %1").arg(address.toDisplayString()));
|
||||
connect(&manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(requestFinished(QNetworkReply*)));
|
||||
emit connected();
|
||||
|
||||
_flags = flags;
|
||||
|
||||
mtpBuffer buffer(_preparePQFake(httpNonce));
|
||||
|
||||
DEBUG_LOG(("Connection Info: sending fake req_pq through HTTP/%1 transport").arg((flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
|
||||
sendData(buffer);
|
||||
}
|
||||
|
||||
bool MTPhttpConnection::isConnected() {
|
||||
return !address.isEmpty();
|
||||
bool MTPhttpConnection::isConnected() const {
|
||||
return (status == UsingHttp);
|
||||
}
|
||||
|
||||
void MTPhttpConnection::requestFinished(QNetworkReply *reply) {
|
||||
if (status == FinishedWork) return;
|
||||
|
||||
reply->deleteLater();
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
requests.remove(reply);
|
||||
|
@ -1034,8 +1125,23 @@ void MTPhttpConnection::requestFinished(QNetworkReply *reply) {
|
|||
if (data.size() == 1) {
|
||||
emit error();
|
||||
} else if (!data.isEmpty()) {
|
||||
receivedQueue.push_back(data);
|
||||
emit receivedData();
|
||||
if (status == UsingHttp) {
|
||||
receivedQueue.push_back(data);
|
||||
emit receivedData();
|
||||
} else {
|
||||
try {
|
||||
MTPResPQ res_pq = _readPQFakeReply(data);
|
||||
const MTPDresPQ &res_pq_data(res_pq.c_resPQ());
|
||||
if (res_pq_data.vnonce == httpNonce) {
|
||||
DEBUG_LOG(("Connection Info: HTTP/%1-transport connected by pq-response").arg((_flags & MTPDdcOption_flag_ipv6) ? "IPv6" : "IPv4"));
|
||||
status = UsingHttp;
|
||||
emit connected();
|
||||
}
|
||||
} catch (Exception &e) {
|
||||
DEBUG_LOG(("Connection Error: exception in parsing HTTP fake pq-responce, %1").arg(e.what()));
|
||||
emit error();
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (!requests.remove(reply)) {
|
||||
|
@ -1061,12 +1167,17 @@ int32 MTPhttpConnection::debugState() const {
|
|||
}
|
||||
|
||||
QString MTPhttpConnection::transport() const {
|
||||
return qsl("HTTP");
|
||||
if (status == UsingHttp) {
|
||||
return qsl("HTTP");
|
||||
} else {
|
||||
return QString();
|
||||
}
|
||||
}
|
||||
|
||||
void MTProtoConnectionPrivate::createConn(bool createIPv4, bool createIPv6) {
|
||||
destroyConn();
|
||||
if (createIPv4) {
|
||||
QWriteLocker lock(&stateConnMutex);
|
||||
if (cConnectionType() == dbictAuto) {
|
||||
_conn4 = new MTPautoConnection(thread());
|
||||
} else if (cConnectionType() == dbictTcpProxy) {
|
||||
|
@ -1078,6 +1189,7 @@ void MTProtoConnectionPrivate::createConn(bool createIPv4, bool createIPv6) {
|
|||
connect(_conn4, SIGNAL(receivedSome()), this, SLOT(onReceivedSome()));
|
||||
}
|
||||
if (createIPv6) {
|
||||
QWriteLocker lock(&stateConnMutex);
|
||||
if (cConnectionType() == dbictAuto) {
|
||||
_conn6 = new MTPautoConnection(thread());
|
||||
} else if (cConnectionType() == dbictTcpProxy) {
|
||||
|
@ -1098,14 +1210,23 @@ void MTProtoConnectionPrivate::createConn(bool createIPv4, bool createIPv6) {
|
|||
|
||||
void MTProtoConnectionPrivate::destroyConn(MTPabstractConnection **conn) {
|
||||
if (conn) {
|
||||
if (*conn) {
|
||||
disconnect(*conn, SIGNAL(disconnected()), 0, 0);
|
||||
disconnect(*conn, SIGNAL(receivedData()), 0, 0);
|
||||
disconnect(*conn, SIGNAL(receivedSome()), 0, 0);
|
||||
MTPabstractConnection *toDisconnect = 0;
|
||||
|
||||
(*conn)->disconnectFromServer();
|
||||
(*conn)->deleteLater();
|
||||
*conn = 0;
|
||||
{
|
||||
QWriteLocker lock(&stateConnMutex);
|
||||
if (*conn) {
|
||||
toDisconnect = *conn;
|
||||
disconnect(*conn, SIGNAL(connected()), 0, 0);
|
||||
disconnect(*conn, SIGNAL(disconnected()), 0, 0);
|
||||
disconnect(*conn, SIGNAL(error(bool)), 0, 0);
|
||||
disconnect(*conn, SIGNAL(receivedData()), 0, 0);
|
||||
disconnect(*conn, SIGNAL(receivedSome()), 0, 0);
|
||||
*conn = 0;
|
||||
}
|
||||
}
|
||||
if (toDisconnect) {
|
||||
toDisconnect->disconnectFromServer();
|
||||
toDisconnect->deleteLater();
|
||||
}
|
||||
} else {
|
||||
destroyConn(&_conn4);
|
||||
|
@ -1132,6 +1253,7 @@ MTProtoConnectionPrivate::MTProtoConnectionPrivate(QThread *thread, MTProtoConne
|
|||
, _pingMsgId(0)
|
||||
, restarted(false)
|
||||
, keyId(0)
|
||||
// , sessionDataMutex(QReadWriteLock::Recursive)
|
||||
, sessionData(data)
|
||||
, myKeyLock(false)
|
||||
, authKeyData(0)
|
||||
|
@ -1200,7 +1322,7 @@ int32 MTProtoConnectionPrivate::getDC() const {
|
|||
}
|
||||
|
||||
int32 MTProtoConnectionPrivate::getState() const {
|
||||
QReadLocker lock(&stateMutex);
|
||||
QReadLocker lock(&stateConnMutex);
|
||||
int32 result = _state;
|
||||
if (_state < 0) {
|
||||
if (retryTimer.isActive()) {
|
||||
|
@ -1214,18 +1336,21 @@ int32 MTProtoConnectionPrivate::getState() const {
|
|||
}
|
||||
|
||||
QString MTProtoConnectionPrivate::transport() const {
|
||||
if ((!_conn4 && !_conn6) || _state < 0) {
|
||||
QReadLocker lock(&stateConnMutex);
|
||||
if ((!_conn4 && !_conn6) || (_conn4 && _conn6) || (_state < 0)) {
|
||||
return QString();
|
||||
}
|
||||
return (_conn4 ? _conn4 : _conn6)->transport();
|
||||
QString result = (_conn4 ? _conn4 : _conn6)->transport();
|
||||
if (!result.isEmpty() && cTryIPv6()) result += (_conn4 ? "/IPv4" : "/IPv6");
|
||||
return result;
|
||||
}
|
||||
|
||||
bool MTProtoConnectionPrivate::setState(int32 state, int32 ifState) {
|
||||
if (ifState != MTProtoConnection::UpdateAlways) {
|
||||
QReadLocker lock(&stateMutex);
|
||||
QReadLocker lock(&stateConnMutex);
|
||||
if (_state != ifState) return false;
|
||||
}
|
||||
QWriteLocker lock(&stateMutex);
|
||||
QWriteLocker lock(&stateConnMutex);
|
||||
if (_state == state) return false;
|
||||
_state = state;
|
||||
if (state < 0) {
|
||||
|
@ -1732,7 +1857,7 @@ void MTProtoConnectionPrivate::tryToSend() {
|
|||
}
|
||||
}
|
||||
mtpRequestData::padding(toSendRequest);
|
||||
sendRequest(toSendRequest, needAnyResponse);
|
||||
sendRequest(toSendRequest, needAnyResponse, lockFinished);
|
||||
}
|
||||
|
||||
void MTProtoConnectionPrivate::retryByTimer() {
|
||||
|
@ -1784,15 +1909,15 @@ void MTProtoConnectionPrivate::socketStart(bool afterConfig) {
|
|||
port6 = dcIndex6->port;
|
||||
}
|
||||
}
|
||||
bool noIPv4 = (!port4 || ip4.empty()), noIPv6 = (!port6 || ip6.empty());
|
||||
bool noIPv4 = (!port4 || ip4.empty()), noIPv6 = (!cTryIPv6() || !port6 || ip6.empty());
|
||||
if (noIPv4 && noIPv6) {
|
||||
if (afterConfig) {
|
||||
if (noIPv4) LOG(("MTP Error: DC %1 options for IPv4 not found right after config load!").arg(dc));
|
||||
if (noIPv6) LOG(("MTP Error: DC %1 options for IPv6 not found right after config load!").arg(dc));
|
||||
if (cTryIPv6() && noIPv6) LOG(("MTP Error: DC %1 options for IPv6 not found right after config load!").arg(dc));
|
||||
return restart();
|
||||
}
|
||||
if (noIPv4) DEBUG_LOG(("MTP Info: DC %1 options for IPv4 not found, waiting for config").arg(dc));
|
||||
if (noIPv6) DEBUG_LOG(("MTP Info: DC %1 options for IPv6 not found, waiting for config").arg(dc));
|
||||
if (cTryIPv6() && noIPv6) DEBUG_LOG(("MTP Info: DC %1 options for IPv6 not found, waiting for config").arg(dc));
|
||||
connect(mtpConfigLoader(), SIGNAL(loaded()), this, SLOT(onConfigLoaded()));
|
||||
mtpConfigLoader()->load();
|
||||
return;
|
||||
|
@ -1847,8 +1972,11 @@ void MTProtoConnectionPrivate::restart(bool maybeBadKey) {
|
|||
}
|
||||
}
|
||||
|
||||
lockFinished.unlock();
|
||||
doDisconnect();
|
||||
if (_needSessionReset) {
|
||||
|
||||
lockFinished.relock();
|
||||
if (sessionData && _needSessionReset) {
|
||||
resetSession();
|
||||
}
|
||||
restarted = true;
|
||||
|
@ -1965,7 +2093,12 @@ void MTProtoConnectionPrivate::onWaitIPv4Failed() {
|
|||
void MTProtoConnectionPrivate::doDisconnect() {
|
||||
destroyConn();
|
||||
|
||||
unlockKey();
|
||||
{
|
||||
QReadLocker lockFinished(&sessionDataMutex);
|
||||
if (sessionData) {
|
||||
unlockKey();
|
||||
}
|
||||
}
|
||||
|
||||
clearAuthKeyData();
|
||||
|
||||
|
@ -1989,12 +2122,16 @@ void MTProtoConnectionPrivate::handleReceived() {
|
|||
DEBUG_LOG(("MTP Error: auth_key for dc %1 busy, cant lock").arg(dc));
|
||||
clearMessages();
|
||||
keyId = 0;
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
mtpAuthKeyPtr key(sessionData->getKey());
|
||||
if (!key || key->keyId() != keyId) {
|
||||
DEBUG_LOG(("MTP Error: auth_key id for dc %1 changed").arg(dc));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
|
@ -2005,11 +2142,15 @@ void MTProtoConnectionPrivate::handleReceived() {
|
|||
if (len < 18) { // 2 auth_key_id, 4 msg_key, 2 salt, 2 session, 2 msg_id, 1 seq_no, 1 length, (1 data + 3 padding) min
|
||||
LOG(("TCP Error: bad message received, len %1").arg(len * sizeof(mtpPrime)));
|
||||
TCP_LOG(("TCP Error: bad message %1").arg(mb(encrypted, len * sizeof(mtpPrime)).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
if (keyId != *(uint64*)encrypted) {
|
||||
LOG(("TCP Error: bad auth_key_id %1 instead of %2 received").arg(keyId).arg(*(uint64*)encrypted));
|
||||
TCP_LOG(("TCP Error: bad message %1").arg(mb(encrypted, len * sizeof(mtpPrime)).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
|
@ -2028,6 +2169,8 @@ void MTProtoConnectionPrivate::handleReceived() {
|
|||
LOG(("TCP Error: bad msg_len received %1, data size: %2").arg(msgLen).arg(dataBuffer.size()));
|
||||
TCP_LOG(("TCP Error: bad message %1").arg(mb(encrypted, len * sizeof(mtpPrime)).str()));
|
||||
_conn->received().pop_front();
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
uchar sha1Buffer[20];
|
||||
|
@ -2035,6 +2178,8 @@ void MTProtoConnectionPrivate::handleReceived() {
|
|||
LOG(("TCP Error: bad SHA1 hash after aesDecrypt in message"));
|
||||
TCP_LOG(("TCP Error: bad message %1").arg(mb(encrypted, len * sizeof(mtpPrime)).str()));
|
||||
_conn->received().pop_front();
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
TCP_LOG(("TCP Info: decrypted message %1,%2,%3 is %4 len").arg(msgId).arg(seqNo).arg(logBool(needAck)).arg(msgLen + 8 * sizeof(mtpPrime)));
|
||||
|
@ -2044,6 +2189,8 @@ void MTProtoConnectionPrivate::handleReceived() {
|
|||
LOG(("MTP Error: bad server session received"));
|
||||
TCP_LOG(("MTP Error: bad server session %1 instead of %2 in message received").arg(session).arg(serverSession));
|
||||
_conn->received().pop_front();
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
|
@ -2053,6 +2200,8 @@ void MTProtoConnectionPrivate::handleReceived() {
|
|||
bool isReply = ((msgId & 0x03) == 1);
|
||||
if (!isReply && ((msgId & 0x03) != 3)) {
|
||||
LOG(("MTP Error: bad msg_id %1 in message received").arg(msgId));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
|
@ -2128,6 +2277,8 @@ void MTProtoConnectionPrivate::handleReceived() {
|
|||
|
||||
if (res < 0) {
|
||||
_needSessionReset = (res < -1);
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
retryTimeout = 1; // reset restart() timer
|
||||
|
@ -2898,6 +3049,8 @@ void MTProtoConnectionPrivate::onConnected4() {
|
|||
disconnect(_conn4, SIGNAL(connected()), this, SLOT(onConnected4()));
|
||||
if (!_conn4->isConnected()) {
|
||||
LOG(("Connection Error: not connected in onConnected4(), state: %1").arg(_conn4->debugState()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
|
@ -2906,6 +3059,7 @@ void MTProtoConnectionPrivate::onConnected4() {
|
|||
|
||||
DEBUG_LOG(("MTP Info: connection through IPv4 succeed."));
|
||||
|
||||
lockFinished.unlock();
|
||||
updateAuthKey();
|
||||
}
|
||||
|
||||
|
@ -2916,9 +3070,11 @@ void MTProtoConnectionPrivate::onConnected6() {
|
|||
QReadLocker lockFinished(&sessionDataMutex);
|
||||
if (!sessionData) return;
|
||||
|
||||
disconnect(_conn6, SIGNAL(connected()), this, SLOT(onConnected()));
|
||||
disconnect(_conn6, SIGNAL(connected()), this, SLOT(onConnected6()));
|
||||
if (!_conn6->isConnected()) {
|
||||
LOG(("Connection Error: not connected in onConnected(), state: %1").arg(_conn6->debugState()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
|
@ -2997,6 +3153,7 @@ void MTProtoConnectionPrivate::updateAuthKey() {
|
|||
connect(_conn, SIGNAL(receivedData()), this, SLOT(pqAnswered()));
|
||||
|
||||
DEBUG_LOG(("AuthKey Info: sending Req_pq.."));
|
||||
lockFinished.unlock();
|
||||
sendRequestNotSecure(req_pq);
|
||||
}
|
||||
|
||||
|
@ -3300,6 +3457,7 @@ void MTProtoConnectionPrivate::dhClientParamsAnswered() {
|
|||
|
||||
MTPSet_client_DH_params::ResponseType res_client_DH_params;
|
||||
if (!readResponseNotSecure(res_client_DH_params)) {
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
|
@ -3309,11 +3467,15 @@ void MTProtoConnectionPrivate::dhClientParamsAnswered() {
|
|||
if (resDH.vnonce != authKeyData->nonce) {
|
||||
LOG(("AuthKey Error: received nonce <> sent nonce (in dh_gen_ok)!"));
|
||||
DEBUG_LOG(("AuthKey Error: received nonce: %1, sent nonce: %2").arg(mb(&resDH.vnonce, 16).str()).arg(mb(&authKeyData->nonce, 16).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
if (resDH.vserver_nonce != authKeyData->server_nonce) {
|
||||
LOG(("AuthKey Error: received server_nonce <> sent server_nonce (in dh_gen_ok)!"));
|
||||
DEBUG_LOG(("AuthKey Error: received server_nonce: %1, sent server_nonce: %2").arg(mb(&resDH.vserver_nonce, 16).str()).arg(mb(&authKeyData->server_nonce, 16).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
authKeyData->new_nonce_buf[32] = 1;
|
||||
|
@ -3321,6 +3483,8 @@ void MTProtoConnectionPrivate::dhClientParamsAnswered() {
|
|||
if (resDH.vnew_nonce_hash1 != *(MTPint128*)(hashSha1(authKeyData->new_nonce_buf, 41, sha1Buffer) + 1)) {
|
||||
LOG(("AuthKey Error: received new_nonce_hash1 did not match!"));
|
||||
DEBUG_LOG(("AuthKey Error: received new_nonce_hash1: %1, new_nonce_buf: %2").arg(mb(&resDH.vnew_nonce_hash1, 16).str()).arg(mb(authKeyData->new_nonce_buf, 41).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
|
@ -3343,11 +3507,15 @@ void MTProtoConnectionPrivate::dhClientParamsAnswered() {
|
|||
if (resDH.vnonce != authKeyData->nonce) {
|
||||
LOG(("AuthKey Error: received nonce <> sent nonce (in dh_gen_retry)!"));
|
||||
DEBUG_LOG(("AuthKey Error: received nonce: %1, sent nonce: %2").arg(mb(&resDH.vnonce, 16).str()).arg(mb(&authKeyData->nonce, 16).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
if (resDH.vserver_nonce != authKeyData->server_nonce) {
|
||||
LOG(("AuthKey Error: received server_nonce <> sent server_nonce (in dh_gen_retry)!"));
|
||||
DEBUG_LOG(("AuthKey Error: received server_nonce: %1, sent server_nonce: %2").arg(mb(&resDH.vserver_nonce, 16).str()).arg(mb(&authKeyData->server_nonce, 16).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
authKeyData->new_nonce_buf[32] = 2;
|
||||
|
@ -3355,6 +3523,8 @@ void MTProtoConnectionPrivate::dhClientParamsAnswered() {
|
|||
if (resDH.vnew_nonce_hash2 != *(MTPint128*)(hashSha1(authKeyData->new_nonce_buf, 41, sha1Buffer) + 1)) {
|
||||
LOG(("AuthKey Error: received new_nonce_hash2 did not match!"));
|
||||
DEBUG_LOG(("AuthKey Error: received new_nonce_hash2: %1, new_nonce_buf: %2").arg(mb(&resDH.vnew_nonce_hash2, 16).str()).arg(mb(authKeyData->new_nonce_buf, 41).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
authKeyData->retry_id = authKeyData->auth_key_aux_hash;
|
||||
|
@ -3365,11 +3535,15 @@ void MTProtoConnectionPrivate::dhClientParamsAnswered() {
|
|||
if (resDH.vnonce != authKeyData->nonce) {
|
||||
LOG(("AuthKey Error: received nonce <> sent nonce (in dh_gen_fail)!"));
|
||||
DEBUG_LOG(("AuthKey Error: received nonce: %1, sent nonce: %2").arg(mb(&resDH.vnonce, 16).str()).arg(mb(&authKeyData->nonce, 16).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
if (resDH.vserver_nonce != authKeyData->server_nonce) {
|
||||
LOG(("AuthKey Error: received server_nonce <> sent server_nonce (in dh_gen_fail)!"));
|
||||
DEBUG_LOG(("AuthKey Error: received server_nonce: %1, sent server_nonce: %2").arg(mb(&resDH.vserver_nonce, 16).str()).arg(mb(&authKeyData->server_nonce, 16).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
authKeyData->new_nonce_buf[32] = 3;
|
||||
|
@ -3377,13 +3551,20 @@ void MTProtoConnectionPrivate::dhClientParamsAnswered() {
|
|||
if (resDH.vnew_nonce_hash3 != *(MTPint128*)(hashSha1(authKeyData->new_nonce_buf, 41, sha1Buffer) + 1)) {
|
||||
LOG(("AuthKey Error: received new_nonce_hash3 did not match!"));
|
||||
DEBUG_LOG(("AuthKey Error: received new_nonce_hash3: %1, new_nonce_buf: %2").arg(mb(&resDH.vnew_nonce_hash3, 16).str()).arg(mb(authKeyData->new_nonce_buf, 41).str()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
LOG(("AuthKey Error: dh_gen_fail received!"));
|
||||
} return restart();
|
||||
}
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
|
||||
}
|
||||
LOG(("AuthKey Error: unknown set_client_DH_params_answer received, typeId = %1").arg(res_client_DH_params.type()));
|
||||
|
||||
lockFinished.unlock();
|
||||
return restart();
|
||||
}
|
||||
|
||||
|
@ -3479,7 +3660,7 @@ void MTProtoConnectionPrivate::sendRequestNotSecure(const TRequest &request) {
|
|||
|
||||
onSentSome(buffer.size() * sizeof(mtpPrime));
|
||||
|
||||
} catch(Exception &e) {
|
||||
} catch (Exception &e) {
|
||||
return restart();
|
||||
}
|
||||
}
|
||||
|
@ -3516,13 +3697,13 @@ bool MTProtoConnectionPrivate::readResponseNotSecure(TResponse &response) {
|
|||
}
|
||||
const mtpPrime *from(answer + 5), *end(from + len - 5);
|
||||
response.read(from, end);
|
||||
} catch(Exception &e) {
|
||||
} catch (Exception &e) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
bool MTProtoConnectionPrivate::sendRequest(mtpRequest &request, bool needAnyResponse) {
|
||||
bool MTProtoConnectionPrivate::sendRequest(mtpRequest &request, bool needAnyResponse, QReadLocker &lockFinished) {
|
||||
uint32 fullSize = request->size();
|
||||
if (fullSize < 9) return false;
|
||||
|
||||
|
@ -3532,6 +3713,8 @@ bool MTProtoConnectionPrivate::sendRequest(mtpRequest &request, bool needAnyResp
|
|||
ReadLockerAttempt lock(sessionData->keyMutex());
|
||||
if (!lock) {
|
||||
DEBUG_LOG(("MTP Info: could not lock key for read in sendBuffer(), dc %1, restarting..").arg(dc));
|
||||
|
||||
lockFinished.unlock();
|
||||
restart();
|
||||
return false;
|
||||
}
|
||||
|
@ -3539,6 +3722,8 @@ bool MTProtoConnectionPrivate::sendRequest(mtpRequest &request, bool needAnyResp
|
|||
mtpAuthKeyPtr key(sessionData->getKey());
|
||||
if (!key || key->keyId() != keyId) {
|
||||
DEBUG_LOG(("MTP Error: auth_key id for dc %1 changed").arg(dc));
|
||||
|
||||
lockFinished.unlock();
|
||||
restart();
|
||||
return false;
|
||||
}
|
||||
|
@ -3605,9 +3790,6 @@ void MTProtoConnectionPrivate::lockKey() {
|
|||
}
|
||||
|
||||
void MTProtoConnectionPrivate::unlockKey() {
|
||||
QReadLocker lockFinished(&sessionDataMutex);
|
||||
if (!sessionData) return;
|
||||
|
||||
if (myKeyLock) {
|
||||
myKeyLock = false;
|
||||
sessionData->keyMutex()->unlock();
|
||||
|
|
|
@ -41,10 +41,18 @@ enum {
|
|||
|
||||
MTPDreplyKeyboardMarkup_flag_resize = (1 << 0),
|
||||
MTPDreplyKeyboardMarkup_flag_single_use = (1 << 1),
|
||||
MTPDreplyKeyboardMarkup_flag_ZERO = (1 << 31) // client side flag for zeroMarkup
|
||||
MTPDreplyKeyboardMarkup_flag_personal = (1 << 2),
|
||||
MTPDreplyKeyboardMarkup_flag_FORCE_REPLY = (1 << 30), // client side flag for forceReply
|
||||
MTPDreplyKeyboardMarkup_flag_ZERO = (1 << 31), // client side flag for zeroMarkup
|
||||
|
||||
MTPDstickerSet_flag_installed = (1 << 0),
|
||||
MTPDstickerSet_flag_disabled = (1 << 1),
|
||||
MTPDstickerSet_flag_official = (1 << 2),
|
||||
MTPDstickerSet_flag_NOT_LOADED = (1 << 31), // client side flag for not yet loaded set
|
||||
};
|
||||
|
||||
static const MTPReplyMarkup MTPnullMarkup = MTP_replyKeyboardMarkup(MTP_int(0), MTP_vector<MTPKeyboardButtonRow>(0));
|
||||
static const MTPVector<MTPMessageEntity> MTPnullEntities = MTP_vector<MTPMessageEntity>(0);
|
||||
|
||||
#include "mtproto/mtpPublicRSA.h"
|
||||
#include "mtproto/mtpAuthKey.h"
|
||||
|
@ -139,7 +147,7 @@ public:
|
|||
virtual void sendData(mtpBuffer &buffer) = 0; // has size + 3, buffer[0] = len, buffer[1] = packetnum, buffer[last] = crc32
|
||||
virtual void disconnectFromServer() = 0;
|
||||
virtual void connectToServer(const QString &addr, int32 port, int32 flags) = 0;
|
||||
virtual bool isConnected() = 0;
|
||||
virtual bool isConnected() const = 0;
|
||||
virtual bool usingHttpWait() {
|
||||
return false;
|
||||
}
|
||||
|
@ -207,7 +215,7 @@ public:
|
|||
void sendData(mtpBuffer &buffer);
|
||||
void disconnectFromServer();
|
||||
void connectToServer(const QString &addr, int32 port, int32 flags);
|
||||
bool isConnected();
|
||||
bool isConnected() const;
|
||||
bool usingHttpWait();
|
||||
bool needHttpWait();
|
||||
|
||||
|
@ -254,7 +262,7 @@ private:
|
|||
Requests requests;
|
||||
|
||||
QString _addr;
|
||||
int32 _port, _tcpTimeout;
|
||||
int32 _port, _tcpTimeout, _flags;
|
||||
QTimer tcpTimeoutTimer;
|
||||
|
||||
};
|
||||
|
@ -269,7 +277,7 @@ public:
|
|||
void sendData(mtpBuffer &buffer);
|
||||
void disconnectFromServer();
|
||||
void connectToServer(const QString &addr, int32 port, int32 flags);
|
||||
bool isConnected();
|
||||
bool isConnected() const;
|
||||
|
||||
int32 debugState() const;
|
||||
|
||||
|
@ -279,10 +287,29 @@ public slots:
|
|||
|
||||
void socketError(QAbstractSocket::SocketError e);
|
||||
|
||||
void onSocketConnected();
|
||||
void onSocketDisconnected();
|
||||
|
||||
void onTcpTimeoutTimer();
|
||||
|
||||
protected:
|
||||
|
||||
void socketPacket(mtpPrime *packet, uint32 packetSize);
|
||||
|
||||
private:
|
||||
|
||||
enum Status {
|
||||
WaitingTcp = 0,
|
||||
UsingTcp,
|
||||
FinishedWork
|
||||
};
|
||||
Status status;
|
||||
MTPint128 tcpNonce;
|
||||
|
||||
QString _addr;
|
||||
int32 _port, _tcpTimeout, _flags;
|
||||
QTimer tcpTimeoutTimer;
|
||||
|
||||
};
|
||||
|
||||
class MTPhttpConnection : public MTPabstractConnection {
|
||||
|
@ -295,7 +322,7 @@ public:
|
|||
void sendData(mtpBuffer &buffer);
|
||||
void disconnectFromServer();
|
||||
void connectToServer(const QString &addr, int32 port, int32 flags);
|
||||
bool isConnected();
|
||||
bool isConnected() const;
|
||||
bool usingHttpWait();
|
||||
bool needHttpWait();
|
||||
|
||||
|
@ -309,6 +336,15 @@ public slots:
|
|||
|
||||
private:
|
||||
|
||||
enum Status {
|
||||
WaitingHttp = 0,
|
||||
UsingHttp,
|
||||
FinishedWork
|
||||
};
|
||||
Status status;
|
||||
MTPint128 httpNonce;
|
||||
int32 _flags;
|
||||
|
||||
QNetworkAccessManager manager;
|
||||
QUrl address;
|
||||
|
||||
|
@ -375,7 +411,6 @@ public slots:
|
|||
void onError4(bool maybeBadKey = false);
|
||||
void onError6(bool maybeBadKey = false);
|
||||
|
||||
void doDisconnect();
|
||||
void doFinish();
|
||||
|
||||
// Auth key creation packet receive slots
|
||||
|
@ -395,6 +430,8 @@ public slots:
|
|||
|
||||
private:
|
||||
|
||||
void doDisconnect();
|
||||
|
||||
void createConn(bool createIPv4, bool createIPv6);
|
||||
void destroyConn(MTPabstractConnection **conn = 0); // 0 - destory all
|
||||
|
||||
|
@ -402,7 +439,7 @@ private:
|
|||
mtpMsgId prepareToSend(mtpRequest &request, mtpMsgId currentLastId);
|
||||
mtpMsgId replaceMsgId(mtpRequest &request, mtpMsgId newId);
|
||||
|
||||
bool sendRequest(mtpRequest &request, bool needAnyResponse);
|
||||
bool sendRequest(mtpRequest &request, bool needAnyResponse, QReadLocker &lockFinished);
|
||||
mtpRequestId wasSent(mtpMsgId msgId) const;
|
||||
|
||||
int32 handleOneReceived(const mtpPrime *from, const mtpPrime *end, uint64 msgId, int32 serverTime, uint64 serverSalt, bool badTime);
|
||||
|
@ -412,7 +449,7 @@ private:
|
|||
void clearMessages();
|
||||
|
||||
bool setState(int32 state, int32 ifState = MTProtoConnection::UpdateAlways);
|
||||
mutable QReadWriteLock stateMutex;
|
||||
mutable QReadWriteLock stateConnMutex;
|
||||
int32 _state;
|
||||
|
||||
bool _needSessionReset;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue