Commit Graph

275 Commits

Author SHA1 Message Date
John Preston f4d9618487 Improve layer / section exchange for Info. 2017-11-16 07:59:04 +04:00
John Preston 5e7aa4ff81 Move third column from HistoryWidget to MainWidget. 2017-11-16 07:59:03 +04:00
John Preston f162462111 Move info between Layer and Narrow wrap. 2017-11-16 07:59:03 +04:00
John Preston 088d23d557 Start new Info section (profile + shared media). 2017-11-16 07:59:02 +04:00
John Preston c302219f9e Use rpl in some widgets and effects. 2017-11-16 07:59:02 +04:00
John Preston 917be105ac Version 1.1.22: Faved stickers limit is 5 right now. 2017-09-04 16:29:35 +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 65d81f96f3 Remove some App::wnd() occurences. 2017-08-25 14:39:28 +03:00
John Preston b08732cf28 Move MediaView from MainWindow to Messenger. 2017-08-25 14:39:27 +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 a143505fd6 Remove lambda_slot() and lambda_slot_once(). 2017-08-25 14:39:15 +03:00
John Preston cb5b6d0cb8 Add megagroup stickerset to StickersListWidget. 2017-08-25 14:39:13 +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 9e73e22e13 Add channel members in ParticipantsBoxController.
Also remove MembersBox, it was replaced completely.
2017-07-14 09:46:57 +03:00
John Preston e0c74c9546 Fix crash in handlePendingHistoryUpdate().
This method is called from InvokeQueued, so the auth session could
be destroyed already and should be checked before being accessed.
2017-07-13 17:44:45 +03:00
John Preston ac99784bf7 Change chat for forwarded items by click on them.
Closes #3637
2017-07-11 13:23:15 +03:00
John Preston 9e6f2a5d2e Remember connection type settings. 2017-06-30 09:21:43 +03:00
John Preston 82912f4a0b Handle socks internal links. 2017-06-30 09:21:43 +03:00
John Preston cedf8a65e7 Better channel log entry layout inside messages.
Also move HistoryService class to a separate module.
2017-06-30 09:21:42 +03:00
John Preston 5c87b42135 Use plain HistoryItem in channel admin events log.
Instead of using a complex AdminLog::Item use just HistoryItem*.
2017-06-30 09:21:42 +03:00
John Preston e39b95175b Handle channel event log mouse events. 2017-06-30 09:21:42 +03:00
John Preston 6fb980ca79 Improve custom language loading.
Apply custom language without relaunching the app.
2017-06-29 11:39:46 +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 b7550f63c9 Add a floating player for round video messages. 2017-05-24 16:25:15 +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 1725927aea Clear macOS notifications in a separate thread.
Sometimes NSUserNotificationCenter -deliveredNotifications method call
freezes for a long time, so now we use it only in a separate thread and
we group all the requests for clearing while another clearing is done.
2017-04-12 15:50:35 +03:00
John Preston 891d200e2d Add TabbedSection which uses the TabbedSelector. 2017-04-10 12:08:56 +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 ffc9585196 Add hierarchy of GIF pausing inside a window.
GIFs get paused if some other layer is displayed above.
Media preview > Box or layer > Saved GIFs panel > Inline bot results.
If any of those is displayed, GIFs inside message history pause too.
2017-04-03 19:46:12 +03:00
John Preston 3d846fcd49 Show inline bot results in a separate widget.
Add a InlineBots::Layout::Widget for inline bot results.
GIF search from EmojiPan is disabled for now.
2017-03-31 15:48:00 +03:00
John Preston 5bb68cfd8f Support reading me_url_prefix from config.
The default value 'https://t.me' can be overriden from server config.
2017-03-30 12:49:16 +03:00
John Preston 2019c24e08 Pay button and messageMediaInvoice supported.
New button type keyboardButtonBuy just shows a box with information.
WebDocument photo type is not supported yet, 'photo' is ignored.
Also HistoryMediaPtr is now implemented as a std::unique_ptr wrapper.
2017-03-30 12:49:15 +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 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 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 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 c3b3819d9f Moved AppClass to messenger.cpp:Messenger. 2017-02-25 19:48:20 +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 4424dbf64a Allow to resize chats list. One more mode added (narrow chats list). 2017-01-16 12:55:03 +03:00
John Preston 7fb1463c43 Version 1.0 stable: bump copyright date to 2017. 2017-01-11 23:02:13 +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 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 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 177078b0af Closed beta 10020002: Use default color theme link in Settings. 2016-12-30 17:53:00 +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 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 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 e880c4876e Strict alignment request for base::lambda. Various improvements. 2016-12-30 17:52:21 +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 af9edc17d2 Applying color theme without restarting the application. 2016-12-30 17:51:31 +04:00
John Preston dbb6371e67 First version on loading themes is ready. 2016-12-30 17:51:27 +04: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 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 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 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 16ce28f4d2 Notifications settings done: screen corner selection + max count. 2016-10-06 19:41:09 +03:00
John Preston c9288f2d0a Native notifications switched off by default. Libnotify supported. 2016-10-03 18:07:50 +03:00
John Preston 0bf55835f5 NB Broken! Notifications refactored to Manager, only Windows working. 2016-10-02 16:54:27 +03:00
John Preston f970ac3163 New audio player done (without playlist). 2016-09-23 19:04:26 +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 6d2fc5c642 Game bot confirmations added. 2016-09-15 22:15:49 +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 160895f6e3 Support for game keyboard buttons and score service messages added. 2016-09-02 12:11:23 -04: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 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 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 2321f38550 Added same_peer flag support for keyboard switch inline button. 2016-08-12 19:28:10 +03: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 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 faad13d07e Showing archived stickers button, archived stickers box with loading. 2016-07-21 16:57:31 +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 95c050081c Cloud recent sticker sets supported. 2016-07-15 18:58:52 +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 2aa35af909 Merge branch 'master' into dev
Conflicts:
	Telegram/SourceFiles/history/history.style
