Commit Graph

153 Commits

Author SHA1 Message Date
John Preston 1540f6f528 Use emoji/stickers/gifs slider in EmojiPan.
Also rename EmojiTabs to EmojiSections.
2017-03-31 15:48:01 +03:00
John Preston 929c55a2a1 Include only required moc_*.cpp in the build.
Use a python script to generate the list of sources to build.
Now we don't include moc_*.cpp files in build by default, instead
we list only non-empty ones.

If you change a header so that the corresponding moc_*.cpp changes
its emptyness you may need to gyp/refresh to apply this change.

This should speed up the build significantly on GCC.
2017-03-13 13:17:26 +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 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 6456a83a22 Finalizing files rename.
Also moved peer_avatar_button to ui/special_buttons.
2017-03-07 21:58:35 +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 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 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 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 ffc557a0f9 Using standard library instead of std_ namespace.
Currently tested only in VS2015.
2017-02-21 16:45:56 +03:00
John Preston d1d9e29ca5 Version 1.0.12: fix initial build_defines. 2017-02-19 14:02:35 +03: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 b842761ea3 Closed beta 1000006001: Built in theme and color palette editor. 2017-02-07 17:56:33 +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
John Preston 7fb1463c43 Version 1.0 stable: bump copyright date to 2017. 2017-01-11 23:02:13 +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 2436ad74bd Boxes redesigned. Common groups moved to Shared Media.
Also transparent images sending fixed.
2016-12-30 17:52:56 +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 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 8958ae0377 Typing animations from android. 2016-12-30 17:52:36 +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 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 9155591e8a New cancel search icon animation. 2016-12-30 17:52:24 +04:00
John Preston e880c4876e Strict alignment request for base::lambda. Various improvements. 2016-12-30 17:52:21 +04:00
John Preston 07689476a6 Closed beta 10019008: Some more ripple animations added. 2016-12-30 17:52:13 +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 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 3366e05b77 Rich dropdown animations. 2016-12-30 17:51:56 +04:00
John Preston 475b35bf55 Custom title on macOS 10.10+ added. 2016-12-30 17:51:51 +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 1466338e7e Closed beta 10019001: Build fixed for Xcode. 2016-12-30 17:51:34 +04:00
John Preston 5d10c02b5b Applying color themes with confirmation / reverting (15 seconds). 2016-12-30 17:51:32 +04:00
John Preston dbb6371e67 First version on loading themes is ready. 2016-12-30 17:51:27 +04: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 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 ff2d959abd Some icons moved from sprite. Ui::WidgetFadeWrap() effect added. 2016-10-26 13:06:00 +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 763b347a8f Moved a cute userpic checkbox from ShareBox to a separate class. 2016-10-22 18:59:32 +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 eb6b2c7d2e Merge branch 'master' into dev
Conflicts:
	Telegram/gyp/qt.gypi
2016-10-17 23:00:34 +03:00
John Preston fd6a312abc SPMediaKeyTap solution for macOS media keys added. 2016-10-17 17:57:14 +03:00
John Preston cf247384d3 Added an external virtual method / multimethod implementation. 2016-10-17 11:46:43 +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 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 1a67b31ee9 Travis build fixed.
Caching libxkbcommon, Qt, breakpad, GYP, libva, ffmpeg, openal-soft.
2016-10-09 10:43:56 +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 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 6db52f7fa9 LibNotify Linux notifications support added, testing. 2016-10-03 11:56:03 +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 ef2faf676e Version 0.10.9: langs updated, moved shadow icons to separate files. 2016-10-01 15:35:52 +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 f1f7333c7a Removed some old styles. Divided basic_types module to several. 2016-09-29 14:37:16 +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 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 f970ac3163 New audio player done (without playlist). 2016-09-23 19:04:26 +03:00
John Preston 37b5329af3 Merge branch 'games' into player 2016-09-16 13:44:00 +03:00
John Preston 298bd2a476 New player icons and sources created. 2016-09-15 19:32:49 +03:00
John Preston 86982da5f7 Merge branch 'master' into games
Conflicts:
	Telegram/Telegram.pro
2016-09-12 16:35:17 +03:00
John Preston 07e2eb4c57 Deploy script for Linux ready for GYP build. 2016-09-12 13:17:20 +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 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 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 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 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 d703746875 Telegram for macOS build from GYP ready, Xcode projects removed. 2016-08-29 20:27:02 -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 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
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