Commit Graph

212 Commits

Author SHA1 Message Date
John Preston ac99318f34 Use ranges:: algorithms instead of base:: 2017-11-20 16:24:00 +04:00
John Preston f1f955b7ac Pass already-members when adding members to channel. 2017-11-19 18:41:52 +04:00
John Preston 47a52b0587 Moved several modules from history/ to data/. 2017-11-16 07:59:09 +04:00
John Preston 554eb3a342 Move stickers state variables to AuthSessionData.
Also allow to click on the selected set when choosing megagroup
sticker set and allow to paste a t.me link to the set there.
2017-11-16 07:59:09 +04:00
John Preston eb2719fad1 Added search to files and links shared media. 2017-11-16 07:59:08 +04:00
John Preston a27edcad1c Extract SparseIdsList module from SharedMedia.
This way it can be reused in search results management.
2017-11-16 07:59:08 +04:00
John Preston fb46c33d7f Add context menu support to info members list. 2017-11-16 07:59:07 +04:00
John Preston f107866b42 Add basic click handler support to info shared media. 2017-11-16 07:59:06 +04:00
John Preston 65cc4d3fbc Support item repaint in Info media overview. 2017-11-16 07:59:06 +04:00
John Preston 0c4bda71fd Remove some unused / rare phrases. 2017-11-16 07:59:05 +04:00
John Preston ffc20e4492 Divide structs into several data/ modules. 2017-11-16 07:59:04 +04:00
John Preston b9fb9af74f Info shared media and common groups counters. 2017-11-16 07:59:04 +04:00
John Preston 088d23d557 Start new Info section (profile + shared media). 2017-11-16 07:59:02 +04:00
John Preston 2690618da2 Add Storage::UserPhotos and UserPhotosSlice. 2017-11-16 07:59:02 +04:00
John Preston 2363a6bd44 Add SharedMediaSlice to observe shared media.
Start testing / using it in MediaView.
2017-11-16 07:59:02 +04:00
John Preston aca957595a Version 1.1.23.
- See the message author photo and name
while searching specific chat messages.
- Fix "Send To" menu action on Windows.
2017-09-05 20:38:38 +03:00
John Preston 25ffaaaa2d Replace t_assert() with Assert().
Also use this assertions for Expects(), Ensures() and Unexpected().
2017-08-30 19:15:42 +03:00
John Preston b3da99c302 Replace gsl::not_null<T*> with just not_null<T*>. 2017-08-30 19:15:41 +03:00
John Preston e13ed9b909 Remove main()->peerUpdated and some other signals. 2017-08-30 19:15:36 +03:00
John Preston 0880c01a20 Replace group admins ContactsBox with PeerListBox. 2017-08-30 19:15:28 +03:00
John Preston e209737b1a Display and follow unread mentions in history. 2017-08-30 19:15:13 +03:00
John Preston f04b25ea26 Allow setting group stickers set. 2017-08-25 14:39:19 +03:00
John Preston ab35829358 Remove App::app(), App::uploader(), App::api().
Also use Auth() instead of AuthSession::Current*().
2017-08-25 14:39:18 +03:00
John Preston cb5b6d0cb8 Add megagroup stickerset to StickersListWidget. 2017-08-25 14:39:13 +03:00
John Preston d44b303fb3 Suggest faved stickers by emoji.
Request added faved sticker emoji if its pack is not loaded yet.
2017-08-25 14:39:12 +03:00
John Preston 070456882e Manage faved stickers from sticker context menu. 2017-08-25 14:39:09 +03:00
John Preston 667eb288d7 Add faved stickers set loading and saving.
Also move stickers loading methods to ApiWrap.
2017-08-25 12:58:13 +03:00
John Preston 91fda6b654 Add search from group member button to dialogs. 2017-08-01 21:15:02 +03:00
John Preston 2e5930eb58 Update full peer in profile and settings.
Not more than once in five seconds get the full info to update bio.
2017-07-26 14:53:49 +03:00
John Preston cf02a4cc31 API scheme updated to layer 70. 2017-07-23 12:34:40 +03:00
John Preston 1618daaeae Alpha 1.1.14.
- Bug fixes and other minor improvements.
2017-07-19 11:35:37 +03:00
John Preston 58b79ab112 Alpha 1.1.13.
- Various bug fixes.
2017-07-14 15:31:22 +03:00
John Preston 949104d879 Improve queued by pts updates handling.
The updates are ordered by pts and applied in the correct order.
Also some pts-dependent updates handling was moved to ApiWrap.
2017-07-14 14:57:05 +03:00
John Preston 56cb5ac9c6 Alpha 1.1.12: Search in supergroup for count > 50.
Also move search in supergroup members to Actions profile block.
2017-07-11 21:40:51 +03:00
John Preston 76cafc5059 Alpha 1.1.12.
- Click on forwarded messages bar to change the recipient chat
in case you chose a wrong one first.
- Quickly share posts from channels and media messages from bots.
- Search in supergroup members by name.
- Search in channel members by name if you're a channel admin.
- Copy links to messages in public supergroups.
2017-07-11 20:28:37 +03:00
John Preston f6eccf85dc Alpha 1.1.11.
- Send **bold** and __italic__ text in your messages (in addition
to already supported `monospace` and ```multiline monospace```).
- Search in channel and supergroup admin event log.
- Ban members from right click menu in supergroup admin event log.
2017-07-06 20:11:25 +03:00
John Preston da0d78135d Some refactoring in working with text entities.
Also move this code to TextUtilities namespace.
2017-07-06 14:37:42 +03:00
John Preston f38fad2f92 Correctly apply edit admin in channel.
For example update adminCount / membersCount. For that we pass not
only the newRights values, but also oldRights values to applyEdit*().
2017-07-06 00:11:49 +03:00
John Preston 397797aac7 Add default changelog for the new stable version.
Also add a non-translated changelog for the new alpha/beta versions.
2017-07-04 18:32:04 +03:00
John Preston 42febdb240 Fix alpha version changelog notification.
We should call window->serviceNotification() because it checks for
the service chat history being loaded before adding the message.