2016-07-08 13:26:28 +03:00
John Preston db8922f53e Some buttons and scroll bars style improvements.
Not showing notification texts when OS X is in screen locked state.
2016-07-07 19:15:34 +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 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 cbde6e1ee9 Using square rounded photos in native notifications (Win, OS X).
When updating local online status from user action events we use
action timestamp, and ignoring events from getDifference, if no
timestamp is available for the specific action.
Couple of hidden actions added in Settings. Alpha version 0.9.54.
2016-06-22 21:47:43 +03:00
John Preston 8e78cfed85 Fixed Xcode build. When hiding fullscreen window first exit fullscreen. 2016-06-16 18:17:39 +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 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 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 e3e49dbeb8 New profile buttons started, not performing actions yet.
New system of Observers. Subscriptions on PeerData updates.
2016-05-24 19:13:07 +03:00
John Preston 1d42144c95 Profile done as a new generic Window::SectionWidget.
Slide animation reimplemented.
2016-05-19 15:03:51 +03:00
John Preston 6e2dea7030 Merge branch 'master' into profile
Conflicts:
	Telegram/Telegram.vcxproj.filters
2016-05-16 18:47:44 +03:00
John Preston 3d073eddd6 New profiles started. Function<> made by variadic templates. 2016-05-12 19:05:20 +03:00
John Preston 21f462a77e Mention names support added to FlatTextarea, messages.
Copy of mention names to clipboard done, pasting started.
2016-04-30 20:04:14 +03:00
John Preston 745f89dbb9 Moving build / lang scripts from Telegram to subfolders.
Travis build tested with -j param.
Xcode / QtCreator / qmake builds could be broken.
2016-04-27 15:02:17 +03:00
John Preston 5caceefc2c Fix switch button in outgoing msgs with keyboards.
Inline bot results panel behaviour improved.
Sent and deleted from hard drive GIFs now auto-re-download.
2016-04-20 15:27:38 +03:00
John Preston bb70a76b9c Several crashes fixed. 2016-04-14 22:24:42 +03:00
John Preston 5a3fea05ac ClickHandler, TopBarWidget and Overview layouts moved to separate files.
Xcode and QtCreator builds are currently broken.
2016-04-13 00:31:28 +03:00
John Preston e0d6a68554 Encapsulated unreadCount and mute fields in History.
Support for hiding all muted chats from the list.
2016-04-11 14:59:01 +04:00
John Preston 418e06052c Some bugfixes. Closed beta 9040127.
Crash fix when trying to reply to a bot message which hides the keyboard.
Counting button widths better (more padding, use exact width when avail).
Hiding inline bot results fixed when switched to emoji before hiding.
2016-04-11 00:59:07 +04:00
John Preston dd1d04e9b0 Inline bot results preview: photo, audio, file, voice. Beta 9040126. 2016-04-10 22:18:26 +04:00
John Preston 5f12c6d85b Always create photo and document for inline bot results. 2016-04-10 15:13:37 +04:00
John Preston fa0c700ca6 Inline switch to pm and back support added for inline bots. 2016-04-08 18:16:52 +04:00
John Preston 8e89486fbc Error handling changed, 'auto' keyword used for MTP types.
All errors that lead to MTP request resending by default
error handler now can be handled differently. For example
inline bot requests are not being resent on 5XX error codes.
+ extensive use of auto keyword in MTP types handling.
2016-04-08 14:44:35 +04:00
John Preston 35d5089f48 Scroll following the inline bot keyboard when message is edited. 2016-04-08 13:20:10 +04:00
John Preston 1bc834bd5e Sending icon is displayed in the inline keyboard callback button. 2016-04-06 21:02:22 +04:00
John Preston 3e2485678d Moved inline bot result structs from structs.cpp/h module.
Moved inline bot result layouts from layout.cpp/h module.
Over status prepared for inline bot file result icon.
Dependencies reduced, inline bots code moved to InlineBots namespace.
Build in Xcode and QtCreator broken.
2016-04-05 01:09:46 +04:00
John Preston cf9a78a164 Inline bot stickers done, but not tested yet. 2016-04-02 15:20:53 +04:00
John Preston 1ef944ed7b Not inline bot keyboard now supports editing as well.
Styles improved for not inline bot keyboard.
Full crash string adding to crash report.
Preparing to leave source code without #include "stdafx.h"
2016-04-01 19:32:26 +04:00
John Preston 0e0956451a MTP_bytes() replaces MTP_string() for QByteArray payload.
Scheme updated for bot callbacks sending data bytearrays.
ReplyKeyboard edition is supported when editing the messages.
2016-04-01 14:23:40 +04:00
John Preston fa4137418a Merged with master. 2016-04-01 12:54:32 +04:00
John Preston f1dfcef868 Styles improved for unread bar margins and sticker timestamp.
Possible crash fixes: emoji color picker show, pending repaint
items cleared when history items are cleared.

