Compare commits

...

638 Commits

Author SHA1 Message Date
John Preston
bc254228c9 Alpha 1.0.21: Use custom refcount for MTP types.
It seems that heavy using std::shared_ptr and std::make_shared
like it was before completely kills the compilation time.

Also HistoryItem::_create now uses perfect forwarding.
2017-03-11 20:03:36 +03:00
John Preston
f2cd364e14 Alpha 1.0.21: Fix more compilation bugs. 2017-03-11 17:13:57 +03:00
John Preston
28ae5fd65c Alpha 1.0.21: Fix compilation bug. 2017-03-11 13:35:43 +03:00
John Preston
493ba6f2cd Alpha 1.0.21: Send MP4 and MOV files as videos. 2017-03-11 13:33:05 +03:00
John Preston
f2465eba73 Make MTPstring and MTPvector value types.
Also move MTPstring implementation to QByteArray.
2017-03-10 23:27:26 +03:00
John Preston
1df955e30a Closed beta 1000020001: remove chats list padding. Fix #3098
Also return config requesting at the beginning of each app launch.
2017-03-10 23:27:25 +03:00
John Preston
02da80439b Remove read() constructors from MTP types.
This will allow us to handle errors in parsing not by exceptions.
2017-03-10 23:27:24 +03:00
John Preston
3b373e236e Make all owned MTPD types immutable.
Remove custom refcounting in mtpData, use std::shared_ptr instead.
2017-03-10 23:27:23 +03:00
John Preston
839bf313cf Remove two build jobs from appveyor CI.
No need for disable_desktop_generation_file and disable_unity_integration
in appveyor builds, because the defines from this jobs are Linux-only.
2017-03-10 23:12:56 +03:00
John Preston
6061d9d65b Fix WidgetFadeWrap::showFast() after animation. Fix #3096 2017-03-10 19:41:44 +03:00
John Preston
021454dbd4 Add .jpg to inputFile filename when photo is sent.
Server has some extensions checking for inputMediaUploadedPhoto,
so force the extension to be .jpg anyway. It doesn't matter,
because the filename from inputFile is not used anywhere.

Also own PhotoData::UploadingData through std::unique_ptr.
2017-03-10 18:55:34 +03:00
John Preston
f6918feea3 Fix build in Xcode and GCC. 2017-03-10 18:53:16 +03:00
John Preston
6c00b7efde Show animated previews for GIFs in SendFilesBox. 2017-03-10 17:43:26 +03:00
John Preston
a1b53c660e Show video thumbnail in SendFileBox.
Read media information (image / song / video) in SendFileBox in the
same way it is read in FileLoadTask::process() and reuse it in
FileLoadTask if it was loaded already for the box.
2017-03-10 17:14:10 +03:00
John Preston
9ed8cbe2d1 Send mp4 and quicktime files as videos. 2017-03-10 17:12:51 +03:00
John Preston
eaae662b7d Use mapbox::util::variant in a submodule.
While we don't have C++17 std::variant<> use a BSD licensed
alternative from mapbox team in a base:: wrapper.
2017-03-10 17:12:04 +03:00
John Preston
7da52bd3ec Move GSL dependency to a submodule. 2017-03-10 14:34:43 +03:00
John Preston
e4f7b3c7c2 Fix mediaview update when image is loaded.
Subscribe on app launch, not only when AuthSession has changed.
2017-03-10 11:25:38 +03:00
John Preston
ee45bbe4c6 Alpha 1.0.20: fix crash in old Windows versions.
A shell32 method SHCreateItemFromParsingName was used without
checking if it was successfully loaded from shell32.dll (Vista+).
2017-03-09 00:10:32 +03:00
John Preston
5aab168b3e Alpha 1.0.20: fix crash in default notifications.
Before showNextFromQueue() was called from a range-for loop over
the _notifications and it invalidated the _notifications iterators.
2017-03-08 23:51:40 +03:00
John Preston
ce8d68fc8c Alpha 1.0.19: Add MSVC++ bug workaround. 2017-03-08 13:46:04 +03:00
John Preston
6d216042e6 Alpha 1.0.19: jump to date, macOS do not disturb.
Production testing of the AuthSession downloader() and notifications().
2017-03-08 13:33:16 +03:00
John Preston
a5c83467d6 Respect macOS do not disturb settings. Fix #3095. 2017-03-08 13:12:02 +03:00
John Preston
b5d9eee489 Fix macOS native notification callbacks. 2017-03-08 10:31:05 +03:00
John Preston
ed3b2cc017 Make date service messages clickable.
Open jump to date box when clicking on dates including floating date.
2017-03-07 22:30:00 +03:00
John Preston
f663a2bf08 Limit the CalendarBox selectable days.
Use available information (first and last message date) to limit
the days you can choose in jump-to-date calendar box.
2017-03-07 22:29:59 +03:00
John Preston
ec0c3c5f82 Add ripple animation in CalendarBox cells. 2017-03-07 22:29:59 +03:00
John Preston
d3af60ff0b Add a simple jump to date in a chat. 2017-03-07 22:29:59 +03:00
John Preston
ae977044f6 First version of CalendarBox is done.
Also moved BackgroundBox::Inner declaration inside backgroundbox.cpp
2017-03-07 22:29:49 +03:00
John Preston
6d80471fc9 Calendar button added to DialogsWidget.
When you search in a specific chat there is a calendar button now.
2017-03-07 21:59:47 +03:00
John Preston
b80dd99172 Ui::FadeAnimation now supports scaling.
Ui::WidgetScaledFadeWrap<> wrapper added for fading widgets out and
fading them in with a scale effect similar to Ui::SendButton.
2017-03-07 21:58:40 +03:00
John Preston
6456a83a22 Finalizing files rename.
Also moved peer_avatar_button to ui/special_buttons.
2017-03-07 21:58:35 +03:00
John Preston
9510492174 Renamed history_down_button module.
Next commit fixes the build.
2017-03-07 21:58:24 +03:00
John Preston
a441a9fca9 Fix service message highlighting. 2017-03-07 21:58:16 +03:00
John Preston
81790b2271 Notifications management moved to AuthSession.
Also implemented Global::WorkMode() as an base::Variable.
2017-03-06 18:38:15 +03:00
John Preston
b14ba398e6 Fixed Linux build. 2017-03-06 01:43:35 +03:00
John Preston
e88305d984 Fixed freezes in macOS clipboard requests.
Sometimes QClipboard::text() unexpectedly freezes on macOS, no known
causes for that. But before we were requesting the clipboard text after
each change in any text field to update macOS global menu items.

Now we use Cocoa API directly to find out if there were any changes to
the clipboard content and query text through Qt only if we have changes.

That way it should almost never freeze (at least) or even really never.
2017-03-05 23:18:27 +03:00
John Preston
31009b19c6 Removed obsolete storage_file_type fields. 2017-03-04 14:28:21 +03:00
John Preston
83720d8789 Finalizing file renaming. 2017-03-04 13:23:56 +03:00
John Preston
b0dbe9d353 Renamed / moved a bunch of files.
Next commit fixes the build.
2017-03-04 12:56:07 +03:00
John Preston
08167a6a91 Removed #include "stdafx.h" from all files.
Currently the build without implicitly included precompiled header
is not supported anyway (because Qt MOC source files do not include
stdafx.h, they include plain headers).

So when we decide to support building without implicitly included
precompiled headers we'll have to fix all the headers anyway.
2017-03-04 12:27:52 +03:00
John Preston
12bbd971b3 Added Guideline Support Library as a dependency.
See https://github.com/Microsoft/GSL for information.
2017-03-04 12:01:07 +03:00
John Preston
0838d21a05 Removed virtual type getters in mtpFileLoader. 2017-03-04 12:01:06 +03:00
John Preston
f48d6dc464 Alpha 1.0.18: Fixed build for macOS. 2017-03-02 17:01:32 +03:00
John Preston
4b8cc3d355 Changed build status to reflect dev branch.
Default github branch now is dev, so is the build status in README.
2017-03-01 21:59:16 +03:00
John Preston
6576959948 Alpha 1.0.18: destroying auth keys on sign up.
Also some debugging tools for mtproto endpoints added.
2017-03-01 21:42:36 +03:00
John Preston
3da0af3550 Merge branch 'master' into dev 2017-03-01 21:41:42 +03:00
John Preston
195d3d13d7 Fix regression from 87445ccf8c in a helper script. 2017-03-01 21:37:15 +03:00
Konstantin Lazutin
701acace21 Removed click at the end of the notification sound (#3052)
Signed-off-by: Konstantin Lazutin klazutin@gmail.com (github: klazutin)
2017-03-01 21:30:28 +03:00
John Preston
bc76f5ee1e Debug feature added for overriding dc options.
Now you can type "endpoints" in Settings and choose a file with
a complete set of dc_options that will be used instead of built-in
or received through mtproto config till the end of current session.
2017-03-01 20:22:37 +03:00
John Preston
5f5770dd46 Support special seek whence for ffmpeg.
AVSEEK_SIZE is passed as a whence when ffmpeg needs just data size.
2017-03-01 10:31:36 +03:00
John Preston
fb230a443e Fixed text with right bearings display.
Sometimes Text::_maxWidth was not accumulated correctly because
the intermediate text blocks had negative right bearing larger
than the whole width of the next text block, so the final computed
line width was less than some intermediate value. Now we accumulate
the _maxWidth value after each block making this value correct.
2017-02-28 19:38:23 +03:00
John Preston
a4a7a77abd Closed beta 1000017001: enable auth_key_destroy.
Now we use only new authorization keys for signing in. If we are
preparing to sign in and we see, that some of the authorization
keys were not generated in this launch, but were read from file, we
destroy all existing auth keys and generate a completely new set.
2017-02-28 19:08:30 +03:00
John Preston
12705c9065 Removed legacy FileDialog::query* methods.
Everything is done easier and better through the FileDialog::Get*.
2017-02-28 19:04:52 +03:00
John Preston
f8318177b9 Platform-dependent file methods called async.
Some major platform-dependent file operations refactoring.
All methods like "open file", "open file with", "show in folder"
were moved to core/file_utilities module with platform-dependent
backends. All methods interacting with DesktopServices made async.
2017-02-28 18:03:38 +03:00
John Preston
6f0cf30b12 Some platform-dependent modules refactoring.
Now each platform-dependent module declares its interface in
platform/platform_module.h file and after that includes platform-
specific headers like platform/win/module_win.h with implementation.

Also removed the legacy WinRT platform-dependent implementations.
2017-02-28 13:51:00 +03:00
John Preston
ae08a2f697 Alpha 1.0.17: crash fix in file open.
ShellExecute() call reenters Qt event loop, so each time we
schedule a delayed action (like destroying FileLoader) and after
that we call ShellExecute (in psOpenFile) we destroy it inside
this call and can't use it after.

So now we perform ShellExecute calls only delayed (using task queue).
2017-02-28 11:18:27 +03:00
John Preston
a5eb5a6ea2 Crash fix when setting a background image by URL. #3077
When we choose a file from URL we don't get the filename.
In background image apply method we test for a theme / palette
file extensions. Now we don't crash there, but we still can't set
a .tdesktop-theme or .tdesktop-palette file from URL. Who cares :)
2017-02-28 10:26:27 +03:00
John Preston
d254058690 Alpha 1.0.16: fighting crashes.
An attempt to fix a crash in MTP::Instance destructor + additional
logging there to find out how this crash happens.
2017-02-27 21:47:29 +03:00
John Preston
2fa2fa41c5 Some special logging added for crash catching.
Special FileLoader destructor crash added to find the code path
leading to crashes that could be observed through the reports.

Looks like progress() signal handlers enter event loop somehow.
2017-02-27 21:33:42 +03:00
John Preston
3f8e822621 Fixing crash in logout from passcode.
If the MTP::Instance is not started yet (we forgot our passcode),
the logout attempt was attempting to use mtproto from Intro::Widget
constructor before it was created. Now we create it before logout.
2017-02-27 21:25:42 +03:00
John Preston
6c3e1568da Alpha 1.0.15: changelog added. 2017-02-27 16:22:57 +03:00
John Preston
fb2a26fb35 Alpha 1.0.15: various improvements.
Wrong supergroup members display fix, RTL text layout fix.
Linux GTK file chooser image preview added. Fix #3053 #2968
2017-02-27 13:44:14 +03:00
John Preston
6c2f16e9a0 Some improvements in mtproto data processing.
Readability improvements. Checking maximum padding size.
Checking SHA1 hash before validating inner message length.
2017-02-27 12:51:03 +03:00
Christoph Auer
ce0045ff70 Add note about closing issues by commit messages
See https://github.com/telegramdesktop/tdesktop/issues/2955#issuecomment-279875201

Fix #3067
2017-02-27 10:00:30 +01:00
Christoph
87445ccf8c Add interpreter path
Fix #3064
2017-02-27 09:42:11 +01:00
Christoph
46651ab945 Add libdee-dev to build instructions for cmake
Fix #3049
2017-02-27 09:39:59 +01:00
John Preston
4838d1bfc9 GTK file chooser image preview support added. #2968
Thanks to Chromium code.
Also fixed build on GCC / Linux.
2017-02-26 22:27:57 +03:00
John Preston
e8b03248e1 Fix members list in supergroups when scrolling up.
When we load previous messages in chat history we add all authors
of the messages to lastAuthors in regular groups (so that we can
suggest them in mention autocomplete). The same logic was (blindly)
applied to supergroups lastParticipants list which is used not only
for the mention autocomplete but also in Profile members list. That
way we were showing there users who could've already left the group.
2017-02-26 21:02:47 +03:00
John Preston
dcd6028e91 Loading libunity only in Unity and Pantheon. #3053
Commit 296c800b39 introduced a regression which caused crashes
in some ArchLinux distros when attempting to load or use libunity.
2017-02-26 21:02:46 +03:00
John Preston
5195b4d3ef RTL strings with trailing spaces render fix.
Commit 8d354382a4 introduced a regression in RTL phrases display.
When an RTL line had trailing spaces we started displaying them in
front of the text still assuming counted line width value that did
not include those trailing spaces.

Line width is not including trailing spaces width because it is
allowed to fit in the line any number of spaces.

Also text block "left padding" entity was eliminated. If we have
some spaces in the start of the text block (for example a text block
after a link) we just add an empty word and mark those spaces as its
right padding.
2017-02-26 21:02:45 +03:00
John Preston
692d115313 Use a Deleted Account phrase instead of Unknown. 2017-02-26 21:02:45 +03:00
John Preston
c207743338 Made base::lambda a copyable value type.
Now base::lambda can be copied and can wrap any immutable lambda.
For mutable lambdas there is base::lambda_once (which you're
supposed to call only once to pass data through lambda captures,
for example by using std::unique_ptr). Generally base::lambda is
passed by value and base::lambda_once is passed by rvalue reference.
2017-02-26 21:01:23 +03:00
John Preston
f82989c9c3 Using std::vector<> and const fields for emoji. 2017-02-25 23:35:55 +03:00
John Preston
c48ed2e62b Closed beta 1000014001: fixed GCC build. 2017-02-25 21:17:50 +03:00
John Preston
d1e37864ac Closed beta 1000014001: fixed crash in MTP destructor.
Some of MTP::Instance::Private fields access _instance in
destructors. All that cleanup should be performed before the
Instance::~Instance() (which invalidates _private) is called.
2017-02-25 20:55:11 +03:00
John Preston
bcec2f6b84 Closed beta 1000014001: fixed Xcode build. 2017-02-25 20:46:21 +03:00
John Preston
6b70cc342a Closed beta 1000014001: testing MTP changes.
Destroying of the authorization keys disabled for now.
2017-02-25 20:15:30 +03:00
John Preston
7d89b54d1c Ability to delete authorization keys added.
If we start logging in and we know, that some of the authorization
keys were read from the hard drive, not generated, we destroy all
the existing authorization keys and start generating new keys.
2017-02-25 19:48:22 +03:00
John Preston
dd933cf61c MTP global state moved to MTP::Instance class.
Now there will be ability to start multiple mtproto instances.
2017-02-25 19:48:21 +03:00
John Preston
c3b3819d9f Moved AppClass to messenger.cpp:Messenger. 2017-02-25 19:48:20 +03:00
John Preston
63c61637f8 Moved MTP::authedId() to AuthSession::Current(). 2017-02-25 19:48:19 +03:00
John Preston
a35947141c Encapsulated DcOptions to an independent class. 2017-02-25 19:48:19 +03:00
John Preston
90b3b5c3e5 MTP::AuthKey uses std::array for data.
Also using "volatile char*" iteration for secure memset on Mac/Linux.
2017-02-25 19:48:18 +03:00
John Preston
21efb44e81 TL scheme for destroy_auth_key query added. 2017-02-25 19:48:17 +03:00
John Preston
e6672432bb Merge branch 'master' into dev 2017-02-25 19:47:10 +03:00
Mohammad Reza Espargham
8c63feb11e Added interpreter path (#3065)
Signed-off-by: MohammadReza Espargham <reza.espargham@owasp.org> (github: rezasp)
2017-02-23 22:37:24 +01:00
Mohammad Reza Espargham
68e35a6cad Added interpreter path (#3063)
Signed-off-by: MohammadReza Espargham <reza.espargham@owasp.org> (github: rezasp)
2017-02-23 22:37:09 +01:00
Mohammad Reza Espargham
dbd4eaed48 Added interpreter path (#3061)
Signed-off-by: MohammadReza Espargham <reza.espargham@owasp.org> (github: rezasp)
2017-02-23 18:51:29 +01:00
John Preston
9e4b752830 Fix travis build warning on precompiled headers. 2017-02-22 14:00:08 +03:00
John Preston
958d3b7c15 Good alignment in palette reading generated code.
Also added -std=gnu++1y to CMake precompiled header generation.
2017-02-21 21:24:36 +03:00
John Preston
30ae322cf0 Move to GCC 6 and silent some warnings there. 2017-02-21 18:29:59 +03:00
John Preston
755325fef3 Updated Xcode build for using standard library.
Also trying to use g++-6 for travis build.
2017-02-21 17:37:53 +03:00
John Preston
ffc557a0f9 Using standard library instead of std_ namespace.
Currently tested only in VS2015.
2017-02-21 16:45:56 +03:00
John Preston
27f015561a Using custom build of libc++ for old OS X version.
This will allow us to use C++14 library on all platforms.
Patches for macold versions got bigger and are now different for
crashpad and mini_chromium, so they were moved to a separate folder.
2017-02-21 15:37:52 +03:00
John Preston
228e2f7031 Use 'v140' msbuild_toolset for VS project.
We use /SUBSYSTEM:Windows and 'MinimumRequiredVersion': '5.01' to
make our app work in Windows XP, but we use 'v140' toolset instead
of 'v140_xp' so that we have access to modern APIs like WRL.
2017-02-21 15:27:34 +03:00
Christoph
afc98f03fa Add collapse for logs in issues [ci skip] 2017-02-21 09:52:32 +01:00
John Preston
7fa1986b27 Version 1.0.14: crash fix in text rendering.
Fix a regression introduced in 8d354382a4 which caused an overflow
in _parAnalysis access. We were resizing _parAnalysis array for a
line width without the pending newline character while we used it
for painting a line including the pending newline character. It was
not a problem before, when we were trimming them from the end of
the string, but it results in a buffer overflow and crashes in the
lastest versions. So now we just don't include the newline in the
painted string, so it has exactly the same size as _parAnalysis.
2017-02-20 23:58:54 +03:00
Christoph
f7448bbc7f Update issue template
Add theme
Comment instructions to enable debug mode
2017-02-20 15:15:30 +01:00
John Preston
5939c54d33 Version 1.0.13: fix unnecessary window activations.
A regression was introduced in 1.0.12 version which led to wrong
activations of the main window: if a custom popup menu was shown
for the tray icon or a custom notification was clicked.
2017-02-20 13:36:25 +03:00
John Preston
d408fca96f Added some more debug info for wrong history state. 2017-02-20 13:35:30 +03:00
John Preston
2a1219679f Cleaned up README. 2017-02-20 13:33:57 +03:00
Christoph Auer
120e21c126 Remove workaround for missing build defines
Fixed by commit d1d9e29ca5
2017-02-19 14:00:14 +01:00
John Preston
d1d9e29ca5 Version 1.0.12: fix initial build_defines. 2017-02-19 14:02:35 +03:00
John Preston
bcf01cf718 Version 1.0.12: more emoji, voice messages seek, theme editor. 2017-02-19 13:50:36 +03:00
Christoph Auer
daa934014c Change TELEGRAM_BUILD_DEFINES to TDESKTOP_BUILD_DEFINES 2017-02-19 09:29:08 +01:00
Christoph
ef535ca026 Implement AppVeyor (#3025)
Also implement build defines for Windows
Set TELEGRAM_BUILD_DEFINES before calling gyp/refresh.bat

Fix #3000

Signed-off-by: Christoph <auer.chrisi@gmx.net>
2017-02-18 20:23:50 +01:00
John Preston
843089733b Better handle window hide / activate in macOS. #1278
When we hide window by 'x' title button or by cmd+w key we try to
deactivate the whole application (so some other app gets activated).

When we activate the application in any way we check if the main
window is hidden and if it is - we show it and activate it.
2017-02-18 16:34:18 +03:00
John Preston
6e1b6e6e53 Fixed Qt 5.3.2 tray icon with autohidden menu bar.
Also removed the old Qt 5.6.0 patch (only 5.6.2 is currently used).
2017-02-18 16:34:18 +03:00
John Preston
4232fa2f6e Use QuietHours registry key only in latest Windows
Sometimes the windows quiet hours registry key gets set even in
Windows 7 (or older) and we disable notifications though it has
nothing to do with real user settings. Check for 8.1 at least.
2017-02-18 16:06:03 +03:00
John Preston
746d58e453 Fix small glitches in the intro cover sprites. #2904 2017-02-18 15:26:12 +03:00
John Preston
f2e69d2621 Intro cover now shows palette changes in realtime. 2017-02-18 14:38:15 +03:00
John Preston
8ffdfa7923 Fixed a render glitch when highlighting a message. #3023 2017-02-18 14:38:15 +03:00
John Preston
89f3b45888 Fix of neutral emoji color variant choice saving. 2017-02-18 14:38:14 +03:00
John Preston
a2774848ba Changed FileDescription to a smaller one in rc.
This string is displayed in Windows task manager and should be small.
2017-02-18 14:38:13 +03:00
John Preston
36fc7d1991 Merge branch 'master' into temp
Conflicts:
	Telegram/SourceFiles/settings/settings_widget.cpp
2017-02-18 14:37:57 +03:00
John Preston
8060c7e141 Alpha 1.0.11: fix Qt 5.3.2 build.
Qt 5.3.2 QVector works only with types having an assignment operator.
2017-02-17 22:59:25 +03:00
John Preston
b7c4e867e8 Alpha 1.0.11: emoji parsing fixed.
We should count emoji length correctly in cases we have a partial
match for a longer one, but not a full match. If we start reading
the next characters but don't find a full emoji there we need to
have a correct length of a previously found emoji saved already.
2017-02-17 21:57:21 +03:00
John Preston
d259656e89 Alpha 1.0.11: emoji parsing fixed.
Now we ignore all 0xFE0F characters, because some other
apps send or not send them randomly, not like iOS/macOS.
2017-02-17 20:31:46 +03:00
Wouter van Kesteren
540ba9bfaf Fix compilation of history widget with GCC 6. (#3016)
error: inconsistent deduction for 'auto': 'int' and then 'auto'
  auto start = 0, end = list.size();
    ^~~~

Signed-off-by: Wouter van Kesteren <woutershep@gmail.com> (github: woutershep)
2017-02-17 15:56:52 +01:00
John Preston
0411f05c39 Alpha 1.0.11: crashfix in theme preview generator. 2017-02-17 16:07:57 +03:00
Behnam Emamian
54c409d967 Use external video player by hidden setting (#3021)
Signed-off-by: Behnam Emamian <emamian@persianprocess.com> (github: BehnamEmamian)
2017-02-17 13:50:27 +01:00
John Preston
b76e5853a8 Added full changelog (the existing part). 2017-02-17 15:36:28 +03:00
Christoph
e071e2cf6f Remove duplicated src folder of breakpad [ci skip] 2017-02-17 13:28:29 +01:00
John Preston
bff74452b7 Divided emoji resource file in two.
Linux 32bit build cannot handle all the emoji sprites
being compiled in a single translation unit, so now
it is divided in two.
2017-02-17 15:15:24 +03:00
John Preston
c0c7b39375 Alpha 1.0.10: better changelog message. 2017-02-17 13:17:42 +03:00
John Preston
695733f520 Alpha 1.0.10: fix clang/GCC and old OS X build. 2017-02-17 12:56:42 +03:00
John Preston
7adfe93a8d Alpha 1.0.10: unpinning converted chat on demand.
If we want to pin a chat and we have reached the limit we now check
for a deactivated (converted to supergroup) chat that is pinned and
is not in the chats list and just silently unpin it if it is found.

Also possible UB fix for a waveform encoding and decoding.
2017-02-16 19:47:50 +03:00
John Preston
8d354382a4 Text selection display fixes.
- Use QPainter current pen for selected text in cases we
didn't specify it explicitly in the TextPalette.
- Better rounding of QRectF from QFixed values to QRect selected
background filling areas.
- Using QPainter::viewport() instead of random huge QRect() in
clipping, because it fails to apply this huge QRect() clip region
in Retina paint devices: 2x scale QMatrix::map() is not defined for
QRegion-s having rects with sum of dimensions larger than 100000.
2017-02-16 17:07:16 +03:00
Christoph
5ac51efb3e Fix breakpad installation on windows 2017-02-16 11:57:53 +01:00
Christoph Auer
e2cdb8a9ed Fix zlib download link 2017-02-16 10:35:50 +01:00
John Preston
9757489645 Moved to the latest emoji set.
Also the old MetaEmoji project was converted to codegen_emoji.
All emoji now use full string identifiers for local storage.
2017-02-15 21:27:31 +03:00
John Preston
902dee0c2a Fix crash in OpenSSL usage.
First try to activate Qt OpenSSL usage and let Qt to set
the locking methods for OpenSSL. Only if Qt didn't set them
we use our own locking methods. Before that we were always
setting our own locking methods and Qt was overriding them
at some random moment of time sometimes leading to a crash.
2017-02-15 21:27:03 +03:00
John Preston
25f90b5159 Fix build of the new TWidgetHelper<> for GCC, finally.
Also fixed a char-related warning in codegen project.
2017-02-13 02:17:06 +03:00
John Preston
232ed0a7c0 Fix build of the new TWidgetHelper<> for Clang and GCC. 2017-02-12 23:41:29 +03:00
John Preston
25583fa813 Replace T_WIDGET macro with a template base class. 2017-02-11 14:24:37 +03:00
John Preston
61b55706ae Alpha 1.0.9: crash fix in video playback.
Media::Player::Instance started to notify about all sound
playback updates, even for video files (which do not have
DocumentData filled in), while Media::Player widgets were
relying on the existance of DocumentData in each update.
2017-02-11 11:00:21 +03:00
John Preston
d3420b6a92 Fixed info display in media in non-group chats.
Version 1.0.8 introduced a regression in displaying forwarded,
reply and via @bot information in photo, video, GIFs and locations.
2017-02-11 10:55:43 +03:00
John Preston
e922e5be39 Alpha 1.0.8: seek in voice messages (by waveform). 2017-02-11 01:37:37 +03:00
John Preston
296c800b39 Load libunity in all DEs to set dock icon counter. #956
Before we tried loading and using libunity only in Unity DE.
2017-02-10 20:45:11 +03:00
John Preston
c39bf239ea Removed legacy HistoryItem::type() code. 2017-02-10 17:16:50 +03:00
John Preston
2ab3cda743 Use current folder in Debug configuration for UWP. 2017-02-10 13:10:33 +03:00
John Preston
a627ed0929 Merge branch 'master' into dev 2017-02-10 12:18:37 +03:00
John Preston
8b503d4930 Fixed build on Windows. 2017-02-10 01:29:20 +03:00
John Preston
6e833baf91 Handle tg:// links in Windows packaged build. 2017-02-09 22:31:30 +03:00
John Preston
3dbe187f56 Merge remote-tracking branch 'origin/master' into dev 2017-02-09 22:31:11 +03:00
Fela Ameghino
e569b8c5f9 Windows URI association fix (#2957)
Signed-off-by: Fela Ameghino <fela.ameghino@mahiz.it> (github: frayxrulez)
2017-02-09 22:28:46 +03:00
John Preston
2becd307df Always display name in media messages in groups. 2017-02-09 17:34:19 +03:00
John Preston
3c18532612 Fixed Ui::PopupMenu submenu creation. #2971 2017-02-09 17:20:49 +03:00
John Preston
2f85997c9f Fixed multiline comments handling in theme editor. #2987 2017-02-09 16:53:28 +03:00
John Preston
e8ead2974b Added logging of file location invalidations.
If file size or file last modified time were changed we
invalidate our known location for a downloaded file. Now
we log those events to DebugLogs to see if they're responsible
for reported download problems.
2017-02-09 16:51:49 +03:00
John Preston
bb7730eee1 Back mouse button and key return you in stack.
Now you can use mouse Back button and Back keyboard button
to return from media overview through profile to the chat view.
2017-02-09 16:49:43 +03:00
John Preston
0518a456f8 "File Decription" keys updated in Windows resources. 2017-02-09 16:49:03 +03:00
John Preston
8e3274cd8f Colors added in palette for selected messages.
User names in groups, text and links in messages and names
in files and shared contacts not can have different colors
in plain inbox / outbox messages and in selected messages.

Now we can use a separate color for selected parts in Text.
2017-02-09 16:46:14 +03:00
John Preston
cce99a96ac Fixed directory choose dialog in Windows XP. 2017-02-09 16:44:37 +03:00
John Preston
b84abbec08 Fixed crash in Theme Editor.
There was an attempt to access _searchResults with index from _data.
2017-02-09 16:43:21 +03:00
Christoph
be87118778 Fix typo 2017-02-08 11:00:31 +01:00
John Preston
27a4d0f029 Alpha 1.0.7: Theme editor added to Settings. 2017-02-07 20:39:47 +03:00
John Preston
b842761ea3 Closed beta 1000006001: Built in theme and color palette editor. 2017-02-07 17:56:33 +03:00
John Preston
60f45ab9b3 Improved location coords precision when converting them to string.
Also disabled some options for a packaged build.
2017-02-03 13:17:40 +03:00
John Preston
5f0741a0a5 Some more logo assets added. 2017-02-02 20:09:26 +03:00
John Preston
ed4b9bc40b Added comments to the colors.palette rows. 2017-02-01 22:38:31 +03:00
Christoph
51a6ec0952 Update version badge 2017-02-01 12:24:59 +01:00
John Preston
686abd63b5 Version 1.0.6: fixing some critical issues in audio handling.
OnPropertyValueChanged() is called sometimes couple times a second
and sometimes when AudioMutex is locked already causing a deadlock.

Also some code added to support Desktop Bridge converter to UWP app.
2017-02-01 13:12:52 +03:00
John Preston
da2191e9d5 Version 1.0.5: fixed retina EmojiBox layout. 2017-01-31 12:29:22 +03:00
John Preston
33d2ec0f54 Version 1.0.5: new audio code + reorder pinned chats. 2017-01-31 12:13:51 +03:00
John Preston
6df0591e82 Langs updated with a changelog. Pinned chats reorder fixed on macOS. 2017-01-31 11:10:38 +03:00
John Preston
d1b9b8e3a3 Alpha 1.0.4: Click and drag to reorder pinned chats. 2017-01-30 18:27:13 +03:00
John Preston
b21f72fef0 Fixed build for old OS X. 2017-01-27 10:25:43 +03:00
John Preston
697fdd4294 Alpha 1.0.3: audio device opened only when some sound is played.
Also on Windows Vista and later audio device should switch after
the system default audio output device is changed.
2017-01-27 10:08:59 +03:00
John Preston
4964b8b488 Beta 1000002001: Recreate audio device when no output or device changes. 2017-01-25 08:45:09 +03:00
John Preston
6ae68b337d Audio capture moved to a separate module. 2017-01-25 00:25:21 +03:00
Marco Trevisan
28899a642b main-window-linux: unref tray Indicator and Unity Launcher Entry (#2661)
Signed-off-by: Marco Trevisan <mail@3v1n0.net> (github: 3v1n0)
2017-01-24 13:45:10 +03:00
Marco Trevisan
4518e94c8a main-window-linux: try to use AppIndicator in Unity (#2660)
Signed-off-by: Marco Trevisan <mail@3v1n0.net> (github: 3v1n0)
2017-01-24 13:44:46 +03:00
ZunSThy
59b0b0659a Fix: Corret 'Show in folder' logic (#2894)
Signed-off-by: Zun SThy <zunsthy@gmail.com> (github: zunsthy)
2017-01-24 13:18:48 +03:00
John Preston
2dccca7b16 Version 1.0.2: display correct changelog after the update. 2017-01-19 11:41:19 +03:00
John Preston
7ab87486dc Version 1.0.2: drag-n-drop from Firefox, resizable left column. 2017-01-19 11:38:10 +03:00
John Preston
8bb14f4565 Small layout search field hidden. Crash fix in common groups section.
Also clearing cloud drafts in deactivated chats after migrating them.
2017-01-18 13:26:33 +03:00
John Preston
8f31e1ab31 Alpha 1.0.1 for Windows: Qt bugfix backported for large files write.
Also the initial background saved as JPG to reduce the Telegram.exe
file size below 32 MB. Currently deployed versions can't autoupdate
to a file that is larger than 32 MB due to a critical Qt bug.
2017-01-17 11:50:22 +03:00
John Preston
041e366df7 Alpha 1.0.1: resize chats list with mouse press-and-drag.
Also fixed drag-n-drop images from Firefox in Windows.
Also some additional colors added to themes palette:
HistoryToDown button now has separate colors.
Windows title bar and buttons have separate active/inactive colors.
2017-01-16 16:27:11 +03:00
John Preston
47aa03ce37 Logging string in case of crash inside Qt text processing.
There are some crash reports from OS X 10.6 and it is the way
to find out which string exactly crashes the app in that place.
2017-01-16 13:18:34 +03:00
John Preston
4424dbf64a Allow to resize chats list. One more mode added (narrow chats list). 2017-01-16 12:55:03 +03:00
John Preston
983db3a682 Fix of OS X 10.6-10.7 linking with openssl for https:// requests to work. 2017-01-16 12:40:05 +03:00
John Preston
c58df19b93 Fix popup menu rendering in OS X 10.6-10.7. #2839 2017-01-15 16:12:35 +03:00
John Preston
8a8e0c1182 Passcode box layout fix. Drop image from Firefox fix.
Also admin star color in group profile has separate palette entry.
2017-01-13 18:15:25 +03:00
John Preston
7fb1463c43 Version 1.0 stable: bump copyright date to 2017. 2017-01-11 23:02:13 +04:00
John Preston
c9a6728b4f Merge branch 'dev' 2017-01-11 21:21:21 +04:00
John Preston
2d185cf66e Some colors split for the palette. Theme preview applying improved.
Also attempting to fix travis build.
2017-01-11 12:16:44 +04:00
John Preston
30c9bcb985 Alpha 0.10.27: appoint admins in your supergroups from context menu. 2017-01-11 09:30:51 +04:00
John Preston
c09dab2b3a MediaView save message fixed. Sticker pan size updated correctly. 2017-01-09 18:00:56 +04:00
John Preston
143181095f Alpha 0.10.26: t.me links, latest OpenAL code used.
Also inline results should be displayed above the message field.
2017-01-07 15:55:05 +04:00
John Preston
1a16df4037 Fixed alpha 0.10.25 build for Linux: static libvdpau build added. 2017-01-05 17:46:36 +04:00
John Preston
0edca8cfdb Alpha version 0.10.25: crash fix in aligned image creation. 2017-01-05 15:39:00 +04:00
John Preston
019939a09d Alpha 0.10.24: langs updated. 2017-01-05 13:40:21 +04:00
John Preston
9d66e88fc1 Alpha 0.10.24: fixed image alignment for ffmpeg, using ffmpeg 3.2. 2017-01-05 13:08:16 +04:00
John Preston
d0a7e6be73 Delete messages box labels fix and confirm by Enter key.
Also context menu fixed in case of non-transparent windows.
Also pausing GIFs when the window is not active.
2017-01-02 21:11:49 +04:00
John Preston
72e34dc5b1 Fixed alpha 0.10.23 build for Linux. 2017-01-01 21:49:44 +04:00
John Preston
a86c85485a Alpha 0.10.23: removed test code for error text checking. 2017-01-01 21:15:21 +04:00
John Preston
3da020dffd Alpha 0.10.23: tiled background fixed for macOS. 2017-01-01 21:10:35 +04:00
John Preston
c65a280b9d Alpha 0.10.23: small tiled background performance improved.
Also some error texts improved. Also Ctrl+W closes MediaView now.
2017-01-01 20:59:33 +04:00
John Preston
eec5b78054 Delete for everyone checkbox added. Various bugfixes. 2017-01-01 15:47:00 +04:00
John Preston
218f991547 Alpha version 0.10.22: critical bug fixes. 2016-12-31 17:34:41 +04:00
TheCop
8d7a13cc3d Clearer instructions in MSVC doc (#2755)
Signed-off-by: The_Cop <thecop@thecop.us> (github: TheCop)
2016-12-31 10:39:48 +01:00
John Preston
bc0c355d2d Alpha version 0.10.21: pinned chats, groups in common, new design. 2016-12-30 22:23:17 +04:00
John Preston
b39987c343 Closed beta 10020007: New selected messages count animation. 2016-12-30 17:53:10 +04:00
John Preston
1d8e76aa08 New empty user/chat photos: with filled background and initials. 2016-12-30 17:53:09 +04:00
John Preston
204d91d567 Closed beta 10020006: fixed crash on start when the passcode is used. 2016-12-30 17:53:07 +04:00
John Preston
38e6a0ae7e Closed beta 10020005: Added several buttons animations. 2016-12-30 17:53:06 +04:00
John Preston
ef927c8465 Theme preview ready.
Also style::color is now copyable, constructed only inside a palette.
Also macOS setup new background ready.
2016-12-30 17:53:05 +04:00
John Preston
1d895cd953 Closed beta 10020004: stickers box fixed, manage admins box fixed. 2016-12-30 17:53:03 +04:00
John Preston
eb4d2a38b6 Closed beta 10020003: All colors moved to palette, some bug fixes. 2016-12-30 17:53:02 +04:00
John Preston
b030824ef5 Use default color theme link in non-authed Advanced settings section. 2016-12-30 17:53:00 +04:00
John Preston
177078b0af Closed beta 10020002: Use default color theme link in Settings. 2016-12-30 17:53:00 +04:00
John Preston
0480e02b23 Closed beta 10020001: application icon changed. 2016-12-30 17:52:58 +04:00
John Preston
2436ad74bd Boxes redesigned. Common groups moved to Shared Media.
Also transparent images sending fixed.
2016-12-30 17:52:56 +04:00
John Preston
85b434bee4 Scheme updated. Pinned dialogs support added. 2016-12-30 17:52:53 +04:00
John Preston
90234cb7a0 Closed beta 10019014: New input fields design and animations. 2016-12-30 17:52:52 +04:00
John Preston
2d48cde27a Fixed crashes in thumb animation. Fix notifications show.
Also allow reporting bots. Also disable last used stickers click.
2016-12-30 17:52:51 +04:00
John Preston
4692fdeb5f Closed beta 10019013: Groups in common now are opened in a section. 2016-12-30 17:52:50 +04:00
John Preston
47977009b8 Moved FloatAnimation->Animation, Animation->BasicAnimation. 2016-12-30 17:52:48 +04:00
John Preston
06ed7b8eaf Some more ripple animations. Now only anim::value (float64).
Also each FloatAnimation now stops MTP responses.
Also slide animations done by FloatAnimation.
Closed beta 10019012.
2016-12-30 17:52:46 +04:00
John Preston
a248cef15d Moved back to layer 58, fixed some style issues. 2016-12-30 17:52:44 +04:00
John Preston
74253fb7f2 Fixed layout of names in profile peer list block. 2016-12-30 17:52:43 +04:00
John Preston
7bb3b4d807 Common groups profile block done. Moved to layer 59.
Also profile block modules were renamed.
2016-12-30 17:52:42 +04:00
John Preston
a3c406dd00 Some macOS improvements for animations and retina support. 2016-12-30 17:52:41 +04:00
John Preston
3e6d483939 Closed beta 10019011: fixed build in Xcode, langs updated. 2016-12-30 17:52:40 +04:00
John Preston
b0f14d1856 Closed beta 10019011: various style improvements. 2016-12-30 17:52:39 +04:00
John Preston
2796c53542 Some more ripple animations. 2016-12-30 17:52:37 +04:00
John Preston
8958ae0377 Typing animations from android. 2016-12-30 17:52:36 +04:00
John Preston
2b3631f3ae Closed beta 10019010: fixed build for Xcode. 2016-12-30 17:52:34 +04:00
John Preston
3cff50009c Closed beta 10019010: unified attach button, new intro, new stickers.
Now all files sending is confirmed before preparing for sending.
You can paste from clipboard and drag many files at once.
2016-12-30 17:52:32 +04:00
John Preston
26c08236cd Fixed build for Xcode. Round cap used in radial animations. 2016-12-30 17:52:31 +04:00
John Preston
3da0533339 Intro redesign done. 2016-12-30 17:52:30 +04:00
John Preston
6e0394dd42 Stickers box redesigned. 2016-12-30 17:52:28 +04:00
John Preston
38d20c506e Image options are used in cache key. Medias with captions has tails. 2016-12-30 17:52:27 +04:00
John Preston
b1ca0f5ea3 Fixed build for macOS old versions. 2016-12-30 17:52:26 +04:00
John Preston
eb05e62422 Not rounding images (photos/videos/gifs) that continue to a bubble. 2016-12-30 17:52:25 +04:00
John Preston
9155591e8a New cancel search icon animation. 2016-12-30 17:52:24 +04:00
John Preston
9fa284a6d1 Photo and video overview and background gallery checkboxes improved. 2016-12-30 17:52:23 +04:00
John Preston
e880c4876e Strict alignment request for base::lambda. Various improvements. 2016-12-30 17:52:21 +04:00
John Preston
8a0c275658 Group and channel create box photo select button improved. 2016-12-30 17:52:20 +04:00
John Preston
2ada4d841f Top bar buttons design improved, emoji pan animations removed. 2016-12-30 17:52:18 +04:00
John Preston
d313bd56a6 Qt render bug fixed by patch for Qt 5.3.2 as well. 2016-12-30 17:52:17 +04:00
John Preston
d607f0768a Closed version 10019009: bubbles with tails. 2016-12-30 17:52:16 +04:00
John Preston
31a66d66e2 Layers show/hide rewritten, animated show over mainmenu and settings. 2016-12-30 17:52:15 +04:00
John Preston
d0f7c6c210 Qt render bug fixed by patch. Design improvements and fixes. 2016-12-30 17:52:14 +04:00
John Preston
07689476a6 Closed beta 10019008: Some more ripple animations added. 2016-12-30 17:52:13 +04:00
John Preston
cdef9fa14f Active state for IconButton added, when ripple is not hidden. 2016-12-30 17:52:11 +04:00
John Preston
7fa274a68e Improved ripple animation colors and styles for different buttons.
Also moved FlatLabel and LabelSimple to ui/widgets/labels module.
Also moved ScrollArea to ui/widgets/scroll_area module.
2016-12-30 17:52:10 +04:00
John Preston
3186e1e495 Ripple animations done for IconButton, FlatButton and RoundButton.
Also moved input field classes to ui/widgets/input_fields module.
2016-12-30 17:52:08 +04:00
John Preston
48eb72a9c2 Optimized dropdown animation. Dropdown animation for EmojiPan done. 2016-12-30 17:52:07 +04:00
John Preston
78f55c10e9 Closed beta 10019006: left main menu. 2016-12-30 17:52:06 +04:00
John Preston
a74baaea36 Left main menu. 2016-12-30 17:52:05 +04:00
John Preston
807bebb3cf Buttons moved to ui/widgets/buttons module, BoxButton removed. 2016-12-30 17:52:04 +04:00
John Preston
d4d1d438be Closed beta 10019005: inline bot cancel button fixed. 2016-12-30 17:52:02 +04:00
John Preston
55b1ba128d Fixed PanelAnimation for Retina, added 1px padding to emoji. 2016-12-30 17:52:01 +04:00
John Preston
bd2be4e0c1 Build fixed for Linux, checking for compositing manager running.
Backported QX11Info::isCompositingManagerRunning from Qt 5.7.
2016-12-30 17:52:00 +04:00
John Preston
27ff8d4bf5 Closed beta 10019004: improved new dropdown animation on macOS. 2016-12-30 17:51:58 +04:00
John Preston
1310b156dc Closed beta 10019004: new add contact button, various improvements. 2016-12-30 17:51:57 +04:00
John Preston
3366e05b77 Rich dropdown animations. 2016-12-30 17:51:56 +04:00
John Preston
45ce0ecb1f Dialogs filter input field without search icon. 2016-12-30 17:51:55 +04:00
John Preston
8ff3779c9a Custom title bar for macOS 10.10+ improved, colors in palette now. 2016-12-30 17:51:54 +04:00
John Preston
494254496e 10019003: Some compose area icons improved. Box headers redesigned. 2016-12-30 17:51:52 +04:00
John Preston
475b35bf55 Custom title on macOS 10.10+ added. 2016-12-30 17:51:51 +04:00
John Preston
19f4e50e33 New compose area icons. 2016-12-30 17:51:50 +04:00
John Preston
fac8e48381 Default background changed to green, "video file" -> "video" in lang. 2016-12-30 17:51:48 +04:00
John Preston
dd9bd43331 Closed beta 10019002: fixed build for Linux. 2016-12-30 17:51:47 +04:00
John Preston
23c2e5364a Removed anim::cvalue and ColorAnimation, all done by fvalue now.
Also moved style::interpolate to anim::color/anim::pen/anim::brush.
2016-12-30 17:51:46 +04:00
John Preston
0326976473 Beta version 10019002: fixed build for Xcode. 2016-12-30 17:51:45 +04:00
John Preston
dac96bfc4a Closed beta 10019002: redesign, fix emoji pan hide after inline bot. 2016-12-30 17:51:44 +04:00
John Preston
b3d1602354 Forward bar and unread counter added to top bar in OneColumn layout. 2016-12-30 17:51:42 +04:00
John Preston
d12177befd Update Telegram button added to DialogsWidget/Intro. Three dot menu. 2016-12-30 17:51:41 +04:00
John Preston
e693a98bd4 Passcode lock button added to DialogsWidget. 2016-12-30 17:51:40 +04:00
John Preston
3a599e0752 New main menu in DialogsWidget.
Also "flip_horizontal" and "flip_vertical" modifiers support added.
Also moving parts of MainWindow to Window::MainWindow.
2016-12-30 17:51:38 +04:00
John Preston
0cbb0014db Removed blue window title, new small title used only in Windows. 2016-12-30 17:51:37 +04:00
John Preston
1ecd6866c7 Closed beta 10019001: improved style apply for FlatButton. 2016-12-30 17:51:35 +04:00
John Preston
1466338e7e Closed beta 10019001: Build fixed for Xcode. 2016-12-30 17:51:34 +04:00
John Preston
2a3fd0066d Closed beta 10019001: style::color copy is denied, only const refs. 2016-12-30 17:51:33 +04:00
John Preston
5d10c02b5b Applying color themes with confirmation / reverting (15 seconds). 2016-12-30 17:51:32 +04:00
John Preston
af9edc17d2 Applying color theme without restarting the application. 2016-12-30 17:51:31 +04:00
John Preston
c932f3d9df Removing almost all animated over states in IconButton. 2016-12-30 17:51:30 +04:00
John Preston
e08f5437a6 Palette usage improvements. 2016-12-30 17:51:29 +04:00
John Preston
dbb6371e67 First version on loading themes is ready. 2016-12-30 17:51:27 +04:00
John Preston
b2414939c9 Merge branch 'master' into dev 2016-12-30 17:50:59 +04:00
John Preston
19b77ee4ac Version 0.10.20: don't allow the share url start with an inline bot. 2016-12-18 19:12:49 +03:00
John Preston
09b429592f Version 0.10.20: crash fixed in group create box. 2016-12-18 18:47:32 +03:00
John Preston
7f71ef3784 Fixed bug in ffmpeg animation reader. 2016-12-18 12:12:42 +03:00
Marco Trevisan
2dadf7ce57 linux-libs: parse XDG_CURRENT_DESKTOP as colon separated list (#2663)
Signed-off-by: Marco Trevisan <mail@3v1n0.net> (github: 3v1n0)
2016-11-23 10:25:11 +01:00
Marco Trevisan
d460897f84 main-window-linux: parse XDG_CURRENT_DESKTOP as colon separated list (#2659)
As per freedesktop specifications¹, $XDG_CURRENT_DESKTOP is a
"colon-separated list of strings". Thus we need to parse it in that way.

[1] https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html

Signed-off-by: Marco Trevisan <mail@3v1n0.net> (github: 3v1n0)
2016-11-22 09:46:08 +03:00
Faissal Bensefia
9dc660c8ec Fixes "pushd: not found" (#2654)
Signed-off-by: faissaloo <faissaloo@gmail.com>
2016-11-20 14:09:00 +01:00
Christoph
1f0e2b1692 Add version to the readme (#2635)
Its updated by adding tags
2016-11-14 20:31:09 +01:00
Christoph
8d6e1b1697 Add .gitattributes (#2609)
Signed-off-by: Christoph <auer.chrisi@gmx.net>
2016-11-07 18:35:18 +01:00
John Preston
2e4426aac0 Old sprites removed completely. Only #rrggbb and #rrggbbaa in styles.
Also moved Checkbox and Radiobutton to Ui namespace.
Also child widgets in many boxes were wrapped in ChildWidget<>.
2016-10-28 12:20:24 +03:00
John Preston
42e544abff All icons were moved from sprites to separate icon files. 2016-10-28 11:02:45 +03:00
John Preston
f7374aa7b7 Almost all icons moved from sprite.
It is a broken build, some of sprite()s are in stickers.style file.
2016-10-28 00:19:38 +03:00
Mohammad Reza Espargham
9f2b6a7ee1 Update README.md with a new supported OS (#2571)
* Update README.md with a new supported OS

Signed-off-by: MohammadReza Espargham <reza.espargham@owasp.org> (github: rezasp)
2016-10-27 22:54:18 +02:00
John Preston
29493a0693 All emoji icons moved from sprite. 2016-10-27 17:10:28 +03:00
John Preston
6e33f039b2 Dropdown replaced by Ui::DropdownMenu. ScrolledWidget removed.
Ui::DropdownMenu is like Ui::PopupMenu, both based on Ui::Menu.
2016-10-27 15:56:48 +03:00
John Preston
140e6d6268 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-10-26 15:24:38 +03:00
John Preston
ec6e46dae7 Some more icons moved from sprite. 2016-10-26 15:24:21 +03:00
John Preston
abd755d7fc Fixed build for Xcode and GCC. 2016-10-26 14:03:33 +03:00
John Preston
ff2d959abd Some icons moved from sprite. Ui::WidgetFadeWrap() effect added. 2016-10-26 13:06:00 +03:00
John Preston
d35b295d5e Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-10-25 21:00:45 +03:00
John Preston
a65c76ea69 Venue layout fixed for multiline address text.
We don't make the bubble wider for the address text to fit in,
so we should not respect address Text::maxWidth() for item _maxw.
2016-10-25 20:30:49 +03:00
John Preston
802349d042 Version 0.10.19: Critical bug fix of Session::needToResumeAndSend(). 2016-10-24 23:37:43 +03:00
John Preston
c8a379e85e Fix crash: transfer QMenu ownership to PopupMenu. Not tested. 2016-10-24 18:38:57 +03:00
John Preston
1cfe9d0ff5 Version 0.10.18: a couple of crash fixes. 2016-10-24 18:36:17 +03:00
John Preston
53e48beb03 Merge branch 'dev' 2016-10-24 16:44:48 +03:00
John Preston
d2e27726ca Version 0.10.18: new cute design for adding members to your groups. 2016-10-24 16:31:36 +03:00
John Preston
a774e9b712 Closed beta 0.10.17.2: macOS animation improvements, multiselect design. 2016-10-24 00:25:29 +03:00
John Preston
6d9173bca8 Version 0.10.17 alpha: new cute control for adding members to groups. 2016-10-22 23:29:25 +03:00
John Preston
c1d862d8de Some icons moved from sprite to separate files. 2016-10-22 21:58:36 +03:00
John Preston
e1478359e6 Fixed build in Xcode. 2016-10-22 20:05:19 +03:00
John Preston
8bc4e3816b ShareBox and CountrySelect use Ui::MultiSelect as a search field. 2016-10-22 18:59:36 +03:00
John Preston
48332c0c6b Ui::MultiSelect control ready. 2016-10-22 18:59:36 +03:00
John Preston
3455344c62 Ui::MultiSelect control started: now it's just search field + cancel. 2016-10-22 18:59:34 +03:00
John Preston
e5a5273b3a Scrollable boxes reorganized: _scroll always owns _inner.
Also some boxes moved to separate modules: MembersBox, StickersBox.
2016-10-22 18:59:33 +03:00
John Preston
2bd561821a Using cute userpic checkbox Ui::RoundImageCheckbox in ContactsBox. 2016-10-22 18:59:32 +03:00
John Preston
763b347a8f Moved a cute userpic checkbox from ShareBox to a separate class. 2016-10-22 18:59:32 +03:00
John Preston
c514c62d61 Attempt to fix a crash in getUserFull() without a loaded peer. 2016-10-22 18:58:14 +03:00
John Preston
130c41d711 Take control over macOS media keys only when using music player. #2549 2016-10-22 17:35:37 +03:00
John Preston
77df38b4fd Fixed html encoding in native linux notifications. #2532
Also use case-insensitive filters in GTK file chooser.
2016-10-22 16:57:13 +03:00
John Preston
c773bffec6 Applying the ReplyMarkup returned in updateNewMessage. #2543
Also InputField now can be forced to hide placeholder.
2016-10-20 18:29:18 +03:00
John Preston
20d04a065e Fixed Windows tray icon (Qt 5.6.2 broke it). 2016-10-20 17:46:16 +03:00
John Preston
951d93832c Fix wrong clearing of a bot start token when returning to chat. #2417 2016-10-20 12:46:16 +03:00
John Preston
143cfe0d0f Disabled SPMediaKeyTap in MacAppStore build: it crashes. 2016-10-20 01:02:21 +03:00
John Preston
3b843f3d0f Removing Info.plist file before build to force it regeneration. 2016-10-19 21:56:56 +03:00
John Preston
5ad2fc12d9 Version 0.10.16 stable: langs updated. 2016-10-19 21:54:11 +03:00
John Preston
9752224449 Version 0.10.16 stable: new media player + notifications update. 2016-10-19 21:47:45 +03:00
John Preston
f1307f70ce Fixed history scroll state clearing in case bot info was shown. 2016-10-19 17:33:28 +03:00
John Preston
2ffc0196dd Fix reply from notifications (Qt 5.6.2 broke it).
Now the mouse press on Qt::BypassWindowManagerHint window
doesn't activate it. So if you want a working input field
in a Qt::BypassWindowManagerHint window, you should
activate it yourself from any mouse press event.
2016-10-19 16:46:45 +03:00
John Preston
3503be03c9 Fix tray icon menu display in Fedora (Qt 5.6.2 broke it).
When activeChanged() is emitted we call updateTrayMenu(), that
always called trayIcon->setContextMenu(), which was hiding the
just-shown tray icon menu in case of right click with main
window being active. Now we call trayIcon->setContextMenu()
only if the contextMenu value has really changed for trayIcon.
2016-10-19 15:24:39 +03:00
John Preston
40fc7379bc Fixed several bugs appearing on logout-login in player and messages. 2016-10-19 11:59:19 +03:00
John Preston
48a20f0e71 Version 0.10.15 alpha: crash fix in new player, close button added.
Also some grammar improvements and pinned message bar hiding fixed.
2016-10-18 18:19:13 +03:00
John Preston
b33b59b8b9 Version 0.10.14 alpha: fixed retina icon userpics, langs updated. 2016-10-18 15:00:25 +03:00
John Preston
2f4b2d0a33 Version 0.10.14 alpha: userpic images are now generated as icons.
Also fixed Windows build by adding breakpad include path back to gyp.
2016-10-18 14:48:03 +03:00
John Preston
ba4dcc42dc Version 0.10.14 alpha: using $XDG_DATA_HOME in Linux.
If there is no app data in ~/.TelegramDesktop (like in
fresh installs) we use $XDG_DATA_HOME/TelegramDesktop.
2016-10-18 13:32:33 +03:00
John Preston
fc7c5d0ab3 Fixed travis build for TDESKTOP_DISABLE_AUTOUPDATE case. 2016-10-18 10:56:38 +03:00
John Preston
086f754a96 Changed docs to work with Qt 5.6.2, hopefully fixed travis build. 2016-10-18 00:33:24 +03:00
John Preston
7345408568 Merge branch 'master' into dev 2016-10-18 00:27:16 +03:00
John Preston
e536d5ad59 Linux build with Qt 5.6.2 done. 2016-10-17 23:55:31 +03:00
worm202
72b26861a9 Fixed Markdown parsing issues in build documentation for Windows (#2527)
The issue is that Markdown parser doesn't handle code blocks after lists right. Instead of putting code into a block, it is shown as regular unformatted text. To resolve this issue, the empty HTML comments were added between lists and code blocks.

Signed-off-by: Sergey Filatov <raxp.worm202@gmail.com> (github: worm202)
2016-10-17 23:20:30 +03:00
John Preston
eb6b2c7d2e Merge branch 'master' into dev
Conflicts:
	Telegram/gyp/qt.gypi
2016-10-17 23:00:34 +03:00
John Preston
48fde28484 Moving to Qt 5.6.2, Xcode build tested. 2016-10-17 22:24:03 +03:00
John Preston
fd6a312abc SPMediaKeyTap solution for macOS media keys added. 2016-10-17 17:57:14 +03:00
John Preston
eb939fa4b0 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-10-17 13:56:29 +03:00
John Preston
0902741b85 Respecting Quite Hours in Windows.
Also closing current chat on window close or passcode lock.
2016-10-17 13:55:17 +03:00
John Preston
cf247384d3 Added an external virtual method / multimethod implementation. 2016-10-17 11:46:43 +03:00
John Preston
fa0e255183 Fixed tooltip display when hiding media player panel. 2016-10-14 21:44:15 +03:00
John Preston
5d6dafeeda New media player build fixed for Xcode. 2016-10-14 21:27:42 +03:00
John Preston
31a847fb9d Playlist appearance added to the new media player.
Also itemRemoved() now is fired as a global observable.
2016-10-14 20:10:15 +03:00
John Preston
4f0cff5467 Playlist added in the new media player panel. 2016-10-13 18:04:40 +03:00
John Preston
d543073632 Display download progress in the media player playback widget. 2016-10-13 12:12:12 +03:00
John Preston
956d048d56 Changing volume in media player by mouse wheel events. 2016-10-13 11:36:02 +03:00
John Preston
9eb8a93719 Media::Player::Widget added instead of PlayerWidget.
New media player bar widget added. Switching between floating
media player panel and media player widget. New volume controller.
2016-10-12 22:36:48 +03:00
John Preston
d919f3e705 Fixed error display in qrc dependencies update. 2016-10-11 19:56:58 +03:00
John Preston
9950629e4e Removed some download-in-ZIP from build docs. 2016-10-11 12:56:51 +03:00
John Preston
8f135d7e00 Cancel state added for PlayButtonLayout in the new media player. 2016-10-09 20:08:16 +03:00
John Preston
8d13014613 Travis other jobs fixed. 2016-10-09 11:30:56 +03:00
John Preston
1a67b31ee9 Travis build fixed.
Caching libxkbcommon, Qt, breakpad, GYP, libva, ffmpeg, openal-soft.
2016-10-09 10:43:56 +03:00
John Preston
2d9ccbc428 Fixed PhotoCropBox for Retina displays. 2016-10-09 01:06:21 +03:00
John Preston
3c8fb5f1f6 Media player vector button added to new audio player cover. 2016-10-08 21:28:43 +03:00
John Preston
e616c39608 Merge branch 'dev' into player
Conflicts:
	Telegram/SourceFiles/application.cpp
	Telegram/SourceFiles/core/utils.h
	Telegram/SourceFiles/localstorage.cpp
	Telegram/SourceFiles/pspecific_mac_p.mm
2016-10-08 12:10:33 +03:00
John Preston
377d333f1c Using same notification options for all notification managers. 2016-10-08 11:38:53 +03:00
John Preston
6798b86655 Version 0.10.13.alpha: removed Reply button for hidden text notifies. 2016-10-07 20:02:13 +03:00
John Preston
b298c72b52 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-10-07 19:47:16 +03:00
John Preston
f1d52c12ae Version 0.10.13.alpha: crash fix in custom notifications.
Not sending inline bot request drafts to server by timeout.
2016-10-07 19:45:45 +03:00
John Preston
4a9821117b Version 0.10.12.alpha: no new settings link for macOS 10.8+ version. 2016-10-07 17:28:37 +03:00
John Preston
3c84899edf Version 0.10.12.alpha: returned native macOS notifications for 10.8+ 2016-10-07 16:37:31 +03:00
John Preston
4369c23314 Version 0.10.12.alpha: major notifications update. 2016-10-07 16:24:19 +03:00
John Preston
15ee4b40dc Retina handling fixed in the new notifications. 2016-10-07 16:14:02 +03:00
John Preston
eb47b9468c Various fixes.
Copy inline keyboard when forwarding messages with a game.
Don't show "Deleted Message" in service message with scores.
Improved tiny web page previews. Ignore right button in emoji panel.
2016-10-07 10:58:34 +03:00
John Preston
16ce28f4d2 Notifications settings done: screen corner selection + max count. 2016-10-06 19:41:09 +03:00
John Preston
e7b6d7b498 Advanced notifications settings box layout done. 2016-10-05 21:37:48 +03:00
John Preston
41dc0f4e98 Hide all button added to default notifications. 2016-10-05 19:56:27 +03:00
John Preston
043cba0a64 Custom notifications inline reply added, positioning broken. 2016-10-04 21:18:08 +03:00
John Preston
c8aa7672e9 Notifications by libnotify support improved. 2016-10-04 16:36:50 +03:00
John Preston
a9929a5d51 Merge branch 'master' into notifications 2016-10-04 12:19:00 +03:00
John Preston
79a90956f7 Merge branch 'games_branch' 2016-10-03 18:46:01 +03:00
John Preston
9fdd75113f Bump version to 0.10.11. 2016-10-03 18:45:52 +03:00
John Preston
b600050057 Version 0.10.11: two more crash fixes. 2016-10-03 18:09:01 +03:00
John Preston
c9288f2d0a Native notifications switched off by default. Libnotify supported. 2016-10-03 18:07:50 +03:00
John Preston
f710fe2dd3 0.10.10: Crashfix: Removed infinite recursion in Ui::FadeAnimation(). 2016-10-03 13:30:14 +03:00
John Preston
aa17702c01 0.10.10: Crashfix: Removed infinite recursion in Ui::FadeAnimation(). 2016-10-03 13:09:49 +03:00
John Preston
9d6fb22d11 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2016-10-03 12:58:54 +03:00
John Preston
4875060e8f Merge branch 'master' into dev 2016-10-03 12:44:22 +03:00
John Preston
6db52f7fa9 LibNotify Linux notifications support added, testing. 2016-10-03 11:56:03 +03:00
John Preston
1cc1aab823 Version 0.10.9: don't handle cStartUrl() while passcoded. 2016-10-03 11:25:11 +03:00
John Preston
1a645a8496 Merge branch 'master' of https://bitbucket.org/johnprestonmail/telegram-desktop 2016-10-03 11:22:43 +03:00
John Preston
e1a8c89ff1 Version 0.10.9: don't handle cStartUrl() while passcoded. 2016-10-03 11:20:02 +03:00
John Preston
2d1d62a953 Code for replying from notifications, macOS uses notificationActivated(). 2016-10-02 20:06:34 +03:00
John Preston
7f950d2de2 Unified code for notification activation events in Windows version. 2016-10-02 19:32:46 +03:00
John Preston
c2aa8d3c77 NB Broken! Build in Xcode fixed, macOS notifications done by Manager. 2016-10-02 18:44:54 +03:00
John Preston
0bf55835f5 NB Broken! Notifications refactored to Manager, only Windows working. 2016-10-02 16:54:27 +03:00
John Preston
a41e0c4aa7 NB Broken! Started notification manager abstraction. 2016-10-02 12:30:28 +03:00
John Preston
1d6aba86ba Removed channel name from first message. Fixed channel members count. 2016-10-02 10:16:33 +03:00
John Preston
45dabbf9ab Replaced some exceptions in MTProto code with t_assert()s. 2016-10-02 00:09:44 +03:00
John Preston
4bdb2c48c7 Replaced some exceptions in MTProto code with t_assert()s. 2016-10-01 23:29:32 +03:00
John Preston
4a5f467560 Version 0.10.9: fixed interface scaling and Windows build. 2016-10-01 16:15:27 +03:00
John Preston
ef2faf676e Version 0.10.9: langs updated, moved shadow icons to separate files. 2016-10-01 15:35:52 +03:00
John Preston
3d2f025e10 Version 0.10.9: games. 2016-09-30 21:18:00 +03:00
John Preston
acbaf83442 Disabling playback seeking in new media player when loading audio. 2016-09-30 21:10:54 +03:00
John Preston
1b54ccb59c Merge branch 'game_media' into player
Conflicts:
	Telegram/Resources/basic.style
	Telegram/SourceFiles/media/player/media_player_list.cpp
	Telegram/SourceFiles/title.cpp
2016-09-30 20:07:56 +03:00
John Preston
886327a1d0 Playing game state is set for 10 seconds instead of 30.
Also moved some icons from sprite to separate b&w files.
2016-09-30 19:40:00 +03:00
John Preston
2ebab6a13c Beta 10008005: langs updated, new playing game status added. 2016-09-30 16:43:38 +03:00
John Preston
a18e3e5616 Game play send message action is supported. 2016-09-30 16:40:22 +03:00
John Preston
376941dd5e Mixed channel access hash to the game score encrypted data.
Added new lang strings for playing game send actions (not done yet).
Also moved alot of icons from sprite to separate b&w files.
2016-09-30 15:52:03 +03:00
John Preston
828b42e4f1 Version 10008004: fixed Xcode build. 2016-09-29 22:48:34 +03:00
John Preston
a5eee9bd3e Beta 10008004: games / webpages work fine if media autoload disabled.
Also moved alot of file icons from sprite to separate b&w files.
2016-09-29 22:42:14 +03:00
John Preston
fee1cec3d9 Merge branch 'game_media' into player 2016-09-29 20:01:56 +03:00
John Preston
1247bd19b6 No confirmations for verified game bots. Disabled Game media edition.
Also inline bot requests are sent after "@...bot" even without space.
2016-09-29 19:15:44 +03:00
John Preston
325e28f3a8 Fixed bad time displaying when seeking in the new media player. 2016-09-29 18:25:17 +03:00
John Preston
5d37517eac Fixed build. 2016-09-29 17:04:43 +03:00
John Preston
5b3ac58578 Merge branch 'game_media' into player
Conflicts:
	Telegram/SourceFiles/core/basic_types.h
	Telegram/SourceFiles/sysbuttons.h
	Telegram/SourceFiles/title.cpp
2016-09-29 16:48:43 +03:00
John Preston
01a5aa30df Beta 10008003: langs updated. 2016-09-29 15:59:30 +03:00
John Preston
6b8d3aa48c Some layout fixes, std_::align() fixed to work in OS X 10.6-7 build. 2016-09-29 15:57:20 +03:00
John Preston
f1f7333c7a Removed some old styles. Divided basic_types module to several. 2016-09-29 14:37:16 +03:00
John Preston
73a8d27bfd You scored phrase for game service messages. Game layout bug fix. 2016-09-29 12:10:32 +03:00
John Preston
139882113d Closed beta 10008002: games support and some testing. 2016-09-29 00:33:51 +03:00
John Preston
5b7d936140 Some langs updated. Build fixed for Xcode. 2016-09-29 00:33:05 +03:00
John Preston
903795d0e5 Merge branch 'game_media' into player
Conflicts:
	Telegram/SourceFiles/application.cpp
	Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp
	Telegram/SourceFiles/mainwidget.cpp
	Telegram/SourceFiles/mainwidget.h
	Telegram/SourceFiles/structs.h
2016-09-29 00:31:43 +03:00
John Preston
0562024444 Merge branch 'master' into player
Conflicts:
	Telegram/SourceFiles/core/observer.h
	Telegram/SourceFiles/mainwindow.h
	Telegram/SourceFiles/media/view/media_clip_playback.cpp
	Telegram/SourceFiles/media/view/media_clip_playback.h
2016-09-29 00:16:02 +03:00
John Preston
78815800d0 Media::Clip::Reader owners use Media::Clip::ReaderPointer smartptr. 2016-09-28 23:28:53 +03:00
John Preston
344890c533 Game sharing and inline results supported. Qt patch updated.
Qt patch now disables QT_SCALE_FACTOR and other HighDpi
environment variables reading because tdesktop doesn't support them.
2016-09-28 19:23:25 +03:00
John Preston
5529e24000 Displaying of games finished. 2016-09-28 14:38:35 +03:00
John Preston
538ffb9727 Moved History[Media] classes to history_media_types module. 2016-09-28 13:15:03 +03:00
John Preston
d277b0d4bb Some parts from history module moved to history_[item,media,message]. 2016-09-27 17:20:49 +03:00
John Preston
90a4b66366 New media type Game added. Display of Game partially supported. 2016-09-27 16:37:18 +03:00
John Preston
da49d8440a Beta 10008001: moved all Notify::Observer-s to base::Subscriber-s. 2016-09-26 21:33:34 +03:00
John Preston
18f3e45657 NB Broken! New lambda approaches Xcode compilation fixed. 2016-09-26 21:17:36 +03:00
John Preston
c91bdf3fef NB Broken! Moving from registerPeerObserver() to base::Subscriber. 2016-09-26 17:50:24 +03:00
John Preston
8546814a25 imageLoaded() notifications done through base::Subscriber.
Also FileDialog query completion notifications use base::Subscriber.
Strict lambda alignment check. Disable large lambdas in lambda_wrap.
2016-09-26 16:57:08 +03:00
John Preston
453661d611 Removed Function<> and SharedCallback<>, using base::lambda_unique<>.
Also removed macro START_ANIMATION(anim,) using anim.start() instead.
2016-09-26 15:09:59 +03:00
John Preston
866bc4ff8a Rotation from metadata supported in FFmpeg video stream reader.
Also small glitch fix in settings rebuild after self() has changed.
2016-09-26 10:58:04 +03:00
John Preston
ff3e6c429d Emoji display in Sticker preview fixed for Retina displays. 2016-09-25 22:52:11 +03:00
John Preston
52731a737a Fixed Settings avatar display after restart-to-settings. 2016-09-25 22:30:47 +03:00
John Preston
3d8dadc2e7 Fixed reading issue in channels after getChannelDifference().
In App::history() readInboxBefore property was reset each time.
2016-09-25 22:04:02 +03:00
John Preston
042c9fc23d Using plain mutex for Clip readers access serialize, not read-write.
This is an attempt to fix some strange crash reports in write-access
to a mutable QAtomicInt through a const_iterator in ReaderPointers.
2016-09-25 21:05:47 +03:00
John Preston
38114d3297 Merge branch 'master' into player 2016-09-23 22:22:40 +03:00
John Preston
947963d5d1 Version 0.10.8: editing of service message added. 2016-09-23 21:26:53 +03:00
John Preston
efbf67a8ff Merge branch 'master' of https://bitbucket.org/johnprestonmail/telegram-desktop 2016-09-23 19:42:55 +03:00
John Preston
3e4088b413 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2016-09-23 19:42:03 +03:00
John Preston
0479b214da Version 0.10.8: fixed Linux and old Xcode builds.
No conversion to bool in ?: operator with Flags::explicit operator bool().
Qt 5.3 QStringList::mid() returns QList<QString> with no join() method.
2016-09-23 19:40:25 +03:00
John Preston
3d9e0030c5 Version 0.10.8. 2016-09-23 19:20:04 +03:00
John Preston
780fe61ff2 Merge branch 'games' of https://bitbucket.org/johnprestonmail/telegram-desktop into games 2016-09-23 19:07:02 +03:00
John Preston
f970ac3163 New audio player done (without playlist). 2016-09-23 19:04:26 +03:00
John Preston
a8f3582cb1 Title controls reordering done right. Title song play button created. 2016-09-21 14:44:20 +03:00
John Preston
47eead17b1 Version 0.10.7 Mac App Store build ready. 2016-09-20 18:14:00 +03:00
John Preston
5c20ae0411 Merge branch 'games' into player 2016-09-20 18:12:55 +03:00
John Preston
c563280b76 Merge branch 'master' into games 2016-09-20 18:12:49 +03:00
John Preston
c4a4e99f6b Version 0.10.7: fixed entities moving when replacing emoji. 2016-09-20 17:02:50 +03:00
John Preston
75c12dda31 Version 0.10.7: fix of settings saving, fix of OpenSSL in Linux build. 2016-09-20 16:29:34 +03:00
John Preston
2ea4c87d78 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2016-09-20 16:24:51 +03:00
John Preston
1da2a7c10c Fixed Linux build (double OpenSSL init with libgost). #2427 2016-09-20 16:21:57 +03:00
John Preston
f7999bc993 Languages updated. Build in Xcode fixed. 2016-09-20 16:03:42 +03:00
John Preston
227aa36627 Trending sticker sets install improved, masks sets install disallowed.
Also rpcDone() and rpcFail() now accept lambdas.
2016-09-19 13:18:21 +03:00
John Preston
ce1973fd30 New media player layout started. 2016-09-17 22:28:33 +03:00
John Preston
50fa8b63c9 Software animated play/pause title button ready, icons for it removed. 2016-09-16 15:49:36 +03:00
John Preston
37b5329af3 Merge branch 'games' into player 2016-09-16 13:44:00 +03:00
John Preston
6d2fc5c642 Game bot confirmations added. 2016-09-15 22:15:49 +03:00
John Preston
578cf4ed61 Merge branch 'master' into games 2016-09-15 21:56:57 +03:00
John Preston
298bd2a476 New player icons and sources created. 2016-09-15 19:32:49 +03:00
John Preston
c00456e12e Fixed build for OS X 10.6 and 10.7 on Qt 5.3 and libstdc++. 2016-09-15 14:08:45 +03:00
John Preston
708bf688ea Xcode 8 supported. Fixed quit by Cmd+Q in case of macOS fullscreen window. 2016-09-15 13:50:43 +03:00
John Preston
96202f775c Fixed settings reset in case of tiled background. 2016-09-15 13:26:31 +03:00
John Preston
26ca5fafbb Scheme updated. Dialogs list layout bug fixed. 2016-09-15 12:44:02 +03:00
John Preston
3423bd69dc Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2016-09-14 19:08:27 +03:00
John Preston
a7b692e8ed PR #1954 improvements.
Inverted the direction of move-by-wheel, so that scrolling down will
move you forward through the photos or documents overview.

Added an accumulation of the scroll amount so that you don't zoom or
skip photos each time a (possibly very frequent) wheel event fires.
2016-09-14 19:05:40 +03:00
John Preston
e623d05e37 Merge branch 'EXL-wheel_mouse_zooming' 2016-09-14 19:05:27 +03:00
John Preston
cb798ab3c5 Merge pull request #2326 from IMAN4K/patch-1
Update building-msvc.md
2016-09-14 18:36:20 +03:00
John Preston
f83610778a Merge branch 'wheel_mouse_zooming' of https://github.com/EXL/tdesktop into EXL-wheel_mouse_zooming 2016-09-14 18:34:27 +03:00
John Preston
8660ab555b Stable 0.10.6 for Linux: dynamic xcb link, cmake dependencies fixed. 2016-09-13 17:07:30 +03:00
John Preston
ffe75444d1 Stable 0.10.6 (only for OS X): fixing Updater erasing. 2016-09-12 18:48:01 +03:00
John Preston
86982da5f7 Merge branch 'master' into games
Conflicts:
	Telegram/Telegram.pro
2016-09-12 16:35:17 +03:00
John Preston
a62a47098e Version 0.10.5: new settings. First stable version on GYP. 2016-09-12 15:02:52 +03:00
John Preston
1629793ace Merge remote-tracking branch 'origin/dev' 2016-09-12 14:51:47 +03:00
John Preston
273637f9ac Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-09-12 14:51:24 +03:00
John Preston
e90468f67b Languages updated. 2016-09-12 14:51:00 +03:00
John Preston
a41912cdf3 Moved all builds to GYP. 2016-09-12 14:45:41 +03:00
John Preston
07e2eb4c57 Deploy script for Linux ready for GYP build. 2016-09-12 13:17:20 +03:00
John Preston
f517494c91 Closed beta 0.10.4.1: testing linux GYP build. 2016-09-11 12:35:23 +03:00
John Preston
c7e8b153bb Enabled sending stickers from the sticker set preview box. 2016-09-11 11:38:14 +03:00
John Preston
8419a56e10 Emoji display added to sticker preview. Reading featured sticker sets.
Reading featured sticker sets one by one while scrolling through them,
only when the row was fully visible and the image was already loaded.
2016-09-10 23:54:59 +03:00
John Preston
ff657347b8 Featured stickers section done in StickersPanel.
EmojiPan moved to a separate module stickers/emoji_pan.
FFmpeg linked by msvs linker flags in GYP to use ".a" extension.
2016-09-09 18:52:46 +03:00
John Preston
b5640fdb0a GYP build for Linux done: GYP -> CMake -> make. Testing. 2016-09-09 09:15:11 +03:00
John Preston
58933df54b Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-09-07 14:14:45 +03:00
John Preston
96a0e1c237 Resending requests even if received FLOOD_WAIT_N, N >= 60.
This will fix the infinite large files downloading, because sometimes
server replies with FLOOD_WAIT_N with N > 300, up to 900.
2016-09-07 14:14:24 +03:00
John Preston
82d92d21f6 ShareBox used to share game score using tg:// link. Scheme updated. 2016-09-07 12:04:57 +03:00
John Preston
34331f558f ShareBox: keyboard handle, animated scroll, chosen items jump to top. 2016-09-06 17:45:10 +03:00
John Preston
52a7ed77ba First version of ShareBox done, cute animations.
Temporarily ShareBox is opened instead of ContactsBox, for testing.
2016-09-06 15:28:37 +03:00
John Preston
589b7310c1 Improved service messages about game scores: some links added. 2016-09-03 17:27:22 -04:00
John Preston
326d22565d Merge branch 'dev' into games 2016-09-03 16:35:29 -04:00
John Preston
2f206bf6bc Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-09-03 12:45:08 -04:00
John Preston
d8444cb5d0 Build scripts made ready for OS X old version. 2016-09-03 12:44:45 -04:00
John Preston
ab18fc6478 0.10.4: Same chat msg links fixed. Crash fix attempt in ScrollArea.
If the message link is opened in the same chat the ShowWay::Forward
should be ignored.

There was a possible crash in ~ScrollArea() when one of the bars
was already destroyed and the second called ScrollArea::leaveEvent.
Now both bars are ChildWidget<>s and will be destroyed in ~QWidget().
2016-09-03 12:35:12 -04:00
John Preston
610d42fd8d Merge branch 'dev' into games 2016-09-03 11:51:29 -04:00
John Preston
3d3fc33253 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-09-03 10:19:15 -04:00
John Preston
b772e42ca1 Fixed crash in RevokePublicLinkBox. 2016-09-03 10:18:46 -04:00
John Preston
9bd30ba09f Alpha version 0.10.3: fixed the build for old OS X versions and Qt 5.3.2 2016-09-02 13:01:33 -04:00
John Preston
1a4986058d Fixed warning for non-MAS Xcode version. 2016-09-02 12:57:44 -04:00
John Preston
73b81ac1f4 Alpha version 0.10.3: new settings design, first OS X version by GYP. 2016-09-02 12:28:18 -04:00
John Preston
160895f6e3 Support for game keyboard buttons and score service messages added. 2016-09-02 12:11:23 -04:00
John Preston
07dffb948d Closed beta 10002002: testin OS X build by GYP. 2016-09-02 01:27:54 -04:00
John Preston
58f0dbe2a4 Merge branch 'dev' of https://bitbucket.org/johnprestonmail/telegram-desktop into dev 2016-09-02 00:10:58 -04:00
John Preston
167adc652b Merge branch 'dev' of https://bitbucket.org/johnprestonmail/telegram-desktop into dev 2016-09-02 00:04:04 -04:00
John Preston
659551e439 Fixed sprite generation for 125% and 150% interface scales. 2016-09-02 00:03:36 -04:00
John Preston
263448bfb2 Fixed back button when opening channels. Fixed profile buttons layout. 2016-09-01 21:38:06 -04:00
John Preston
d864a8d8eb Fixed crash in Observers (removing an observer inside notify call). 2016-09-01 21:12:04 -04:00
John Preston
be02ef563c Fixed crash in tray icon toggle in new Settings in macOS / Linux. 2016-08-31 16:06:52 -04:00
John Preston
c5f4655b9e Merge branch 'gyp_xcode' into dev 2016-08-31 16:06:12 -04:00
John Preston
89cbf3a55a Build scripts updated for Xcode projects from GYP, MacStore build tested. 2016-08-31 11:58:46 -06:00
John Preston
dfcebcf9e2 Version for Mac App Store build from GYP ready, not tested yet.
Still need to merge code changes from macstore branch.
2016-08-31 08:32:05 -06:00
John Preston
50616cc267 Version for OS X 10.6-10.7 build from GYP is ready, not tested yet. 2016-08-29 23:24:16 -06:00
John Preston
b821978a36 Added Xcode projects to .gitignore, added some Xcode settings to GYP. 2016-08-29 21:36:25 -06:00
John Preston
d703746875 Telegram for macOS build from GYP ready, Xcode projects removed. 2016-08-29 20:27:02 -06:00
John Preston
03b37b85e5 Added one forgotten header file to the Xcode project. 2016-08-28 20:01:10 -06:00
John Preston
f8e1063541 New settings build ready in QtCreator. Closed beta 10002001. 2016-08-28 19:55:15 -05:00
John Preston
605a45c8ba New settings build ready in Xcode. 2016-08-28 14:23:32 -06:00
John Preston
2aab8bbae8 Removed old SettingsWidget from code, deleted old settings module. 2016-08-28 13:51:02 -06:00
John Preston
f50cd2892a First attempt to build OS X version using GYP/Ninja.
Utils and codegen builds are ready, bundle is not prepared yet.
2016-08-28 13:36:51 -06:00
John Preston
b520cf0f78 First version of the new Settings page is finished.
Added LocalStorageBox for watching info and clearing local storage.
Local passcode and cloud password state display and editing done.
Temporary download location clearing link added.
Crash fixed in local storage clear + app close, now waiting for the
clearing thread to quit. Some design improvements and testing.
2016-08-28 13:16:23 -06:00
John Preston
afab21372b Auto update and codes ("loadlang" etc) supported in the new Settings. 2016-08-27 11:52:05 -06:00
John Preston
fdab386178 Most of the new Settings are done.
Left: auto update, privacy and security, local storage box +
some minor things, like design fixes, codes like loadlang and
clearing of the local storage (box) and temp download folder.
2016-08-26 22:49:18 -06:00
John Preston
993b91ac15 Most of the new Settings sections filled with widgets.
Some animations added: new scale slider, widget_slide_wrap<TWidget>.
Any TWidget now can resizeToWidth() with overriden resizeGetHeight().
2016-08-22 19:31:42 +02:00
John Preston
b9e22f59a1 New settings section widgets added. Settings cover section is ready. 2016-08-19 19:26:31 +02:00
John Preston
ea955635ac New way for subscribe/notify async about any events.
Two classes base::Observable<Event> and base::Subscriber were added.
base::Observable<Event> can notify about Event-s, while any
base::Subscriber can subscribe and then async receive them.
2016-08-18 21:27:43 +02:00
John Preston
90678d411f Started a special LayerWidget: Settings::Widget.
Also added some missing calls to parent event handlers in boxes.
2016-08-18 12:52:36 +03:00
EXL
43a40c3b9a Add zooming in media viewer on Ctrl + mouse wheel
Mouse wheel without Ctrl key is used for switch to the prev/next image;
Clicking on mouse wheel is used to reset zoom;
To switch images are taken only a physical mouse wheel events.

Signed-off-by: Serg Koles <exlmotodev@gmail.com> (github: EXL)
2016-08-18 11:36:36 +03:00
John Preston
4a6e669a53 Merge branch 'dev' into settings
Conflicts:
	Telegram/SourceFiles/boxes/addcontactbox.h
	Telegram/SourceFiles/boxes/confirmbox.h
2016-08-16 20:19:57 +03:00
John Preston
362b942a22 Merge branch 'same_peer_flag' into dev + fix style codegen rule desc.
Conflicts:
	Telegram/Telegram.vcxproj
	Telegram/Telegram.vcxproj.filters
2016-08-16 20:12:55 +03:00
John Preston
392984f276 New way of working with boxes (layers).
Now the background of boxes is separated to another widget.
This will allow to use a special layer widget (like settings)
together with the usual layers-boxes upon it, moving the special
widget behind the dark background when a usual layer-box is shown.
2016-08-16 19:53:10 +03:00
John Preston
05697374c5 Crash fix for inline results clearing. Crash fix for GIF starting. 2016-08-15 10:39:12 +03:00
John Preston
247b77c784 Alpha version 0.10.2: returned uxtheme.dll loading for Windows XP. 2016-08-15 01:53:47 +03:00
John Preston
ac7064963d Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-08-14 23:50:10 +03:00
Christoph
0877b7858e Remove now ignored *.vcxproj* files 2016-08-14 22:46:09 +02:00
John Preston
43a065bdc4 Fixed build dependencies in Telegram/MetaLang/codegen Xcode projects. 2016-08-14 23:40:35 +03:00
John Preston
dc6a3ba907 Alpha version 0.10.2: first GYP/Ninja build, some bug and crash fixes.
Counting round radius dynamically to work fine with all font sizes.
Added GYP and Ninja to Third-party section. Fix of build script.
2016-08-14 23:38:11 +03:00
John Preston
79eafbe71a Overview filling fix when you scroll the history down till the bottom. 2016-08-14 22:15:45 +03:00
John Preston
4cd7a7a695 Layout fix of attach dropdown, emoji pan and drag areas with pin bar. 2016-08-14 22:06:28 +03:00
John Preston
c1c3e4af5b Stop reading audio input packets if AVERROR_INVALIDDATA is received.
There are some audio files that cause swr_convert to crash otherwise.
2016-08-14 21:57:23 +03:00
John Preston
50b10ba0bf Dll hijacking fixes: Windows version check + SetDllDirectory(""). 2016-08-14 21:55:59 +03:00
John Preston
994576375e Merge branch 'gyp' into dev 2016-08-14 21:42:52 +03:00
John Preston
4def7f2a18 Build docs updated, .sln files added to .gitignore. 2016-08-14 21:41:31 +03:00
John Preston
42ebe60f0b GYP/Ninja Windows build: complete, build scripts updated.
Telegram.sln deleted, in the future .sln will be in .gitignore.
2016-08-14 21:08:55 +03:00
John Preston
a4c98e74ce GYP/Ninja Windows build: codegen done, WinXP done, Release done.
MetaLang, codegen_style and codegen_numbers utilities are now
built by GYP targets, rules added for codegen_style and actions
added for codegen_numbers and MetaLang.

WinXP supported without Windows 7.1A SDK, but with explicitly
setting MinimumRequiredVersion=5.01. It works (and that is strange).

If you attempt to use MSBuild instead of Ninja you should add
the latest Windows SDK include paths to include_dirs, because v140_xp
toolset implies the Windows 7.1A SDK (and is ignored by Ninja).
2016-08-13 20:43:21 +03:00
John Preston
2321f38550 Added same_peer flag support for keyboard switch inline button. 2016-08-12 19:28:10 +03:00
John Preston
f4d5960953 Improved design of the bot command autocomplete. 2016-08-12 19:24:59 +03:00
John Preston
b0fdddfcf4 New RevokePublicLinkBox done. Added base::lambda_wrap<>. Layer 55.
When there are too many public channels / megagroups and you try to
create one more Telegram offers you to revoke one of the existing
public links so you will be able to create a new public community.
2016-08-12 18:22:11 +03:00
John Preston
62cab0750b First attempt to build Telegram on Windows using GYP+Ninja.
It already builds in Debug, using rules for Qt MOC and RCC.
Need to start use rules for styles/langs/numbers, test on WinXP.
Need to support Release and Deploy configurations.
2016-08-10 22:36:00 +03:00
Christoph
f5d8ebf2ca Merge pull request #2341 from mezga0153/master
Fixed FFmpeg version in Xcode build instructions
2016-08-09 20:33:32 +02:00
Tine Mezgec
b6d054bb1c Fixed FFmpeg version in Xcode build instructions
Signed-off-by: Tine Mezgec <tine.mezgec@gmail.com> (github: mezga0153)
2016-08-09 19:09:09 +02:00
Iman
71cfc83c1d Update building-msvc.md 2016-08-07 13:39:27 +04:30
Iman
10f3d2049a Update building-msvc.md
Signed-off-by: Iman <iman72411@yahoo.com> (github: IMAN4K)
2016-08-07 13:06:14 +04:30
John Preston
67a3f33aa7 Version 0.10.1: fix for deep linking start/startgroup in bot links. 2016-08-05 20:31:19 +01:00
John Preston
a25f55ba68 Merge branch 'master' of https://github.com/telegramdesktop/tdesktop 2016-08-05 18:02:56 +01:00
John Preston
140522c196 Stable version 0.10.1: various bugfixes.
Minimal height of the message text fixed to prevent bubble collapsing.
FileDialog filter is (*) instead of (*.*) for Linux and macOS.
Explicitly setting text color in Settings user name painting.
2016-08-05 18:01:00 +01:00
John Preston
2aadcc2300 Merge pull request #2304 from telegramdesktop/auchri-patch-1-1
Fix syntax error
2016-08-04 19:41:19 +01:00
Christoph
5132335500 Fix syntax error
How did this even build?

Errors introduced by e320be9626

Signed-off-by: Christoph <auer.chrisi@gmx.net>
2016-08-04 20:39:26 +02:00
John Preston
7cd3bc0c26 Using custom build of dump_syms in build script. 2016-08-04 19:33:38 +01:00
John Preston
0d7af044e9 Merge branch 'dev' 2016-08-04 18:29:05 +01:00
John Preston
e87c1b6024 Open links from bot buttons with regular UrlClickHandler.
Fix render glitch in dialogs widget after search.
2016-08-03 19:18:23 +01:00
John Preston
80adba61d4 Merge branch 'dev_private' into dev 2016-08-03 13:35:08 +01:00
John Preston
4dded3d09c Stable version 0.10: video player graphics updated. 2016-08-03 13:32:44 +01:00
John Preston
12bcc88839 Stable version 0.10: langs updated, video player design improvements. 2016-08-03 12:02:53 +01:00
Jan Delius
5e2527fc14 Fix typo
Fix typo in readme

Signed-off-by: Jan Delius <Smove@users.noreply.github.com> (github: Smove)
2016-08-02 17:22:44 +02:00
John Preston
f7860fc895 InnoSetup updated to version 5.9 and added pt_BR language. 2016-08-01 10:20:46 +01:00
John Preston
d155967149 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev_private 2016-07-31 11:01:37 +01:00
John Preston
c34181ef3e Edit messages to yourself for any amount of time.
Active inline keyboard button rendering rounding radius fixed.
2016-07-31 10:29:15 +01:00
John Preston
d31701e906 Fixed client side waveform counter infinite loop.
Backported Qt 5.6.1 crash fix in cocoa integration to Qt patch.
2016-07-30 11:03:44 +01:00
John Preston
0291888c01 A couple of rare crashes fixed. 2016-07-29 17:33:49 +01:00
John Preston
a4dbe6f096 ConfirmPhoneBox added to Xcode and QtCreator projects.
"Frequently used" done with two lang keys (for emoji/stickers).
"Featured Stickers" -> "Trending Stickers", langs updated.
2016-07-29 11:29:15 +01:00
John Preston
4b98cac6da Merge branch 'dev_private' of https://bitbucket.org/johnprestonmail/telegram-desktop into dev_private 2016-07-29 11:06:35 +01:00
John Preston
bcd3f6ef3d Fixed phone confirm: sending correct hash (from auth.sentCode). 2016-07-29 11:05:00 +01:00
John Preston
5df54371b5 ConfirmPhoneBox support added.
Limiting StartUrl to 8k symbols to prevent share url text overflow.
Better working with many cases of regular expression switch.
2016-07-28 20:01:08 +03:00
John Preston
d9cc70e72b Prepared 9061001 closed beta to build in Xcode and QtCreator. 2016-07-27 21:36:45 +03:00
John Preston
c0ea6ce346 Langs updated for 9061001 private beta version. 2016-07-27 21:24:32 +03:00
John Preston
c8b89620f5 Private beta version 9061001 2016-07-27 21:22:15 +03:00
John Preston
f813b8a74b Merge branch 'dev' into dev_private 2016-07-27 21:13:49 +03:00
John Preston
4b9b9e2e13 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-07-27 16:50:29 +03:00
John Preston
0228941fdb Using /usr/local libssl, libcrypto and libz when linking the build.
The previous version crashed in gtk file picker on Gentoo with KDE.
See #2278
2016-07-27 16:48:52 +03:00
John Preston
088e282764 Merge branch 'dev' of https://github.com/telegramdesktop/tdesktop into dev 2016-07-26 19:11:54 +03:00
John Preston
0721b80555 Moved Enter key press handle from HistoryInner to HistoryWidget. 2016-07-26 19:11:33 +03:00
John Preston
832163c1b7 Displaying time in chat list for all timestamps in the last 20 hours.
Fixed possible crash in MediaView video player seek after clip error.
Fixed possible crash in native event filter on Windows.
Removed unused lng_stickers_add key.
2016-07-26 15:09:40 +03:00
John Preston
b0a8787eaf Linking libav-drm statically. 2016-07-26 12:22:27 +03:00
John Preston
82a0ac28ad Handling new 2fa reset account error codes.
Archived stickers description text layout fixed in 100% scale.
2016-07-26 12:17:44 +03:00
John Preston
dbdf28d0a0 Version bumped to 0.9.61 stable.
Merge branch 'archived_stickers' into cancel_reset.

Conflicts:
	Telegram/Resources/winrc/Telegram.rc
	Telegram/Resources/winrc/Updater.rc
	Telegram/SourceFiles/app.cpp
	Telegram/SourceFiles/core/version.h
	Telegram/SourceFiles/localstorage.cpp
	Telegram/Telegram.vcxproj.filters
	Telegram/Telegram.xcodeproj/project.pbxproj
	Telegram/build/version
2016-07-25 22:54:40 +03:00
John Preston
75ff3c3d28 Alpha version 0.9.60: some bugfixes in video clip reader.
No more error box when click on record button (empty file send attempt).
2016-07-24 11:53:09 +03:00
John Preston
4cc9f1f3b4 Crashfix on space/return press in MediaView when viewing a photo. 2016-07-24 10:21:52 +03:00
John Preston
5b7a17e044 0.9.59 alpha version: crash on logout fixed. 2016-07-23 09:39:46 +03:00
John Preston
26723fb820 Alpha version 0.9.58: embedded video player. 2016-07-22 19:22:25 +03:00
John Preston
02e54dd8ba Scheme updated with covered stickers, not used yet. 2016-07-22 19:04:38 +03:00
John Preston
27cf45e1a9 Moved to ffmpeg 3.1 release code. 2016-07-22 18:01:24 +03:00
John Preston
cd986d6f5d Fixed archived stickers loading. 2016-07-22 14:59:35 +03:00
John Preston
90b06db479 Merge branch 'video' of https://bitbucket.org/johnprestonmail/telegram-desktop into video 2016-07-21 20:38:11 +03:00
John Preston
9fe714189d updateNewMessage now can request getDifference(), if data is absent.
Video sync and frame duration count improved.
Seek in not 44100 and not 48000 hz audio streams fixed.
2016-07-21 20:35:55 +03:00
John Preston
faad13d07e Showing archived stickers button, archived stickers box with loading. 2016-07-21 16:57:31 +03:00
John Preston
81850b78c7 Writing installed, featured, recent and archived stickers separately. 2016-07-21 13:09:47 +03:00
John Preston
e320be9626 Fixed build for QtCreator and Ubuntu. 2016-07-19 21:09:34 +03:00
John Preston
fa708ada3b Closed beta 9057001 for testing MediaView video player. 2016-07-19 20:01:40 +03:00
John Preston
92f15a9ad3 Fixed clang false warning on deprecated field of AVPacket. 2016-07-19 19:02:39 +03:00
John Preston
49f6431fca Video play in MediaView support done in Xcode/QtCreator projects. 2016-07-19 15:31:48 +03:00
John Preston
5369e08a6e Merge branch 'master' into dev 2016-07-19 14:42:10 +03:00
John Preston
1753db3e62 Megagroup members are always shown if the server allows us to view them.
Bot keyboard clearing fixed when using Clear History.
2016-07-19 14:37:01 +03:00
John Preston
207981b8c4 Sync video to audio stream fixed. Cute video download inside MediaView.
Small round radius in webpage photo / doc nested attachments.
2016-07-19 13:54:43 +03:00
John Preston
b35c99cb0c When installing sticker set some sets can be archived.
We show a box with them and describing what happend.
Limit of the recent stickers count is taken from config now.
2016-07-18 18:39:10 +03:00
John Preston
12523f4c0c Checking self-computed crc32 magics with the ones from tl scheme. 2016-07-17 21:21:57 +03:00
John Preston
1222f914ed Fixed time label positioning after the text has changed. 2016-07-16 09:54:02 +03:00
John Preston
95c050081c Cloud recent sticker sets supported. 2016-07-15 18:58:52 +03:00
John Preston
0ca83501e8 Merge pull request #2248 from telegramdesktop/auchri/travis_ubuntu
Improve travis build process
2016-07-15 18:40:28 +03:00
Christoph
b669bc2b9c Improve travis build process
Signed-off-by: Christoph <auer.chrisi@gmx.net>
2016-07-14 21:41:50 +02:00
John Preston
bf4acc4e52 Fixed reading stickers from old versioned local storage.
Handling error when installing sticker set from featured.
2016-07-14 14:59:55 +03:00
John Preston
505e5a69a6 Video playing in MediaView seek fixed, fullscreen mode improved.
Shortcut commands now return bool, so you know if it was executed.
2016-07-14 14:20:46 +03:00
John Preston
cb0c99acc8 Seek done in video player in MediaView. Some memory leaks fixed.
Using pixmapFromImageInPlace() instead of QPixmap::fromImage().
2016-07-13 20:34:57 +03:00
John Preston
fc716af002 Pause/resume supported in the video player in MediaView.
Autoplay video in MediaView only from showDocument(), otherwise pause.
2016-07-13 14:24:31 +03:00
John Preston
647759f0d1 Enable video files overview in MediaView. Video restart supported. 2016-07-12 21:04:34 +03:00
John Preston
8da39356dc Divided song volume and video volume, video volume control implemented. 2016-07-12 17:11:59 +03:00
John Preston
034657dd2c Video play progress displayed in MediaView (in case no audio stream). 2016-07-12 15:28:07 +03:00
John Preston
01d448c1bd Video play progress displayed in MediaView (in case of audio stream). 2016-07-12 14:38:16 +03:00
John Preston
d9657e96e3 Merge pull request #2242 from gavv/master
Replace hard-coded paths with pkg-config
2016-07-12 00:33:11 +03:00
John Preston
d806d079a2 Merge branch 'master' into video
Conflicts:
	Telegram/SourceFiles/mainwidget.cpp
	Telegram/SourceFiles/ui/animation.cpp
	Telegram/Telegram.pro
2016-07-11 21:12:10 +03:00
John Preston
356b48bcca Started video player UI in MediaView. 2016-07-11 21:05:46 +03:00
Victor Gaydov
12f604623e Replace hard-coded paths with pkg-config
Signed-off-by: Victor Gaydov <victor@enise.org> (github: gavv)
2016-07-11 03:32:13 +03:00
John Preston
41cd427834 Sync video frame delay / skip by audio play progress. 2016-07-10 22:44:55 +03:00
John Preston
1fee0822fb Moved AudioPlayerState+position+duration+frequency to a single struct. 2016-07-10 16:02:22 +03:00
John Preston
640f9d7389 Active and pressed buttons state in featured stickers box. 2016-07-08 20:24:48 +03:00
John Preston
66e2fce8d5 New design of a chat invite link import box with title, photo, users. 2016-07-08 19:59:46 +03:00
John Preston
cd36d367ed Version raised to 0.9.58. Version field of documents supported. 2016-07-08 16:56:53 +03:00
John Preston
2aa35af909 Merge branch 'master' into dev
Conflicts:
	Telegram/SourceFiles/history/history.style
2016-07-08 13:26:28 +03:00
John Preston
5c474aee27 Improved service messages layout. 2016-07-08 13:06:41 +03:00
John Preston
99b15719cf Stopping video sound when closing mediaview (destroying Clip::Reader).
Fixed launching video with sound while song is playing.
2016-07-05 20:44:22 +03:00
John Preston
616d08255c Moved audio to media/media_audio and divided to several modules.
Basic video playback with sound support in mediaview added.
2016-07-05 20:44:02 +03:00
John Preston
98fe307cbf Packet queue instead of single packet is used in ffmpeg clip reader. 2016-07-05 20:43:30 +03:00
John Preston
b61cc150db Merge branch 'master' into video
Conflicts:
	Telegram/SourceFiles/mainwidget.cpp
	Telegram/SourceFiles/structs.cpp
2016-07-05 20:42:47 +03:00
John Preston
8ea47c1811 Opened histories stack finished, stack of states in vector_of_moveable. 2016-07-05 17:48:36 +03:00
John Preston
7ca5737bc0 Removed SongMsgId, unified working with voice/music files in audio. 2016-06-30 15:03:32 +03:00
John Preston
cd696ade4e Featured stickers fully supported (unread badges, box, adding, etc). 2016-06-28 21:05:38 +03:00
John Preston
991c6ddd99 Saving featured stickers for new 0.9.57 version in local storage. 2016-06-27 19:25:21 +03:00
John Preston
d64892584d ClipReader was moved to a separate namespace and different files. 2016-06-24 13:37:29 +03:00
1158 changed files with 158829 additions and 120933 deletions

79
.appveyor/install.bat Normal file
View File

@@ -0,0 +1,79 @@
@echo off
SET BUILD_DIR=C:\TBuild
set LIB_DIR=%BUILD_DIR%\Libraries
set SRC_DIR=%BUILD_DIR%\tdesktop
SET QT_VERSION=5_6_2
cd %BUILD_DIR%
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86
call:configureBuild
call:getDependencies
call:setupGYP
cd %SRC_DIR%
echo Finished!
GOTO:EOF
:: FUNCTIONS
:logInfo
echo [INFO] %~1
GOTO:EOF
:getDependencies
call:logInfo "Clone dependencies repository"
git clone -q --branch=master https://github.com/telegramdesktop/dependencies_windows.git %LIB_DIR%
cd %LIB_DIR%
call prepare.bat
GOTO:EOF
:setupGYP
call:logInfo "Setup GYP/Ninja and generate VS solution"
cd %LIB_DIR%
git clone https://chromium.googlesource.com/external/gyp
SET PATH=%PATH%;C:\TBuild\Libraries\gyp;C:\TBuild\Libraries\ninja;
cd %SRC_DIR%
git submodule init
git submodule update
cd %SRC_DIR%\Telegram
call gyp\refresh.bat
GOTO:EOF
:configureBuild
call:logInfo "Configuring build"
call:logInfo "Build version: %BUILD_VERSION%"
set TDESKTOP_BUILD_DEFINES=
echo %BUILD_VERSION% | findstr /C:"disable_autoupdate">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_AUTOUPDATE
)
echo %BUILD_VERSION% | findstr /C:"disable_register_custom_scheme">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME
)
echo %BUILD_VERSION% | findstr /C:"disable_crash_reports">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_CRASH_REPORTS
)
echo %BUILD_VERSION% | findstr /C:"disable_network_proxy">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_NETWORK_PROXY
)
echo %BUILD_VERSION% | findstr /C:"disable_desktop_file_generation">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION
)
echo %BUILD_VERSION% | findstr /C:"disable_unity_integration">nul && (
set TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES%,TDESKTOP_DISABLE_UNITY_INTEGRATION
)
if not "%TDESKTOP_BUILD_DEFINES%" == "" (
set "TDESKTOP_BUILD_DEFINES=%TDESKTOP_BUILD_DEFINES:~1%"
)
call:logInfo "Build Defines: %TDESKTOP_BUILD_DEFINES%"
GOTO:EOF

6
.gitattributes vendored Normal file
View File

@@ -0,0 +1,6 @@
# Set the default behavior, in case people don't have core.autocrlf set.
* text=auto
# Ensure diffs have LF endings
*.diff text eol=lf
*.bat text eol=crlf

View File

@@ -118,7 +118,7 @@ If you already have multiple commits, you can add the commits together (squash t
1. Open `Git Bash` (or `Git Shell`)
2. Enter following command to squash the recent {N} commits: `git reset --soft HEAD~{N} && git commit` (replace `{N}` with the number of commits you want to squash)
3. Press <kbd>i</kbd> to get into Insert-mode
4. Enter the commit message of the new commit (and add the [signature](#sign-your-work) at the and)
4. Enter the commit message of the new commit (and add the [signature](#sign-your-work) at the end)
5. After adding the message, press <kbd>ESC</kbd> to get out of the Insert-mode
6. Write `:wq` and press <kbd>Enter</kbd> to save the new message or write `:q!` to discard your changes
7. Enter `git push --force` to push the new commit to the remote repository
@@ -144,9 +144,13 @@ Before you submit a pull request, please test your changes. Verify that Telegram
### Write a good commit message
Explain why you make the changes. [More infos about a good commit message.][commit_message]
Maybe reference also the related issue in your commit message.
Don't forget to [sign your patch](#sign-your-work) to put it in the public domain.
* Explain why you make the changes. [More infos about a good commit message.][commit_message]
* If you fix an issue with your commit, please close the issue by [adding one of the keywords and the issue number][closing-issues-via-commit-messages] to your commit message.
For example: `Fix #545`
* Don't forget to [sign your patch](#sign-your-work) to put it in the public domain!
[//]: # (LINKS)
[telegram]: https://telegram.org/
@@ -154,4 +158,5 @@ Don't forget to [sign your patch](#sign-your-work) to put it in the public domai
[help_change_commit_message]: https://help.github.com/articles/changing-a-commit-message/
[commit_message]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
[pr]: https://github.com/telegramdesktop/tdesktop/compare
[build_instructions]: https://github.com/telegramdesktop/tdesktop/blob/master/README.md#build-instructions
[build_instructions]: https://github.com/telegramdesktop/tdesktop/blob/master/README.md#build-instructions
[closing-issues-via-commit-messages]: https://help.github.com/articles/closing-issues-via-commit-messages/

View File

@@ -19,8 +19,11 @@ Tell us what happens instead
**Version of Telegram Desktop:**
### Logs
**Used theme**:
<details><summary>**Logs**:</summary>
Insert logs here (if necessary)
You can type `debugmode` in settings and then see ~/.TelegramDesktop/DebugLogs/log_...txt for log files.
Type `debugmode` in settings again to disable logs.
<!-- You can type `debugmode` in settings and then see ~/.TelegramDesktop/DebugLogs/log_...txt for log files.
Type `debugmode` in settings again to disable logs. -->
</details>

8
.gitignore vendored
View File

@@ -1,3 +1,7 @@
/out/
/Debug/
/Release/
/Deploy/
/Telegram/build/target
/Telegram/GeneratedFiles/
/Telegram/SourceFiles/art/grid.png
@@ -13,13 +17,15 @@
/Telegram/Resources/art/sprite_125x.png
/Telegram/Resources/art/sprite_150x.png
/Telegram/*.user
*.vcxproj.user
*.vcxproj*
*.sln
*.suo
*.sdf
*.opensdf
*.opendb
*.VC.db
*.aps
*.xcodeproj
/Win32/
ipch/

6
.gitmodules vendored Normal file
View File

@@ -0,0 +1,6 @@
[submodule "third_party/GSL"]
path = third_party/GSL
url = https://github.com/Microsoft/GSL.git
[submodule "third_party/variant"]
path = third_party/variant
url = https://github.com/mapbox/variant

View File

@@ -1,11 +1,16 @@
sudo: required
dist: trusty
language: cpp
cache:
directories:
- $HOME/travisCacheDir
env:
global:
# GitHub auth token (GH_AUTH_TOKEN)
- secure: "QBbD9VXAx3Mn0vFmHZtm6/sq+twMyR7ilQh7TQm8gBy2TrjhHKDKQ4wRQ5sa2MUFUbzrUOvPlPGq1WuY1mAUt8UE6jZDJNyyDWb6iIlcEmNRsd39XAhYHvJ+uI9JsD+U3OctZ+7Bo4fno0RLv1D5lzh5bpohmjgWxx9TiSZItbsRU+m0XM0Tahx335aXF8NFoVjheGXCOcLAXDt6OmaKPmlrXreuta5nOoRKeOg5vHlt/KNU1pYb8MFvWJc14DKxq3jNqrYlo9vHFv5tVhR1aqvVFWTD/4Z88OSxx3POzyVWdMso0lFov9uxs8qHoqLsGhDMElggyz/jnqZIHpwQMaYIGQ0LLYDv21jGgOuCOWKYlfjDY+tuESXmVPzerTlYBWLZDPrpE8BnXVYo8B/sF4WN6oCuBRjawlqYhqTH+tDDORc9Uc9pamhcuh6OsLMx3PHoyg8joN3t8yUnwhySXyfQ36hqlZ+Y4bBDRZBH/SB/EPmedyLGwdhzQFsUnOBotYeOym7LUdnGraGcj1iTPLdo5TMlBYlAiB12J5mHTNuzUKXh+PBV4REg4Mm2xYX+Pue5Qo1JcOWJteIX4BdPv526DXB3yaNWS1pZgGvYqtBwQlCeOfwOYupS0PksvmV7aX7c4qJSyW3dmEd03cxmebD0b2SbqyPxGFuUajJ7B60="
# GitHub auth token (GH_AUTH_TOKEN)
- secure: "QBbD9VXAx3Mn0vFmHZtm6/sq+twMyR7ilQh7TQm8gBy2TrjhHKDKQ4wRQ5sa2MUFUbzrUOvPlPGq1WuY1mAUt8UE6jZDJNyyDWb6iIlcEmNRsd39XAhYHvJ+uI9JsD+U3OctZ+7Bo4fno0RLv1D5lzh5bpohmjgWxx9TiSZItbsRU+m0XM0Tahx335aXF8NFoVjheGXCOcLAXDt6OmaKPmlrXreuta5nOoRKeOg5vHlt/KNU1pYb8MFvWJc14DKxq3jNqrYlo9vHFv5tVhR1aqvVFWTD/4Z88OSxx3POzyVWdMso0lFov9uxs8qHoqLsGhDMElggyz/jnqZIHpwQMaYIGQ0LLYDv21jGgOuCOWKYlfjDY+tuESXmVPzerTlYBWLZDPrpE8BnXVYo8B/sF4WN6oCuBRjawlqYhqTH+tDDORc9Uc9pamhcuh6OsLMx3PHoyg8joN3t8yUnwhySXyfQ36hqlZ+Y4bBDRZBH/SB/EPmedyLGwdhzQFsUnOBotYeOym7LUdnGraGcj1iTPLdo5TMlBYlAiB12J5mHTNuzUKXh+PBV4REg4Mm2xYX+Pue5Qo1JcOWJteIX4BdPv526DXB3yaNWS1pZgGvYqtBwQlCeOfwOYupS0PksvmV7aX7c4qJSyW3dmEd03cxmebD0b2SbqyPxGFuUajJ7B60="
matrix:
- BUILD_VERSION=""
- BUILD_VERSION="disable_autoupdate"
@@ -18,42 +23,49 @@ env:
matrix:
fast_finish: true
arch:
repos:
- home_ItachiSan_archlinux_Arch_Extra=http://download.opensuse.org/repositories/home:/ItachiSan:/archlinux/Arch_Extra/$arch
packages:
- bzr
- wget
- qt5-base
- git
- patch
- home_ItachiSan_archlinux_Arch_Extra/dee # Use fixed dee version (See #2005)
- libunity
- libappindicator-gtk2
- ffmpeg
- icu
- jasper
- libexif
- libmng
- libwebp
- libxkbcommon-x11
- libinput
- libproxy
- mtdev
- openal
- libva
- desktop-file-utils
- gtk-update-icon-cache
script:
- libtool --finish /usr/lib
- .travis/build.sh
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- bison
- build-essential
- cmake
- devscripts
- dpatch
- equivs
- fakeroot
- g++-6
- gcc-6
- git
- gnome-common
- gobject-introspection
- gtk-doc-tools
- libappindicator-dev
- libasound2-dev
- libdbusmenu-glib-dev
- liblzma-dev
- libopus-dev
- libpulse-dev
- libssl-dev
- libunity-dev
- libva-dev
- libvdpau-dev
- libxcb-xkb-dev
- libxkbcommon-dev
- lintian
- quilt
- valac
- xutils-dev
- yasm
before_install:
- "export TRAVIS_COMMIT_MSG=\"$(git log --format=%B --no-merges -n 1)\""
- .travis/check.sh
- export CXX="g++-6" CC="gcc-6"
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 60 --slave /usr/bin/g++ g++ /usr/bin/g++-6
- sudo update-alternatives --config gcc
- g++ --version
script:
- .travis/arch.sh
- .travis/build.sh

View File

@@ -1,312 +0,0 @@
#!/bin/bash
# Copyright (C) 2016 Mikkel Oscar Lyderik Larsen
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Source: https://raw.githubusercontent.com/mikkeloscar/arch-travis/master/arch-travis.sh
# Script for setting up and running a travis-ci build in an up to date
# Arch Linux chroot
ARCH_TRAVIS_MIRROR=${ARCH_TRAVIS_MIRROR:-"https://lug.mtu.edu/archlinux"}
ARCH_TRAVIS_ARCH_ISO=${ARCH_TRAVIS_ARCH_ISO:-"$(date +%Y.%m).01"}
ARCH_TRAVIS_ARCH=${ARCH_TRAVIS_ARCH:-"x86_64"}
mirror_entry='Server = '$ARCH_TRAVIS_MIRROR'/\$repo/os/\$arch'
archive="archlinux-bootstrap-$ARCH_TRAVIS_ARCH_ISO-${ARCH_TRAVIS_ARCH}.tar.gz"
default_root="root.${ARCH_TRAVIS_ARCH}"
ARCH_TRAVIS_CHROOT=${ARCH_TRAVIS_CHROOT:-"$default_root"}
user="travis"
user_home="/home/$user"
user_build_dir=$(pwd)
uid=$UID
gid=$GID
if [ -n "$CC" ]; then
# store travis CC
TRAVIS_CC=$CC
# reset to gcc for building arch packages
CC=gcc
fi
# default packages
default_packages=("base-devel" "git")
# pacman.conf repository line
repo_line=70
# setup working Arch Linux chroot
setup_chroot() {
arch_msg "Setting up Arch chroot"
if [ ! -f $archive ]; then
# get root fs
curl --fail -O "$ARCH_TRAVIS_MIRROR/iso/$ARCH_TRAVIS_ARCH_ISO/$archive" 2>&1
local ret=$?
# if it fails, try arch iso form the previous month
if [ $ret -gt 0 ]; then
ARCH_TRAVIS_ARCH_ISO="$(date +%Y.%m -d "-1 month").01"
archive="archlinux-bootstrap-$ARCH_TRAVIS_ARCH_ISO-${ARCH_TRAVIS_ARCH}.tar.gz"
as_normal "curl -O $ARCH_TRAVIS_MIRROR/iso/$ARCH_TRAVIS_ARCH_ISO/$archive"
fi
fi
# extract root fs
as_root "tar xf $archive"
# remove archive if ARCH_TRAVIS_CLEAN_CHROOT is set
if [ -n "$ARCH_TRAVIS_CLEAN_CHROOT" ]; then
as_root "rm $archive"
fi
if [ "$ARCH_TRAVIS_CHROOT" != "$default_root" ]; then
as_root "mv $default_root $ARCH_TRAVIS_CHROOT"
fi
# don't care for signed packages
as_root "sed -i 's|SigLevel = Required DatabaseOptional|SigLevel = Never|' $ARCH_TRAVIS_CHROOT/etc/pacman.conf"
# enable multilib
as_root "sed -i 's|#\[multilib\]|\[multilib\]\nInclude = /etc/pacman.d/mirrorlist|' $ARCH_TRAVIS_CHROOT/etc/pacman.conf"
# add mirror
as_root "echo $mirror_entry >> $ARCH_TRAVIS_CHROOT/etc/pacman.d/mirrorlist"
# add nameserver to resolv.conf
as_root "echo nameserver 8.8.8.8 >> $ARCH_TRAVIS_CHROOT/etc/resolv.conf"
sudo mount $ARCH_TRAVIS_CHROOT $ARCH_TRAVIS_CHROOT --bind
sudo mount --bind /proc $ARCH_TRAVIS_CHROOT/proc
sudo mount --bind /sys $ARCH_TRAVIS_CHROOT/sys
sudo mount --bind /dev $ARCH_TRAVIS_CHROOT/dev
sudo mount --bind /dev/pts $ARCH_TRAVIS_CHROOT/dev/pts
sudo mount --bind /dev/shm $ARCH_TRAVIS_CHROOT/dev/shm
sudo mount --bind /run $ARCH_TRAVIS_CHROOT/run
# update packages
chroot_as_root "pacman -Syy"
chroot_as_root "pacman -Syu ${default_packages[*]} --noconfirm"
# use LANG=en_US.UTF-8 as expected in travis environments
as_root "sed -i 's|#en_US.UTF-8|en_US.UTF-8|' $ARCH_TRAVIS_CHROOT/etc/locale.gen"
chroot_as_root "locale-gen"
# setup non-root user
chroot_as_root "useradd -u $uid -m -s /bin/bash $user"
# disable password for sudo users
as_root "echo \"$user ALL=(ALL) NOPASSWD: ALL\" >> $ARCH_TRAVIS_CHROOT/etc/sudoers.d/$user"
# Add build dir
chroot_as_root "mkdir -p $user_build_dir && chown $user $user_build_dir"
# bind $TRAVIS_BUILD_DIR to chroot build dir
sudo mount --bind $TRAVIS_BUILD_DIR $ARCH_TRAVIS_CHROOT$user_build_dir
# add custom repos
add_repositories
# setup pacaur for AUR packages
setup_pacaur
}
# add custom repositories to pacman.conf
add_repositories() {
if [ ${#CONFIG_REPOS[@]} -gt 0 ]; then
for r in "${CONFIG_REPOS[@]}"; do
local splitarr=(${r//=/ })
((repo_line+=1))
as_root "sed -i '${repo_line}i[${splitarr[0]}]' $ARCH_TRAVIS_CHROOT/etc/pacman.conf"
((repo_line+=1))
as_root "sed -i '${repo_line}iServer = ${splitarr[1]}\n' $ARCH_TRAVIS_CHROOT/etc/pacman.conf"
((repo_line+=1))
done
# update repos
chroot_as_root "pacman -Syy"
fi
}
# a wrapper which can be used to eventually add fakeroot support.
sudo_wrapper() {
sudo "$@"
}
# run command as normal user
as_normal() {
local str="$@"
run /bin/bash -c "$str"
}
# run command as root
as_root() {
local str="$@"
run sudo_wrapper /bin/bash -c "$str"
}
# run command in chroot as root
chroot_as_root() {
local str="$@"
run sudo_wrapper setarch $ARCH_TRAVIS_ARCH chroot \
$ARCH_TRAVIS_CHROOT /bin/bash -c "$str"
}
# execute command in chroot as normal user
_chroot_as_normal() {
local str="$@"
sudo_wrapper setarch $ARCH_TRAVIS_ARCH chroot \
--userspec=$uid:$uid $ARCH_TRAVIS_CHROOT /bin/bash \
-c "export HOME=$user_home USER=$user TRAVIS_BUILD_DIR=$user_build_dir && cd $user_build_dir && $str"
}
# run command in chroot as normal user
chroot_as_normal() {
local str="$@"
run _chroot_as_normal "$str"
}
# run command
run() {
"$@"
local ret=$?
if [ $ret -gt 0 ]; then
takedown_chroot
exit $ret
fi
}
# run build script
run_build_script() {
local cmd="$@"
echo "$ $cmd"
_chroot_as_normal "$cmd"
local ret=$?
if [ $ret -gt 0 ]; then
takedown_chroot
exit $ret
fi
}
# setup pacaur
setup_pacaur() {
# Check if pacaur is available in the added repos
if _chroot_as_normal "pacman -Si pacaur &> /dev/null"; then
chroot_as_root "pacman -S --noconfirm pacaur"
else
local cowerarchive="cower.tar.gz"
local aururl="https://aur.archlinux.org/cgit/aur.git/snapshot/"
# install cower
as_normal "curl -O $aururl/$cowerarchive"
as_normal "tar xf $cowerarchive"
chroot_as_normal "cd cower && makepkg -is --skippgpcheck --noconfirm"
as_root "rm -r cower"
as_normal "rm $cowerarchive"
# install pacaur
chroot_as_normal "cower -dd pacaur"
chroot_as_normal "cd pacaur && makepkg -is --noconfirm"
chroot_as_normal "rm -rf pacaur"
fi
}
# install package through pacaur
_pacaur() {
local pacaur="pacaur -S $@ --noconfirm --noedit"
chroot_as_normal "$pacaur"
}
# takedown chroot
# unmounts anything mounted in the chroot setup
takedown_chroot() {
sudo umount $ARCH_TRAVIS_CHROOT/{run,dev/shm,dev/pts,dev,sys,proc}
sudo umount $ARCH_TRAVIS_CHROOT$user_build_dir
sudo umount $ARCH_TRAVIS_CHROOT
if [ -n "$ARCH_TRAVIS_CLEAN_CHROOT" ]; then
as_root "rm -rf $ARCH_TRAVIS_CHROOT"
fi
}
# read value from .travis.yml
travis_yml() {
ruby -ryaml -e 'puts ARGV[1..-1].inject(YAML.load(File.read(ARGV[0]))) {|acc, key| acc[key] }' .travis.yml $@
}
read_config() {
local old_ifs=$IFS
IFS=$'\n'
CONFIG_BUILD_SCRIPTS=($(travis_yml arch script))
CONFIG_PACKAGES=($(travis_yml arch packages))
CONFIG_REPOS=($(travis_yml arch repos))
IFS=$old_ifs
}
# run build scripts defined in .travis.yml
build_scripts() {
if [ ${#CONFIG_BUILD_SCRIPTS[@]} -gt 0 ]; then
for script in "${CONFIG_BUILD_SCRIPTS[@]}"; do
run_build_script $script
done
else
echo "No build scripts defined"
takedown_chroot
exit 1
fi
}
# install packages defined in .travis.yml
install_packages() {
for package in "${CONFIG_PACKAGES[@]}"; do
_pacaur $package
done
}
# install custom compiler if CC != gcc
install_c_compiler() {
if [ "$TRAVIS_CC" != "gcc" ]; then
_pacaur "$TRAVIS_CC"
fi
}
arch_msg() {
lightblue='\033[1;34m'
reset='\e[0m'
echo -e "${lightblue}$@${reset}"
}
# read .travis.yml
read_config
echo "travis_fold:start:arch_travis"
setup_chroot
install_packages
if [ -n "$CC" ]; then
install_c_compiler
# restore CC
CC=$TRAVIS_CC
fi
echo "travis_fold:end:arch_travis"
echo ""
arch_msg "Running travis build"
build_scripts
takedown_chroot
# vim:set ts=2 sw=2 et:

View File

@@ -1,170 +1,640 @@
#!/bin/bash
# Installs libs and compiles tdesktop
set -e
REPO="$PWD"
BUILD="$REPO/build"
UPSTREAM="$REPO/upstream"
EXTERNAL="$REPO/external"
CACHE="$HOME/travisCacheDir"
QT_VERSION=5.6.2
XKB_PATH="$BUILD/libxkbcommon"
XKB_CACHE_VERSION="2"
QT_PATH="$BUILD/qt"
QT_CACHE_VERSION="2"
QT_PATCH="$UPSTREAM/Telegram/Patches/qtbase_${QT_VERSION//\./_}.diff"
BREAKPAD_PATH="$BUILD/breakpad"
BREAKPAD_CACHE_VERSION="2"
GYP_PATH="$BUILD/gyp"
GYP_CACHE_VERSION="2"
GYP_PATCH="$UPSTREAM/Telegram/Patches/gyp.diff"
VA_PATH="$BUILD/libva"
VA_CACHE_VERSION="2"
VDPAU_PATH="$BUILD/libvdpau"
VDPAU_CACHE_VERSION="1"
FFMPEG_PATH="$BUILD/ffmpeg"
FFMPEG_CACHE_VERSION="2"
OPENAL_PATH="$BUILD/openal-soft"
OPENAL_CACHE_VERSION="2"
GYP_DEFINES=""
[[ ! $MAKE_ARGS ]] && MAKE_ARGS="--silent -j4"
run() {
info_msg "Build version: ${BUILD_VERSION}"
# Move files to subdir
cd ..
mv tdesktop tdesktop2
mkdir tdesktop
mv tdesktop2 "$UPSTREAM"
downloadLibs
prepare
build
check
}
mkdir "$BUILD"
downloadLibs() {
travis_fold_start "download_libs"
# Move telegram project to subfolder
mkdir tdesktop
mv -f Telegram tdesktop
# Download libraries
info_msg "QT-Version: ${_qtver}, SRC-Dir: ${srcdir}"
echo -e "Clone Qt\n"
git clone git://code.qt.io/qt/qt5.git qt${_qtver}
cd qt${_qtver}
git checkout $(echo ${_qtver} | sed -e "s/\..$//")
perl init-repository --module-subset=qtbase,qtimageformats
git checkout v${_qtver}
cd qtbase && git checkout v${_qtver} && cd ..
cd qtimageformats && git checkout v${_qtver} && cd ..
cd ..
echo -e "Clone Breakpad\n"
git clone https://chromium.googlesource.com/breakpad/breakpad breakpad
echo -e "Clone Linux Syscall Support\n"
git clone https://chromium.googlesource.com/linux-syscall-support breakpad-lss
echo -e "Lets view the folder content\n"
ls
travis_fold_end "download_libs"
}
prepare() {
travis_fold_start "prepare"
start_msg "Preparing the libraries..."
cd "$srcdir/tdesktop"
mkdir -p "$srcdir/Libraries"
ln -s "$srcdir/qt${_qtver}" "$srcdir/Libraries/qt${_qtver}"
cd "$srcdir/Libraries/qt${_qtver}/qtbase"
git apply "$srcdir/tdesktop/Telegram/Patches/qtbase_$(echo ${_qtver} | sed -e "s/\./_/g").diff"
if [ ! -h "$srcdir/Libraries/breakpad" ]; then
ln -s "$srcdir/breakpad" "$srcdir/Libraries/breakpad"
ln -s "$srcdir/breakpad-lss" "$srcdir/Libraries/breakpad/src/third_party/lss"
fi
sed -i 's/CUSTOM_API_ID//g' "$srcdir/tdesktop/Telegram/Telegram.pro"
sed -i 's,LIBS += /usr/local/lib/libxkbcommon.a,,g' "$srcdir/tdesktop/Telegram/Telegram.pro"
sed -i 's,LIBS += /usr/local/lib/libz.a,LIBS += -lz,g' "$srcdir/tdesktop/Telegram/Telegram.pro"
local options=""
if [[ $BUILD_VERSION == *"disable_autoupdate"* ]]; then
options+="\nDEFINES += TDESKTOP_DISABLE_AUTOUPDATE"
fi
if [[ $BUILD_VERSION == *"disable_register_custom_scheme"* ]]; then
options+="\nDEFINES += TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
fi
if [[ $BUILD_VERSION == *"disable_crash_reports"* ]]; then
options+="\nDEFINES += TDESKTOP_DISABLE_CRASH_REPORTS"
fi
if [[ $BUILD_VERSION == *"disable_network_proxy"* ]]; then
options+="\nDEFINES += TDESKTOP_DISABLE_NETWORK_PROXY"
fi
if [[ $BUILD_VERSION == *"disable_desktop_file_generation"* ]]; then
options+="\nDEFINES += TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION"
fi
if [[ $BUILD_VERSION == *"disable_unity_integration"* ]]; then
options+="\nDEFINES += TDESKTOP_DISABLE_UNITY_INTEGRATION"
fi
options+='\nINCLUDEPATH += "/usr/lib/glib-2.0/include"'
options+='\nINCLUDEPATH += "/usr/lib/gtk-2.0/include"'
options+='\nINCLUDEPATH += "/usr/include/opus"'
options+='\nLIBS += -lcrypto -lssl'
info_msg "Build options: ${options}"
echo -e "${options}" >> "$srcdir/tdesktop/Telegram/Telegram.pro"
success_msg "Prepare done! :)"
travis_fold_end "prepare"
build
check
}
build() {
start_msg "Building the projects..."
mkdir -p "$EXTERNAL"
info_msg "Build patched Qt"
# Build patched Qt
cd "$srcdir/Libraries/qt${_qtver}"
./configure -prefix "$srcdir/qt" -release -opensource -confirm-license -qt-zlib \
-qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -qt-pcre -qt-xcb \
-qt-xkbcommon-x11 -no-opengl -no-gtkstyle -static -nomake examples -nomake tests
make --silent -j4
make --silent -j4 install
# libxkbcommon
getXkbCommon
export PATH="$srcdir/qt/bin:$PATH"
# libva
getVa
info_msg "Build breakpad"
# Build breakpad
cd "$srcdir/Libraries/breakpad"
./configure
make --silent -j4
# libvdpau
getVdpau
info_msg "Build codegen_style"
# Build codegen_style
mkdir -p "$srcdir/tdesktop/Linux/obj/codegen_style/Debug"
cd "$srcdir/tdesktop/Linux/obj/codegen_style/Debug"
qmake QT_TDESKTOP_PATH=${srcdir}/qt QT_TDESKTOP_VERSION=${_qtver} CONFIG+=debug "../../../../Telegram/build/qmake/codegen_style/codegen_style.pro"
make --silent -j4
# ffmpeg
getFFmpeg
info_msg "Build codegen_numbers"
# Build codegen_numbers
mkdir -p "$srcdir/tdesktop/Linux/obj/codegen_numbers/Debug"
cd "$srcdir/tdesktop/Linux/obj/codegen_numbers/Debug"
qmake QT_TDESKTOP_PATH=${srcdir}/qt QT_TDESKTOP_VERSION=${_qtver} CONFIG+=debug "../../../../Telegram/build/qmake/codegen_numbers/codegen_numbers.pro"
make --silent -j4
# openal_soft
getOpenAL
info_msg "Build MetaLang"
# Build MetaLang
mkdir -p "$srcdir/tdesktop/Linux/DebugIntermediateLang"
cd "$srcdir/tdesktop/Linux/DebugIntermediateLang"
qmake QT_TDESKTOP_PATH=${srcdir}/qt QT_TDESKTOP_VERSION=${_qtver} CONFIG+=debug "../../Telegram/MetaLang.pro"
make --silent -j4
# Patched Qt
getCustomQt
info_msg "Build Telegram Desktop"
# Build Telegram Desktop
mkdir -p "$srcdir/tdesktop/Linux/DebugIntermediate"
cd "$srcdir/tdesktop/Linux/DebugIntermediate"
# Breakpad
getBreakpad
./../codegen/Debug/codegen_style "-I./../../Telegram/Resources" "-I./../../Telegram/SourceFiles" "-o./GeneratedFiles/styles" all_files.style --rebuild
./../codegen/Debug/codegen_numbers "-o./GeneratedFiles" "./../../Telegram/Resources/numbers.txt"
./../DebugLang/MetaLang -lang_in ./../../Telegram/Resources/langs/lang.strings -lang_out ./GeneratedFiles/lang_auto
qmake QT_TDESKTOP_PATH=${srcdir}/qt QT_TDESKTOP_VERSION=${_qtver} CONFIG+=debug "../../Telegram/Telegram.pro"
make -j4
# Patched GYP (supports cmake precompiled headers)
getGYP
# Guideline Support Library
getGSL
# Configure the build
if [[ $BUILD_VERSION == *"disable_autoupdate"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_AUTOUPDATE"
fi
if [[ $BUILD_VERSION == *"disable_register_custom_scheme"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_REGISTER_CUSTOM_SCHEME"
fi
if [[ $BUILD_VERSION == *"disable_crash_reports"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_CRASH_REPORTS"
fi
if [[ $BUILD_VERSION == *"disable_network_proxy"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_NETWORK_PROXY"
fi
if [[ $BUILD_VERSION == *"disable_desktop_file_generation"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_DESKTOP_FILE_GENERATION"
fi
if [[ $BUILD_VERSION == *"disable_unity_integration"* ]]; then
GYP_DEFINES+=",TDESKTOP_DISABLE_UNITY_INTEGRATION"
fi
info_msg "Build defines: ${GYP_DEFINES}"
buildTelegram
travisEndFold
}
getXkbCommon() {
travisStartFold "Getting xkbcommon"
local XKB_CACHE="$CACHE/libxkbcommon"
local XKB_CACHE_FILE="$XKB_CACHE/.cache.txt"
local XKB_CACHE_KEY="${XKB_CACHE_VERSION}"
local XKB_CACHE_OUTDATED="1"
if [ ! -d "$XKB_CACHE" ]; then
mkdir -p "$XKB_CACHE"
fi
ln -sf "$XKB_CACHE" "$XKB_PATH"
if [ -f "$XKB_CACHE_FILE" ]; then
local XKB_CACHE_KEY_FOUND=`tail -n 1 $XKB_CACHE_FILE`
if [ "$XKB_CACHE_KEY" == "$XKB_CACHE_KEY_FOUND" ]; then
XKB_CACHE_OUTDATED="0"
else
info_msg "Cache key '$XKB_CACHE_KEY_FOUND' does not match '$XKB_CACHE_KEY', rebuilding libxkbcommon"
fi
fi
if [ "$XKB_CACHE_OUTDATED" == "1" ]; then
buildXkbCommon
sudo echo $XKB_CACHE_KEY > "$XKB_CACHE_FILE"
else
info_msg "Using cached libxkbcommon"
fi
}
buildXkbCommon() {
info_msg "Downloading and building libxkbcommon"
if [ -d "$EXTERNAL/libxkbcommon" ]; then
rm -rf "$EXTERNAL/libxkbcommon"
fi
cd $XKB_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://github.com/xkbcommon/libxkbcommon.git
cd "$EXTERNAL/libxkbcommon"
./autogen.sh --prefix=$XKB_PATH
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getVa() {
travisStartFold "Getting libva"
local VA_CACHE="$CACHE/libva"
local VA_CACHE_FILE="$VA_CACHE/.cache.txt"
local VA_CACHE_KEY="${VA_CACHE_VERSION}"
local VA_CACHE_OUTDATED="1"
if [ ! -d "$VA_CACHE" ]; then
mkdir -p "$VA_CACHE"
fi
ln -sf "$VA_CACHE" "$VA_PATH"
if [ -f "$VA_CACHE_FILE" ]; then
local VA_CACHE_KEY_FOUND=`tail -n 1 $VA_CACHE_FILE`
if [ "$VA_CACHE_KEY" == "$VA_CACHE_KEY_FOUND" ]; then
VA_CACHE_OUTDATED="0"
else
info_msg "Cache key '$VA_CACHE_KEY_FOUND' does not match '$VA_CACHE_KEY', rebuilding libva"
fi
fi
if [ "$VA_CACHE_OUTDATED" == "1" ]; then
buildVa
sudo echo $VA_CACHE_KEY > "$VA_CACHE_FILE"
else
info_msg "Using cached libva"
fi
}
buildVa() {
info_msg "Downloading and building libva"
if [ -d "$EXTERNAL/libva" ]; then
rm -rf "$EXTERNAL/libva"
fi
cd $VA_PATH
rm -rf *
cd "$EXTERNAL"
git clone git://anongit.freedesktop.org/git/libva
cd "$EXTERNAL/libva"
./autogen.sh --prefix=$VA_PATH --enable-static
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getVdpau() {
travisStartFold "Getting libvdpau"
local VDPAU_CACHE="$CACHE/libvdpau"
local VDPAU_CACHE_FILE="$VDPAU_CACHE/.cache.txt"
local VDPAU_CACHE_KEY="${VDPAU_CACHE_VERSION}"
local VDPAU_CACHE_OUTDATED="1"
if [ ! -d "$VDPAU_CACHE" ]; then
mkdir -p "$VDPAU_CACHE"
fi
ln -sf "$VDPAU_CACHE" "$VDPAU_PATH"
if [ -f "$VDPAU_CACHE_FILE" ]; then
local VDPAU_CACHE_KEY_FOUND=`tail -n 1 $VDPAU_CACHE_FILE`
if [ "$VDPAU_CACHE_KEY" == "$VDPAU_CACHE_KEY_FOUND" ]; then
VDPAU_CACHE_OUTDATED="0"
else
info_msg "Cache key '$VDPAU_CACHE_KEY_FOUND' does not match '$VDPAU_CACHE_KEY', rebuilding libvdpau"
fi
fi
if [ "$VDPAU_CACHE_OUTDATED" == "1" ]; then
buildVdpau
sudo echo $VDPAU_CACHE_KEY > "$VDPAU_CACHE_FILE"
else
info_msg "Using cached libvdpau"
fi
}
buildVdpau() {
info_msg "Downloading and building libvdpau"
if [ -d "$EXTERNAL/libvdpau" ]; then
rm -rf "$EXTERNAL/libvdpau"
fi
cd $VDPAU_PATH
rm -rf *
cd "$EXTERNAL"
git clone git://anongit.freedesktop.org/vdpau/libvdpau
cd "$EXTERNAL/libvdpau"
./autogen.sh --prefix=$VDPAU_PATH --enable-static
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getFFmpeg() {
travisStartFold "Getting ffmpeg"
local FFMPEG_CACHE="$CACHE/ffmpeg"
local FFMPEG_CACHE_FILE="$FFMPEG_CACHE/.cache.txt"
local FFMPEG_CACHE_KEY="${FFMPEG_CACHE_VERSION}"
local FFMPEG_CACHE_OUTDATED="1"
if [ ! -d "$FFMPEG_CACHE" ]; then
mkdir -p "$FFMPEG_CACHE"
fi
ln -sf "$FFMPEG_CACHE" "$FFMPEG_PATH"
if [ -f "$FFMPEG_CACHE_FILE" ]; then
local FFMPEG_CACHE_KEY_FOUND=`tail -n 1 $FFMPEG_CACHE_FILE`
if [ "$FFMPEG_CACHE_KEY" == "$FFMPEG_CACHE_KEY_FOUND" ]; then
FFMPEG_CACHE_OUTDATED="0"
else
info_msg "Cache key '$FFMPEG_CACHE_KEY_FOUND' does not match '$FFMPEG_CACHE_KEY', rebuilding ffmpeg"
fi
fi
if [ "$FFMPEG_CACHE_OUTDATED" == "1" ]; then
buildFFmpeg
sudo echo $FFMPEG_CACHE_KEY > "$FFMPEG_CACHE_FILE"
else
info_msg "Using cached ffmpeg"
fi
}
buildFFmpeg() {
info_msg "Downloading and building ffmpeg"
if [ -d "$EXTERNAL/ffmpeg" ]; then
rm -rf "$EXTERNAL/ffmpeg"
fi
cd $FFMPEG_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://git.ffmpeg.org/ffmpeg.git
cd "$EXTERNAL/ffmpeg"
./configure \
--prefix=$FFMPEG_PATH \
--disable-debug \
--disable-programs \
--disable-doc \
--disable-everything \
--enable-gpl \
--enable-version3 \
--enable-libopus \
--enable-decoder=aac \
--enable-decoder=aac_latm \
--enable-decoder=aasc \
--enable-decoder=flac \
--enable-decoder=gif \
--enable-decoder=h264 \
--enable-decoder=h264_vdpau \
--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=mpeg4 \
--enable-decoder=mpeg4_vdpau \
--enable-decoder=msmpeg4v2 \
--enable-decoder=msmpeg4v3 \
--enable-decoder=opus \
--enable-decoder=vorbis \
--enable-decoder=wavpack \
--enable-decoder=wmalossless \
--enable-decoder=wmapro \
--enable-decoder=wmav1 \
--enable-decoder=wmav2 \
--enable-decoder=wmavoice \
--enable-encoder=libopus \
--enable-hwaccel=h264_vaapi \
--enable-hwaccel=h264_vdpau \
--enable-hwaccel=mpeg4_vaapi \
--enable-hwaccel=mpeg4_vdpau \
--enable-parser=aac \
--enable-parser=aac_latm \
--enable-parser=flac \
--enable-parser=h264 \
--enable-parser=mpeg4video \
--enable-parser=mpegaudio \
--enable-parser=opus \
--enable-parser=vorbis \
--enable-demuxer=aac \
--enable-demuxer=flac \
--enable-demuxer=gif \
--enable-demuxer=h264 \
--enable-demuxer=mov \
--enable-demuxer=mp3 \
--enable-demuxer=ogg \
--enable-demuxer=wav \
--enable-muxer=ogg \
--enable-muxer=opus
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getOpenAL() {
travisStartFold "Getting openal-soft"
local OPENAL_CACHE="$CACHE/openal-soft"
local OPENAL_CACHE_FILE="$OPENAL_CACHE/.cache.txt"
local OPENAL_CACHE_KEY="${OPENAL_CACHE_VERSION}"
local OPENAL_CACHE_OUTDATED="1"
if [ ! -d "$OPENAL_CACHE" ]; then
mkdir -p "$OPENAL_CACHE"
fi
ln -sf "$OPENAL_CACHE" "$OPENAL_PATH"
if [ -f "$OPENAL_CACHE_FILE" ]; then
local OPENAL_CACHE_KEY_FOUND=`tail -n 1 $OPENAL_CACHE_FILE`
if [ "$OPENAL_CACHE_KEY" == "$OPENAL_CACHE_KEY_FOUND" ]; then
OPENAL_CACHE_OUTDATED="0"
else
info_msg "Cache key '$OPENAL_CACHE_KEY_FOUND' does not match '$OPENAL_CACHE_KEY', rebuilding openal-soft"
fi
fi
if [ "$OPENAL_CACHE_OUTDATED" == "1" ]; then
buildOpenAL
sudo echo $OPENAL_CACHE_KEY > "$OPENAL_CACHE_FILE"
else
info_msg "Using cached openal-soft"
fi
}
buildOpenAL() {
info_msg "Downloading and building openal-soft"
if [ -d "$EXTERNAL/openal-soft" ]; then
rm -rf "$EXTERNAL/openal-soft"
fi
cd $OPENAL_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://github.com/kcat/openal-soft.git
cd "$EXTERNAL/openal-soft/build"
cmake \
-D CMAKE_INSTALL_PREFIX=$OPENAL_PATH \
-D CMAKE_BUILD_TYPE=Release \
-D LIBTYPE=STATIC \
..
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getBreakpad() {
travisStartFold "Getting breakpad"
local BREAKPAD_CACHE="$CACHE/breakpad"
local BREAKPAD_CACHE_FILE="$BREAKPAD_CACHE/.cache.txt"
local BREAKPAD_CACHE_KEY="${BREAKPAD_CACHE_VERSION}"
local BREAKPAD_CACHE_OUTDATED="1"
if [ ! -d "$BREAKPAD_CACHE" ]; then
mkdir -p "$BREAKPAD_CACHE"
fi
ln -sf "$BREAKPAD_CACHE" "$BREAKPAD_PATH"
if [ -f "$BREAKPAD_CACHE_FILE" ]; then
local BREAKPAD_CACHE_KEY_FOUND=`tail -n 1 $BREAKPAD_CACHE_FILE`
if [ "$BREAKPAD_CACHE_KEY" == "$BREAKPAD_CACHE_KEY_FOUND" ]; then
BREAKPAD_CACHE_OUTDATED="0"
else
info_msg "Cache key '$BREAKPAD_CACHE_KEY_FOUND' does not match '$BREAKPAD_CACHE_KEY', rebuilding breakpad"
fi
fi
if [ "$BREAKPAD_CACHE_OUTDATED" == "1" ]; then
buildBreakpad
sudo echo $BREAKPAD_CACHE_KEY > "$BREAKPAD_CACHE_FILE"
else
info_msg "Using cached breakpad"
fi
}
buildBreakpad() {
info_msg "Downloading and building breakpad"
if [ -d "$EXTERNAL/breakpad" ]; then
rm -rf "$EXTERNAL/breakpad"
fi
cd $BREAKPAD_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://chromium.googlesource.com/breakpad/breakpad
cd "$EXTERNAL/breakpad/src/third_party"
git clone https://chromium.googlesource.com/linux-syscall-support lss
cd "$EXTERNAL/breakpad"
./configure --prefix=$BREAKPAD_PATH
make $MAKE_ARGS
sudo make install
sudo ldconfig
}
getCustomQt() {
travisStartFold "Getting patched Qt"
local QT_CACHE="$CACHE/qtPatched"
local QT_CACHE_FILE="$QT_CACHE/.cache.txt"
local QT_PATCH_CHECKSUM=`sha1sum $QT_PATCH`
local QT_CACHE_KEY="${QT_VERSION}_${QT_CACHE_VERSION}_${QT_PATCH_CHECKSUM:0:32}"
local QT_CACHE_OUTDATED="1"
if [ ! -d "$QT_CACHE" ]; then
mkdir -p "$QT_CACHE"
fi
ln -sf "$QT_CACHE" "$QT_PATH"
if [ -f "$QT_CACHE_FILE" ]; then
local QT_CACHE_KEY_FOUND=`tail -n 1 $QT_CACHE_FILE`
if [ "$QT_CACHE_KEY" == "$QT_CACHE_KEY_FOUND" ]; then
QT_CACHE_OUTDATED="0"
else
info_msg "Cache key '$QT_CACHE_KEY_FOUND' does not match '$QT_CACHE_KEY', rebuilding patched Qt"
fi
fi
if [ "$QT_CACHE_OUTDATED" == "1" ]; then
buildCustomQt
sudo echo $QT_CACHE_KEY > "$QT_CACHE_FILE"
else
info_msg "Using cached patched Qt"
fi
export PATH="$QT_PATH/bin:$PATH"
}
buildCustomQt() {
info_msg "Downloading and building patched qt"
if [ -d "$EXTERNAL/qt${QT_VERSION}" ]; then
rm -rf "$EXTERNAL/qt${QT_VERSION}"
fi
cd $QT_PATH
rm -rf *
cd "$EXTERNAL"
git clone git://code.qt.io/qt/qt5.git qt${QT_VERSION}
cd "$EXTERNAL/qt${QT_VERSION}"
git checkout "$(echo ${QT_VERSION} | sed -e s/\..$//)"
perl init-repository --module-subset=qtbase,qtimageformats
git checkout v${QT_VERSION}
cd qtbase && git checkout v${QT_VERSION} && cd ..
cd qtimageformats && git checkout v${QT_VERSION} && cd ..
cd "$EXTERNAL/qt${QT_VERSION}/qtbase"
git apply "$QT_PATCH"
cd ..
./configure -prefix $QT_PATH -release -opensource -confirm-license -qt-zlib \
-qt-libpng -qt-libjpeg -qt-freetype -qt-harfbuzz -qt-pcre -qt-xcb \
-qt-xkbcommon-x11 -no-opengl -no-gtkstyle -static \
-nomake examples -nomake tests \
-dbus-runtime -no-gstreamer -no-mtdev # <- Not sure about these
make $MAKE_ARGS
sudo make install
}
getGSL() {
cd "$UPSTREAM"
git submodule init
git submodule update
}
getGYP() {
travisStartFold "Getting patched GYP"
local GYP_CACHE="$CACHE/gyp"
local GYP_CACHE_FILE="$GYP_CACHE/.cache.txt"
local GYP_PATCH_CHECKSUM=`sha1sum $GYP_PATCH`
local GYP_CACHE_KEY="${GYP_CACHE_VERSION}_${GYP_PATCH_CHECKSUM:0:32}"
local GYP_CACHE_OUTDATED="1"
if [ ! -d "$GYP_CACHE" ]; then
mkdir -p "$GYP_CACHE"
fi
ln -sf "$GYP_CACHE" "$GYP_PATH"
if [ -f "$GYP_CACHE_FILE" ]; then
local GYP_CACHE_KEY_FOUND=`tail -n 1 $GYP_CACHE_FILE`
if [ "$GYP_CACHE_KEY" == "$GYP_CACHE_KEY_FOUND" ]; then
GYP_CACHE_OUTDATED="0"
else
info_msg "Cache key '$GYP_CACHE_KEY_FOUND' does not match '$GYP_CACHE_KEY', rebuilding patched GYP"
fi
fi
if [ "$GYP_CACHE_OUTDATED" == "1" ]; then
buildGYP
sudo echo $GYP_CACHE_KEY > "$GYP_CACHE_FILE"
else
info_msg "Using cached patched GYP"
fi
}
buildGYP() {
info_msg "Downloading and building patched GYP"
if [ -d "$EXTERNAL/gyp" ]; then
rm -rf "$EXTERNAL/gyp"
fi
cd $GYP_PATH
rm -rf *
cd "$EXTERNAL"
git clone https://chromium.googlesource.com/external/gyp
cd "$EXTERNAL/gyp"
git checkout 702ac58e4772
git apply "$GYP_PATCH"
cp -r * "$GYP_PATH/"
}
buildTelegram() {
travisStartFold "Build tdesktop"
cd "$UPSTREAM/Telegram/gyp"
"$GYP_PATH/gyp" \
-Dbuild_defines=${GYP_DEFINES:1} \
-Dlinux_path_xkbcommon=$XKB_PATH \
-Dlinux_path_va=$VA_PATH \
-Dlinux_path_vdpau=$VDPAU_PATH \
-Dlinux_path_ffmpeg=$FFMPEG_PATH \
-Dlinux_path_openal=$OPENAL_PATH \
-Dlinux_path_qt=$QT_PATH \
-Dlinux_path_breakpad=$BREAKPAD_PATH \
-Dlinux_path_libexif_lib=/usr/local/lib \
-Dlinux_lib_ssl=-lssl \
-Dlinux_lib_crypto=-lcrypto \
-Dlinux_lib_icu=-licuuc\ -licutu\ -licui18n \
--depth=. --generator-output=../.. --format=cmake -Goutput_dir=out \
Telegram.gyp
cd "$UPSTREAM/out/Debug"
export ASM="gcc"
cmake .
make $MAKE_ARGS
}
check() {
local filePath="$srcdir/tdesktop/Linux/Debug/Telegram"
if test -f "$filePath"; then
success_msg "Build successful done! :)"
local filePath="$UPSTREAM/out/Debug/Telegram"
if test -f "$filePath"; then
success_msg "Build successful done! :)"
local size;
size=$(stat -c %s "$filePath")
success_msg "File size of ${filePath}: ${size} Bytes"
else
error_msg "Build error, output file does not exist"
exit 1
fi
local size;
size=$(stat -c %s "$filePath")
success_msg "File size of ${filePath}: ${size} Bytes"
else
error_msg "Build error, output file does not exist"
exit 1
fi
}
source ./.travis/common.sh

View File

@@ -1,3 +1,4 @@
#!/usr/bin/env bash
# set colors
RCol='\e[0m' # Text Reset
@@ -11,30 +12,55 @@ Pur='\e[0;35m'; BPur='\e[1;35m'; UPur='\e[4;35m'; IPur='\e[0;95m';
Cya='\e[0;36m'; BCya='\e[1;36m'; UCya='\e[4;36m'; ICya='\e[0;96m'; BICya='\e[1;96m'; On_Cya='\e[46m'; On_ICya='\e[0;106m';
Whi='\e[0;37m'; BWhi='\e[1;37m'; UWhi='\e[4;37m'; IWhi='\e[0;97m'; BIWhi='\e[1;97m'; On_Whi='\e[47m'; On_IWhi='\e[0;107m';
# Set variables
_qtver=5.6.0
srcdir=${PWD}
start_msg() {
echo -e "\n${Gre}$*${RCol}"
echo -e "\n${Gre}$*${RCol}"
}
info_msg() {
echo -e "\n${Cya}$*${RCol}"
sameLineInfoMessage "\n$1"
}
error_msg() {
echo -e "\n${BRed}$*${RCol}"
echo -e "\n${BRed}$*${RCol}"
}
success_msg() {
echo -e "\n${BGre}$*${RCol}"
echo -e "\n${BGre}$*${RCol}"
}
travis_fold_start() {
echo "travis_fold:start:$*"
sameLineInfoMessage() {
echo -e "${Cya}$*${RCol}"
}
travis_fold_end() {
echo "travis_fold:end:$*"
TRAVIS_LAST_FOLD=""
travisStartFold() {
local TITLE="$1"
local NAME=$(sanitizeName "$TITLE")
if [ "$TRAVIS_LAST_FOLD" != "" ]; then
travisEndFold
fi
echo "travis_fold:start:$NAME"
sameLineInfoMessage "$TITLE"
TRAVIS_LAST_FOLD="$NAME"
}
travisEndFold() {
if [ "$TRAVIS_LAST_FOLD" == "" ]; then
return
fi
echo "travis_fold:end:$TRAVIS_LAST_FOLD"
TRAVIS_LAST_FOLD=""
}
sanitizeName() {
local NAME="${1// /_}"
local NAME="${NAME,,}"
echo "$NAME"
}

View File

@@ -2,7 +2,9 @@
This is the complete source code and the build instructions for the alpha version of the official desktop client for the [Telegram][telegram] messenger, based on the [Telegram API][telegram_api] and the [MTProto][telegram_proto] secure protocol.
[![Build Status](https://travis-ci.org/telegramdesktop/tdesktop.svg?branch=master)](https://travis-ci.org/telegramdesktop/tdesktop)
[![Version](https://badge.fury.io/gh/telegramdesktop%2Ftdesktop.svg)](https://github.com/telegramdesktop/tdesktop/releases)
[![Build Status](https://travis-ci.org/telegramdesktop/tdesktop.svg?branch=dev)](https://travis-ci.org/telegramdesktop/tdesktop)
[![Build status](https://ci.appveyor.com/api/projects/status/uiw2y768iy4i5bu8/branch/dev?svg=true)](https://ci.appveyor.com/project/telegramdesktop/tdesktop)
The source code is published under GPLv3 with OpenSSL exception, the license is available [here][license].
@@ -12,11 +14,11 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* Mac OS X 10.8 - Mac OS X 10.11
* Mac OS X 10.6 - Mac OS X 10.7 (separate build)
* Ubuntu 12.04 - Ubuntu 16.04
* Fedora 22
* Fedora 22 - Fedora 24
## Third-party libraries
## Third-party
* Qt 5.3.2 and 5.6.0, slightly patched ([LGPL](http://doc.qt.io/qt-5/lgpl.html))
* Qt 5.3.2 and 5.6.2, slightly patched ([LGPL](http://doc.qt.io/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))
@@ -24,53 +26,20 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
* liblzma ([public domain](http://tukaani.org/xz/))
* Google Breakpad ([License](https://chromium.googlesource.com/breakpad/breakpad/+/master/LICENSE))
* Google Crashpad ([Apache License 2.0](https://chromium.googlesource.com/crashpad/crashpad/+/master/LICENSE))
* GYP ([BSD license](https://github.com/bnoordhuis/gyp/blob/master/LICENSE))
* Ninja ([Apache License 2.0](https://github.com/ninja-build/ninja/blob/master/COPYING))
* OpenAL Soft ([LGPL](http://kcat.strangesoft.net/openal.html))
* Opus codec ([BSD license](http://www.opus-codec.org/license/))
* FFmpeg ([LGPL](https://www.ffmpeg.org/legal.html))
* Guideline Support Library ([MIT License](https://github.com/Microsoft/GSL/blob/master/LICENSE))
* Mapbox Variant ([BSD license](https://github.com/mapbox/variant/blob/master/LICENSE))
* Open Sans font ([Apache License 2.0](http://www.apache.org/licenses/LICENSE-2.0.html))
## Build instructions
* [Visual Studio 2015][msvc]
* [Xcode 7][xcode]
* [Xcode 7 for OS X 10.6 and 10.7][xcode_old]
* [Qt Creator 3.5.1 Ubuntu][qtcreator]
* [Using qmake on GNU/Linux][qmake]
## Projects in Telegram solution
* ### Telegram
[Telegram Desktop][telegram_desktop] messenger
* ### Updater
A little app, that is launched by Telegram when update is ready, replaces all files and launches it back.
* ### Packer
Compiles given files to single update file, compresses it with lzma and signs with a private key. It is not built in **Debug** and **Release** configurations of Telegram solution, because private key is inaccessible.
* ### MetaEmoji
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
* ### codegen_style
* ### codegen_numbers
Helper code generating console utilities.
* ### MetaLang
Creates from languagepack file `Resources/lang.strings` language constants code and language file parse code:
* GeneratedFiles/lang.h
* GeneratedFiles/lang.cpp
* [Xcode 8][xcode]
* [GYP/CMake on GNU/Linux][cmake]
[//]: # (LINKS)
[telegram]: https://telegram.org
@@ -81,5 +50,4 @@ The source code is published under GPLv3 with OpenSSL exception, the license is
[msvc]: doc/building-msvc.md
[xcode]: doc/building-xcode.md
[xcode_old]: doc/building-xcode-old.md
[qtcreator]: doc/building-qtcreator.md
[qmake]: doc/building-qmake.md
[cmake]: doc/building-cmake.md

View File

@@ -1,106 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25123.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Telegram", "Telegram\Telegram.vcxproj", "{B12702AD-ABFB-343A-A199-8E24837244A3}"
ProjectSection(ProjectDependencies) = postProject
{E4DF8176-4DEF-4859-962F-B497E3E7A323} = {E4DF8176-4DEF-4859-962F-B497E3E7A323}
{E417CAA4-259B-4C99-88E3-805F1300E8EB} = {E417CAA4-259B-4C99-88E3-805F1300E8EB}
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6} = {7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MetaEmoji", "Telegram\MetaEmoji.vcxproj", "{EB7D16AC-EACF-4577-B05A-F28E5F356794}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Updater", "Telegram\Updater.vcxproj", "{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MetaLang", "Telegram\MetaLang.vcxproj", "{E417CAA4-259B-4C99-88E3-805F1300E8EB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "codegen", "codegen", "{2F863EAD-33C9-4014-A573-93F085BA9CB1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Packer", "Telegram\Packer.vcxproj", "{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "codegen_style", "Telegram\build\vc\codegen_style\codegen_style.vcxproj", "{E4DF8176-4DEF-4859-962F-B497E3E7A323}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "codegen_numbers", "Telegram\build\vc\codegen_numbers\codegen_numbers.vcxproj", "{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Deploy|Win32 = Deploy|Win32
Deploy|x64 = Deploy|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.ActiveCfg = Debug|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.Build.0 = Debug|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|Win32.Deploy.0 = Debug|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Debug|x64.ActiveCfg = Debug|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Deploy|Win32.ActiveCfg = Deploy|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Deploy|Win32.Build.0 = Deploy|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Deploy|x64.ActiveCfg = Release|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.ActiveCfg = Release|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|Win32.Build.0 = Release|Win32
{B12702AD-ABFB-343A-A199-8E24837244A3}.Release|x64.ActiveCfg = Release|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|Win32.ActiveCfg = Debug|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Debug|x64.ActiveCfg = Debug|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|Win32.ActiveCfg = Deploy|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Deploy|x64.ActiveCfg = Release|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|Win32.ActiveCfg = Release|Win32
{EB7D16AC-EACF-4577-B05A-F28E5F356794}.Release|x64.ActiveCfg = Release|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|Win32.ActiveCfg = Debug|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|Win32.Build.0 = Debug|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Debug|x64.ActiveCfg = Debug|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Deploy|Win32.ActiveCfg = Deploy|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Deploy|Win32.Build.0 = Deploy|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Deploy|x64.ActiveCfg = Release|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Release|Win32.ActiveCfg = Release|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Release|Win32.Build.0 = Release|Win32
{6B4BA3BE-7B15-4B4C-B200-81ABFDEF2C76}.Release|x64.ActiveCfg = Release|Win32
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Debug|Win32.ActiveCfg = Debug|Win32
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Debug|Win32.Build.0 = Debug|Win32
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Debug|x64.ActiveCfg = Debug|Win32
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Deploy|Win32.ActiveCfg = Deploy|Win32
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Deploy|Win32.Build.0 = Deploy|Win32
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Deploy|x64.ActiveCfg = Release|Win32
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Release|Win32.ActiveCfg = Release|Win32
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Release|Win32.Build.0 = Release|Win32
{E417CAA4-259B-4C99-88E3-805F1300E8EB}.Release|x64.ActiveCfg = Release|Win32
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Debug|Win32.ActiveCfg = Debug|Win32
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Debug|x64.ActiveCfg = Debug|Win32
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Deploy|Win32.ActiveCfg = Deploy|Win32
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Deploy|Win32.Build.0 = Deploy|Win32
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Deploy|x64.ActiveCfg = Release|Win32
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Release|Win32.ActiveCfg = Release|Win32
{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}.Release|x64.ActiveCfg = Release|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Debug|Win32.ActiveCfg = Debug|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Debug|Win32.Build.0 = Debug|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Debug|x64.ActiveCfg = Debug|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Deploy|Win32.ActiveCfg = Deploy|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Deploy|Win32.Build.0 = Deploy|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Deploy|x64.ActiveCfg = Release|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Deploy|x64.Build.0 = Release|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Release|Win32.ActiveCfg = Release|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Release|Win32.Build.0 = Release|Win32
{E4DF8176-4DEF-4859-962F-B497E3E7A323}.Release|x64.ActiveCfg = Release|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Debug|Win32.ActiveCfg = Debug|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Debug|Win32.Build.0 = Debug|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Debug|x64.ActiveCfg = Debug|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Deploy|Win32.ActiveCfg = Deploy|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Deploy|Win32.Build.0 = Deploy|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Deploy|x64.ActiveCfg = Release|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Deploy|x64.Build.0 = Release|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Release|Win32.ActiveCfg = Release|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Release|Win32.Build.0 = Release|Win32
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6}.Release|x64.ActiveCfg = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{E4DF8176-4DEF-4859-962F-B497E3E7A323} = {2F863EAD-33C9-4014-A573-93F085BA9CB1}
{7C25BFBD-7930-4DE2-AF33-27CE1CC521E6} = {2F863EAD-33C9-4014-A573-93F085BA9CB1}
EndGlobalSection
EndGlobal

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>MetaEmoji</string>
<key>CFBundleGetInfoString</key>
<string>MetaEmoji compiler</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>NOTE</key>
<string></string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>MetaLang</string>
<key>CFBundleGetInfoString</key>
<string>MetaLang compiler</string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View File

@@ -1,30 +0,0 @@
QT += core
CONFIG(debug, debug|release) {
DEFINES += _DEBUG
OBJECTS_DIR = ./../DebugIntermediateEmoji
MOC_DIR = ./GeneratedFiles/Debug
DESTDIR = ./../DebugEmoji
}
CONFIG(release, debug|release) {
OBJECTS_DIR = ./../ReleaseIntermediateEmoji
MOC_DIR = ./GeneratedFiles/Release
DESTDIR = ./../ReleaseEmoji
}
CONFIG += plugin static
macx {
QMAKE_INFO_PLIST = ./SourceFiles/_other/Emoji.plist
QMAKE_LFLAGS += -framework Cocoa
}
SOURCES += \
./SourceFiles/_other/memain.cpp \
./SourceFiles/_other/genemoji.cpp \
HEADERS += \
./SourceFiles/_other/memain.h \
./SourceFiles/_other/genemoji.h \
include(qt_static.pri)

View File

@@ -1,159 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Deploy|Win32">
<Configuration>Deploy</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="GeneratedFiles\Debug\moc_genemoji.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GeneratedFiles\Deploy\moc_genemoji.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GeneratedFiles\Release\moc_genemoji.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="SourceFiles\_other\genemoji.cpp" />
<ClCompile Include="SourceFiles\_other\memain.cpp" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="SourceFiles\_other\genemoji.h">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing genemoji.h...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing genemoji.h...</Message>
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing genemoji.h...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
</CustomBuild>
<ClInclude Include="SourceFiles\_other\memain.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{EB7D16AC-EACF-4577-B05A-F28E5F356794}</ProjectGuid>
<Keyword>Qt4VSv1.0</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>11.0.60610.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Emoji\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateEmoji\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Emoji\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateEmoji\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Emoji\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateEmoji\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<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;qtpcred.lib;qtfreetyped.lib;Qt5PlatformSupportd.lib;platforms\qwindowsd.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat />
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<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;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>
</DebugInformationFormat>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<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;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ProgramDatabaseFile>$(IntDir)$(TargetName).pdb</ProgramDatabaseFile>
<ProfileGuidedDatabase>$(IntDir)$(TargetName).pgd</ProfileGuidedDatabase>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties UicDir=".\GeneratedFiles" MocDir=".\GeneratedFiles\$(ConfigurationName)" MocOptions="" RccDir=".\GeneratedFiles" lupdateOnBuild="1" lupdateOptions="" lreleaseOptions="" Qt5Version_x0020_Win32="$(DefaultQtVersion)" />
</VisualStudio>
</ProjectExtensions>
</Project>

View File

@@ -1,65 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;cxx;c;def</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{D9D6E242-F8AF-46E4-B9FD-80ECBC20BA3E}</UniqueIdentifier>
<Extensions>qrc;*</Extensions>
<ParseFiles>false</ParseFiles>
</Filter>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>moc;h;cpp</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="Generated Files\Debug">
<UniqueIdentifier>{d43dc9f2-202b-4a47-b396-e7e2882cd611}</UniqueIdentifier>
<Extensions>cpp;moc</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="Generated Files\Release">
<UniqueIdentifier>{6a90eef7-d2c6-46bd-8158-a8c5185190a7}</UniqueIdentifier>
<Extensions>cpp;moc</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="Generated Files\Deploy">
<UniqueIdentifier>{c08e3091-0ca0-4fa2-8486-5c07c09c61b2}</UniqueIdentifier>
<Extensions>cpp;moc</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="SourceFiles\_other\memain.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="SourceFiles\_other\genemoji.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="GeneratedFiles\Deploy\moc_genemoji.cpp">
<Filter>Generated Files\Deploy</Filter>
</ClCompile>
<ClCompile Include="GeneratedFiles\Debug\moc_genemoji.cpp">
<Filter>Generated Files\Debug</Filter>
</ClCompile>
<ClCompile Include="GeneratedFiles\Release\moc_genemoji.cpp">
<Filter>Generated Files\Release</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="SourceFiles\_other\memain.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="SourceFiles\_other\genemoji.h">
<Filter>Header Files</Filter>
</CustomBuild>
</ItemGroup>
</Project>

View File

@@ -1,552 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXAggregateTarget section */
D93715D85BD26B270C3CC80B /* Preprocess */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "MetaEmoji" */;
buildPhases = (
7EF0942E79C014DCEC8976BC /* Qt Preprocessors */,
);
dependencies = (
);
name = Preprocess;
productName = "Qt Preprocess";
};
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 07D795491B5544B200DE9598 /* qtpcre */; };
0785004D1CCA847400168DBB /* libqtfreetype.a in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 0785004C1CCA847400168DBB /* libqtfreetype.a */; };
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 */; };
496FD9CEEB508016AFB9F928 /* qico in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8F500B5166907B6D9A7C3E3D /* qico */; };
668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9742F24EE18EA44D52824F1E /* CoreServices.framework */; };
7CA5405B8503BFFC60932D2B /* qicns in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 31120EDB269DFF13E1D49847 /* qicns */; };
7F76437B577F737145996DC3 /* qtga in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DCEFD9167C239650120B0145 /* qtga */; };
83425F7776C9E52C29BE0E6F /* memain.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 3AC2626B26B65AA88F06BFB5 /* memain.cpp */; settings = {ATTRIBUTES = (); }; };
8771A8C96E9C391044035D99 /* OpenGL.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D4B32C2222F82AC56BADEB21 /* OpenGL.framework */; };
8D267F2E4776F0ECA2F49DC8 /* IOKit.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = A1A67BEAA744704B29168D39 /* IOKit.framework */; };
8D33FE22B9BBADC7FA46C15B /* qtharfbuzzng in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D6193B79CECC9DD0142D1200 /* qtharfbuzzng */; };
9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 04391BE7A8B9D811E255100A /* Qt5Gui */; };
A3F8F2284013928A02AE5C38 /* qwbmp in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8CF51323544B886B8F4A2232 /* qwbmp */; };
A9563D9C9FD0D76FAAF1CA96 /* qdds in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D3D1BE0BEA3AEE0551AD39AC /* qdds */; };
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 5A80A1907B6CFFB524C1E57D /* Qt5Core */; };
BE6AB9DF1C4880624131C669 /* Qt5Widgets in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 4689C06178B60B84E7F3A3B7 /* Qt5Widgets */; };
C06DDE378A7AC1FA9E6FF69A /* qtiff in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = F2453BA07315EB9F34F1CD57 /* qtiff */; };
C4F1177BDAACCF1E50ACCED9 /* moc_genemoji.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 93E4BE1A02365B73BAF00B73 /* moc_genemoji.cpp */; settings = {ATTRIBUTES = (); }; };
C5357D951917482510CE3E54 /* genemoji.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 1F47C130E1F45B4A5A91DB5E /* genemoji.cpp */; settings = {ATTRIBUTES = (); }; };
D1FA8AF31837B51C762A9D4D /* qcocoa in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D53D8E6A188E05078A114294 /* qcocoa */; };
D22929A2B8C5281567FCACDC /* Qt5PlatformSupport in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */; };
E45E51A644D5FC9F942ECE55 /* AGL.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */; };
F26454630C80841CBDCFE1CA /* Foundation.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = FCC237CA5AD60B9BA4447615 /* Foundation.framework */; };
F4D3747C3A03B25EDC9057BB /* qwebp in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = ADC6308023253CEA51F86E21 /* qwebp */; };
F8B465CE34D8DF87AAE95913 /* CoreFoundation.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */; };
F8ED42CF8679BF83227DAFC4 /* Carbon.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9DFF62A901D70814B8A323D4 /* Carbon.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
0708466E1954218200B5AE3A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 6DB9C3763D02B1415CD9D565 /* Project object */;
proxyType = 1;
remoteGlobalIDString = D93715D85BD26B270C3CC80B;
remoteInfo = "Qt Preprocess";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "$(QT_PATH)/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
07D795491B5544B200DE9598 /* qtpcre */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtpcre; path = "$(QT_PATH)/lib/libqtpcre$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
0785004C1CCA847400168DBB /* libqtfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libqtfreetype.a; path = "$(QT_PATH)/lib/libqtfreetype$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
1F47C130E1F45B4A5A91DB5E /* genemoji.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = genemoji.cpp; path = SourceFiles/_other/genemoji.cpp; sourceTree = "<absolute>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "$(QT_PATH)/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
3AC2626B26B65AA88F06BFB5 /* memain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = memain.cpp; path = SourceFiles/_other/memain.cpp; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "$(QT_PATH)/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; 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 = "$(QT_PATH)/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "$(QT_PATH)/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "$(QT_PATH)/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>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "$(QT_PATH)/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
93E4BE1A02365B73BAF00B73 /* moc_genemoji.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_genemoji.cpp; path = GeneratedFiles/Debug/moc_genemoji.cpp; sourceTree = "<absolute>"; };
9742F24EE18EA44D52824F1E /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
9DFF62A901D70814B8A323D4 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
A1A67BEAA744704B29168D39 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "$(QT_PATH)/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
C3345709A0BD182590087379 /* MetaEmoji.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MetaEmoji.app; sourceTree = BUILT_PRODUCTS_DIR; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "$(QT_PATH)/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>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "$(QT_PATH)/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "$(QT_PATH)/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "$(QT_PATH)/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "$(QT_PATH)/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DFD7912080BC557230093752 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "$(QT_PATH)/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
E981470FA003A8DCE3C52E59 /* memain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = memain.h; path = SourceFiles/_other/memain.h; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "$(QT_PATH)/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "$(QT_PATH)/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
FCC237CA5AD60B9BA4447615 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
D1C883685E82D5676953459A /* Link Binary With Libraries */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1BB705CDB741E2B7450201A5 /* Cocoa.framework in Link Binary With Libraries */,
328FD74542F6E2C873EE4D4B /* ApplicationServices.framework in Link Binary With Libraries */,
668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */,
F8B465CE34D8DF87AAE95913 /* CoreFoundation.framework in Link Binary With Libraries */,
F26454630C80841CBDCFE1CA /* Foundation.framework in Link Binary With Libraries */,
8771A8C96E9C391044035D99 /* OpenGL.framework in Link Binary With Libraries */,
E45E51A644D5FC9F942ECE55 /* AGL.framework in Link Binary With Libraries */,
D1FA8AF31837B51C762A9D4D /* qcocoa in Link Binary With Libraries */,
F8ED42CF8679BF83227DAFC4 /* Carbon.framework in Link Binary With Libraries */,
8D267F2E4776F0ECA2F49DC8 /* IOKit.framework in Link Binary With Libraries */,
1A681B886F50EE30FBE62B4B /* Qt5PrintSupport in Link Binary With Libraries */,
D22929A2B8C5281567FCACDC /* Qt5PlatformSupport in Link Binary With Libraries */,
BE6AB9DF1C4880624131C669 /* Qt5Widgets in Link Binary With Libraries */,
A9563D9C9FD0D76FAAF1CA96 /* qdds in Link Binary With Libraries */,
7CA5405B8503BFFC60932D2B /* qicns in Link Binary With Libraries */,
496FD9CEEB508016AFB9F928 /* qico in Link Binary With Libraries */,
7F76437B577F737145996DC3 /* qtga in Link Binary With Libraries */,
C06DDE378A7AC1FA9E6FF69A /* qtiff in Link Binary With Libraries */,
A3F8F2284013928A02AE5C38 /* qwbmp in Link Binary With Libraries */,
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 */,
0785004D1CCA847400168DBB /* libqtfreetype.a in Link Binary With Libraries */,
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */,
);
name = "Link Binary With Libraries";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
25B08E2869634E9BCBA333A2 /* Generated Sources */ = {
isa = PBXGroup;
children = (
D0B536A85E53302E4F66CE23 /* GeneratedFiles */,
);
name = "Generated Sources";
sourceTree = "<Group>";
};
2EB56BE3C2D93CDAB0C52E67 /* Sources */ = {
isa = PBXGroup;
children = (
73F2E45FDEB381A085D37A49 /* SourceFiles */,
);
name = Sources;
sourceTree = "<Group>";
};
31562E815E3DF5B1A777D3EF /* _other */ = {
isa = PBXGroup;
children = (
3AC2626B26B65AA88F06BFB5 /* memain.cpp */,
1F47C130E1F45B4A5A91DB5E /* genemoji.cpp */,
E981470FA003A8DCE3C52E59 /* memain.h */,
58308B26DE991A86E8589883 /* genemoji.h */,
);
name = _other;
sourceTree = "<Group>";
};
73F2E45FDEB381A085D37A49 /* SourceFiles */ = {
isa = PBXGroup;
children = (
31562E815E3DF5B1A777D3EF /* _other */,
);
name = SourceFiles;
sourceTree = "<Group>";
};
801973D3334D0FCA849CF485 /* Debug */ = {
isa = PBXGroup;
children = (
93E4BE1A02365B73BAF00B73 /* moc_genemoji.cpp */,
);
name = Debug;
sourceTree = "<Group>";
};
AF39DD055C3EF8226FBE929D /* Frameworks */ = {
isa = PBXGroup;
children = (
07D795491B5544B200DE9598 /* qtpcre */,
0785004C1CCA847400168DBB /* libqtfreetype.a */,
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */,
DFD7912080BC557230093752 /* ApplicationServices.framework */,
9742F24EE18EA44D52824F1E /* CoreServices.framework */,
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */,
FCC237CA5AD60B9BA4447615 /* Foundation.framework */,
D4B32C2222F82AC56BADEB21 /* OpenGL.framework */,
8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */,
D53D8E6A188E05078A114294 /* qcocoa */,
9DFF62A901D70814B8A323D4 /* Carbon.framework */,
A1A67BEAA744704B29168D39 /* IOKit.framework */,
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */,
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */,
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */,
D3D1BE0BEA3AEE0551AD39AC /* qdds */,
31120EDB269DFF13E1D49847 /* qicns */,
8F500B5166907B6D9A7C3E3D /* qico */,
F0681BC551FC8A2B132FC646 /* qjp2 */,
83D37373949868693FB7816D /* qmng */,
DCEFD9167C239650120B0145 /* qtga */,
F2453BA07315EB9F34F1CD57 /* qtiff */,
8CF51323544B886B8F4A2232 /* qwbmp */,
ADC6308023253CEA51F86E21 /* qwebp */,
04391BE7A8B9D811E255100A /* Qt5Gui */,
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */,
5A80A1907B6CFFB524C1E57D /* Qt5Core */,
);
name = Frameworks;
sourceTree = "<Group>";
};
D0B536A85E53302E4F66CE23 /* GeneratedFiles */ = {
isa = PBXGroup;
children = (
801973D3334D0FCA849CF485 /* Debug */,
);
name = GeneratedFiles;
sourceTree = "<Group>";
};
E8C543AB96796ECAA2E65C57 /* MetaEmoji */ = {
isa = PBXGroup;
children = (
2EB56BE3C2D93CDAB0C52E67 /* Sources */,
25B08E2869634E9BCBA333A2 /* Generated Sources */,
AF39DD055C3EF8226FBE929D /* Frameworks */,
FE0A091FDBFB3E9C31B7A1BD /* Products */,
);
name = MetaEmoji;
sourceTree = "<Group>";
};
FE0A091FDBFB3E9C31B7A1BD /* Products */ = {
isa = PBXGroup;
children = (
C3345709A0BD182590087379 /* MetaEmoji.app */,
);
name = Products;
sourceTree = "<Group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
E4122523B1AB28431125160A /* MetaEmoji */ = {
isa = PBXNativeTarget;
buildConfigurationList = 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "MetaEmoji" */;
buildPhases = (
F7E50F631C51CD5B5DC0BC43 /* Compile Sources */,
D1C883685E82D5676953459A /* Link Binary With Libraries */,
);
buildRules = (
);
dependencies = (
8F9AEC020DB94B2A3918B1FE /* PBXTargetDependency */,
);
name = MetaEmoji;
productInstallPath = ../Mac/DebugEmoji/;
productName = MetaEmoji;
productReference = C3345709A0BD182590087379 /* MetaEmoji.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
6DB9C3763D02B1415CD9D565 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0700;
};
buildConfigurationList = DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "MetaEmoji" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
en,
);
mainGroup = E8C543AB96796ECAA2E65C57 /* MetaEmoji */;
productRefGroup = FE0A091FDBFB3E9C31B7A1BD /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
E4122523B1AB28431125160A /* MetaEmoji */,
D93715D85BD26B270C3CC80B /* Preprocess */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
7EF0942E79C014DCEC8976BC /* Qt Preprocessors */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
name = "Qt Preprocessors";
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "make -C . -f MetaEmoji.xcodeproj/qt_preprocess.mak";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
F7E50F631C51CD5B5DC0BC43 /* Compile Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
83425F7776C9E52C29BE0E6F /* memain.cpp in Compile Sources */,
C5357D951917482510CE3E54 /* genemoji.cpp in Compile Sources */,
C4F1177BDAACCF1E50ACCED9 /* moc_genemoji.cpp in Compile Sources */,
);
name = "Compile Sources";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
8F9AEC020DB94B2A3918B1FE /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = D93715D85BD26B270C3CC80B /* Preprocess */;
targetProxy = 0708466E1954218200B5AE3A /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
339EE1B2CC4FC24589A0EA95 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang;
CLANG_WARN_BOOL_CONVERSION = NO;
CLANG_WARN_CONSTANT_CONVERSION = NO;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = NO;
CLANG_WARN_INT_CONVERSION = NO;
CLANG_WARN_UNREACHABLE_CODE = NO;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)Emoji$(EFFECTIVE_PLATFORM_NAME)";
COPY_PHASE_STRIP = YES;
DYLIB_COMPATIBILITY_VERSION = 1.0;
DYLIB_CURRENT_VERSION = 1.0.0;
ENABLE_STRICT_OBJC_MSGSEND = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = NO;
GCC_WARN_UNUSED_VARIABLE = NO;
HEADER_SEARCH_PATHS = (
"$(QT_PATH)/include",
"$(QT_PATH)/include/QtGui",
"$(QT_PATH)/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,
"$(QT_PATH)/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/,
"$(QT_PATH)/lib",
"$(QT_PATH)/plugins/platforms",
"$(QT_PATH)/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/ReleaseIntermediateEmoji/;
OTHER_CFLAGS = (
"-pipe",
"-g",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_CPLUSPLUSFLAGS = (
"-pipe",
"-g",
"-std=c++11",
"-stdlib=libc++",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L$(QT_PATH)/lib",
"-L$(QT_PATH)/plugins/platforms",
"-lcups",
"-L$(QT_PATH)/plugins/imageformats",
"-lz",
"-lm",
);
PRODUCT_NAME = MetaEmoji;
QT_LIBRARY_SUFFIX = "";
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
SYMROOT = ./../Mac;
};
name = Release;
};
3AA6C32AC930069E80220CF1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang;
CLANG_WARN_BOOL_CONVERSION = NO;
CLANG_WARN_CONSTANT_CONVERSION = NO;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = NO;
CLANG_WARN_INT_CONVERSION = NO;
CLANG_WARN_UNREACHABLE_CODE = NO;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)Emoji$(EFFECTIVE_PLATFORM_NAME)";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DYLIB_COMPATIBILITY_VERSION = 1.0;
DYLIB_CURRENT_VERSION = 1.0.0;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
FRAMEWORK_SEARCH_PATHS = "";
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
GCC_WARN_64_TO_32_BIT_CONVERSION = NO;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = NO;
GCC_WARN_UNUSED_VARIABLE = NO;
HEADER_SEARCH_PATHS = (
"$(QT_PATH)/include",
"$(QT_PATH)/include/QtGui",
"$(QT_PATH)/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,
"$(QT_PATH)/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/,
"$(QT_PATH)/lib",
"$(QT_PATH)/plugins/platforms",
"$(QT_PATH)/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/DebugIntermediateEmoji/;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = (
"-pipe",
"-g",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_CPLUSPLUSFLAGS = (
"-pipe",
"-g",
"-std=c++11",
"-stdlib=libc++",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L$(QT_PATH)/lib",
"-L$(QT_PATH)/plugins/platforms",
"-lcups",
"-L$(QT_PATH)/plugins/imageformats",
"-lz",
"-lm",
);
PRODUCT_NAME = MetaEmoji;
QT_LIBRARY_SUFFIX = _debug;
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
SYMROOT = ./../Mac;
};
name = Debug;
};
6666AA5E688052234F6758D8 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
PRODUCT_BUNDLE_IDENTIFIER = "com.tdesktop.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = MetaEmoji;
QT_LIBRARY_SUFFIX = "";
SDKROOT = macosx;
};
name = Release;
};
77418F46922677BB04ED38DD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
PRODUCT_BUNDLE_IDENTIFIER = "com.tdesktop.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = MetaEmoji;
QT_LIBRARY_SUFFIX = _debug;
SDKROOT = macosx;
};
name = Debug;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "MetaEmoji" */ = {
isa = XCConfigurationList;
buildConfigurations = (
77418F46922677BB04ED38DD /* Debug */,
6666AA5E688052234F6758D8 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "MetaEmoji" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3AA6C32AC930069E80220CF1 /* Debug */,
339EE1B2CC4FC24589A0EA95 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 6DB9C3763D02B1415CD9D565 /* Project object */;
}

View File

@@ -1,66 +0,0 @@
#############################################################################
# Makefile for building: ../Mac/DebugEmoji/MetaEmoji.app/Contents/MacOS/MetaEmoji
# Initially generated by qmake
#############################################################################
MAKEFILE = project.pbxproj
QT_VER = 5.6.0
QT_DIR = /usr/local/tdesktop/Qt-$(QT_VER)
QT_MOC = $(QT_DIR)/bin/moc
LEX = flex
LEXFLAGS =
YACC = yacc
YACCFLAGS = -d
DEFINES = -D_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -D__APPLE__ -D__GNUC__=4
INCPATH = -I$(QT_DIR)/mkspecs/macx-clang\
-I$(QT_DIR)/include/QtGui/$(QT_VER)/QtGui\
-I$(QT_DIR)/include/QtCore/$(QT_VER)/QtCore\
-I$(QT_VER)/include\
-IGeneratedFiles/Debug\
-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/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\
-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\
-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
DEL_FILE = rm -f
MOVE = mv -f
MOC_FILE = $(QT_MOC) $(DEFINES) $(INCPATH)
IMAGES =
PARSERS =
preprocess: $(PARSERS) compilers
clean preprocess_clean: parser_clean compiler_clean
parser_clean:
mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
check: first
compilers: GeneratedFiles/Debug/moc_genemoji.cpp
compiler_objective_c_make_all:
compiler_objective_c_clean:
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_moc_header_make_all: GeneratedFiles/Debug/moc_genemoji.cpp
compiler_moc_header_clean:
-$(DEL_FILE) GeneratedFiles/Debug/moc_genemoji.cpp
GeneratedFiles/Debug/moc_genemoji.cpp: SourceFiles/_other/genemoji.h
$(MOC_FILE) SourceFiles/_other/genemoji.h -o GeneratedFiles/Debug/moc_genemoji.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_rez_source_make_all:
compiler_rez_source_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean

View File

@@ -1,30 +0,0 @@
QT += core
CONFIG(debug, debug|release) {
DEFINES += _DEBUG
OBJECTS_DIR = ./../DebugIntermediateLang
MOC_DIR = ./GeneratedFiles/Debug
DESTDIR = ./../DebugLang
}
CONFIG(release, debug|release) {
OBJECTS_DIR = ./../ReleaseIntermediateLang
MOC_DIR = ./GeneratedFiles/Release
DESTDIR = ./../ReleaseLang
}
CONFIG += plugin static c++14
macx {
QMAKE_INFO_PLIST = ./SourceFiles/_other/Lang.plist
QMAKE_LFLAGS += -framework Cocoa
}
SOURCES += \
./SourceFiles/_other/mlmain.cpp \
./SourceFiles/_other/genlang.cpp \
HEADERS += \
./SourceFiles/_other/mlmain.h \
./SourceFiles/_other/genlang.h \
include(qt_static.pri)

View File

@@ -1,155 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Deploy|Win32">
<Configuration>Deploy</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="GeneratedFiles\Debug\moc_genlang.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GeneratedFiles\Deploy\moc_genlang.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="GeneratedFiles\Release\moc_genlang.cpp">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
</ClCompile>
<ClCompile Include="SourceFiles\_other\genlang.cpp" />
<ClCompile Include="SourceFiles\_other\mlmain.cpp" />
</ItemGroup>
<ItemGroup>
<CustomBuild Include="SourceFiles\_other\genlang.h">
<Message Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Moc%27ing genlang.h...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
<Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Moc%27ing genlang.h...</Message>
<Message Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">Moc%27ing genlang.h...</Message>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Outputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">.\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp</Outputs>
<Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
<Command Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">"$(QTDIR)\bin\moc.exe" "%(FullPath)" -o ".\GeneratedFiles\$(ConfigurationName)\moc_%(Filename).cpp" -DUNICODE -DWIN32 -DWIN64 -DQT_NO_DEBUG -DNDEBUG "-I." "-I$(QTDIR)\include" "-I.\GeneratedFiles\$(ConfigurationName)\."</Command>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
<AdditionalInputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(QTDIR)\bin\moc.exe;%(FullPath)</AdditionalInputs>
</CustomBuild>
<ClInclude Include="SourceFiles\_other\mlmain.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{E417CAA4-259B-4C99-88E3-805F1300E8EB}</ProjectGuid>
<Keyword>Qt4VSv1.0</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Lang\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateLang\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Lang\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateLang\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)Lang\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediateLang\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<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;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>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat />
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<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;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>
</DebugInformationFormat>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>.;$(QTDIR)\include;.\GeneratedFiles\$(ConfigurationName);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<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;qtpcre.lib;qtfreetype.lib;Qt5PlatformSupport.lib;platforms\qwindows.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties MocDir=".\GeneratedFiles\$(ConfigurationName)" UicDir=".\GeneratedFiles" RccDir=".\GeneratedFiles" lupdateOptions="" lupdateOnBuild="0" lreleaseOptions="" Qt5Version_x0020_Win32="$(DefaultQtVersion)" MocOptions="" />
</VisualStudio>
</ProjectExtensions>
</Project>

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Generated Files">
<UniqueIdentifier>{71ED8ED8-ACB9-4CE9-BBE1-E00B30144E11}</UniqueIdentifier>
<Extensions>moc;h;cpp</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="Generated Files\Debug">
<UniqueIdentifier>{3c9f729e-b8c7-4b14-b2df-4a3eda27c074}</UniqueIdentifier>
<Extensions>cpp;moc</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="Generated Files\Release">
<UniqueIdentifier>{3e5a3edb-4328-4310-aec6-a3c6449e1aab}</UniqueIdentifier>
<Extensions>cpp;moc</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="Generated Files\Deploy">
<UniqueIdentifier>{d4eeac1e-52e8-4831-91ff-02e18f58e076}</UniqueIdentifier>
<Extensions>cpp;moc</Extensions>
<SourceControlFiles>False</SourceControlFiles>
</Filter>
<Filter Include="src">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;cxx;c;def</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="SourceFiles\_other\mlmain.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="SourceFiles\_other\genlang.cpp">
<Filter>src</Filter>
</ClCompile>
<ClCompile Include="GeneratedFiles\Deploy\moc_genlang.cpp">
<Filter>Generated Files\Deploy</Filter>
</ClCompile>
<ClCompile Include="GeneratedFiles\Debug\moc_genlang.cpp">
<Filter>Generated Files\Debug</Filter>
</ClCompile>
<ClCompile Include="GeneratedFiles\Release\moc_genlang.cpp">
<Filter>Generated Files\Release</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<CustomBuild Include="SourceFiles\_other\genlang.h">
<Filter>src</Filter>
</CustomBuild>
</ItemGroup>
<ItemGroup>
<ClInclude Include="SourceFiles\_other\mlmain.h">
<Filter>src</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -1,586 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXAggregateTarget section */
9BBFDCA776106924C40572AD /* Preprocess */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "MetaLang" */;
buildPhases = (
7EF0942E79C014DCEC8976BC /* Qt Preprocessors */,
07C3AF44194CCD360016CFF1 /* ShellScript */,
);
dependencies = (
);
name = Preprocess;
productName = "Qt Preprocess";
};
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 07D795491B5544B200DE9598 /* qtpcre */; };
0785004D1CCA847400168DBB /* libqtfreetype.a in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 0785004C1CCA847400168DBB /* libqtfreetype.a */; };
0E4EEB1BFC9FA7662AD934C6 /* moc_genlang.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 680437016D61255E7F889A94 /* moc_genlang.cpp */; settings = {ATTRIBUTES = (); }; };
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 */; };
34D95ABDC12C1841CEF3B2E3 /* genlang.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = 669AB12AE74AC219B4669D79 /* genlang.cpp */; settings = {ATTRIBUTES = (); }; };
496FD9CEEB508016AFB9F928 /* qico in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8F500B5166907B6D9A7C3E3D /* qico */; };
668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9742F24EE18EA44D52824F1E /* CoreServices.framework */; };
7CA5405B8503BFFC60932D2B /* qicns in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 31120EDB269DFF13E1D49847 /* qicns */; };
7F76437B577F737145996DC3 /* qtga in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DCEFD9167C239650120B0145 /* qtga */; };
8771A8C96E9C391044035D99 /* OpenGL.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D4B32C2222F82AC56BADEB21 /* OpenGL.framework */; };
8D267F2E4776F0ECA2F49DC8 /* IOKit.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = A1A67BEAA744704B29168D39 /* IOKit.framework */; };
8D33FE22B9BBADC7FA46C15B /* qtharfbuzzng in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D6193B79CECC9DD0142D1200 /* qtharfbuzzng */; };
9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 04391BE7A8B9D811E255100A /* Qt5Gui */; };
A3F8F2284013928A02AE5C38 /* qwbmp in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8CF51323544B886B8F4A2232 /* qwbmp */; };
A9563D9C9FD0D76FAAF1CA96 /* qdds in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D3D1BE0BEA3AEE0551AD39AC /* qdds */; };
B89F16FD30F4E782CC231D7B /* mlmain.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = A83296E7180A28ABB0FD85D2 /* mlmain.cpp */; settings = {ATTRIBUTES = (); }; };
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 5A80A1907B6CFFB524C1E57D /* Qt5Core */; };
BE6AB9DF1C4880624131C669 /* Qt5Widgets in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 4689C06178B60B84E7F3A3B7 /* Qt5Widgets */; };
C06DDE378A7AC1FA9E6FF69A /* qtiff in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = F2453BA07315EB9F34F1CD57 /* qtiff */; };
D1FA8AF31837B51C762A9D4D /* qcocoa in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D53D8E6A188E05078A114294 /* qcocoa */; };
D22929A2B8C5281567FCACDC /* Qt5PlatformSupport in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */; };
E45E51A644D5FC9F942ECE55 /* AGL.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */; };
F26454630C80841CBDCFE1CA /* Foundation.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = FCC237CA5AD60B9BA4447615 /* Foundation.framework */; };
F4D3747C3A03B25EDC9057BB /* qwebp in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = ADC6308023253CEA51F86E21 /* qwebp */; };
F8B465CE34D8DF87AAE95913 /* CoreFoundation.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */; };
F8ED42CF8679BF83227DAFC4 /* Carbon.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9DFF62A901D70814B8A323D4 /* Carbon.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
0746FEA1193CD5E500F5C3FD /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 6DB9C3763D02B1415CD9D565 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 9BBFDCA776106924C40572AD;
remoteInfo = "Qt Preprocess";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "$(QT_PATH)/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
07D795491B5544B200DE9598 /* qtpcre */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtpcre; path = "$(QT_PATH)/lib/libqtpcre$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
0785004C1CCA847400168DBB /* libqtfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libqtfreetype.a; path = "$(QT_PATH)/lib/libqtfreetype$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "$(QT_PATH)/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "$(QT_PATH)/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
54D6D1A7260739988F6FC406 /* genlang.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = genlang.h; path = SourceFiles/_other/genlang.h; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "$(QT_PATH)/lib/libQt5Core$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
669AB12AE74AC219B4669D79 /* genlang.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = genlang.cpp; path = SourceFiles/_other/genlang.cpp; sourceTree = "<absolute>"; };
680437016D61255E7F889A94 /* moc_genlang.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = moc_genlang.cpp; path = GeneratedFiles/Debug/moc_genlang.cpp; sourceTree = "<absolute>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "$(QT_PATH)/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; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "$(QT_PATH)/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>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "$(QT_PATH)/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
9742F24EE18EA44D52824F1E /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
9DFF62A901D70814B8A323D4 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
A1A67BEAA744704B29168D39 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
A83296E7180A28ABB0FD85D2 /* mlmain.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = mlmain.cpp; path = SourceFiles/_other/mlmain.cpp; sourceTree = "<absolute>"; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "$(QT_PATH)/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "$(QT_PATH)/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>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "$(QT_PATH)/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "$(QT_PATH)/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D7D645CBFF3B86CF39CEF3DA /* mlmain.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = mlmain.h; path = SourceFiles/_other/mlmain.h; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "$(QT_PATH)/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "$(QT_PATH)/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DFD7912080BC557230093752 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "$(QT_PATH)/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "$(QT_PATH)/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "$(QT_PATH)/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
FCC237CA5AD60B9BA4447615 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
D1C883685E82D5676953459A /* Link Binary With Libraries */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1BB705CDB741E2B7450201A5 /* Cocoa.framework in Link Binary With Libraries */,
328FD74542F6E2C873EE4D4B /* ApplicationServices.framework in Link Binary With Libraries */,
668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */,
F8B465CE34D8DF87AAE95913 /* CoreFoundation.framework in Link Binary With Libraries */,
F26454630C80841CBDCFE1CA /* Foundation.framework in Link Binary With Libraries */,
8771A8C96E9C391044035D99 /* OpenGL.framework in Link Binary With Libraries */,
E45E51A644D5FC9F942ECE55 /* AGL.framework in Link Binary With Libraries */,
D1FA8AF31837B51C762A9D4D /* qcocoa in Link Binary With Libraries */,
F8ED42CF8679BF83227DAFC4 /* Carbon.framework in Link Binary With Libraries */,
8D267F2E4776F0ECA2F49DC8 /* IOKit.framework in Link Binary With Libraries */,
1A681B886F50EE30FBE62B4B /* Qt5PrintSupport in Link Binary With Libraries */,
D22929A2B8C5281567FCACDC /* Qt5PlatformSupport in Link Binary With Libraries */,
BE6AB9DF1C4880624131C669 /* Qt5Widgets in Link Binary With Libraries */,
A9563D9C9FD0D76FAAF1CA96 /* qdds in Link Binary With Libraries */,
7CA5405B8503BFFC60932D2B /* qicns in Link Binary With Libraries */,
496FD9CEEB508016AFB9F928 /* qico in Link Binary With Libraries */,
7F76437B577F737145996DC3 /* qtga in Link Binary With Libraries */,
C06DDE378A7AC1FA9E6FF69A /* qtiff in Link Binary With Libraries */,
A3F8F2284013928A02AE5C38 /* qwbmp in Link Binary With Libraries */,
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 */,
0785004D1CCA847400168DBB /* libqtfreetype.a in Link Binary With Libraries */,
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */,
);
name = "Link Binary With Libraries";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
25B08E2869634E9BCBA333A2 /* Generated Sources */ = {
isa = PBXGroup;
children = (
D0B536A85E53302E4F66CE23 /* GeneratedFiles */,
);
name = "Generated Sources";
sourceTree = "<Group>";
};
2EB56BE3C2D93CDAB0C52E67 /* Sources */ = {
isa = PBXGroup;
children = (
73F2E45FDEB381A085D37A49 /* SourceFiles */,
);
name = Sources;
sourceTree = "<Group>";
};
31562E815E3DF5B1A777D3EF /* _other */ = {
isa = PBXGroup;
children = (
A83296E7180A28ABB0FD85D2 /* mlmain.cpp */,
669AB12AE74AC219B4669D79 /* genlang.cpp */,
D7D645CBFF3B86CF39CEF3DA /* mlmain.h */,
54D6D1A7260739988F6FC406 /* genlang.h */,
);
name = _other;
sourceTree = "<Group>";
};
73F2E45FDEB381A085D37A49 /* SourceFiles */ = {
isa = PBXGroup;
children = (
31562E815E3DF5B1A777D3EF /* _other */,
);
name = SourceFiles;
sourceTree = "<Group>";
};
801973D3334D0FCA849CF485 /* Debug */ = {
isa = PBXGroup;
children = (
680437016D61255E7F889A94 /* moc_genlang.cpp */,
);
name = Debug;
sourceTree = "<Group>";
};
AF39DD055C3EF8226FBE929D /* Frameworks */ = {
isa = PBXGroup;
children = (
07D795491B5544B200DE9598 /* qtpcre */,
0785004C1CCA847400168DBB /* libqtfreetype.a */,
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */,
DFD7912080BC557230093752 /* ApplicationServices.framework */,
9742F24EE18EA44D52824F1E /* CoreServices.framework */,
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */,
FCC237CA5AD60B9BA4447615 /* Foundation.framework */,
D4B32C2222F82AC56BADEB21 /* OpenGL.framework */,
8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */,
D53D8E6A188E05078A114294 /* qcocoa */,
9DFF62A901D70814B8A323D4 /* Carbon.framework */,
A1A67BEAA744704B29168D39 /* IOKit.framework */,
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */,
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */,
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */,
D3D1BE0BEA3AEE0551AD39AC /* qdds */,
31120EDB269DFF13E1D49847 /* qicns */,
8F500B5166907B6D9A7C3E3D /* qico */,
F0681BC551FC8A2B132FC646 /* qjp2 */,
83D37373949868693FB7816D /* qmng */,
DCEFD9167C239650120B0145 /* qtga */,
F2453BA07315EB9F34F1CD57 /* qtiff */,
8CF51323544B886B8F4A2232 /* qwbmp */,
ADC6308023253CEA51F86E21 /* qwebp */,
04391BE7A8B9D811E255100A /* Qt5Gui */,
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */,
5A80A1907B6CFFB524C1E57D /* Qt5Core */,
);
name = Frameworks;
sourceTree = "<Group>";
};
D0B536A85E53302E4F66CE23 /* GeneratedFiles */ = {
isa = PBXGroup;
children = (
801973D3334D0FCA849CF485 /* Debug */,
);
name = GeneratedFiles;
sourceTree = "<Group>";
};
E8C543AB96796ECAA2E65C57 /* MetaLang */ = {
isa = PBXGroup;
children = (
2EB56BE3C2D93CDAB0C52E67 /* Sources */,
25B08E2869634E9BCBA333A2 /* Generated Sources */,
AF39DD055C3EF8226FBE929D /* Frameworks */,
FE0A091FDBFB3E9C31B7A1BD /* Products */,
);
name = MetaLang;
sourceTree = "<Group>";
};
FE0A091FDBFB3E9C31B7A1BD /* Products */ = {
isa = PBXGroup;
children = (
83FFCB79DDEB015B4A5CB301 /* MetaLang.app */,
);
name = Products;
sourceTree = "<Group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
6FFA5F0FB08CCD004808E1F3 /* MetaLang */ = {
isa = PBXNativeTarget;
buildConfigurationList = 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "MetaLang" */;
buildPhases = (
F7E50F631C51CD5B5DC0BC43 /* Compile Sources */,
D1C883685E82D5676953459A /* Link Binary With Libraries */,
);
buildRules = (
);
dependencies = (
076DA1F6C10E47842EC316F3 /* PBXTargetDependency */,
);
name = MetaLang;
productInstallPath = ../Mac/DebugLang/;
productName = MetaLang;
productReference = 83FFCB79DDEB015B4A5CB301 /* MetaLang.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
6DB9C3763D02B1415CD9D565 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0700;
};
buildConfigurationList = DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "MetaLang" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
en,
);
mainGroup = E8C543AB96796ECAA2E65C57 /* MetaLang */;
productRefGroup = FE0A091FDBFB3E9C31B7A1BD /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
6FFA5F0FB08CCD004808E1F3 /* MetaLang */,
9BBFDCA776106924C40572AD /* Preprocess */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
07C3AF44194CCD360016CFF1 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "mkdir -p ./GeneratedFiles/Debug";
};
7EF0942E79C014DCEC8976BC /* Qt Preprocessors */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
name = "Qt Preprocessors";
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "make -C . -f MetaLang.xcodeproj/qt_preprocess.mak";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
F7E50F631C51CD5B5DC0BC43 /* Compile Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B89F16FD30F4E782CC231D7B /* mlmain.cpp in Compile Sources */,
34D95ABDC12C1841CEF3B2E3 /* genlang.cpp in Compile Sources */,
0E4EEB1BFC9FA7662AD934C6 /* moc_genlang.cpp in Compile Sources */,
);
name = "Compile Sources";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
076DA1F6C10E47842EC316F3 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 9BBFDCA776106924C40572AD /* Preprocess */;
targetProxy = 0746FEA1193CD5E500F5C3FD /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
339EE1B2CC4FC24589A0EA95 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)Lang$(EFFECTIVE_PLATFORM_NAME)";
COPY_PHASE_STRIP = YES;
DYLIB_COMPATIBILITY_VERSION = 1.0;
DYLIB_CURRENT_VERSION = 1.0.0;
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;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(QT_PATH)/include",
"$(QT_PATH)/include/QtGui",
"$(QT_PATH)/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,
"$(QT_PATH)/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/,
"$(QT_PATH)/lib",
"$(QT_PATH)/plugins/platforms",
"$(QT_PATH)/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/ReleaseIntermediateLang;
OTHER_CFLAGS = (
"-pipe",
"-g",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_CPLUSPLUSFLAGS = (
"-pipe",
"-g",
"-std=c++11",
"-stdlib=libc++",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L$(QT_PATH)/lib",
"-L$(QT_PATH)/plugins/platforms",
"-lcups",
"-L$(QT_PATH)/plugins/imageformats",
"-lz",
"-lm",
);
PRODUCT_NAME = MetaLang;
QT_LIBRARY_SUFFIX = "";
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
SYMROOT = ./../Mac;
};
name = Release;
};
3AA6C32AC930069E80220CF1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CONFIGURATION_BUILD_DIR = "$(BUILD_DIR)/$(CONFIGURATION)Lang$(EFFECTIVE_PLATFORM_NAME)";
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DYLIB_COMPATIBILITY_VERSION = 1.0;
DYLIB_CURRENT_VERSION = 1.0.0;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = 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;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
"$(QT_PATH)/include",
"$(QT_PATH)/include/QtGui",
"$(QT_PATH)/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,
"$(QT_PATH)/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/,
"$(QT_PATH)/lib",
"$(QT_PATH)/plugins/platforms",
"$(QT_PATH)/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = ./../Mac/DebugIntermediateLang;
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = (
"-pipe",
"-g",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_CPLUSPLUSFLAGS = (
"-pipe",
"-g",
"-std=c++11",
"-stdlib=libc++",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-L$(QT_PATH)/lib",
"-L$(QT_PATH)/plugins/platforms",
"-lcups",
"-L$(QT_PATH)/plugins/imageformats",
"-lz",
"-lm",
);
PRODUCT_NAME = MetaLang;
QT_LIBRARY_SUFFIX = _debug;
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
SYMROOT = ./../Mac;
};
name = Debug;
};
6666AA5E688052234F6758D8 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
HEADER_SEARCH_PATHS = (
"$(QT_PATH)/include",
"$(QT_PATH)/include/QtGui",
"$(QT_PATH)/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,
"$(QT_PATH)/mkspecs/macx-clang",
);
INSTALL_DIR = ../Mac/ReleaseLang/;
PRODUCT_BUNDLE_IDENTIFIER = "com.tdesktop.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = MetaLang;
QT_LIBRARY_SUFFIX = "";
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
};
name = Release;
};
77418F46922677BB04ED38DD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
HEADER_SEARCH_PATHS = (
"$(QT_PATH)/include",
"$(QT_PATH)/include/QtGui",
"$(QT_PATH)/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,
"$(QT_PATH)/mkspecs/macx-clang",
);
INSTALL_DIR = ../Mac/DebugLang/;
PRODUCT_BUNDLE_IDENTIFIER = "com.tdesktop.${PRODUCT_NAME:rfc1034identifier}";
PRODUCT_NAME = MetaLang;
QT_LIBRARY_SUFFIX = _debug;
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
};
name = Debug;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "MetaLang" */ = {
isa = XCConfigurationList;
buildConfigurations = (
77418F46922677BB04ED38DD /* Debug */,
6666AA5E688052234F6758D8 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "MetaLang" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3AA6C32AC930069E80220CF1 /* Debug */,
339EE1B2CC4FC24589A0EA95 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 6DB9C3763D02B1415CD9D565 /* Project object */;
}

View File

@@ -1,66 +0,0 @@
#############################################################################
# Makefile for building: ../Mac/DebugLang/MetaLang.app/Contents/MacOS/MetaLang
# Initially generated by qmake
#############################################################################
MAKEFILE = project.pbxproj
QT_VER = 5.6.0
QT_DIR = /usr/local/tdesktop/Qt-$(QT_VER)
QT_MOC = $(QT_DIR)/bin/moc
LEX = flex
LEXFLAGS =
YACC = yacc
YACCFLAGS = -d
DEFINES = -D_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -D__APPLE__ -D__GNUC__=4
INCPATH = -I$(QT_DIR)/mkspecs/macx-clang\
-I$(QT_DIR)/include/QtGui/$(QT_VER)/QtGui\
-I$(QT_DIR)/include/QtCore/$(QT_VER)/QtCore\
-I$(QT_VER)/include\
-IGeneratedFiles/Debug\
-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/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\
-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\
-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
DEL_FILE = rm -f
MOVE = mv -f
MOC_FILE = $(QT_MOC) $(DEFINES) $(INCPATH)
IMAGES =
PARSERS =
preprocess: $(PARSERS) compilers
clean preprocess_clean: parser_clean compiler_clean
parser_clean:
mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
check: first
compilers: GeneratedFiles/Debug/moc_genlang.cpp
compiler_objective_c_make_all:
compiler_objective_c_clean:
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_moc_header_make_all: GeneratedFiles/Debug/moc_genlang.cpp
compiler_moc_header_clean:
-$(DEL_FILE) GeneratedFiles/Debug/moc_genlang.cpp
GeneratedFiles/Debug/moc_genlang.cpp: SourceFiles/_other/genlang.h
$(MOC_FILE) SourceFiles/_other/genlang.h -o GeneratedFiles/Debug/moc_genlang.cpp
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_rez_source_make_all:
compiler_rez_source_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean: compiler_moc_header_clean

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleExecutable</key>
<string>Packer</string>
<key>CFBundleGetInfoString</key>
<string>Update packer utility for tdesktop</string>
<key>CFBundleIconFile</key>
<string></string>
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>NOTE</key>
<string></string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>

View File

@@ -1,40 +0,0 @@
QT += core
CONFIG(debug, debug|release) {
DEFINES += _DEBUG
OBJECTS_DIR = ./../DebugIntermediatePacker
MOC_DIR = ./GeneratedFiles/Debug
DESTDIR = ./../Debug
}
CONFIG(release, debug|release) {
OBJECTS_DIR = ./../ReleaseIntermediatePacker
MOC_DIR = ./GeneratedFiles/Release
DESTDIR = ./../Release
}
macx {
QMAKE_INFO_PLIST = ./SourceFiles/_other/Packer.plist
QMAKE_LFLAGS += -framework Cocoa
}
SOURCES += \
./SourceFiles/_other/packer.cpp \
HEADERS += \
./SourceFiles/_other/packer.h \
unix {
linux-g++:QMAKE_TARGET.arch = $$QMAKE_HOST.arch
linux-g++-32:QMAKE_TARGET.arch = x86
linux-g++-64:QMAKE_TARGET.arch = x86_64
contains(QMAKE_TARGET.arch, x86_64) {
DEFINES += Q_OS_LINUX64
} else {
DEFINES += Q_OS_LINUX32
}
}
include(qt_static.pri)
LIBS += -lcrypto -lssl -lz -llzma

View File

@@ -1,130 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Deploy|Win32">
<Configuration>Deploy</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|Win32">
<Configuration>Release</Configuration>
<Platform>Win32</Platform>
</ProjectConfiguration>
</ItemGroup>
<ItemGroup>
<ClCompile Include="SourceFiles\_other\packer.cpp" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="SourceFiles\_other\packer.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{56A9A4B2-21E5-4360-AFA8-85B43AC43B08}</ProjectGuid>
<Keyword>Qt4VSv1.0</Keyword>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<PlatformToolset>v140_xp</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<_ProjectFileVersion>11.0.61030.0</_ProjectFileVersion>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediatePacker\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediatePacker\</IntDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)IntermediatePacker\</IntDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_CORE_LIB;ZLIB_WINAPI;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<Optimization>Disabled</Optimization>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;.\..\..\Libraries\lzma\C;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\openssl_debug\Debug\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<OutputFile>$(OutDir)\$(ProjectName).exe</OutputFile>
<AdditionalLibraryDirectories>.\..\..\Libraries\lzma\C\Util\LzmaLib\Debug;$(QTDIR)\lib;.\..\..\Libraries\zlib-1.2.8\contrib\vstudio\vc11\x86\ZlibStatDebug;.\..\..\Libraries\openssl_debug\Debug\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;zlibstat.lib;libeay32.lib;LzmaLib.lib;qtmaind.lib;qtpcred.lib;Qt5Cored.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<ImageHasSafeExceptionHandlers />
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;ZLIB_WINAPI;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat />
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;.\..\..\Libraries\lzma\C;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\openssl\Release\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<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\Release\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;zlibstat.lib;libeay32.lib;LzmaLib.lib;qtmain.lib;qtpcre.lib;Qt5Core.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ImageHasSafeExceptionHandlers />
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Deploy|Win32'">
<ClCompile>
<PreprocessorDefinitions>UNICODE;WIN32;WIN64;QT_NO_DEBUG;ZLIB_WINAPI;NDEBUG;QT_CORE_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<DebugInformationFormat>
</DebugInformationFormat>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;.\..\..\Libraries\lzma\C;.\..\..\Libraries\zlib-1.2.8;.\..\..\Libraries\openssl\Release\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
</ClCompile>
<Link>
<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\Release\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;zlibstat.lib;libeay32.lib;LzmaLib.lib;qtmain.lib;qtpcre.lib;Qt5Core.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>false</GenerateDebugInformation>
<ImageHasSafeExceptionHandlers>
</ImageHasSafeExceptionHandlers>
</Link>
</ItemDefinitionGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
<ProjectExtensions>
<VisualStudio>
<UserProperties UicDir=".\GeneratedFiles" MocDir=".\GeneratedFiles\$(ConfigurationName)" MocOptions="" RccDir=".\GeneratedFiles" lupdateOnBuild="0" lupdateOptions="" lreleaseOptions="" Qt5Version_x0020_Win32="$(DefaultQtVersion)" />
</VisualStudio>
</ProjectExtensions>
</Project>

View File

@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="src">
<UniqueIdentifier>{fb58185d-85da-49e6-abad-efe7abf6c475}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="SourceFiles\_other\packer.cpp">
<Filter>src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="SourceFiles\_other\packer.h">
<Filter>src</Filter>
</ClInclude>
</ItemGroup>
</Project>

View File

@@ -1,584 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXAggregateTarget section */
6E977D353048DB44129F752B /* Preprocess */ = {
isa = PBXAggregateTarget;
buildConfigurationList = 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "Packer" */;
buildPhases = (
7EF0942E79C014DCEC8976BC /* Qt Preprocessors */,
);
dependencies = (
);
name = Preprocess;
productName = "Qt Preprocess";
};
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
07D7954A1B5544B200DE9598 /* qtpcre in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 07D795491B5544B200DE9598 /* qtpcre */; };
0785004D1CCA847400168DBB /* libqtfreetype.a in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 0785004C1CCA847400168DBB /* libqtfreetype.a */; };
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 */; };
496FD9CEEB508016AFB9F928 /* qico in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8F500B5166907B6D9A7C3E3D /* qico */; };
668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9742F24EE18EA44D52824F1E /* CoreServices.framework */; };
7CA5405B8503BFFC60932D2B /* qicns in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 31120EDB269DFF13E1D49847 /* qicns */; };
7F76437B577F737145996DC3 /* qtga in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = DCEFD9167C239650120B0145 /* qtga */; };
8771A8C96E9C391044035D99 /* OpenGL.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D4B32C2222F82AC56BADEB21 /* OpenGL.framework */; };
8D267F2E4776F0ECA2F49DC8 /* IOKit.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = A1A67BEAA744704B29168D39 /* IOKit.framework */; };
8D33FE22B9BBADC7FA46C15B /* qtharfbuzzng in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D6193B79CECC9DD0142D1200 /* qtharfbuzzng */; };
9F33AC0693BC81B27D8F518D /* Qt5Gui in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 04391BE7A8B9D811E255100A /* Qt5Gui */; };
A3F8F2284013928A02AE5C38 /* qwbmp in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8CF51323544B886B8F4A2232 /* qwbmp */; };
A9563D9C9FD0D76FAAF1CA96 /* qdds in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D3D1BE0BEA3AEE0551AD39AC /* qdds */; };
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 5A80A1907B6CFFB524C1E57D /* Qt5Core */; };
BE6AB9DF1C4880624131C669 /* Qt5Widgets in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 4689C06178B60B84E7F3A3B7 /* Qt5Widgets */; };
C06DDE378A7AC1FA9E6FF69A /* qtiff in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = F2453BA07315EB9F34F1CD57 /* qtiff */; };
D1FA8AF31837B51C762A9D4D /* qcocoa in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = D53D8E6A188E05078A114294 /* qcocoa */; };
D22929A2B8C5281567FCACDC /* Qt5PlatformSupport in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */; };
E45E51A644D5FC9F942ECE55 /* AGL.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */; };
EAA05789DF6EBAD24D3EFF96 /* packer.cpp in Compile Sources */ = {isa = PBXBuildFile; fileRef = E3790AE49DBDB3F5EFA42FE1 /* packer.cpp */; settings = {ATTRIBUTES = (); }; };
F26454630C80841CBDCFE1CA /* Foundation.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = FCC237CA5AD60B9BA4447615 /* Foundation.framework */; };
F4D3747C3A03B25EDC9057BB /* qwebp in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = ADC6308023253CEA51F86E21 /* qwebp */; };
F8B465CE34D8DF87AAE95913 /* CoreFoundation.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */; };
F8ED42CF8679BF83227DAFC4 /* Carbon.framework in Link Binary With Libraries */ = {isa = PBXBuildFile; fileRef = 9DFF62A901D70814B8A323D4 /* Carbon.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
072AB35C1955F39D00328D9B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 6DB9C3763D02B1415CD9D565 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 6E977D353048DB44129F752B;
remoteInfo = "Qt Preprocess";
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
04391BE7A8B9D811E255100A /* Qt5Gui */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Gui; path = "$(QT_PATH)/lib/libQt5Gui$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
07D795491B5544B200DE9598 /* qtpcre */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtpcre; path = "$(QT_PATH)/lib/libqtpcre$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
0785004C1CCA847400168DBB /* libqtfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libqtfreetype.a; path = "$(QT_PATH)/lib/libqtfreetype$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<group>"; };
31120EDB269DFF13E1D49847 /* qicns */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qicns; path = "$(QT_PATH)/plugins/imageformats/libqicns$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Widgets; path = "$(QT_PATH)/lib/libQt5Widgets$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = /System/Library/Frameworks/CoreFoundation.framework; sourceTree = "<absolute>"; };
5A80A1907B6CFFB524C1E57D /* Qt5Core */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5Core; path = "$(QT_PATH)/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>"; };
83D37373949868693FB7816D /* qmng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qmng; path = "$(QT_PATH)/plugins/imageformats/libqmng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
8CF51323544B886B8F4A2232 /* qwbmp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwbmp; path = "$(QT_PATH)/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>"; };
8F500B5166907B6D9A7C3E3D /* qico */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qico; path = "$(QT_PATH)/plugins/imageformats/libqico$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
9742F24EE18EA44D52824F1E /* CoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreServices.framework; path = /System/Library/Frameworks/CoreServices.framework; sourceTree = "<absolute>"; };
9DFF62A901D70814B8A323D4 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
A1A67BEAA744704B29168D39 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
A5588D4B50885E2A9CAA5505 /* Packer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Packer.app; sourceTree = BUILT_PRODUCTS_DIR; };
ADC6308023253CEA51F86E21 /* qwebp */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qwebp; path = "$(QT_PATH)/plugins/imageformats/libqwebp$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
D3D1BE0BEA3AEE0551AD39AC /* qdds */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qdds; path = "$(QT_PATH)/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>"; };
D53D8E6A188E05078A114294 /* qcocoa */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qcocoa; path = "$(QT_PATH)/plugins/platforms/libqcocoa$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtharfbuzzng; path = "$(QT_PATH)/lib/libqtharfbuzzng$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PrintSupport; path = "$(QT_PATH)/lib/libQt5PrintSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DCEFD9167C239650120B0145 /* qtga */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtga; path = "$(QT_PATH)/plugins/imageformats/libqtga$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
DFD7912080BC557230093752 /* ApplicationServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ApplicationServices.framework; path = /System/Library/Frameworks/ApplicationServices.framework; sourceTree = "<absolute>"; };
E3790AE49DBDB3F5EFA42FE1 /* packer.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = packer.cpp; path = SourceFiles/_other/packer.cpp; sourceTree = "<absolute>"; };
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = Qt5PlatformSupport; path = "$(QT_PATH)/lib/libQt5PlatformSupport$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F0681BC551FC8A2B132FC646 /* qjp2 */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qjp2; path = "$(QT_PATH)/plugins/imageformats/libqjp2$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
F2453BA07315EB9F34F1CD57 /* qtiff */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = qtiff; path = "$(QT_PATH)/plugins/imageformats/libqtiff$(QT_LIBRARY_SUFFIX).a"; sourceTree = "<absolute>"; };
FCC237CA5AD60B9BA4447615 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
D1C883685E82D5676953459A /* Link Binary With Libraries */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
1BB705CDB741E2B7450201A5 /* Cocoa.framework in Link Binary With Libraries */,
328FD74542F6E2C873EE4D4B /* ApplicationServices.framework in Link Binary With Libraries */,
668DDDA0C55405E7FCFD6CA5 /* CoreServices.framework in Link Binary With Libraries */,
F8B465CE34D8DF87AAE95913 /* CoreFoundation.framework in Link Binary With Libraries */,
F26454630C80841CBDCFE1CA /* Foundation.framework in Link Binary With Libraries */,
8771A8C96E9C391044035D99 /* OpenGL.framework in Link Binary With Libraries */,
E45E51A644D5FC9F942ECE55 /* AGL.framework in Link Binary With Libraries */,
D1FA8AF31837B51C762A9D4D /* qcocoa in Link Binary With Libraries */,
F8ED42CF8679BF83227DAFC4 /* Carbon.framework in Link Binary With Libraries */,
8D267F2E4776F0ECA2F49DC8 /* IOKit.framework in Link Binary With Libraries */,
1A681B886F50EE30FBE62B4B /* Qt5PrintSupport in Link Binary With Libraries */,
D22929A2B8C5281567FCACDC /* Qt5PlatformSupport in Link Binary With Libraries */,
BE6AB9DF1C4880624131C669 /* Qt5Widgets in Link Binary With Libraries */,
A9563D9C9FD0D76FAAF1CA96 /* qdds in Link Binary With Libraries */,
7CA5405B8503BFFC60932D2B /* qicns in Link Binary With Libraries */,
496FD9CEEB508016AFB9F928 /* qico in Link Binary With Libraries */,
7F76437B577F737145996DC3 /* qtga in Link Binary With Libraries */,
C06DDE378A7AC1FA9E6FF69A /* qtiff in Link Binary With Libraries */,
A3F8F2284013928A02AE5C38 /* qwbmp in Link Binary With Libraries */,
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 */,
0785004D1CCA847400168DBB /* libqtfreetype.a in Link Binary With Libraries */,
B9ADD90C014EA3FBE351DF03 /* Qt5Core in Link Binary With Libraries */,
);
name = "Link Binary With Libraries";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
2EB56BE3C2D93CDAB0C52E67 /* Sources */ = {
isa = PBXGroup;
children = (
73F2E45FDEB381A085D37A49 /* SourceFiles */,
);
name = Sources;
sourceTree = "<Group>";
};
31562E815E3DF5B1A777D3EF /* _other */ = {
isa = PBXGroup;
children = (
E3790AE49DBDB3F5EFA42FE1 /* packer.cpp */,
5AA25EFD83BC060B26945285 /* packer.h */,
);
name = _other;
sourceTree = "<Group>";
};
73F2E45FDEB381A085D37A49 /* SourceFiles */ = {
isa = PBXGroup;
children = (
31562E815E3DF5B1A777D3EF /* _other */,
);
name = SourceFiles;
sourceTree = "<Group>";
};
AF39DD055C3EF8226FBE929D /* Frameworks */ = {
isa = PBXGroup;
children = (
07D795491B5544B200DE9598 /* qtpcre */,
0785004C1CCA847400168DBB /* libqtfreetype.a */,
AEA456A2F75ED9F5CDA7BCBE /* Cocoa.framework */,
DFD7912080BC557230093752 /* ApplicationServices.framework */,
9742F24EE18EA44D52824F1E /* CoreServices.framework */,
4D765E1B1EA6C757220C63E7 /* CoreFoundation.framework */,
FCC237CA5AD60B9BA4447615 /* Foundation.framework */,
D4B32C2222F82AC56BADEB21 /* OpenGL.framework */,
8D9815BDB5BD9F90D2BC05C5 /* AGL.framework */,
D53D8E6A188E05078A114294 /* qcocoa */,
9DFF62A901D70814B8A323D4 /* Carbon.framework */,
A1A67BEAA744704B29168D39 /* IOKit.framework */,
DBF506D10449BFABD45B82DA /* Qt5PrintSupport */,
E7B2F248E3F7970788F35BF5 /* Qt5PlatformSupport */,
4689C06178B60B84E7F3A3B7 /* Qt5Widgets */,
D3D1BE0BEA3AEE0551AD39AC /* qdds */,
31120EDB269DFF13E1D49847 /* qicns */,
8F500B5166907B6D9A7C3E3D /* qico */,
F0681BC551FC8A2B132FC646 /* qjp2 */,
83D37373949868693FB7816D /* qmng */,
DCEFD9167C239650120B0145 /* qtga */,
F2453BA07315EB9F34F1CD57 /* qtiff */,
8CF51323544B886B8F4A2232 /* qwbmp */,
ADC6308023253CEA51F86E21 /* qwebp */,
04391BE7A8B9D811E255100A /* Qt5Gui */,
D6193B79CECC9DD0142D1200 /* qtharfbuzzng */,
5A80A1907B6CFFB524C1E57D /* Qt5Core */,
);
name = Frameworks;
sourceTree = "<Group>";
};
E8C543AB96796ECAA2E65C57 /* Packer */ = {
isa = PBXGroup;
children = (
2EB56BE3C2D93CDAB0C52E67 /* Sources */,
AF39DD055C3EF8226FBE929D /* Frameworks */,
FE0A091FDBFB3E9C31B7A1BD /* Products */,
);
name = Packer;
sourceTree = "<Group>";
};
FE0A091FDBFB3E9C31B7A1BD /* Products */ = {
isa = PBXGroup;
children = (
A5588D4B50885E2A9CAA5505 /* Packer.app */,
);
name = Products;
sourceTree = "<Group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
FD92333211119EF3CA40F70D /* Packer */ = {
isa = PBXNativeTarget;
buildConfigurationList = 6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "Packer" */;
buildPhases = (
F7E50F631C51CD5B5DC0BC43 /* Compile Sources */,
D1C883685E82D5676953459A /* Link Binary With Libraries */,
);
buildRules = (
);
dependencies = (
A7CD3B627B093BF0A5BBA9AE /* PBXTargetDependency */,
);
name = Packer;
productInstallPath = ../Mac/DebugPacker/;
productName = Packer;
productReference = A5588D4B50885E2A9CAA5505 /* Packer.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
6DB9C3763D02B1415CD9D565 /* Project object */ = {
isa = PBXProject;
attributes = {
LastUpgradeCheck = 0700;
};
buildConfigurationList = DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "Packer" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
hasScannedForEncodings = 1;
knownRegions = (
en,
);
mainGroup = E8C543AB96796ECAA2E65C57 /* Packer */;
productRefGroup = FE0A091FDBFB3E9C31B7A1BD /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
FD92333211119EF3CA40F70D /* Packer */,
6E977D353048DB44129F752B /* Preprocess */,
);
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
7EF0942E79C014DCEC8976BC /* Qt Preprocessors */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
name = "Qt Preprocessors";
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "make -C . -f Packer.xcodeproj/qt_preprocess.mak";
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
F7E50F631C51CD5B5DC0BC43 /* Compile Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
EAA05789DF6EBAD24D3EFF96 /* packer.cpp in Compile Sources */,
);
name = "Compile Sources";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
A7CD3B627B093BF0A5BBA9AE /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 6E977D353048DB44129F752B /* Preprocess */;
targetProxy = 072AB35C1955F39D00328D9B /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
339EE1B2CC4FC24589A0EA95 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = YES;
DYLIB_COMPATIBILITY_VERSION = 1.0;
DYLIB_CURRENT_VERSION = 1.0.0;
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;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
/usr/local/include,
"$(QT_PATH)/include",
"$(QT_PATH)/include/QtGui",
"$(QT_PATH)/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,
"$(QT_PATH)/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/,
"$(QT_PATH)/lib",
"$(QT_PATH)/plugins/platforms",
"$(QT_PATH)/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)IntermediatePacker/";
OTHER_CFLAGS = (
"-pipe",
"-g",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_CPLUSPLUSFLAGS = (
"-pipe",
"-g",
"-std=c++11",
"-stdlib=libc++",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-lcrypto",
"-lssl",
"-L$(QT_PATH)/lib",
"-L$(QT_PATH)/plugins/platforms",
"-lcups",
"-L$(QT_PATH)/plugins/imageformats",
"-lz",
"-lm",
"-llzma",
);
PRODUCT_NAME = Packer;
QT_LIBRARY_SUFFIX = "";
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
SYMROOT = ../Mac;
};
name = Release;
};
3AA6C32AC930069E80220CF1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CC = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
DYLIB_COMPATIBILITY_VERSION = 1.0;
DYLIB_CURRENT_VERSION = 1.0.0;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = 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;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
HEADER_SEARCH_PATHS = (
/usr/local/include,
"$(QT_PATH)/include",
"$(QT_PATH)/include/QtGui",
"$(QT_PATH)/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,
"$(QT_PATH)/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/,
"$(QT_PATH)/lib",
"$(QT_PATH)/plugins/platforms",
"$(QT_PATH)/plugins/imageformats",
);
MACOSX_DEPLOYMENT_TARGET = 10.7;
OBJROOT = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)IntermediatePacker/";
ONLY_ACTIVE_ARCH = YES;
OTHER_CFLAGS = (
"-pipe",
"-g",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_CPLUSPLUSFLAGS = (
"-pipe",
"-g",
"-std=c++11",
"-stdlib=libc++",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
);
OTHER_LDFLAGS = (
"-headerpad_max_install_names",
"-stdlib=libc++",
"-lcrypto",
"-lssl",
"-L$(QT_PATH)/lib",
"-L$(QT_PATH)/plugins/platforms",
"-lcups",
"-L$(QT_PATH)/plugins/imageformats",
"-lz",
"-lm",
"-llzma",
);
PRODUCT_NAME = Packer;
QT_LIBRARY_SUFFIX = _debug;
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
SYMROOT = ../Mac;
};
name = Debug;
};
6666AA5E688052234F6758D8 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(QT_PATH)/lib",
);
OBJROOT = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)IntermediatePacker";
OTHER_CFLAGS = (
"-pipe",
"-g",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
"-I./../../Libraries/openssl-xcode/include",
);
OTHER_CPLUSPLUSFLAGS = (
"-pipe",
"-g",
"-std=c++11",
"-stdlib=libc++",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
"-I./../../Libraries/openssl-xcode/include",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.tdesktop.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = Packer;
QT_LIBRARY_SUFFIX = "";
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
};
name = Release;
};
77418F46922677BB04ED38DD /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"$(QT_PATH)/lib",
);
OBJROOT = "$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)IntermediatePacker";
OTHER_CFLAGS = (
"-pipe",
"-g",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
"-I./../../Libraries/openssl-xcode/include",
);
OTHER_CPLUSPLUSFLAGS = (
"-pipe",
"-g",
"-std=c++11",
"-stdlib=libc++",
"-Wall",
"-W",
"-fPIE",
"-D_DEBUG",
"-DQT_GUI_LIB",
"-DQT_CORE_LIB",
"-I./../../Libraries/openssl-xcode/include",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.tdesktop.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = Packer;
QT_LIBRARY_SUFFIX = _debug;
QT_PATH = "/usr/local/tdesktop/Qt-5.6.0";
SDKROOT = macosx;
};
name = Debug;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
6CC3B5D2136C7CD6A5CF5A59 /* Build configuration list for PBXNativeTarget "Packer" */ = {
isa = XCConfigurationList;
buildConfigurations = (
77418F46922677BB04ED38DD /* Debug */,
6666AA5E688052234F6758D8 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
DAC4C1AA5EDEA1C85E9CA5E6 /* Build configuration list for PBXProject "Packer" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3AA6C32AC930069E80220CF1 /* Debug */,
339EE1B2CC4FC24589A0EA95 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
/* End XCConfigurationList section */
};
rootObject = 6DB9C3763D02B1415CD9D565 /* Project object */;
}

View File

@@ -1,62 +0,0 @@
#############################################################################
# Makefile for building: ../Mac/DebugPacker/Packer.app/Contents/MacOS/Packer
# Initially generated by qmake
#############################################################################
MAKEFILE = project.pbxproj
QT_VER = 5.6.0
QT_DIR = /usr/local/tdesktop/Qt-$(QT_VER)
QT_MOC = $(QT_DIR)/bin/moc
LEX = flex
LEXFLAGS =
YACC = yacc
YACCFLAGS = -d
DEFINES = -D_DEBUG -DQT_WIDGETS_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -D__APPLE__ -D__GNUC__=4
INCPATH = -I$(QT_DIR)/mkspecs/macx-clang\
-I$(QT_DIR)/include/QtGui/$(QT_VER)/QtGui\
-I$(QT_DIR)/include/QtCore/$(QT_VER)/QtCore\
-I$(QT_VER)/include\
-IGeneratedFiles/Debug\
-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/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\
-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\
-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
DEL_FILE = rm -f
MOVE = mv -f
MOC_FILE = $(QT_MOC) $(DEFINES) $(INCPATH)
IMAGES =
PARSERS =
preprocess: $(PARSERS) compilers
clean preprocess_clean: parser_clean compiler_clean
parser_clean:
mocclean: compiler_moc_header_clean compiler_moc_source_clean
mocables: compiler_moc_header_make_all compiler_moc_source_make_all
check: first
compilers:
compiler_objective_c_make_all:
compiler_objective_c_clean:
compiler_rcc_make_all:
compiler_rcc_clean:
compiler_moc_header_make_all:
compiler_moc_header_clean:
compiler_moc_source_make_all:
compiler_moc_source_clean:
compiler_rez_source_make_all:
compiler_rez_source_clean:
compiler_yacc_decl_make_all:
compiler_yacc_decl_clean:
compiler_yacc_impl_make_all:
compiler_yacc_impl_clean:
compiler_lex_make_all:
compiler_lex_clean:
compiler_clean:

70
Telegram/Patches/gyp.diff Normal file
View File

@@ -0,0 +1,70 @@
diff --git a/pylib/gyp/generator/cmake.py b/pylib/gyp/generator/cmake.py
index a2b9629..68d7020 100644
--- a/pylib/gyp/generator/cmake.py
+++ b/pylib/gyp/generator/cmake.py
@@ -1070,6 +1070,23 @@ def WriteTarget(namer, qualified_target, target_dicts, build_dir, config_to_use,
output.write(')\n')
+ # Precompile header
+ precompiled_header = config.get('cmake_precompiled_header', '')
+ if precompiled_header:
+ precompiled_header_script = config.get('cmake_precompiled_header_script', '')
+ if not precompiled_header_script:
+ print ('ERROR: cmake_precompiled_header requires cmake_precompiled_header_script')
+ cmake_precompiled_header = NormjoinPath(path_from_cmakelists_to_gyp, precompiled_header)
+ cmake_precompiled_header_script = NormjoinPathForceCMakeSource(path_from_cmakelists_to_gyp, precompiled_header_script)
+ output.write('include(')
+ output.write(cmake_precompiled_header_script)
+ output.write(')\n')
+ output.write('add_precompiled_header(')
+ output.write(cmake_target_name)
+ output.write(' ')
+ output.write(cmake_precompiled_header)
+ output.write(')\n')
+
UnsetVariable(output, 'TOOLSET')
UnsetVariable(output, 'TARGET')
diff --git a/pylib/gyp/generator/xcode.py b/pylib/gyp/generator/xcode.py
index db99d6a..f8398cc 100644
--- a/pylib/gyp/generator/xcode.py
+++ b/pylib/gyp/generator/xcode.py
@@ -72,6 +72,10 @@ generator_additional_non_configuration_keys = [
'ios_app_extension',
'ios_watch_app',
'ios_watchkit_extension',
+
+ 'mac_sandbox', # sandbox support
+ 'mac_sandbox_development_team',
+
'mac_bundle',
'mac_bundle_resources',
'mac_framework_headers',
@@ -772,6 +776,26 @@ def GenerateOutput(target_list, target_dicts, data, params):
xcode_targets[qualified_target] = xct
xcode_target_to_target_dict[xct] = spec
+ # sandbox support
+ is_sandbox = int(spec.get('mac_sandbox', 0))
+ if is_sandbox:
+ dev_team = spec.get('mac_sandbox_development_team', '%%ERROR%%')
+ assert dev_team != '%%ERROR%%', (
+ 'mac_sandbox must be accompanied by mac_sandbox_development_team (target "%s")' %
+ target_name)
+ try:
+ tmp = pbxp._properties['attributes']['TargetAttributes']
+ except KeyError:
+ pbxp._properties['attributes']['TargetAttributes'] = {}
+ pbxp._properties['attributes']['TargetAttributes'][xct] = {
+ 'DevelopmentTeam': dev_team,
+ 'SystemCapabilities': {
+ 'com.apple.Sandbox': {
+ 'enabled': 1,
+ },
+ },
+ }
+
spec_actions = spec.get('actions', [])
spec_rules = spec.get('rules', [])

View File

@@ -0,0 +1,20 @@
diff --git a/build/crashpad.gypi b/build/crashpad.gypi
index 027c7b6..4bfdfb5 100644
--- a/build/crashpad.gypi
+++ b/build/crashpad.gypi
@@ -25,5 +25,15 @@
4201, # nonstandard extension used : nameless struct/union.
4324, # structure was padded due to __declspec(align()).
],
+ 'xcode_settings': {
+ 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
+ 'OTHER_LDFLAGS': [
+ '/usr/local/macold/lib/libc++.a',
+ '/usr/local/macold/lib/libc++abi.a',
+ ],
+ },
+ 'include_dirs': [
+ '/usr/local/macold/include/c++/v1',
+ ],
},
}

View File

@@ -0,0 +1,26 @@
diff --git a/build/common.gypi b/build/common.gypi
index 1affc70..c0d2f6a 100644
--- a/build/common.gypi
+++ b/build/common.gypi
@@ -66,6 +66,11 @@
'conditions': [
['clang!=0', {
'CLANG_CXX_LANGUAGE_STANDARD': 'c++11', # -std=c++11
+ 'OTHER_CPLUSPLUSFLAGS': [ '-nostdinc++' ],
+ 'OTHER_LDFLAGS': [
+ '/usr/local/macold/lib/libc++.a',
+ '/usr/local/macold/lib/libc++abi.a',
+ ],
# Don't link in libarclite_macosx.a, see http://crbug.com/156530.
'CLANG_LINK_OBJC_RUNTIME': 'NO', # -fno-objc-link-runtime
@@ -116,6 +121,9 @@
],
},
+ 'include_dirs': [
+ '/usr/local/macold/include/c++/v1',
+ ],
}],
['OS=="linux"', {

View File

@@ -0,0 +1,767 @@
diff --git a/configure b/configure
index cb8d78f..cadb3f0 100755
--- a/configure
+++ b/configure
@@ -511,7 +511,8 @@ if [ "$BUILD_ON_MAC" = "yes" ]; then
exit 2
fi
- if ! /usr/bin/xcrun -find xcrun >/dev/null 2>&1; then
+ # Patch: Fix Qt for working with Xcode 8.
+ if ! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1; then
echo >&2
echo " Xcode not set up properly. You may need to confirm the license" >&2
echo " agreement by running /usr/bin/xcodebuild without arguments." >&2
diff --git a/mkspecs/common/g++-macx.conf b/mkspecs/common/g++-macx.conf
index 086510d..c485967 100644
--- a/mkspecs/common/g++-macx.conf
+++ b/mkspecs/common/g++-macx.conf
@@ -14,7 +14,13 @@ QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
QMAKE_CXXFLAGS_RELEASE_WITH_DEBUGINFO += -gdwarf-2
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO += -g -gdwarf-2
-QMAKE_LFLAGS_STATIC_LIB += -all_load
+# Patch: Don't remember :(
+#QMAKE_LFLAGS_STATIC_LIB += -all_load
+
+# Patch: Use C++14 with custom libc++ build.
+QMAKE_CXXFLAGS_CXX11 = -std=c++1y
+QMAKE_CXXFLAGS += -nostdinc++ -I/usr/local/macold/include/c++/v1
+QMAKE_LFLAGS += /usr/local/macold/lib/libc++.a /usr/local/macold/lib/libc++abi.a
QMAKE_XCODE_GCC_VERSION = com.apple.compilers.llvmgcc42
diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
index 0cc8cd6..ca9725b 100644
--- a/mkspecs/features/mac/default_pre.prf
+++ b/mkspecs/features/mac/default_pre.prf
@@ -12,7 +12,9 @@ isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
# Make sure Xcode is set up properly
- isEmpty($$list($$system("/usr/bin/xcrun -find xcrun 2>/dev/null"))): \
+
+ # Patch: Fix Qt for working with Xcode 8.
+ isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))): \
error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")
}
diff --git a/src/gui/image/qbmphandler.cpp b/src/gui/image/qbmphandler.cpp
index bb79a13..5d595bc 100644
--- a/src/gui/image/qbmphandler.cpp
+++ b/src/gui/image/qbmphandler.cpp
@@ -220,6 +220,10 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int
int blue_scale = 0;
int alpha_scale = 0;
+ // Patch: Backport a fix for bmp reader.
+ if (!d->isSequential())
+ d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap
+
if (bi.biSize >= BMP_WIN4 || (comp == BMP_BITFIELDS && (nbits == 16 || nbits == 32))) {
if (d->read((char *)&red_mask, sizeof(red_mask)) != sizeof(red_mask))
return false;
@@ -307,8 +311,9 @@ static bool read_dib_body(QDataStream &s, const BMP_INFOHDR &bi, int offset, int
image.setDotsPerMeterX(bi.biXPelsPerMeter);
image.setDotsPerMeterY(bi.biYPelsPerMeter);
- if (!d->isSequential())
- d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap
+ // Patch: Backport a fix for bmp reader.
+ //if (!d->isSequential())
+ // d->seek(startpos + BMP_FILEHDR_SIZE + (bi.biSize >= BMP_WIN4? BMP_WIN : bi.biSize)); // goto start of colormap
if (ncols > 0) { // read color table
uchar rgb[4];
diff --git a/src/gui/painting/qpaintengine_p.h b/src/gui/painting/qpaintengine_p.h
index ebff950..4300ca4 100644
--- a/src/gui/painting/qpaintengine_p.h
+++ b/src/gui/painting/qpaintengine_p.h
@@ -87,8 +87,18 @@ public:
if (hasSystemTransform) {
if (systemTransform.type() <= QTransform::TxTranslate)
systemClip.translate(qRound(systemTransform.dx()), qRound(systemTransform.dy()));
- else
+ // Patch: Transform the system clip region back from device pixels to device-independent pixels before
+ // applying systemTransform, which already has transform from device-independent pixels to device pixels.
+ else {
+#ifdef Q_OS_MAC
+ QTransform scaleTransform;
+ const qreal invDevicePixelRatio = 1. / pdev->devicePixelRatio();
+ scaleTransform.scale(invDevicePixelRatio, invDevicePixelRatio);
+ systemClip = systemTransform.map(scaleTransform.map(systemClip));
+#else
systemClip = systemTransform.map(systemClip);
+#endif
+ }
}
// Make sure we're inside the viewport.
diff --git a/src/gui/text/qtextlayout.cpp b/src/gui/text/qtextlayout.cpp
index 4879ae5..56cdcba 100644
--- a/src/gui/text/qtextlayout.cpp
+++ b/src/gui/text/qtextlayout.cpp
@@ -654,6 +654,9 @@ int QTextLayout::nextCursorPosition(int oldPos, CursorMode mode) const
while (oldPos < len && !attributes[oldPos].graphemeBoundary)
oldPos++;
} else {
+ // Patch: Skip to the end of the current word, not to the start of the next one.
+ while (oldPos < len && attributes[oldPos].whiteSpace)
+ oldPos++;
if (oldPos < len && d->atWordSeparator(oldPos)) {
oldPos++;
while (oldPos < len && d->atWordSeparator(oldPos))
@@ -662,8 +665,9 @@ int QTextLayout::nextCursorPosition(int oldPos, CursorMode mode) const
while (oldPos < len && !d->atSpace(oldPos) && !d->atWordSeparator(oldPos))
oldPos++;
}
- while (oldPos < len && d->atSpace(oldPos))
- oldPos++;
+ // Patch: Skip to the end of the current word, not to the start of the next one.
+ //while (oldPos < len && d->atSpace(oldPos))
+ // oldPos++;
}
return oldPos;
@@ -1602,6 +1606,9 @@ namespace {
int currentPosition;
glyph_t previousGlyph;
+ // Patch: Backport a crash fix.
+ QFontEngine *previousGlyphFontEngine;
+
QFixed minw;
QFixed softHyphenWidth;
QFixed rightBearing;
@@ -1634,13 +1641,19 @@ namespace {
if (currentPosition > 0 &&
logClusters[currentPosition - 1] < glyphs.numGlyphs) {
previousGlyph = currentGlyph(); // needed to calculate right bearing later
+
+ // Patch: Backport a crash fix.
+ previousGlyphFontEngine = fontEngine;
}
}
- inline void adjustRightBearing(glyph_t glyph)
+ // Patch: Backport a crash fix.
+ inline void adjustRightBearing(QFontEngine *engine, glyph_t glyph)
{
qreal rb;
- fontEngine->getGlyphBearings(glyph, 0, &rb);
+
+ // Patch: Backport a crash fix.
+ engine->getGlyphBearings(glyph, 0, &rb);
rightBearing = qMin(QFixed(), QFixed::fromReal(rb));
}
@@ -1648,13 +1661,16 @@ namespace {
{
if (currentPosition <= 0)
return;
- adjustRightBearing(currentGlyph());
+
+ // Patch: Backport a crash fix.
+ adjustRightBearing(fontEngine, currentGlyph());
}
inline void adjustPreviousRightBearing()
{
if (previousGlyph > 0)
- adjustRightBearing(previousGlyph);
+ // Patch: Backport a crash fix.
+ adjustRightBearing(previousGlyphFontEngine, previousGlyph);
}
inline void resetRightBearing()
diff --git a/src/gui/text/qtextlayout.h b/src/gui/text/qtextlayout.h
index cbe42c3..b273db7 100644
--- a/src/gui/text/qtextlayout.h
+++ b/src/gui/text/qtextlayout.h
@@ -194,6 +194,9 @@ private:
QRectF *brect, int tabstops, int* tabarray, int tabarraylen,
QPainter *painter);
QTextEngine *d;
+
+ // Patch: Give access to the internal api.
+ friend class TextBlock;
};
diff --git a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
index ca7afb7..25ae500 100644
--- a/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
+++ b/src/platformsupport/fontdatabases/mac/qcoretextfontdatabase.mm
@@ -256,6 +256,13 @@ static void getFontDescription(CTFontDescriptorRef font, FontDescription *fd)
fd->foundryName = QStringLiteral("CoreText");
fd->familyName = (CFStringRef) CTFontDescriptorCopyAttribute(font, kCTFontFamilyNameAttribute);
+
+ // Patch: Fix open sans semibold loading.
+ QCFString _displayName = (CFStringRef) CTFontDescriptorCopyAttribute(font, kCTFontDisplayNameAttribute);
+ if (_displayName == QStringLiteral("Open Sans Semibold")) {
+ fd->familyName = _displayName;
+ }
+
fd->styleName = (CFStringRef)CTFontDescriptorCopyAttribute(font, kCTFontStyleNameAttribute);
fd->weight = QFont::Normal;
fd->style = QFont::StyleNormal;
diff --git a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
index 92358ec..694fee7 100644
--- a/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
+++ b/src/plugins/platforms/cocoa/qcocoaapplicationdelegate.mm
@@ -213,7 +213,8 @@ static void cleanupCocoaApplicationDelegate()
if (reflectionDelegate) {
if ([reflectionDelegate respondsToSelector:@selector(applicationShouldTerminate:)])
return [reflectionDelegate applicationShouldTerminate:sender];
- return NSTerminateNow;
+ // Patch: Don't terminate if reflectionDelegate does not respond to that selector, just use the default.
+ //return NSTerminateNow;
}
if ([self canQuit]) {
@@ -289,6 +290,11 @@ static void cleanupCocoaApplicationDelegate()
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
+ // Patch: We need to receive this notification in the delegate as well.
+ if (reflectionDelegate
+ && [reflectionDelegate respondsToSelector:@selector(applicationDidFinishLaunching:)])
+ [reflectionDelegate applicationDidFinishLaunching:aNotification];
+
Q_UNUSED(aNotification);
inLaunch = false;
// qt_release_apple_event_handler();
@@ -411,7 +417,9 @@ static void cleanupCocoaApplicationDelegate()
{
Q_UNUSED(replyEvent);
NSString *urlString = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
- QWindowSystemInterface::handleFileOpenEvent(QUrl(QCFString::toQString(urlString)));
+
+ // Patch: Fix opening of an external url by a protocol handler.
+ QWindowSystemInterface::handleFileOpenEvent(QUrl::fromNSURL([NSURL URLWithString:urlString]));
}
- (void)appleEventQuit:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
diff --git a/src/plugins/platforms/cocoa/qcocoacursor.mm b/src/plugins/platforms/cocoa/qcocoacursor.mm
index b81b9a0..4e59e83 100644
--- a/src/plugins/platforms/cocoa/qcocoacursor.mm
+++ b/src/plugins/platforms/cocoa/qcocoacursor.mm
@@ -81,7 +81,7 @@ void QCocoaCursor::setPos(const QPoint &position)
pos.x = position.x();
pos.y = position.y();
- CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, 0);
+ CGEventRef e = CGEventCreateMouseEvent(0, kCGEventMouseMoved, pos, kCGMouseButtonLeft);
CGEventPost(kCGHIDEventTap, e);
CFRelease(e);
}
diff --git a/src/plugins/platforms/cocoa/qcocoaintegration.mm b/src/plugins/platforms/cocoa/qcocoaintegration.mm
index 9fd05a6..dea6072 100644
--- a/src/plugins/platforms/cocoa/qcocoaintegration.mm
+++ b/src/plugins/platforms/cocoa/qcocoaintegration.mm
@@ -402,14 +402,24 @@ void QCocoaIntegration::updateScreens()
}
siblings << screen;
}
+
+ // Patch: Backport crash fix from Qt 5.6.1.
+ // Set virtual siblings list. All screens in mScreens are siblings, because we ignored the
+ // mirrors. Note that some of the screens we update the siblings list for here may be deleted
+ // below, but update anyway to keep the to-be-deleted screens out of the siblings list.
+ foreach (QCocoaScreen* screen, mScreens)
+ screen->setVirtualSiblings(siblings);
+
// Now the leftovers in remainingScreens are no longer current, so we can delete them.
foreach (QCocoaScreen* screen, remainingScreens) {
mScreens.removeOne(screen);
delete screen;
}
+
+ // Patch: Backport crash fix from Qt 5.6.1.
// All screens in mScreens are siblings, because we ignored the mirrors.
- foreach (QCocoaScreen* screen, mScreens)
- screen->setVirtualSiblings(siblings);
+ //foreach (QCocoaScreen* screen, mScreens)
+ // screen->setVirtualSiblings(siblings);
}
QCocoaScreen *QCocoaIntegration::screenAtIndex(int index)
diff --git a/src/plugins/platforms/cocoa/qcocoakeymapper.mm b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
index e46eaff..c62db53 100644
--- a/src/plugins/platforms/cocoa/qcocoakeymapper.mm
+++ b/src/plugins/platforms/cocoa/qcocoakeymapper.mm
@@ -382,6 +382,12 @@ bool QCocoaKeyMapper::updateKeyboard()
keyboardInputLocale = QLocale::c();
keyboardInputDirection = Qt::LeftToRight;
}
+
+ // Patch: Backport a fix for layout-independent keyboard shortcuts.
+ const auto newMode = keyboard_mode;
+ deleteLayouts();
+ keyboard_mode = newMode;
+
return true;
}
@@ -464,7 +470,8 @@ QList<int> QCocoaKeyMapper::possibleKeys(const QKeyEvent *event) const
Qt::KeyboardModifiers neededMods = ModsTbl[i];
int key = kbItem->qtKey[i];
if (key && key != baseKey && ((keyMods & neededMods) == neededMods)) {
- ret << int(key + (keyMods & ~neededMods));
+ // Patch: Backport a fix for layout-independent keyboard shortcuts.
+ ret << int(key + neededMods);
}
}
return ret;
diff --git a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
index 83c960d..03ae969 100755
--- a/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
+++ b/src/plugins/platforms/cocoa/qcocoasystemtrayicon.mm
@@ -102,7 +102,10 @@ QT_USE_NAMESPACE
QCocoaSystemTrayIcon *systray;
NSStatusItem *item;
QCocoaMenu *menu;
- bool menuVisible;
+
+ // Patch: Nice macOS tray icon support.
+ bool menuVisible, iconSelected;
+
QIcon icon;
QT_MANGLE_NAMESPACE(QNSImageView) *imageCell;
}
@@ -124,6 +127,10 @@ QT_USE_NAMESPACE
QT_MANGLE_NAMESPACE(QNSStatusItem) *parent;
}
-(id)initWithParent:(QT_MANGLE_NAMESPACE(QNSStatusItem)*)myParent;
+
+// Patch: Nice macOS tray icon support.
+-(void)updateIconSelection;
+
-(void)menuTrackingDone:(NSNotification*)notification;
-(void)mousePressed:(NSEvent *)mouseEvent button:(Qt::MouseButton)mouseButton;
@end
@@ -187,6 +194,19 @@ void QCocoaSystemTrayIcon::cleanup()
m_sys = 0;
}
+// Patch: Nice macOS tray icon support.
+namespace {
+
+qreal getDevicePixelRatio() {
+ qreal result = 1.0;
+ foreach (QScreen *screen, QGuiApplication::screens()) {
+ result = qMax(result, screen->devicePixelRatio());
+ }
+ return result;
+}
+
+} // namespace
+
void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
{
if (!m_sys)
@@ -194,13 +214,18 @@ void QCocoaSystemTrayIcon::updateIcon(const QIcon &icon)
m_sys->item->icon = icon;
- const bool menuVisible = m_sys->item->menu && m_sys->item->menuVisible;
+ // Patch: Nice macOS tray icon support.
+ //const bool menuVisible = m_sys->item->menu && m_sys->item->menuVisible;
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
- const short scale = hgt - 4;
+ const int padding = 0;
+ const int menuHeight = [[NSStatusBar systemStatusBar] thickness];
+ const int maxImageHeight = menuHeight - padding;
+
+ const short scale = maxImageHeight * getDevicePixelRatio();
QPixmap pm = m_sys->item->icon.pixmap(QSize(scale, scale),
- menuVisible ? QIcon::Selected : QIcon::Normal);
+ // Patch: Nice macOS tray icon support.
+ m_sys->item->iconSelected ? QIcon::Selected : QIcon::Normal);
if (pm.isNull()) {
pm = QPixmap(scale, scale);
pm.fill(Qt::transparent);
@@ -322,15 +347,16 @@ QT_END_NAMESPACE
return self;
}
--(void)menuTrackingDone:(NSNotification*)notification
+// Patch: Nice macOS tray icon support.
+-(void)updateIconSelection
{
- Q_UNUSED(notification);
- down = NO;
+ const int padding = 0;
+ const int menuHeight = [[NSStatusBar systemStatusBar] thickness];
+ const int maxImageHeight = menuHeight - padding;
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
- const short scale = hgt - 4;
-
- QPixmap pm = parent->icon.pixmap(QSize(scale, scale), QIcon::Normal);
+ const short scale = maxImageHeight * getDevicePixelRatio();
+ QPixmap pm = parent->icon.pixmap(QSize(scale, scale),
+ parent->iconSelected ? QIcon::Selected : QIcon::Normal);
if (pm.isNull()) {
pm = QPixmap(scale, scale);
pm.fill(Qt::transparent);
@@ -338,9 +364,19 @@ QT_END_NAMESPACE
NSImage *nsaltimage = static_cast<NSImage *>(qt_mac_create_nsimage(pm));
[self setImage: nsaltimage];
[nsaltimage release];
+}
+
+-(void)menuTrackingDone:(NSNotification*)notification
+{
+ Q_UNUSED(notification);
+ down = NO;
parent->menuVisible = false;
+ // Patch: Nice macOS tray icon support.
+ parent->iconSelected = false;
+ [self updateIconSelection];
+
[self setNeedsDisplay:YES];
}
@@ -350,18 +386,9 @@ QT_END_NAMESPACE
int clickCount = [mouseEvent clickCount];
[self setNeedsDisplay:YES];
- CGFloat hgt = [[[NSApplication sharedApplication] mainMenu] menuBarHeight];
- const short scale = hgt - 4;
-
- QPixmap pm = parent->icon.pixmap(QSize(scale, scale),
- parent->menuVisible ? QIcon::Selected : QIcon::Normal);
- if (pm.isNull()) {
- pm = QPixmap(scale, scale);
- pm.fill(Qt::transparent);
- }
- NSImage *nsaltimage = static_cast<NSImage *>(qt_mac_create_nsimage(pm));
- [self setImage: nsaltimage];
- [nsaltimage release];
+ // Patch: Nice macOS tray icon support.
+ parent->iconSelected = (clickCount != 2) && parent->menu;
+ [self updateIconSelection];
if (clickCount == 2) {
[self menuTrackingDone:nil];
@@ -380,6 +407,10 @@ QT_END_NAMESPACE
{
Q_UNUSED(mouseEvent);
[self menuTrackingDone:nil];
+
+ // Patch: Nice macOS tray icon support.
+ parent->iconSelected = false;
+ [self updateIconSelection];
}
- (void)rightMouseDown:(NSEvent *)mouseEvent
@@ -391,6 +422,10 @@ QT_END_NAMESPACE
{
Q_UNUSED(mouseEvent);
[self menuTrackingDone:nil];
+
+ // Patch: Nice macOS tray icon support.
+ parent->iconSelected = false;
+ [self updateIconSelection];
}
- (void)otherMouseDown:(NSEvent *)mouseEvent
@@ -405,7 +440,8 @@ QT_END_NAMESPACE
}
-(void)drawRect:(NSRect)rect {
- [[parent item] drawStatusBarBackgroundInRect:rect withHighlight:down];
+ // Patch: Nice macOS tray icon support.
+ [[parent item] drawStatusBarBackgroundInRect:rect withHighlight:parent->menu ? down : NO];
[super drawRect:rect];
}
@end
diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
index 4d0458a..fde238a 100644
--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
@@ -167,7 +167,8 @@ static bool isMouseEvent(NSEvent *ev)
if (!self.window.delegate)
return; // Already detached, pending NSAppKitDefined event
- if (pw && pw->frameStrutEventsEnabled() && isMouseEvent(theEvent)) {
+ // Patch: Fix events loss if the window was minimized or hidden.
+ if (pw && pw->frameStrutEventsEnabled() && pw->m_synchedWindowState != Qt::WindowMinimized && pw->m_isExposed && isMouseEvent(theEvent)) {
NSPoint loc = [theEvent locationInWindow];
NSRect windowFrame = [self.window legacyConvertRectFromScreen:[self.window frame]];
NSRect contentFrame = [[self.window contentView] frame];
@@ -914,6 +915,19 @@ void QCocoaWindow::setWindowFilePath(const QString &filePath)
[m_nsWindow setRepresentedFilename: fi.exists() ? QCFString::toNSString(filePath) : @""];
}
+// Patch: Nice macOS window icon.
+namespace {
+
+qreal getDevicePixelRatio() {
+ qreal result = 1.0;
+ foreach (QScreen *screen, QGuiApplication::screens()) {
+ result = qMax(result, screen->devicePixelRatio());
+ }
+ return result;
+}
+
+} // namespace
+
void QCocoaWindow::setWindowIcon(const QIcon &icon)
{
QCocoaAutoReleasePool pool;
@@ -929,7 +943,10 @@ void QCocoaWindow::setWindowIcon(const QIcon &icon)
if (icon.isNull()) {
[iconButton setImage:nil];
} else {
- QPixmap pixmap = icon.pixmap(QSize(22, 22));
+ // Patch: Nice macOS window icon.
+ CGFloat hgt = 16. * getDevicePixelRatio();
+ QPixmap pixmap = icon.pixmap(QSize(hgt, hgt));
+
NSImage *image = static_cast<NSImage *>(qt_mac_create_nsimage(pixmap));
[iconButton setImage:image];
[image release];
diff --git a/src/plugins/platforms/cocoa/qnsview.mm b/src/plugins/platforms/cocoa/qnsview.mm
index a18ee7f..1f91feb 100644
--- a/src/plugins/platforms/cocoa/qnsview.mm
+++ b/src/plugins/platforms/cocoa/qnsview.mm
@@ -393,7 +393,9 @@ static NSString *_q_NSWindowDidChangeOcclusionStateNotification = nil;
[self notifyWindowStateChanged:newState];
// NSWindowDidOrderOnScreenAndFinishAnimatingNotification is private API, and not
// emitted in 10.6, so we bring back the old behavior for that case alone.
- if (newState == Qt::WindowNoState && QSysInfo::QSysInfo::MacintoshVersion == QSysInfo::MV_10_6)
+
+ // Patch: Fix macOS window show after window was hidden.
+ if (newState == Qt::WindowNoState/* && QSysInfo::QSysInfo::MacintoshVersion == QSysInfo::MV_10_6*/)
m_platformWindow->exposeWindow();
} else if ([notificationName isEqualToString: @"NSWindowDidOrderOffScreenNotification"]) {
m_platformWindow->obscureWindow();
@@ -1300,7 +1302,9 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_8
if (QSysInfo::QSysInfo::MacintoshVersion >= QSysInfo::MV_10_8) {
// On 10.8 and above, MayBegin is likely to happen. We treat it the same as an actual begin.
- if (phase == NSEventPhaseMayBegin)
+
+ // Patch: Actual begin should be treated as begin as well.
+ if (phase == NSEventPhaseMayBegin || phase == NSEventPhaseBegan)
ph = Qt::ScrollBegin;
} else
#endif
@@ -1366,14 +1370,22 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
quint32 nativeVirtualKey = [nsevent keyCode];
QChar ch = QChar::ReplacementCharacter;
- int keyCode = Qt::Key_unknown;
- if ([characters length] != 0) {
- if (((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)) && ([charactersIgnoringModifiers length] != 0))
- ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
- else
- ch = QChar([characters characterAtIndex:0]);
- keyCode = [self convertKeyCode:ch];
- }
+
+ // Patch: Backport a fix for layout-independent shortcuts.
+ if ([characters length] != 0) // https://bugreports.qt.io/browse/QTBUG-42584
+ ch = QChar([characters characterAtIndex:0]);
+ else if ([charactersIgnoringModifiers length] != 0 && ((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)))
+ ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
+
+ int keyCode = [self convertKeyCode:ch];
+ //int keyCode = Qt::Key_unknown;
+ //if ([characters length] != 0) {
+ // if (((modifiers & Qt::MetaModifier) || (modifiers & Qt::AltModifier)) && ([charactersIgnoringModifiers length] != 0))
+ // ch = QChar([charactersIgnoringModifiers characterAtIndex:0]);
+ // else
+ // ch = QChar([characters characterAtIndex:0]);
+ // keyCode = [self convertKeyCode:ch];
+ //}
// we will send a key event unless the input method sets m_sendKeyEvent to false
m_sendKeyEvent = true;
@@ -1437,6 +1449,11 @@ static QTabletEvent::TabletDevice wacomTabletDevice(NSEvent *theEvent)
&& qtKey == Qt::Key_Period) {
[self handleKeyEvent:nsevent eventType:int(QEvent::KeyPress)];
return YES;
+
+ // Patch: Allow us to handle Ctrl+Tab and Ctrl+Backtab in the app.
+ } else if ([nsevent modifierFlags] & NSControlKeyMask && (qtKey == Qt::Key_Tab || qtKey == Qt::Key_Backtab)) {
+ [self handleKeyEvent:nsevent eventType:int(QEvent::KeyPress)];
+ return YES;
}
}
return [super performKeyEquivalent:nsevent];
diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp
index c680764..e2a7aaf 100644
--- a/src/tools/qlalr/lalr.cpp
+++ b/src/tools/qlalr/lalr.cpp
@@ -246,11 +246,13 @@ void Grammar::buildExtendedGrammar ()
non_terminals.insert (accept_symbol);
}
-struct _Nullable: public std::unary_function<Name, bool>
+// Patch: Fix building with the new SDK.
+struct __Nullable: public std::unary_function<Name, bool>
{
Automaton *_M_automaton;
- _Nullable (Automaton *aut):
+ // Patch: Fix building with the new SDK.
+ __Nullable (Automaton *aut):
_M_automaton (aut) {}
bool operator () (Name name) const
@@ -308,7 +310,8 @@ void Automaton::buildNullables ()
for (RulePointer rule = _M_grammar->rules.begin (); rule != _M_grammar->rules.end (); ++rule)
{
- NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (_Nullable (this)));
+ // Patch: Fix building with the new SDK.
+ NameList::iterator nn = std::find_if (rule->rhs.begin (), rule->rhs.end (), std::not1 (__Nullable (this)));
if (nn == rule->rhs.end ())
changed |= nullables.insert (rule->lhs).second;
@@ -643,7 +646,8 @@ void Automaton::buildIncludesDigraph ()
if (! _M_grammar->isNonTerminal (*A))
continue;
- NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (_Nullable (this)));
+ // Patch: Fix building with the new SDK.
+ NameList::iterator first_not_nullable = std::find_if (dot, rule->rhs.end (), std::not1 (__Nullable (this)));
if (first_not_nullable != rule->rhs.end ())
continue;
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 7396808..7178aec 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -4722,6 +4722,17 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
return; // Fully transparent.
Q_D(QWidget);
+
+ // Patch: save and restore dirtyOpaqueChildren field.
+ //
+ // Just like in QWidget::grab() this field should be restored
+ // after the d->render() call, because it will be set to 1 and
+ // opaqueChildren field will be filled with empty region in
+ // case the widget is hidden (because all the opaque children
+ // will be skipped in isVisible() check).
+ //
+ const bool oldDirtyOpaqueChildren = d->dirtyOpaqueChildren;
+
const bool inRenderWithPainter = d->extra && d->extra->inRenderWithPainter;
const QRegion toBePainted = !inRenderWithPainter ? d->prepareToRender(sourceRegion, renderFlags)
: sourceRegion;
@@ -4743,6 +4754,10 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
if (!inRenderWithPainter && (opacity < 1.0 || (target->devType() == QInternal::Printer))) {
d->render_helper(painter, targetOffset, toBePainted, renderFlags);
d->extra->inRenderWithPainter = inRenderWithPainter;
+
+ // Patch: save and restore dirtyOpaqueChildren field.
+ d->dirtyOpaqueChildren = oldDirtyOpaqueChildren;
+
return;
}
@@ -4774,6 +4789,9 @@ void QWidget::render(QPainter *painter, const QPoint &targetOffset,
d->setSharedPainter(oldPainter);
d->extra->inRenderWithPainter = inRenderWithPainter;
+
+ // Patch: save and restore dirtyOpaqueChildren field.
+ d->dirtyOpaqueChildren = oldDirtyOpaqueChildren;
}
static void sendResizeEvents(QWidget *target)
@@ -7983,7 +8001,8 @@ bool QWidget::event(QEvent *event)
case QEvent::KeyPress: {
QKeyEvent *k = (QKeyEvent *)event;
bool res = false;
- if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier))) { //### Add MetaModifier?
+ // Patch: Allow us to handle Ctrl+Tab and Ctrl+Backtab in the app.
+ if (!(k->modifiers() & (Qt::ControlModifier | Qt::AltModifier | Qt::MetaModifier))) { //### Add MetaModifier?
if (k->key() == Qt::Key_Backtab
|| (k->key() == Qt::Key_Tab && (k->modifiers() & Qt::ShiftModifier)))
res = focusNextPrevChild(false);
diff --git a/src/widgets/styles/qmacstyle_mac.mm b/src/widgets/styles/qmacstyle_mac.mm
index 0845a5e..5735cb6 100644
--- a/src/widgets/styles/qmacstyle_mac.mm
+++ b/src/widgets/styles/qmacstyle_mac.mm
@@ -3667,9 +3667,11 @@ void QMacStyle::drawControl(ControlElement ce, const QStyleOption *opt, QPainter
NSBezierPath *pushButtonFocusRingPath;
if (bdi.kind == kThemeBevelButton)
- pushButtonFocusRingPath = [NSBezierPath bezierPathWithRect:focusRect];
+ // Patch: Fix building with the new SDK.
+ pushButtonFocusRingPath = [NSBezierPath bezierPathWithRect:NSRectFromCGRect(focusRect)];
else
- pushButtonFocusRingPath = [NSBezierPath bezierPathWithRoundedRect:focusRect xRadius:4 yRadius:4];
+ // Patch: Fix building with the new SDK.
+ pushButtonFocusRingPath = [NSBezierPath bezierPathWithRoundedRect:NSRectFromCGRect(focusRect) xRadius:4 yRadius:4];
qt_drawFocusRingOnPath(cg, pushButtonFocusRingPath);
}
diff --git a/src/widgets/util/qsystemtrayicon_qpa.cpp b/src/widgets/util/qsystemtrayicon_qpa.cpp
index f98aeaf..00c0734 100644
--- a/src/widgets/util/qsystemtrayicon_qpa.cpp
+++ b/src/widgets/util/qsystemtrayicon_qpa.cpp
@@ -99,13 +99,18 @@ void QSystemTrayIconPrivate::updateIcon_sys()
void QSystemTrayIconPrivate::updateMenu_sys()
{
- if (qpa_sys && menu) {
- if (!menu->platformMenu()) {
- QPlatformMenu *platformMenu = qpa_sys->createMenu();
- if (platformMenu)
- menu->setPlatformMenu(platformMenu);
+ // Patch: Nice macOS tray icon support.
+ if (qpa_sys) {
+ if (menu) {
+ if (!menu->platformMenu()) {
+ QPlatformMenu *platformMenu = qpa_sys->createMenu();
+ if (platformMenu)
+ menu->setPlatformMenu(platformMenu);
+ }
+ qpa_sys->updateMenu(menu->platformMenu());
+ } else {
+ qpa_sys->updateMenu(0);
}
- qpa_sys->updateMenu(menu->platformMenu());
}
}
diff --git a/src/widgets/widgets/qwidgetlinecontrol.cpp b/src/widgets/widgets/qwidgetlinecontrol.cpp
index 75f3059..980f2be 100644
--- a/src/widgets/widgets/qwidgetlinecontrol.cpp
+++ b/src/widgets/widgets/qwidgetlinecontrol.cpp
@@ -1867,7 +1867,8 @@ void QWidgetLineControl::processKeyEvent(QKeyEvent* event)
if (unknown && !isReadOnly()) {
QString t = event->text();
- if (!t.isEmpty() && t.at(0).isPrint()) {
+ // Patch: Enable ZWJ and ZWNJ characters to be in text input.
+ if (!t.isEmpty() && (t.at(0).isPrint() || t.at(0).unicode() == 0x200C || t.at(0).unicode() == 0x200D)) {
insert(t);
#ifndef QT_NO_COMPLETER
complete(event->key());
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp
index 96438a0..b0b7206 100644
--- a/src/widgets/widgets/qwidgettextcontrol.cpp
+++ b/src/widgets/widgets/qwidgettextcontrol.cpp
@@ -1342,7 +1342,8 @@ void QWidgetTextControlPrivate::keyPressEvent(QKeyEvent *e)
process:
{
QString text = e->text();
- if (!text.isEmpty() && (text.at(0).isPrint() || text.at(0) == QLatin1Char('\t'))) {
+ // Patch: Enable ZWJ and ZWNJ characters to be in text input.
+ if (!text.isEmpty() && (text.at(0).isPrint() || text.at(0) == QLatin1Char('\t') || text.at(0).unicode() == 0x200C || text.at(0).unicode() == 0x200D)) {
if (overwriteMode
// no need to call deleteChar() if we have a selection, insertText
// does it already

View File

@@ -0,0 +1,47 @@
diff --git a/src/3rdparty/libwebp/src/dec/vp8l.c b/src/3rdparty/libwebp/src/dec/vp8l.c
index ea0254d..953ff01 100644
--- a/src/3rdparty/libwebp/src/dec/vp8l.c
+++ b/src/3rdparty/libwebp/src/dec/vp8l.c
@@ -12,7 +12,7 @@
// Authors: Vikas Arora (vikaas.arora@gmail.com)
// Jyrki Alakuijala (jyrki@google.com)
-#include <stdio.h>
+// Patch: Backport of a crash fix.
#include <stdlib.h>
#include "./alphai.h"
#include "./vp8li.h"
@@ -740,6 +740,10 @@ static int DecodeAlphaData(VP8LDecoder* const dec, uint8_t* const data,
const int len_code_limit = NUM_LITERAL_CODES + NUM_LENGTH_CODES;
const int mask = hdr->huffman_mask_;
assert(htree_group != NULL);
+
+ // Patch: Backport of a crash fix.
+ assert(pos < end);
+
assert(last_row <= height);
assert(Is8bOptimizable(hdr));
@@ -830,6 +834,10 @@ static int DecodeImageData(VP8LDecoder* const dec, uint32_t* const data,
(hdr->color_cache_size_ > 0) ? &hdr->color_cache_ : NULL;
const int mask = hdr->huffman_mask_;
assert(htree_group != NULL);
+
+ // Patch: Backport of a crash fix.
+ assert(src < src_end);
+
assert(src_last <= src_end);
while (!br->eos_ && src < src_last) {
@@ -1294,6 +1302,11 @@ int VP8LDecodeAlphaImageStream(ALPHDecoder* const alph_dec, int last_row) {
assert(dec->action_ == READ_DATA);
assert(last_row <= dec->height_);
+ // Patch: Backport of a crash fix.
+ if (dec->last_pixel_ == dec->width_ * dec->height_) {
+ return 1; // done
+ }
+
// Decode (with special row processing).
return alph_dec->use_8b_decode ?
DecodeAlphaData(dec, (uint8_t*)dec->pixels_, dec->width_, dec->height_,

View File

@@ -1,22 +1,22 @@
diff --git a/Alc/backends/winmm.c b/Alc/backends/winmm.c
index bf97ef2..1cd5774 100644
index 9d8f8e9..8c8e44a 100644
--- a/Alc/backends/winmm.c
+++ b/Alc/backends/winmm.c
@@ -221,7 +221,7 @@ FORCE_ALIGN static int ALCwinmmPlayback_mixerProc(void *arg)
@@ -219,7 +219,7 @@ FORCE_ALIGN static int ALCwinmmPlayback_mixerProc(void *arg)
SetRTPriority();
althrd_setname(althrd_current(), MIXER_THREAD_NAME);
- while(GetMessage(&msg, NULL, 0, 0))
+ if (!self->killNow) while(GetMessage(&msg, NULL, 0, 0))
+ if (!self->killNow) while(GetMessage(&msg, NULL, 0, 0))
{
if(msg.message != WOM_DONE)
continue;
@@ -506,7 +506,7 @@ static int ALCwinmmCapture_captureProc(void *arg)
@@ -504,7 +504,7 @@ static int ALCwinmmCapture_captureProc(void *arg)
althrd_setname(althrd_current(), RECORD_THREAD_NAME);
- while(GetMessage(&msg, NULL, 0, 0))
+ if (!self->killNow) while(GetMessage(&msg, NULL, 0, 0))
+ if (!self->killNow) while(GetMessage(&msg, NULL, 0, 0))
{
if(msg.message != WIM_DATA)
continue;

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 KiB

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 197 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 KiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 2.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 826 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 361 KiB

After

Width:  |  Height:  |  Size: 361 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 176 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -1,452 +0,0 @@
/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
In addition, as a special exception, the copyright holders give permission
to link the code of portions of this program with the OpenSSL library.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2016 John Preston, https://desktop.telegram.org
*/
textStyle {
linkFlags: font;
linkFlagsOver: font;
linkFg: color;
linkFgDown: color;
monoFg: color;
selectBg: color;
selectOverlay: color;
lineHeight: pixels;
}
linkButton {
color: color;
overColor: color;
downColor: color;
font: font;
overFont: font;
}
sysButton {
size: size;
img: sprite;
color: color;
overColor: color;
duration: int;
}
flatButton {
color: color;
overColor: color;
downColor: color;
bgColor: color;
overBgColor: color;
downBgColor: color;
width: pixels;
height: pixels;
textTop: pixels;
overTextTop: pixels;
downTextTop: pixels;
font: font;
overFont: font;
duration: int;
cursor: cursor;
radius: pixels;
}
iconedButton {
icon: sprite;
iconPos: point;
downIcon: sprite;
downIconPos: point;
color: color;
bgColor: color;
overBgColor: color;
width: pixels;
height: pixels;
font: font;
opacity: double;
overOpacity: double;
textPos: point;
downTextPos: point;
duration: int;
cursor: cursor;
}
flatCheckbox {
textColor: color;
bgColor: color;
disColor: color;
width: pixels;
height: pixels;
textTop: pixels;
textLeft: pixels;
font: font;
duration: int;
bgFunc: transition;
cursor: cursor;
disabledCursor: cursor;
imageRect: sprite;
chkImageRect: sprite;
overImageRect: sprite;
chkOverImageRect: sprite;
disImageRect: sprite;
chkDisImageRect: sprite;
imagePos: point;
}
flatInput {
textColor: color;
bgColor: color;
bgActive: color;
width: pixels;
height: pixels;
textMrg: margins;
align: align;
font: font;
cursor: cursor;
imgRect: sprite;
imgPos: point;
borderWidth: pixels;
borderColor: color;
borderActive: color;
borderError: color;
phColor: color;
phFocusColor: color;
phPos: point;
phAlign: align;
phShift: pixels;
phDuration: int;
phLeftFunc: transition;
phAlphaFunc: transition;
phColorFunc: transition;
}
flatTextarea {
textColor: color;
bgColor: color;
width: pixels;
textMrg: margins;
align: align;
font: font;
cursor: cursor;
phColor: color;
phFocusColor: color;
phPos: point;
phAlign: align;
phShift: pixels;
phDuration: int;
phLeftFunc: transition;
phAlphaFunc: transition;
phColorFunc: transition;
}
flatScroll {
barColor: color;
bgColor: color;
barOverColor: color;
bgOverColor: color;
round: pixels;
width: pixels;
minHeight: pixels;
deltax: pixels;
deltat: pixels;
deltab: pixels;
topsh: pixels;
bottomsh: pixels;
shColor: color;
duration: int;
hiding: int;
}
countryInput {
width: pixels;
height: pixels;
top: pixels;
bgColor: color;
ptrSize: size;
textMrg: margins;
font: font;
align: align;
}
slider {
color: color;
thickness: pixels;
width: pixels;
bar: sprite;
}
flatLabel {
font: font;
margin: margins;
width: pixels;
align: align;
textFg: color;
maxHeight: pixels;
}
switcher {
border: pixels;
borderColor: color;
bgColor: color;
bgHovered: color;
bgActive: color;
height: pixels;
font: font;
textColor: color;
activeColor: color;
duration: int;
}
dropdown {
border: pixels;
borderColor: color;
padding: margins;
shadow: sprite;
shadowShift: pixels;
duration: int;
width: pixels;
}
InnerDropdown {
padding: margins;
shadow: icon;
shadowShift: pixels;
duration: int;
width: pixels;
scrollMargin: margins;
scrollPadding: margins;
}
PopupMenu {
skip: pixels;
shadow: sprite;
shadowShift: pixels;
itemBg: color;
itemBgOver: color;
itemFg: color;
itemFgOver: color;
itemFgDisabled: color;
itemFgShortcut: color;
itemFgShortcutOver: color;
itemFgShortcutDisabled: color;
itemPadding: margins;
itemFont: font;
separatorPadding: margins;
separatorWidth: pixels;
separatorFg: color;
arrow: sprite;
duration: int;
widthMin: pixels;
widthMax: pixels;
}
Tooltip {
textBg: color;
textFg: color;
textFont: font;
textBorder: color;
textPadding: margins;
shift: point;
skip: pixels;
widthMax: pixels;
linesMax: int;
}
botKeyboardButton {
margin: pixels;
padding: pixels;
height: pixels;
textTop: pixels;
downTextTop: pixels;
}
RoundButton {
textFg: color;
textFgOver: color;
textBg: color; // rect of textBg with rounded rect of textBgOver upon it
textBgOver: color;
secondaryTextFg: color;
secondaryTextFgOver: color;
secondarySkip: pixels;
width: pixels;
height: pixels;
padding: margins;
textTop: pixels;
downTextTop: pixels;
icon: icon;
font: font;
duration: int;
}
Checkbox {
textFg: color;
textBg: color;
checkFg: color;
checkFgOver: color;
checkFgActive: color;
width: pixels;
height: pixels;
textPosition: point;
diameter: pixels;
thickness: pixels;
checkIcon: icon;
font: font;
duration: int;
}
Radiobutton {
textFg: color;
textBg: color;
checkFg: color;
checkFgOver: color;
checkFgActive: color;
width: pixels;
height: pixels;
textPosition: point;
diameter: pixels;
thickness: pixels;
checkSkip: pixels;
font: font;
duration: int;
}
InputArea {
textFg: color;
textMargins: margins;
placeholderFg: color;
placeholderFgActive: color;
placeholderMargins: margins;
placeholderAlign: align;
placeholderShift: pixels;
duration: int;
borderFg: color;
borderFgActive: color;
borderFgError: color;
border: pixels;
borderActive: pixels;
borderError: pixels;
font: font;
width: pixels;
heightMin: pixels;
heightMax: pixels;
}
InputField {
textFg: color;
textMargins: margins;
textAlign: align;
placeholderFg: color;
placeholderFgActive: color;
placeholderMargins: margins;
placeholderAlign: align;
placeholderShift: pixels;
duration: int;
borderFg: color;
borderFgActive: color;
borderFgError: color;
border: pixels;
borderActive: pixels;
borderError: pixels;
font: font;
width: pixels;
height: pixels;
iconSprite: sprite;
iconPosition: point;
}
PeerAvatarButton {
size: pixels;
photoSize: pixels;
}
OutlineButton {
outlineWidth: pixels;
outlineFg: color;
outlineFgOver: color;
textBg: color;
textBgOver: color;
textFg: color;
textFgOver: color;
font: font;
padding: margins;
}

View File

@@ -0,0 +1,504 @@
/*
This file is part of Telegram Desktop,
the official desktop version of Telegram messaging app, see https://telegram.org
Telegram Desktop is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
It is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
In addition, as a special exception, the copyright holders give permission
to link the code of portions of this program with the OpenSSL library.
Full license: https://github.com/telegramdesktop/tdesktop/blob/master/LICENSE
Copyright (c) 2014-2017 John Preston, https://desktop.telegram.org
*/
// basic
windowBg: #ffffff; // white: fallback for background
windowFg: #000000; // black: fallback for text
windowBgOver: #f1f1f1; // light gray: fallback for background with mouse over
windowBgRipple: #e5e5e5; // darker gray: fallback for ripple effect
windowFgOver: windowFg; // black: fallback for text with mouse over
windowSubTextFg: #999999; // gray: fallback for additional text
windowSubTextFgOver: #919191; // darker gray: fallback for additional text with mouse over
windowBoldFg: #222222; // dark gray: fallback for bold text
windowBoldFgOver: #222222; // dark gray: fallback for bold text with mouse over
windowBgActive: #40a7e3; // bright blue: fallback for blue filled active areas
windowFgActive: #ffffff; // white: fallback for text on active areas
windowActiveTextFg: #168acd; // online blue: fallback for active text like online status
windowShadowFg: #000000; // black: fallback for shadow
windowShadowFgFallback: #f1f1f1; // gray: fallback for shadow without opacity
shadowFg: #00000018; // most shadows (including opacity)
slideFadeOutBg: #0000003c; // slide animation (chat to profile) fade out filling
slideFadeOutShadowFg: windowShadowFg; // slide animation (chat to profile) fade out right section shadow
imageBg: #000000; // image background fallback (when photo size is less than minimum allowed)
imageBgTransparent: #ffffff; // image background when displaying an image with opacity where no opacity is needed
// widgets
activeButtonBg: windowBgActive; // default active button background
activeButtonBgOver: #39a5db; // default active button background with mouse over
activeButtonBgRipple: #2095d0; // default active button ripple effect
activeButtonFg: windowFgActive; // default active button text
activeButtonFgOver: activeButtonFg; // default active button text with mouse over
activeButtonSecondaryFg: #cceeff; // default active button additional text (selected messages counter in forward / delete buttons)
activeButtonSecondaryFgOver: activeButtonSecondaryFg; // default active button additional text with mouse over
activeLineFg: #37a1de; // default active line (like code input field bottom border when you log in and field is focused)
activeLineFgError: #e48383; // default active line for error state (like code input field bottom border when you log in and you've entered incorrect code)
lightButtonBg: windowBg; // default light button background (like buttons in boxes)
lightButtonBgOver: #e3f1fa; // default light button background with mouse over
lightButtonBgRipple: #c9e4f6; // default light button ripple effect
lightButtonFg: windowActiveTextFg; // default light button text
lightButtonFgOver: lightButtonFg; // default light button text with mouse over
attentionButtonFg: #d14e4e; // default attention button text (like confirm button on log out)
attentionButtonFgOver: #d14e4e; // default attention button text with mouse over
attentionButtonBgOver: #fcdfde; // default attention button background with mouse over
attentionButtonBgRipple: #f4c3c2; // default attention button ripple effect
outlineButtonBg: windowBg; // default left outlined button background (like shared media links in profiles)
outlineButtonBgOver: lightButtonBgOver; // default left outlined button background with mouse over
outlineButtonOutlineFg: windowBgActive; // default left outlined button left outline border
outlineButtonBgRipple: lightButtonBgRipple; // default left outlined button ripple effect
menuBg: windowBg; // default popup menu background
menuBgOver: windowBgOver; // default popup menu item background with mouse over
menuBgRipple: windowBgRipple; // default popup menu item ripple effect
menuIconFg: #a8a8a8; // default popup menu item icon (like main menu)
menuIconFgOver: #999999; // default popup menu item icon with mouse over
menuSubmenuArrowFg: #373737; // default popup menu submenu arrow icon (like in message field context menu in case of RTL system language)
menuFgDisabled: #cccccc; // default popup menu item disabled text (like unavailable items in message field context menu)
menuSeparatorFg: #f1f1f1; // default popup menu separator (like in message field context menu)
scrollBarBg: #00000053; // default scroll bar current rectangle, the bar itself (like in chats list)
scrollBarBgOver: #0000007a; // default scroll bar current rectangle with mouse over it
scrollBg: #0000001a; // default scroll bar background
scrollBgOver: #0000002c; // default scroll bar background with mouse over the scroll bar
smallCloseIconFg: #c7c7c7; // small X icon (like in Show all sessions box to the right for sessions termination)
smallCloseIconFgOver: #a3a3a3; // small X icon with mouse over
radialFg: windowFgActive; // default radial loader line (like in Media Viewer when loading a photo)
radialBg: #00000056; // default radial loader background (like in Media Viewer when loading a photo)
placeholderFg: windowSubTextFg; // default input field placeholder when field is not focused (like in phone input field when you log in)
placeholderFgActive: #aaaaaa; // default input field placeholder when field is focused
inputBorderFg: #e0e0e0; // default input field bottom border (like in code input field when you log in and field is not focused)
filterInputBorderFg: #54c3f3; // default rounded input field border (like in chats list search field when field is focused)
filterInputInactiveBg: windowBgOver; // default rounded input field background (like in chats list search field when field is inactive)
checkboxFg: #b3b3b3; // default unchecked checkbox rounded rectangle (and also emoji category icons)
sliderBgInactive: #e1eaef; // default slider not active bar (like in Settings when you choose interface scale or custom notifications count)
sliderBgActive: windowBgActive; // default slider active bar (like in Settings when you choose interface scale or custom notifications count)
tooltipBg: #eef2f5; // tooltip background (like when you put mouse over the message timestamp and wait)
tooltipFg: #5d6c80; // tooltip text
tooltipBorderFg: #c9d1db; // tooltip border
// custom title bar for Windows and macOS
titleShadow: #00000003; // one pixel line shadow at the bottom of custom window title
titleBg: windowBgOver; // custom window title background when window is inactive
titleBgActive: titleBg; // custom window title background when window is active
titleButtonBg: titleBg; // custom window title minimize/maximize/restore button background when window is inactive (Windows only)
titleButtonFg: #ababab; // custom window title minimize/maximize/restore button icon when window is inactive (Windows only)
titleButtonBgOver: #e5e5e5; // custom window title minimize/maximize/restore button background with mouse over when window is inactive (Windows only)
titleButtonFgOver: #9a9a9a; // custom window title minimize/maximize/restore button icon with mouse over when window is inactive (Windows only)
titleButtonBgActive: titleButtonBg; // custom window title minimize/maximize/restore button background when window is active (Windows only)
titleButtonFgActive: titleButtonFg; // custom window title minimize/maximize/restore button icon when window is active (Windows only)
titleButtonBgActiveOver: titleButtonBgOver; // custom window title minimize/maximize/restore button background with mouse over when window is active (Windows only)
titleButtonFgActiveOver: titleButtonFgOver; // custom window title minimize/maximize/restore button icon with mouse over when window is active (Windows only)
titleButtonCloseBg: titleButtonBg; // custom window title close button background when window is inactive (Windows only)
titleButtonCloseFg: titleButtonFg; // custom window title close button icon when window is inactive (Windows only)
titleButtonCloseBgOver: #e81123; // custom window title close button background with mouse over when window is inactive (Windows only)
titleButtonCloseFgOver: windowFgActive; // custom window title close button icon with mouse over when window is inactive (Windows only)
titleButtonCloseBgActive: titleButtonCloseBg; // custom window title close button background when window is active (Windows only)
titleButtonCloseFgActive: titleButtonCloseFg; // custom window title close button icon when window is active (Windows only)
titleButtonCloseBgActiveOver: titleButtonCloseBgOver; // custom window title close button background with mouse over when window is active (Windows only)
titleButtonCloseFgActiveOver: titleButtonCloseFgOver; // custom window title close button icon with mouse over when window is active (Windows only)
titleFg: #acacac; // custom window title text when window is inactive (macOS only)
titleFgActive: #3e3c3e; // custom window title text when window is active (macOS only)
// tray icon
trayCounterBg: #f23c34; // tray icon counter background
trayCounterBgMute: #888888; // tray icon counter background if all unread messages are muted
trayCounterFg: #ffffff; // tray icon counter text
trayCounterBgMacInvert: #ffffff; // tray icon counter background when tray icon is pressed or when dark theme of macOS is used (macOS only)
trayCounterFgMacInvert: #ffffff01; // tray icon counter text when tray icon is pressed or when dark theme of macOS is used (macOS only)
// layers
layerBg: #0000007f; // box and main menu background layer fade
cancelIconFg: menuIconFg; // default for settings close icon and box search cancel icon
cancelIconFgOver: menuIconFgOver; // default for settings close icon and box search cancel icon with mouse over
// boxes
boxBg: windowBg; // box background
boxTextFg: windowFg; // box text
boxTextFgGood: #4ab44a; // accepted box text (like when choosing username that is not occupied)
boxTextFgError: #d84d4d; // rejecting box text (like when choosing username that is occupied)
boxTitleFg: #404040; // box title text
boxSearchBg: boxBg; // box search field background (like in contacts box)
boxTitleAdditionalFg: #808080; // box title additional text (like in create group box when you see chosen members count)
boxTitleCloseFg: cancelIconFg; // settings close icon and box search cancel icon (like in contacts box)
boxTitleCloseFgOver: cancelIconFgOver; // settings close icon and box search cancel icon (like in contacts box) with mouse over
//boxSearchCancelIconFg: cancelIconFg; // search cancel X button icon (like in contacts box) (not implemented yet)
//boxSearchCancelIconFgOver: cancelIconFgOver; // search cancel X button icon with mouse over (not implemented yet)
membersAboutLimitFg: windowSubTextFgOver; // text in channel members box about the limit (max 200 last members are shown)
contactsBg: windowBg; // contacts (and some other) box row background
contactsBgOver: windowBgOver; // contacts (and some other) box row background with mouse over
contactsNameFg: boxTextFg; // contacts (and some other) box row name text
contactsStatusFg: windowSubTextFg; // contacts (and some other) box row additional text (like last seen stamp)
contactsStatusFgOver: windowSubTextFgOver; // contacts (and some other) box row additional text (like last seen stamp) with mouse over
contactsStatusFgOnline: windowActiveTextFg; // contacts (and some other) box row active additional text (like online status)
photoCropFadeBg: layerBg; // avatar crop box fade background (when choosing a new photo in Settings or for a group)
photoCropPointFg: #ffffff7f; // avatar crop box corner rectangles (when choosing a new photo in Settings or for a group)
// intro
introBg: windowBg; // login background
introTitleFg: windowBoldFg; // login title text
introDescriptionFg: windowSubTextFg; // login description text
introErrorFg: windowSubTextFg; // login error text (like when providing a wrong log in code)
introCoverTopBg: #0f89d0; // intro gradient top (from)
introCoverBottomBg: #39b0f0; // intro gradient bottom (to)
introCoverIconsFg: #5ec6ff; // intro cloud graphics
introCoverPlaneTrace: #5ec6ff69; // intro plane traces
introCoverPlaneInner: #c6d8e8; // intro plane part
introCoverPlaneOuter: #a1bed4; // intro plane part
introCoverPlaneTop: #ffffff; // intro plane part
// dialogs
dialogsMenuIconFg: menuIconFg; // main menu and lock telegram icon
dialogsMenuIconFgOver: menuIconFgOver; // main menu and lock telegram icon with mouse over
dialogsBg: windowBg; // chat list background
dialogsNameFg: windowBoldFg; // chat list name text
dialogsChatIconFg: dialogsNameFg; // chat list group or channel icon
dialogsDateFg: windowSubTextFg; // chat list date text
dialogsTextFg: windowSubTextFg; // chat list message text
dialogsTextFgService: windowActiveTextFg; // chat list group sender name text (or media message type text)
dialogsDraftFg: #dd4b39; // chat list draft label
dialogsVerifiedIconBg: windowBgActive; // chat list verified icon background
dialogsVerifiedIconFg: windowFgActive; // chat list verified icon check
dialogsSendingIconFg: #c1c1c1; // chat list sending message icon (clock)
dialogsSentIconFg: #5dc452; // chat list sent message tick / double tick icon
dialogsUnreadBg: windowBgActive; // chat list unread badge background for not muted chat
dialogsUnreadBgMuted: #bbbbbb; // chat list unread badge background for muted chat
dialogsUnreadFg: windowFgActive; // chat list unread badge text
dialogsBgOver: windowBgOver; // chat list background with mouse over
dialogsNameFgOver: windowBoldFgOver; // chat list name text with mouse over
dialogsChatIconFgOver: dialogsNameFgOver; // chat list group or channel icon with mouse over
dialogsDateFgOver: windowSubTextFgOver; // chat list date text with mouse over
dialogsTextFgOver: windowSubTextFgOver; // chat list message text with mouse over
dialogsTextFgServiceOver: dialogsTextFgService; // chat list group sender name text with mouse over
dialogsDraftFgOver: dialogsDraftFg; // chat list draft label with mouse over
dialogsVerifiedIconBgOver: dialogsVerifiedIconBg; // chat list verified icon background with mouse over
dialogsVerifiedIconFgOver: dialogsVerifiedIconFg; // chat list verified icon check with mouse over
dialogsSendingIconFgOver: dialogsSendingIconFg; // chat list sending message icon (clock) with mouse over
dialogsSentIconFgOver: dialogsSentIconFg; // chat list sent message tick / double tick icon with mouse over
dialogsUnreadBgOver: dialogsUnreadBg; // chat list unread badge background for not muted chat with mouse over
dialogsUnreadBgMutedOver: dialogsUnreadBgMuted; // chat list unread badge background for muted chat with mouse over
dialogsUnreadFgOver: dialogsUnreadFg; // chat list unread badge text with mouse over
dialogsBgActive: #419fd9; // chat list background for current (active) chat
dialogsNameFgActive: windowFgActive; // chat list name text for current (active) chat
dialogsChatIconFgActive: dialogsNameFgActive; // chat list group or channel icon for current (active) chat
dialogsDateFgActive: windowFgActive; // chat list date text for current (active) chat
dialogsTextFgActive: windowFgActive; // chat list message text for current (active) chat
dialogsTextFgServiceActive: dialogsTextFgActive; // chat list group sender name text for current (active) chat
dialogsDraftFgActive: #c6e1f7; // chat list draft label for current (active) chat
dialogsVerifiedIconBgActive: dialogsTextFgActive; // chat list verified icon background for current (active) chat
dialogsVerifiedIconFgActive: dialogsBgActive; // chat list verified icon check for current (active) chat
dialogsSendingIconFgActive: #ffffff99; // chat list sending message icon (clock) for current (active) chat
dialogsSentIconFgActive: dialogsTextFgActive; // chat list sent message tick / double tick icon for current (active) chat
dialogsUnreadBgActive: dialogsTextFgActive; // chat list unread badge background for not muted chat for current (active) chat
dialogsUnreadBgMutedActive: dialogsDraftFgActive; // chat list unread badge background for muted chat for current (active) chat
dialogsUnreadFgActive: dialogsBgActive; // chat list unread badge text for current (active) chat
dialogsForwardBg: dialogsBgActive; // forwarding panel background (when forwarding messages in the smallest window size)
dialogsForwardFg: dialogsNameFgActive; // forwarding panel text (when forwarding messages in the smallest window size)
searchedBarBg: windowBgOver; // search results bar background (in chats list, contacts box..)
searchedBarFg: windowSubTextFgOver; // search results bar text (in chats list, contacts box..)
// history
topBarBg: windowBg; // top bar background (in chat view, media overview..)
emojiPanBg: windowBg; // emoji panel background
emojiPanCategories: #f7f7f7 | windowBg; // emoji panel categories background
emojiPanHeaderFg: windowSubTextFg; // emoji panel section header text
emojiPanHeaderBg: #fffffff2 | emojiPanBg; // emoji panel section header background
stickerPanDeleteBg: #000000cc; // delete X button background for custom sent stickers in stickers panel (legacy)
stickerPanDeleteFg: windowFgActive; // delete X button icon for custom sent stickers in stickers panel (legacy)
stickerPreviewBg: #ffffffb0; // sticker and GIF preview background (when you press and hold on a sticker)
historyTextInFg: windowFg; // inbox message text
historyTextInFgSelected: historyTextInFg; // inbox message selected text or text in a selected message
historyTextOutFg: windowFg; // outbox message text
historyTextOutFgSelected: historyTextOutFg; // outbox message selected text or text in a selected message
historyLinkInFg: windowActiveTextFg; // inbox message link
historyLinkInFgSelected: historyLinkInFg; // inbox message link in a selected text or message
historyLinkOutFg: windowActiveTextFg; // outbox message link
historyLinkOutFgSelected: historyLinkOutFg; // outbox message link in a selected text or message
historyFileNameInFg: historyTextInFg; // inbox media filename text
historyFileNameInFgSelected: historyFileNameInFg; // inbox media filename text in a selected message
historyFileNameOutFg: historyTextOutFg; // outbox media filename text
historyFileNameOutFgSelected: historyFileNameOutFg; // outbox media filename text in a selected message
historyOutIconFg: dialogsSentIconFg; // outbox message tick / double tick icon
historyOutIconFgSelected: #4da79f; // outbox message tick / double tick icon in a selected message
historyIconFgInverted: windowFgActive; // media message tick / double tick icon (like in sent photo)
historySendingOutIconFg: #98d292; // outbox sending message icon (clock)
historySendingInIconFg: #a0adb5; // inbox sending message icon (clock) (like in sent messages to yourself or in sent messages to a channel)
historySendingInvertedIconFg: #ffffffc8; // media sending message icon (clock) (like in sent photo)
historyUnreadBarBg: #fcfbfa; // new unread messages bar background
historyUnreadBarBorder: shadowFg; // new unread messages bar shadow
historyUnreadBarFg: #538bb4; // new unread messages bar text
historyForwardChooseBg: #0000004c; // forwarding messages in a large window size "choose recipient" background
historyForwardChooseFg: windowFgActive; // forwarding messages in a large window size "choose recipient" text
historyPeer1NameFg: #c03d33; // red group member name
historyPeer1NameFgSelected: historyPeer1NameFg; // red group member name in a selected message
historyPeer1UserpicBg: #e17076; // red userpic background
historyPeer2NameFg: #4fad2d; // green group member name
historyPeer2NameFgSelected: historyPeer2NameFg; // green group member name in a selected message
historyPeer2UserpicBg: #7bc862; // green userpic background
historyPeer3NameFg: #d09306; // yellow group member name
historyPeer3NameFgSelected: historyPeer3NameFg; // yellow group member name in a selected message
historyPeer3UserpicBg: #e5ca77; // yellow userpic background
historyPeer4NameFg: windowActiveTextFg; // blue group member name
historyPeer4NameFgSelected: historyPeer4NameFg; // blue group member name in a selected message
historyPeer4UserpicBg: #65aadd; // blue userpic background
historyPeer5NameFg: #8544d6; // purple group member name
historyPeer5NameFgSelected: historyPeer5NameFg; // purple group member name in a selected message
historyPeer5UserpicBg: #a695e7; // purple userpic background
historyPeer6NameFg: #cd4073; // pink group member name
historyPeer6NameFgSelected: historyPeer6NameFg; // pink group member name in a selected message
historyPeer6UserpicBg: #ee7aae; // pink userpic background
historyPeer7NameFg: #2996ad; // sea group member name
historyPeer7NameFgSelected: historyPeer7NameFg; // sea group member name in a selected message
historyPeer7UserpicBg: #6ec9cb; // sea userpic background
historyPeer8NameFg: #ce671b; // orange group member name
historyPeer8NameFgSelected: historyPeer8NameFg; // orange group member name in a selected message
historyPeer8UserpicBg: #faa774; // orange userpic background
historyPeerUserpicFg: windowFgActive; // default userpic initials
// Some values are marked as (adjusted), it means they're adjusted by
// hue and saturation of the average background color if user chooses
// some other (not bundled to this color theme) background. If the
// bundled background is used those colors are not adjusted in any way.
historyScrollBarBg: #517c417a; // scroll bar current rectangle, the bar itself in the chat view (adjusted)
historyScrollBarBgOver: #517c41bc; // scroll bar current rectangle with mouse over it in the chat view (adjusted)
historyScrollBg: #517c414c; // scroll bar background (adjusted)
historyScrollBgOver: #517c416b; // scroll bar background with mouse over the scroll bar (adjusted)
msgInBg: windowBg; // inbox message background
msgInBgSelected: #c2dcf2; // inbox selected message background (and background of selected text in those messages)
msgOutBg: #effdde; // outbox message background
msgOutBgSelected: #b7dbdb; // outbox selected message background (and background of selected text in those messages)
msgSelectOverlay: #358cd44c; // overlay which is filling the media parts of selected messages (like in selected photo message)
msgStickerOverlay: #358cd47f; // overlay which is filling the selected sticker message
msgInServiceFg: windowActiveTextFg; // inbox message information text (like information about a forwarded message original sender)
msgInServiceFgSelected: windowActiveTextFg; // inbox selected message information text (like information about a forwarded message original sender)
msgOutServiceFg: #3a8e26; // outbox message information text (like information about a forwarded message original sender)
msgOutServiceFgSelected: #367570; // outbox message information text (like information about a forwarded message original sender)
msgInShadow: #748ea229; // inbox message shadow (below the bubble)
msgInShadowSelected: #548dbb29; // inbox selected message shadow (below the bubble)
msgOutShadow: #3ac34740; // outbox message shadow (below the bubble)
msgOutShadowSelected: #37a78e40; // outbox selected message shadow (below the bubble)
msgInDateFg: #a0acb6; // inbox message time text
msgInDateFgSelected: #6a9cc5; // inbox selected message time text
msgOutDateFg: #6cc264; // outbox message time text
msgOutDateFgSelected: #50a79c; // outbox selected message time text
msgServiceFg: windowFgActive; // service message text (like date dividers or service message about the group title being changed)
msgServiceBg: #517c417f; // service message background (like in a service message about group title being changed) (adjusted)
msgServiceBgSelected: #96b38ba2; // service message selected text background (like in a service message about group title being changed) (adjusted)
msgInReplyBarColor: activeLineFg; // inbox message reply outline
msgInReplyBarSelColor: activeLineFg; // inbox selected message reply outline
msgOutReplyBarColor: historyOutIconFg; // outbox message reply outline
msgOutReplyBarSelColor: historyOutIconFgSelected; // outbox selected message reply outline
msgImgReplyBarColor: msgServiceFg; // sticker message reply outline
msgInMonoFg: #4e7391; // inbox message monospace text (like a message sent with `test` text)
msgOutMonoFg: #469165; // outbox message monospace text
msgInMonoFgSelected: msgInMonoFg; // inbox message monospace text in a selected text or message
msgOutMonoFgSelected: msgOutMonoFg; // outbox message monospace text in a selected text or message
msgDateImgFg: msgServiceFg; // media message time text (like time text in a sent photo)
msgDateImgBg: #00000054; // media message time bubble background (like time bubble in a sent photo) or file with thumbnail download icon circle background
msgDateImgBgOver: #00000074; // media message download icon circle background with mouse over (like file with thumbnail download icon)
msgDateImgBgSelected: #1c4a7187; // selected media message time bubble background
msgFileThumbLinkInFg: lightButtonFg; // inbox media file message with thumbnail download / open with button text
msgFileThumbLinkInFgSelected: lightButtonFgOver; // inbox selected media file message with thumbnail download / open with button text
msgFileThumbLinkOutFg: #5eba5b; // outbox media file message with thumbnail download / open with button text
msgFileThumbLinkOutFgSelected: #31a298; // outbox selected media file message with thumbnail download / open with button text
msgFileInBg: windowBgActive; // inbox audio file download circle background
msgFileInBgOver: #4eade3; // inbox audio file download circle background with mouse over
msgFileInBgSelected: #51a3d3; // inbox selected audio file download circle background
msgFileOutBg: #78c67f; // outbox audio file download circle background
msgFileOutBgOver: #6bc272; // outbox audio file download circle background with mouse over
msgFileOutBgSelected: #5fb389; // outbox selected audio file download circle background
msgFile1Bg: #72b1df; // blue shared links / files without image square thumbnail
msgFile1BgDark: #5c9ece; // blue shared files without image download circle background
msgFile1BgOver: #5294c4; // blue shared files without image download circle background with mouse over
msgFile1BgSelected: #5099d0; // blue shared files without image download circle background if file is selected
msgFile2Bg: #61b96e; // green shared links / shared files without image square thumbnail
msgFile2BgDark: #4da859; // green shared files without image download circle background
msgFile2BgOver: #44a050; // green shared files without image download circle background with mouse over
msgFile2BgSelected: #46a07e; // green shared files without image download circle background if file is selected
msgFile3Bg: #e47272; // red shared links / shared files without image square thumbnail
msgFile3BgDark: #cd5b5e; // red shared files without image download circle background
msgFile3BgOver: #c35154; // red shared files without image download circle background with mouse over
msgFile3BgSelected: #9f6a82; // red shared files without image download circle background if file is selected
msgFile4Bg: #efc274; // yellow shared links / shared files without image square thumbnail
msgFile4BgDark: #e6a561; // yellow shared files without image download circle background
msgFile4BgOver: #dc9c5a; // yellow shared files without image download circle background with mouse over
msgFile4BgSelected: #b19d84; // yellow shared files without image download circle background if file is selected
historyFileInIconFg: msgInBg; // inbox file without thumbnail (like audio file) download arrow icon
historyFileInIconFgSelected: msgInBgSelected; // inbox selected file without thumbnail (like audio file) download arrow icon
historyFileInRadialFg: historyFileInIconFg; // inbox file without thumbnail (like audio file) radial download animation line
historyFileInRadialFgSelected: historyFileInIconFgSelected; // inbox selected file without thumbnail (like audio file) radial download animation line
historyFileOutIconFg: msgOutBg; // outbox file without thumbnail (like audio file) download arrow icon
historyFileOutIconFgSelected: msgOutBgSelected; // outbox selected file without thumbnail (like audio file) download arrow icon
historyFileOutRadialFg: historyFileOutIconFg; // outbox file without thumbnail (like audio file) radial download animation line
historyFileOutRadialFgSelected: historyFileOutIconFgSelected; // outbox selected file without thumbnail (like audio file) radial download animation line
historyFileThumbIconFg: msgInBg; // file with thumbnail (or photo / video) download arrow icon
historyFileThumbIconFgSelected: msgInBgSelected; // selected file with thumbnail (or photo / video) download arrow icon
historyFileThumbRadialFg: historyFileThumbIconFg; // file with thumbnail (or photo / video) radial download animation line
historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected; // selected file with thumbnail (or photo / video) radial download animation line
msgWaveformInActive: windowBgActive; // inbox voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInActiveSelected: #51a3d3; // inbox selected voice message active waveform lines (like played part of currently playing voice message)
msgWaveformInInactive: #d4dee6; // inbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformInInactiveSelected: #9cc1e1; // inbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformOutActive: #78c67f; // outbox voice message active waveform lines (like played part of currently playing voice message)
msgWaveformOutActiveSelected: #6badad; // outbox selected voice message active waveform lines (like played part of currently playing voice message)
msgWaveformOutInactive: #b3e2b4; // outbox voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgWaveformOutInactiveSelected: #91c3c3; // outbox selected voice message inactive waveform lines (like upcoming part of currently playing voice message)
msgBotKbOverBgAdd: #ffffff20; // this is painted over a bot inline keyboard button (which has msgServiceBg background) when mouse is over that button
msgBotKbIconFg: msgServiceFg; // bot inline keyboard button icon in the top-right corner (like in @vote bot when a poll is ready to be shared)
msgBotKbRippleBg: #00000020; // bot inline keyboard button ripple effect
mediaInFg: msgInDateFg; // inbox media message status text (like in file that is being downloaded)
mediaInFgSelected: msgInDateFgSelected; // inbox selected media message status text (like in file that is being downloaded)
mediaOutFg: msgOutDateFg; // outbox media message status text (like in file that is being downloaded)
mediaOutFgSelected: msgOutDateFgSelected; // outbox selected media message status text (like in file that is being downloaded)
youtubePlayIconBg: #e83131c8; // youtube play icon background (when a link to a youtube video with a webpage preview is sent)
youtubePlayIconFg: windowFgActive; // youtube play icon arrow (when a link to a youtube video with a webpage preview is sent)
videoPlayIconBg: #0000007f; // other video play icon background (like when a link to a vimeo video with a webpage preview is sent)
videoPlayIconFg: #ffffff; // other video play icon arrow (like when a link to a vimeo video with a webpage preview is sent)
toastBg: #000000b2; // toast notification background (like when you click on your t.me link when editing your username)
toastFg: windowFgActive; // toast notification text (like when you click on your t.me link when editing your username)
reportSpamBg: emojiPanHeaderBg; // report spam panel background (like a non contact user writes your for the first time)
reportSpamFg: windowFg; // report spam panel text (when you send a report from that panel)
historyToDownBg: windowBg; // arrow button background (to scroll to the end of the viewed chat)
historyToDownBgOver: windowBgOver; // arrow button background with mouse over
historyToDownBgRipple: windowBgRipple; // arrow button ripple effect
historyToDownFg: menuIconFg; // arrow button icon
historyToDownFgOver: menuIconFgOver; // arrow button icon with mouse over
historyToDownShadow: #00000040; // arrow button shadow
historyComposeAreaBg: msgInBg; // history compose area background (message write area / reply information / forwarding information)
historyComposeAreaFg: historyTextInFg; // history compose area text
historyComposeAreaFgService: msgInDateFg; // history compose area text when replying to a media message
historyComposeIconFg: menuIconFg; // history compose area icon (like emoji, attach, bot command..)
historyComposeIconFgOver: menuIconFgOver; // history compose area icon with mouse over
historySendIconFg: windowBgActive; // send message icon
historySendIconFgOver: windowBgActive; // send message icon with mouse over
historyPinnedBg: historyComposeAreaBg; // pinned message area background
historyReplyBg: historyComposeAreaBg; // reply / forward / edit message area background
historyReplyIconFg: windowBgActive; // reply / forward / edit message left icon
historyReplyCancelFg: cancelIconFg; // reply / forward / edit message cancel button
historyReplyCancelFgOver: cancelIconFgOver; // reply / forward / edit message cancel button with mouse over
historyComposeButtonBg: historyComposeAreaBg; // unblock / join channel / mute channel button background
historyComposeButtonBgOver: windowBgOver; // unblock / join channel / mute channel button background with mouse over
historyComposeButtonBgRipple: windowBgRipple; // unblock / join channel / mute channel button ripple effect
// overview
overviewCheckBg: #00000040; // shared files / links checkbox background for not selected rows when some rows are selected
overviewCheckFg: windowBg; // shared files / links checkbox icon for not selected rows when some rows are selected
overviewCheckFgActive: windowBg; // shared files / links checkbox icon for selected rows
overviewPhotoSelectOverlay: #40ace333; // shared photos / videos / links fill for selected rows
// profile
profileStatusFgOver: #7c99b2; // group members list in group profile user last seen text with mouse over
profileVerifiedCheckBg: windowBgActive; // profile verified check icon background
profileVerifiedCheckFg: windowFgActive; // profile verified check icon tick
profileAdminStartFg: windowBgActive; // group members list admin star icon
// settings
notificationsBoxMonitorFg: windowFg; // custom notifications settings box monitor color
notificationsBoxScreenBg: dialogsBgActive; // #6389a8; // custom notifications settings box monitor screen background
notificationSampleUserpicFg: windowBgActive; // custom notifications settings box small sample userpic placeholder
notificationSampleCloseFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample close button placeholder
notificationSampleTextFg: #d7d7d7 | windowSubTextFg; // custom notifications settings box small sample text placeholder
notificationSampleNameFg: #939393 | windowSubTextFg; // custom notifications settings box small sample name placeholder
mainMenuBg: windowBg; // main menu background
mainMenuCoverBg: dialogsBgActive; // main menu top cover background
mainMenuCoverFg: windowFgActive; // main menu top cover text
mediaPlayerBg: windowBg; // audio file player background
mediaPlayerActiveFg: windowBgActive; // audio file player playback progress already played part
mediaPlayerInactiveFg: sliderBgInactive; // audio file player playback progress upcoming (not played yet) part with mouse over
mediaPlayerDisabledFg: #9dd1ef; // audio file player loading progress (when you're playing an audio file and switch to the previous one which is not loaded yet)
// mediaview
mediaviewFileBg: windowBg; // file rectangle background (when you view a png file in Media Viewer and go to a previous, not loaded yet, file)
mediaviewFileNameFg: windowFg; // file name in file rectangle
mediaviewFileSizeFg: windowSubTextFg; // file size text in file rectangle
mediaviewFileRedCornerFg: #d55959; // red file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .pdf)
mediaviewFileYellowCornerFg: #e8a659; // yellow file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .zip)
mediaviewFileGreenCornerFg: #49a957; // green file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .exe)
mediaviewFileBlueCornerFg: #599dcf; // blue file thumbnail placeholder corner in file rectangle (for a file without thumbnail, like .dmg)
mediaviewFileExtFg: activeButtonFg; // file extension text in file thumbnail placeholder in file rectangle
mediaviewMenuBg: #383838; // context menu in Media Viewer background
mediaviewMenuBgOver: #505050; // context menu item background with mouse over
mediaviewMenuBgRipple: #676767; // context menu item ripple effect
mediaviewMenuFg: windowFgActive; // context menu item text
mediaviewBg: #222222eb; // Media Viewer background
mediaviewVideoBg: imageBg; // Media Viewer background when viewing a video in full screen
mediaviewControlBg: #0000003c; // controls background (like next photo / previous photo)
mediaviewControlFg: windowFgActive; // controls icon (like next photo / previous photo)
mediaviewCaptionBg: #11111180; // caption text background (when viewing photo with caption)
mediaviewCaptionFg: mediaviewControlFg; // caption text
mediaviewTextLinkFg: #91d9ff; // caption text link
mediaviewSaveMsgBg: toastBg; // save to file toast message background in Media Viewer
mediaviewSaveMsgFg: toastFg; // save to file toast message text
mediaviewPlaybackActive: #c7c7c7; // video playback progress already played part
mediaviewPlaybackInactive: #252525; // video playback progress upcoming (not played yet) part
mediaviewPlaybackActiveOver: #ffffff; // video playback progress already played part with mouse over
mediaviewPlaybackInactiveOver: #474747; // video playback progress upcoming (not played yet) part with mouse over
mediaviewPlaybackProgressFg: #ffffffc7; // video playback progress text
mediaviewPlaybackIconFg: mediaviewPlaybackActive; // video playback controls icon
mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver; // video playback controls icon with mouse over
mediaviewTransparentBg: #ffffff; // transparent filling part (when viewing a transparent .png file in Media Viewer)
mediaviewTransparentFg: #cccccc; // another transparent filling part
// notification
notificationBg: windowBg; // custom notification window background

View File

@@ -0,0 +1,409 @@
//
// This is a sample Telegram Desktop theme file.
// It was generated from the 'colors.palette' style file.
//
// To create a theme with a background image included you should
// put two files in a .zip archive:
//
// First one is the color scheme like the one you're viewing
// right now, this file should be named 'colors.tdesktop-theme'.
//
// Second one should be the background image and it can be named
// 'background.jpg', 'background.png', 'tiled.jpg' or 'tiled.png'.
// You should name it 'background' (if you'd like it not to be tiled),
// or it can be named 'tiled' (if you'd like it to be tiled).
//
// After that you need to change the extension of your .zip archive
// to 'tdesktop-theme', so you'll have:
//
// mytheme.tdesktop-theme
// |-colors.tdesktop-theme
// |-background.jpg (or tiled.jpg, background.png, tiled.png)
//
windowBg: #ffffff;
windowFg: #000000;
windowBgOver: #f1f1f1;
windowBgRipple: #e5e5e5;
windowFgOver: windowFg;
windowSubTextFg: #999999;
windowSubTextFgOver: #919191;
windowBoldFg: #222222;
windowBoldFgOver: #222222;
windowBgActive: #40a7e3;
windowFgActive: #ffffff;
windowActiveTextFg: #168acd;
windowShadowFg: #000000;
windowShadowFgFallback: #f1f1f1;
shadowFg: #00000018;
slideFadeOutBg: #0000003c;
slideFadeOutShadowFg: windowShadowFg;
imageBg: #000000;
imageBgTransparent: #ffffff;
activeButtonBg: windowBgActive;
activeButtonBgOver: #39a5db;
activeButtonBgRipple: #2095d0;
activeButtonFg: windowFgActive;
activeButtonFgOver: activeButtonFg;
activeButtonSecondaryFg: #cceeff;
activeButtonSecondaryFgOver: activeButtonSecondaryFg;
activeLineFg: #37a1de;
activeLineFgError: #e48383;
lightButtonBg: windowBg;
lightButtonBgOver: #e3f1fa;
lightButtonBgRipple: #c9e4f6;
lightButtonFg: windowActiveTextFg;
lightButtonFgOver: lightButtonFg;
attentionButtonFg: #d14e4e;
attentionButtonFgOver: #d14e4e;
attentionButtonBgOver: #fcdfde;
attentionButtonBgRipple: #f4c3c2;
outlineButtonBg: windowBg;
outlineButtonBgOver: lightButtonBgOver;
outlineButtonOutlineFg: windowBgActive;
outlineButtonBgRipple: lightButtonBgRipple;
menuBg: windowBg;
menuBgOver: windowBgOver;
menuBgRipple: windowBgRipple;
menuIconFg: #a8a8a8;
menuIconFgOver: #999999;
menuSubmenuArrowFg: #373737;
menuFgDisabled: #cccccc;
menuSeparatorFg: #f1f1f1;
scrollBarBg: #00000053;
scrollBarBgOver: #0000007a;
scrollBg: #0000001a;
scrollBgOver: #0000002c;
smallCloseIconFg: #c7c7c7;
smallCloseIconFgOver: #a3a3a3;
radialFg: windowFgActive;
radialBg: #00000056;
placeholderFg: windowSubTextFg;
placeholderFgActive: #aaaaaa;
inputBorderFg: #e0e0e0;
filterInputBorderFg: #54c3f3;
filterInputInactiveBg: windowBgOver;
checkboxFg: #b3b3b3;
sliderBgInactive: #e1eaef;
sliderBgActive: windowBgActive;
tooltipBg: #eef2f5;
tooltipFg: #5d6c80;
tooltipBorderFg: #c9d1db;
titleShadow: #00000003;
titleBg: windowBgOver;
titleBgActive: titleBg;
titleButtonBg: titleBg;
titleButtonFg: #ababab;
titleButtonBgOver: #e5e5e5;
titleButtonFgOver: #9a9a9a;
titleButtonBgActive: titleButtonBg;
titleButtonFgActive: titleButtonFg;
titleButtonBgActiveOver: titleButtonBgOver;
titleButtonFgActiveOver: titleButtonFgOver;
titleButtonCloseBg: titleButtonBg;
titleButtonCloseFg: titleButtonFg;
titleButtonCloseBgOver: #e81123;
titleButtonCloseFgOver: windowFgActive;
titleButtonCloseBgActive: titleButtonCloseBg;
titleButtonCloseFgActive: titleButtonCloseFg;
titleButtonCloseBgActiveOver: titleButtonCloseBgOver;
titleButtonCloseFgActiveOver: titleButtonCloseFgOver;
titleFg: #acacac;
titleFgActive: #3e3c3e;
trayCounterBg: #f23c34;
trayCounterBgMute: #888888;
trayCounterFg: #ffffff;
trayCounterBgMacInvert: #ffffff;
trayCounterFgMacInvert: #ffffff01;
layerBg: #0000007f;
cancelIconFg: menuIconFg;
cancelIconFgOver: menuIconFgOver;
boxBg: windowBg;
boxTextFg: windowFg;
boxTextFgGood: #4ab44a;
boxTextFgError: #d84d4d;
boxTitleFg: #404040;
boxSearchBg: boxBg;
boxTitleAdditionalFg: #808080;
boxTitleCloseFg: cancelIconFg;
boxTitleCloseFgOver: cancelIconFgOver;
membersAboutLimitFg: windowSubTextFgOver;
contactsBg: windowBg;
contactsBgOver: windowBgOver;
contactsNameFg: boxTextFg;
contactsStatusFg: windowSubTextFg;
contactsStatusFgOver: windowSubTextFgOver;
contactsStatusFgOnline: windowActiveTextFg;
photoCropFadeBg: layerBg;
photoCropPointFg: #ffffff7f;
introBg: windowBg;
introTitleFg: windowBoldFg;
introDescriptionFg: windowSubTextFg;
introErrorFg: windowSubTextFg;
introCoverTopBg: #0f89d0;
introCoverBottomBg: #39b0f0;
introCoverIconsFg: #5ec6ff;
introCoverPlaneTrace: #5ec6ff69;
introCoverPlaneInner: #c6d8e8;
introCoverPlaneOuter: #a1bed4;
introCoverPlaneTop: #ffffff;
dialogsMenuIconFg: menuIconFg;
dialogsMenuIconFgOver: menuIconFgOver;
dialogsBg: windowBg;
dialogsNameFg: windowBoldFg;
dialogsChatIconFg: dialogsNameFg;
dialogsDateFg: windowSubTextFg;
dialogsTextFg: windowSubTextFg;
dialogsTextFgService: windowActiveTextFg;
dialogsDraftFg: #dd4b39;
dialogsVerifiedIconBg: windowBgActive;
dialogsVerifiedIconFg: windowFgActive;
dialogsSendingIconFg: #c1c1c1;
dialogsSentIconFg: #5dc452;
dialogsUnreadBg: windowBgActive;
dialogsUnreadBgMuted: #bbbbbb;
dialogsUnreadFg: windowFgActive;
dialogsBgOver: windowBgOver;
dialogsNameFgOver: windowBoldFgOver;
dialogsChatIconFgOver: dialogsNameFgOver;
dialogsDateFgOver: windowSubTextFgOver;
dialogsTextFgOver: windowSubTextFgOver;
dialogsTextFgServiceOver: dialogsTextFgService;
dialogsDraftFgOver: dialogsDraftFg;
dialogsVerifiedIconBgOver: dialogsVerifiedIconBg;
dialogsVerifiedIconFgOver: dialogsVerifiedIconFg;
dialogsSendingIconFgOver: dialogsSendingIconFg;
dialogsSentIconFgOver: dialogsSentIconFg;
dialogsUnreadBgOver: dialogsUnreadBg;
dialogsUnreadBgMutedOver: dialogsUnreadBgMuted;
dialogsUnreadFgOver: dialogsUnreadFg;
dialogsBgActive: #419fd9;
dialogsNameFgActive: windowFgActive;
dialogsChatIconFgActive: dialogsNameFgActive;
dialogsDateFgActive: windowFgActive;
dialogsTextFgActive: windowFgActive;
dialogsTextFgServiceActive: dialogsTextFgActive;
dialogsDraftFgActive: #c6e1f7;
dialogsVerifiedIconBgActive: dialogsTextFgActive;
dialogsVerifiedIconFgActive: dialogsBgActive;
dialogsSendingIconFgActive: #ffffff99;
dialogsSentIconFgActive: dialogsTextFgActive;
dialogsUnreadBgActive: dialogsTextFgActive;
dialogsUnreadBgMutedActive: dialogsDraftFgActive;
dialogsUnreadFgActive: dialogsBgActive;
dialogsForwardBg: dialogsBgActive;
dialogsForwardFg: dialogsNameFgActive;
searchedBarBg: windowBgOver;
searchedBarFg: windowSubTextFgOver;
topBarBg: windowBg;
emojiPanBg: windowBg;
emojiPanCategories: #f7f7f7; // windowBg;
emojiPanHeaderFg: windowSubTextFg;
emojiPanHeaderBg: #fffffff2; // emojiPanBg;
stickerPanDeleteBg: #000000cc;
stickerPanDeleteFg: windowFgActive;
stickerPreviewBg: #ffffffb0;
historyTextInFg: windowFg;
historyTextOutFg: windowFg;
historyCaptionInFg: historyTextInFg;
historyCaptionOutFg: historyTextOutFg;
historyFileNameInFg: historyTextInFg;
historyFileNameOutFg: historyTextOutFg;
historyOutIconFg: dialogsSentIconFg;
historyOutIconFgSelected: #4da79f;
historyIconFgInverted: windowFgActive;
historySendingOutIconFg: #98d292;
historySendingInIconFg: #a0adb5;
historySendingInvertedIconFg: #ffffffc8;
historyUnreadBarBg: #fcfbfa;
historyUnreadBarBorder: shadowFg;
historyUnreadBarFg: #538bb4;
historyForwardChooseBg: #0000004c;
historyForwardChooseFg: windowFgActive;
historyPeer1NameFg: #c03d33;
historyPeer1UserpicBg: #e17076;
historyPeer2NameFg: #4fad2d;
historyPeer2UserpicBg: #7bc862;
historyPeer3NameFg: #d09306;
historyPeer3UserpicBg: #e5ca77;
historyPeer4NameFg: windowActiveTextFg;
historyPeer4UserpicBg: #65aadd;
historyPeer5NameFg: #8544d6;
historyPeer5UserpicBg: #a695e7;
historyPeer6NameFg: #cd4073;
historyPeer6UserpicBg: #ee7aae;
historyPeer7NameFg: #2996ad;
historyPeer7UserpicBg: #6ec9cb;
historyPeer8NameFg: #ce671b;
historyPeer8UserpicBg: #faa774;
historyPeerUserpicFg: windowFgActive;
historyScrollBarBg: #517c417a;
historyScrollBarBgOver: #517c41bc;
historyScrollBg: #517c414c;
historyScrollBgOver: #517c416b;
msgInBg: windowBg;
msgInBgSelected: #c2dcf2;
msgOutBg: #effdde;
msgOutBgSelected: #b7dbdb;
msgSelectOverlay: #358cd44c;
msgStickerOverlay: #358cd47f;
msgInServiceFg: windowActiveTextFg;
msgInServiceFgSelected: windowActiveTextFg;
msgOutServiceFg: #3a8e26;
msgOutServiceFgSelected: #367570;
msgInShadow: #748ea229;
msgInShadowSelected: #548dbb29;
msgOutShadow: #3ac34740;
msgOutShadowSelected: #37a78e40;
msgInDateFg: #a0acb6;
msgInDateFgSelected: #6a9cc5;
msgOutDateFg: #6cc264;
msgOutDateFgSelected: #50a79c;
msgServiceFg: windowFgActive;
msgServiceBg: #517c417f;
msgServiceBgSelected: #96b38ba2;
msgInReplyBarColor: activeLineFg;
msgInReplyBarSelColor: activeLineFg;
msgOutReplyBarColor: historyOutIconFg;
msgOutReplyBarSelColor: historyOutIconFgSelected;
msgImgReplyBarColor: msgServiceFg;
msgInMonoFg: #4e7391;
msgOutMonoFg: #469165;
msgDateImgFg: msgServiceFg;
msgDateImgBg: #00000054;
msgDateImgBgOver: #00000074;
msgDateImgBgSelected: #1c4a7187;
msgFileThumbLinkInFg: lightButtonFg;
msgFileThumbLinkInFgSelected: lightButtonFgOver;
msgFileThumbLinkOutFg: #5eba5b;
msgFileThumbLinkOutFgSelected: #31a298;
msgFileInBg: windowBgActive;
msgFileInBgOver: #4eade3;
msgFileInBgSelected: #51a3d3;
msgFileOutBg: #78c67f;
msgFileOutBgOver: #6bc272;
msgFileOutBgSelected: #5fb389;
msgFile1Bg: #72b1df;
msgFile1BgDark: #5c9ece;
msgFile1BgOver: #5294c4;
msgFile1BgSelected: #5099d0;
msgFile2Bg: #61b96e;
msgFile2BgDark: #4da859;
msgFile2BgOver: #44a050;
msgFile2BgSelected: #46a07e;
msgFile3Bg: #e47272;
msgFile3BgDark: #cd5b5e;
msgFile3BgOver: #c35154;
msgFile3BgSelected: #9f6a82;
msgFile4Bg: #efc274;
msgFile4BgDark: #e6a561;
msgFile4BgOver: #dc9c5a;
msgFile4BgSelected: #b19d84;
historyFileInIconFg: msgInBg;
historyFileInIconFgSelected: msgInBgSelected;
historyFileInRadialFg: historyFileInIconFg;
historyFileInRadialFgSelected: historyFileInIconFgSelected;
historyFileOutIconFg: msgOutBg;
historyFileOutIconFgSelected: msgOutBgSelected;
historyFileOutRadialFg: historyFileOutIconFg;
historyFileOutRadialFgSelected: historyFileOutIconFgSelected;
historyFileThumbIconFg: msgInBg;
historyFileThumbIconFgSelected: msgInBgSelected;
historyFileThumbRadialFg: historyFileThumbIconFg;
historyFileThumbRadialFgSelected: historyFileThumbIconFgSelected;
msgWaveformInActive: windowBgActive;
msgWaveformInActiveSelected: #51a3d3;
msgWaveformInInactive: #d4dee6;
msgWaveformInInactiveSelected: #9cc1e1;
msgWaveformOutActive: #78c67f;
msgWaveformOutActiveSelected: #6badad;
msgWaveformOutInactive: #b3e2b4;
msgWaveformOutInactiveSelected: #91c3c3;
msgBotKbOverBgAdd: #ffffff20;
msgBotKbIconFg: msgServiceFg;
msgBotKbRippleBg: #00000020;
mediaInFg: msgInDateFg;
mediaInFgSelected: msgInDateFgSelected;
mediaOutFg: msgOutDateFg;
mediaOutFgSelected: msgOutDateFgSelected;
youtubePlayIconBg: #e83131c8;
youtubePlayIconFg: windowFgActive;
videoPlayIconBg: #0000007f;
videoPlayIconFg: #ffffff;
toastBg: #000000b2;
toastFg: windowFgActive;
reportSpamBg: emojiPanHeaderBg;
reportSpamFg: windowFg;
historyToDownBg: windowBg;
historyToDownBgOver: windowBgOver;
historyToDownBgRipple: windowBgRipple;
historyToDownFg: menuIconFg;
historyToDownFgOver: menuIconFgOver;
historyToDownShadow: #00000040;
historyComposeAreaBg: msgInBg;
historyComposeAreaFg: historyTextInFg;
historyComposeAreaFgService: msgInDateFg;
historyComposeIconFg: menuIconFg;
historyComposeIconFgOver: menuIconFgOver;
historySendIconFg: windowBgActive;
historySendIconFgOver: windowBgActive;
historyPinnedBg: historyComposeAreaBg;
historyReplyBg: historyComposeAreaBg;
historyReplyIconFg: windowBgActive;
historyReplyCancelFg: cancelIconFg;
historyReplyCancelFgOver: cancelIconFgOver;
historyComposeButtonBg: historyComposeAreaBg;
historyComposeButtonBgOver: windowBgOver;
historyComposeButtonBgRipple: windowBgRipple;
overviewCheckBg: #00000040;
overviewCheckFg: windowBg;
overviewCheckFgActive: windowBg;
overviewPhotoSelectOverlay: #40ace333;
profileStatusFgOver: #7c99b2;
profileVerifiedCheckBg: windowBgActive;
profileVerifiedCheckFg: windowFgActive;
profileAdminStartFg: windowBgActive;
notificationsBoxMonitorFg: windowFg;
notificationsBoxScreenBg: dialogsBgActive;
notificationSampleUserpicFg: windowBgActive;
notificationSampleCloseFg: #d7d7d7; // windowSubTextFg;
notificationSampleTextFg: #d7d7d7; // windowSubTextFg;
notificationSampleNameFg: #939393; // windowSubTextFg;
mainMenuBg: windowBg;
mainMenuCoverBg: dialogsBgActive;
mainMenuCoverFg: windowFgActive;
mediaPlayerBg: windowBg;
mediaPlayerActiveFg: windowBgActive;
mediaPlayerInactiveFg: sliderBgInactive;
mediaPlayerDisabledFg: #9dd1ef;
mediaviewFileBg: windowBg;
mediaviewFileNameFg: windowFg;
mediaviewFileSizeFg: windowSubTextFg;
mediaviewFileRedCornerFg: #d55959;
mediaviewFileYellowCornerFg: #e8a659;
mediaviewFileGreenCornerFg: #49a957;
mediaviewFileBlueCornerFg: #599dcf;
mediaviewFileExtFg: activeButtonFg;
mediaviewMenuBg: #383838;
mediaviewMenuBgOver: #505050;
mediaviewMenuBgRipple: #676767;
mediaviewMenuFg: windowFgActive;
mediaviewBg: #222222eb;
mediaviewVideoBg: imageBg;
mediaviewControlBg: #0000003c;
mediaviewControlFg: windowFgActive;
mediaviewCaptionBg: #11111180;
mediaviewCaptionFg: mediaviewControlFg;
mediaviewTextLinkFg: #91d9ff;
mediaviewSaveMsgBg: toastBg;
mediaviewSaveMsgFg: toastFg;
mediaviewPlaybackActive: #c7c7c7;
mediaviewPlaybackInactive: #252525;
mediaviewPlaybackActiveOver: #ffffff;
mediaviewPlaybackInactiveOver: #474747;
mediaviewPlaybackProgressFg: #ffffffc7;
mediaviewPlaybackIconFg: mediaviewPlaybackActive;
mediaviewPlaybackIconFgOver: mediaviewPlaybackActiveOver;
mediaviewTransparentBg: #ffffff;
mediaviewTransparentFg: #cccccc;
notificationBg: windowBg;

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 316 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 579 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 B

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