Commit Graph

188 Commits

Author SHA1 Message Date
John Preston 65cc4d3fbc Support item repaint in Info media overview. 2017-11-16 07:59:06 +04:00
John Preston 93c15e5ee6 Use internal section stack in Info::WrapWidget. 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 d1687ab963 Improve info wrapping in section / layer.
Also move layerwidget to window/layer_widget.
Also replace ui/effects/widget_fade_wrap with ui/wrap/fade_wrap.
2017-11-16 07:59:05 +04:00
John Preston f4d9618487 Improve layer / section exchange for Info. 2017-11-16 07:59:04 +04:00
John Preston c0e780a28f Allow small dialogs list with three columns. 2017-11-16 07:59:03 +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 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 f04b25ea26 Allow setting group stickers set. 2017-08-25 14:39:19 +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 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 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 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 81790b2271 Notifications management moved to AuthSession.
Also implemented Global::WorkMode() as an base::Variable.
2017-03-06 18:38:15 +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 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 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 6e0394dd42 Stickers box redesigned. 2016-12-30 17:52:28 +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 cf247384d3 Added an external virtual method / multimethod implementation. 2016-10-17 11:46:43 +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 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 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 c91bdf3fef NB Broken! Moving from registerPeerObserver() to base::Subscriber. 2016-09-26 17:50:24 +03:00
John Preston f970ac3163 New audio player done (without playlist). 2016-09-23 19:04:26 +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 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 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 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 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 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 bb70a76b9c Several crashes fixed. 2016-04-14 22:24:42 +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 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 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