The method in MainWidget was renamed to prevent bugs in the future.
2017-06-30 14:30:11 +03:00
John Preston 7b496b3741 Improve in-app changelogs for alpha version. 2017-06-30 13:32:10 +03:00
John Preston 197cdc3928 Alpha 1.1.8.
- Toggle night mode in the main menu.
2017-06-30 09:23:31 +03:00
John Preston 4993ff1921 Finalize rename / move. 2017-06-30 09:21:45 +03:00
John Preston 7d2d5c6100 Edit admin and restricted rights in channels. 2017-06-29 11:40:11 +03:00
John Preston 513a9f8d45 Add rich supergroup/channel admin support. 2017-06-29 11:40:10 +03:00
John Preston 330b4a0b00 API scheme updated to layer 68. 2017-06-29 11:40:08 +03:00
John Preston 5d0e89db5d Switch to the server side changelogs. 2017-06-29 11:40:00 +03:00
John Preston 139d4e72b5 Start cloud langpack support.
Change the way langpacks are stored.
Support custom langpacks in the new storage.
2017-06-29 11:39:42 +03:00
John Preston 110e7c8074 Finalize rename / move. 2017-06-29 11:39:38 +03:00
John Preston e050e270fc Try to hangup current call when quitting the app. 2017-05-09 23:46:26 +03:00
John Preston 30d000e139 Toggle calls controls using config and user flags.
Also use calls timeout values from config.
Also request config each time when the auth session changes.
2017-05-09 23:46:22 +03:00
John Preston d4af14041c Fix build for OS X 10.6-10.7.
Qt 5.3.2 doesn't support QTimer::singleShot(delay, lambda).
2017-04-11 18:44:11 +03:00
John Preston 330fc35800 Move some classes to separate modules.
MessageField, BotKeyboard, HistoryInner from historywidget.
2017-04-08 16:31:58 +03:00
John Preston 38f94c63e9 Add blocked users list in supergroups profiles. 2017-04-07 18:13:22 +03:00
John Preston 34ab04cbe6 Add lambda-based checked timers.
Also ApiWrap is now not a QObject.
2017-04-07 18:13:21 +03:00
John Preston 0d0307e175 Move ApiWrap to AuthSession.
Also send all ApiWrap requests as an MTP::Sender.
Also create AuthSession only after starting MTProto.
2017-04-07 18:13:19 +03:00
John Preston 835b1801bc Remove Q_OBJECT dependency from ApiWrap.
Also remove it from SingleDelayedCall -> SingleQueuedInvocation.
2017-04-07 18:13:19 +03:00
John Preston 5444b8166c Finalize rename / move of files. 2017-04-07 18:13:18 +03:00
John Preston d41372dccd Allow MTP_flags(0) and MTP_flags(single_flag). 2017-03-25 18:42:01 +03:00
John Preston fc77b0a51c Save privacy in ApiWrap. Handle privacy updates. 2017-03-18 12:49:47 +03:00
John Preston d91a2403b0 Use refs in AuthSession part getters.
Also use only AuthSession data for Contacts/Dialogs loaded state.
2017-03-15 19:24:06 +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 81790b2271 Notifications management moved to AuthSession.
Also implemented Global::WorkMode() as an base::Variable.
2017-03-06 18:38:15 +03:00
John Preston 83720d8789 Finalizing file renaming. 2017-03-04 13:23:56 +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 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 63c61637f8 Moved MTP::authedId() to AuthSession::Current(). 2017-02-25 19:48:19 +03: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 b842761ea3 Closed beta 1000006001: Built in theme and color palette editor. 2017-02-07 17:56:33 +03:00
John Preston 7fb1463c43 Version 1.0 stable: bump copyright date to 2017. 2017-01-11 23:02:13 +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 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 b0f14d1856 Closed beta 10019011: various style improvements. 2016-12-30 17:52:39 +04:00
John Preston 6e0394dd42 Stickers box redesigned. 2016-12-30 17:52:28 +04:00
John Preston e880c4876e Strict alignment request for base::lambda. Various improvements. 2016-12-30 17:52:21 +04:00
John Preston e693a98bd4 Passcode lock button added to DialogsWidget. 2016-12-30 17:51:40 +04:00
John Preston dbb6371e67 First version on loading themes is ready. 2016-12-30 17:51:27 +04:00
John Preston 90a4b66366 New media type Game added. Display of Game partially supported. 2016-09-27 16:37:18 +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 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 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 81850b78c7 Writing installed, featured, recent and archived stickers separately. 2016-07-21 13:09:47 +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 95c050081c Cloud recent sticker sets supported. 2016-07-15 18:58:52 +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 a428534345 Cloud draft handling improved. Fixed Edit while already editing a msg. 2016-06-09 17:31:10 +03:00
John Preston 1859b83e8d Dialog styles moved from basic.style to dialogs.style.
Many minor design improvements in the new profiles.
New drafts design in the dialogs list: no icon, red badge.
Verified checkbox added to the new profile implementation.
Drafts saving to cloud is delayed for 1 second when switching chats.
Before quitting the app makes an attempt to save drafts (timeout 1.5s).
2016-06-07 22:59:39 +03:00
John Preston 520260f207 Merge branch 'profile' into drafts
Conflicts:
	Telegram/SourceFiles/app.cpp
	Telegram/SourceFiles/codegen/style/processor.cpp
	Telegram/SourceFiles/history.cpp
	Telegram/SourceFiles/historywidget.cpp
	Telegram/SourceFiles/mainwidget.cpp
	Telegram/SourceFiles/mainwidget.h
	Telegram/SourceFiles/profilewidget.cpp
	Telegram/SourceFiles/profilewidget.h
	Telegram/Telegram.vcxproj
	Telegram/Telegram.vcxproj.filters