Deleting MainWidget syncroniously when clearWidgets() is called.
2016-03-31 18:06:40 +04:00
John Preston b981472877 Bot keyboard button with type url / callback / phone / location
now can be displayed with an icon in the upper-right corner.

Inline bot keyboards almost done.
2016-03-30 20:42:01 +04:00
John Preston 7f6cf32cdd ITextLink moved to ClickHandler, TextLinkPtr > ClickHandlerPtr.
Global methods textlnkOver/Down/DrawOver were replaced by
static members of ClickHandler, now global state consists
of the handler pointer + host pointer, who declares callbacks
for the active and pressed handler changed events.

This will allow to use ClickHandler from different hosts
simultaneously (like HistoryItem / BotDescription / BotKeyboard).

Not yet tested.
2016-03-29 20:17:00 +03:00
John Preston daa5016c23 Components are now almost plain structs
Moved reply markups to history items which hold them
2016-03-28 15:51:22 +03:00
John Preston 559a74847b OrderedSet class done using QMap as implementation,
instead of inheriting it, fixed replies delete code.
2016-03-25 18:20:34 +03:00
John Preston 2ef8c44445 all MTP flags made strictly typed by scoped enums, in-message date display added for non-service messages 2016-03-19 19:55:15 +03:00
John Preston 9d00ec273b removed Date service messages, removed UnreadBar service message, started adding them to HistoryItems, saving item index in block to keep an eye on the previous message 2016-03-18 22:05:08 +03:00
John Preston baf1e31b76 circled profile images 2016-03-18 13:18:30 +03:00
John Preston 47c7f76f2c added some additional logging for file downloadings 2016-03-17 21:03:08 +03:00
John Preston efa5fc443a pin/unpin messages in supergroups, local hide for pinned messages 2016-03-10 13:15:21 +03:00
John Preston b277f5cdb7 ensure that closeApplication() is called only once 2016-03-02 20:34:42 +02:00
John Preston 978c7c858b merged with master 2016-02-21 20:01:37 +03:00
John Preston fc9d75b4f0 adaptive layout checkbox added to settings 2016-02-21 17:27:54 +03:00
John Preston 29fefbc4bb post edit started, sign messages checkbox added in channel edit by creator 2016-02-21 15:30:16 +03:00
John Preston 803d1a429d scheme updated, config vars moved to Global namespace 2016-02-18 19:36:33 +03:00
John Preston 7433cea0fd fixed copy selected text, post author display added, post links handling added, windows bingmaps opening added, sticker previews from mentionsdropdown and stickersetbox added 2016-02-17 19:37:21 +03:00
John Preston 6a299e32d3 fixed metatypes declaration for 0.9.24 version 2016-02-16 16:33:33 +03:00
John Preston a597ded99b Merge branch 'master' of https://github.com/telegramdesktop/tdesktop into HEAD 2016-02-16 16:06:57 +03:00
John Preston a5b466ec05 link clicks and popup menu items activated async, some crashes fixed 2016-02-16 14:21:39 +03:00
John Preston 71e544e0fc added user tag for reports, fixed couple of compile warnings in gcc 2016-02-15 18:52:11 +03:00
John Preston f2c45df524 hiding, not destroying window on close on OS X, fixed app event filter 2016-02-10 14:39:48 +03:00
John Preston 80ba0259dd some namespaces reorganized, author photo display added to wide mode (where messages are centered), version 0.9.20.dev 2016-02-08 17:54:55 +03:00
John Preston 0b8523d58e added year 2016 to copyright 2016-02-08 13:56:18 +03:00
John Preston 47ead03925 moved Interfaces to types.h, tooltip hiding fixed 2016-02-07 21:58:42 +03:00
John Preston f3a4b54601 fixed bugs in crash dump finding and in beta version 2016-02-05 01:16:25 +03:00
John Preston fd0a119885 langs updated, build scripts updated 2016-02-04 15:44:39 +03:00
John Preston 8eef239b45 crash catch + report added for Windows version 2016-01-30 19:31:10 +03:00
John Preston 0f4405dbaf backtrace output for win platform added, testing with abort() call in ~AppClass() 2016-01-21 14:58:58 +08:00