2016-06-06 18:16:52 +03:00
John Preston ea8f01bd74 Members block almost done in the new profile implementation.
Member kicking, upgrade to supergroup and testing is left.
2016-06-03 10:20:24 +03:00
John Preston 91d516f18c Notify::peerUpdatedSendDelayed() now is always called from the event loop. 2016-06-02 16:57:49 +03:00
John Preston 2c4ec3d9f3 Shared media block done in the new profile implementation.
Preparing to call Notify::peerUpdatedSendDelayed() only from event loop.
2016-06-02 16:02:55 +03:00
John Preston 3fc7cc3453 Actions block done for the new profile implementation.
User block status moved to private data.
Notify::PeerUpdateFlag[s] moved to Notify::PeerUpdate::Flag[s].
2016-06-01 23:05:37 +03:00
John Preston 66a8aa86e1 Settings block in the new profile implementation done.
New type of button (LeftOutlineButton) was added. _inviteLink moved
to private section in ChatData and ChannelData (with get-set methods).
2016-06-01 16:07:03 +03:00
John Preston 41c8df029a New profile blocks started. Info block fully ready.
All block widgets added (currently empty).
About text and phone number PeerUpdateFlag added for observers.
2016-05-31 22:27:11 +03:00
John Preston 7f353d9b1a Removed all code related to channel comments. 2016-05-27 19:47:46 +03:00
John Preston 46ad43bb1e New profile cover actions by buttons done.
Two new types of Observers: image loaded and async file dialog.
2016-05-25 20:59:21 +03:00
John Preston a510bb54ec Peer observers get notified about name/username changes.
All peer observer notifications are async (delayed).
2016-05-25 15:09:05 +03:00
John Preston 533a955dda Unread outgoing messages in supergroups supported.
Looking through the history of group avatar photos added.
Messages about some contact joined Telegram are never unread.
2016-05-20 19:35:16 +03:00
John Preston b28e9a6167 Requesting difference or messages when users from mentions not loaded. 2016-05-09 13:07:25 +03:00