John Preston
836fe119d9
Improve display of admin event log entries.
...
Don't show the Forward, Delete and Go to message in MediaView.
Better handle round video floating player in admin event log.
2017-06-30 09:21:45 +03:00
John Preston
82912f4a0b
Handle socks internal links.
2017-06-30 09:21:43 +03:00
John Preston
0a9db8533b
Save admin log state to memento and restore it.
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
1791b251ad
Fix tabbed section / panel render glitches.
2017-06-30 09:21:42 +03:00
John Preston
6ba57e713e
Use forwarded messages only for one selected chat.
...
Different chats now can have different forwarded "drafts".
2017-06-29 11:40:26 +03:00
John Preston
5c0a1bafe2
Add supergroup restriction placeholders / labels.
2017-06-29 11:40:13 +03:00
John Preston
7d2d5c6100
Edit admin and restricted rights in channels.
2017-06-29 11:40:11 +03:00
John Preston
330b4a0b00
API scheme updated to layer 68.
2017-06-29 11:40:08 +03:00
John Preston
85e6f55536
Support new plural keys format.
...
All the old plural phrases were changed to work with the new format.
2017-06-29 11:39:56 +03:00
John Preston
3f0b57ec11
Retranslate Settings when language is changed.
...
Also suggest user to change language from 'en' to his for one time.
2017-06-29 11:39:45 +03:00
John Preston
f5dfeb0c50
Support cloud languages list and switching.
...
Add Lang::Current().updated() observable for retranslating the UI.
2017-06-29 11:39:43 +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
2334ba1fe1
Use QString + Lang::Tag() instead of Lang::String.
2017-06-29 11:39:40 +03:00
John Preston
110e7c8074
Finalize rename / move.
2017-06-29 11:39:38 +03:00
John Preston
a813793007
API scheme updated to layer 67.
2017-06-29 11:39:35 +03:00
John Preston
9a18ecf93d
Fix the chats list width saving with passcode.
...
Regression was introduced in 0339b1b54b
.
If the passcode is enabled the main widget is created after the main
window was fully initialized, so the first main widget resize already
used the shrink algorithm while creating the third column.
No we shrink the left column only after the main widget was started.
2017-05-27 13:28:16 +03:00
John Preston
c91e29d15d
Improve floating player show / hide animations.
...
Also replace Window::Corner with a generic RectPart enumeration.
2017-05-24 16:25:20 +03:00
John Preston
03aeaadd5b
Update floating player position.
2017-05-24 16:25:19 +03:00
John Preston
75dcce0b3c
Save floating player position in localstorage.
2017-05-24 16:25:17 +03:00
John Preston
ee6d80673a
Snap floating player to column and corner.
2017-05-24 16:25:17 +03:00
John Preston
c58a48276f
Hide floating player if video message is visible.
2017-05-24 16:25:15 +03:00
John Preston
b7550f63c9
Add a floating player for round video messages.
2017-05-24 16:25:15 +03:00
John Preston
7873cb4373
Using media player for voice / video messages.
...
Media::Player::Widget displays the current voice / video message
if it is played and the current song otherwise.
It is created when a voice / video message starts and is destroyed
when all the voice / video messages in the playlist are finished.
2017-05-24 16:25:12 +03:00
John Preston
611a3e2f8a
Handle voice playlist in Media::Player::Instance.
...
This allows video and voice messages to autoplay one after another.
2017-05-24 16:25:09 +03:00
John Preston
b9119e5ef6
Play video messages as Type::Voice.
...
Use AudioMsgId instead of videoPlayId.
Any audio track now can be a child loader track of some video clip.
Use Type::Voice instead of Type::Video for round video messages.
Video messages play / pause / resume the same way as voice messages.
2017-05-24 16:25:09 +03:00
John Preston
efb59e8c3a
Show GIF in Mediaview on click.
...
This way you can watch GIF on full screen and switch between them.
2017-05-24 16:25:05 +03:00
John Preston
2377873c45
Add items to overviews inside HistoryMedia.
...
This allows one history item to exist in several media overviews.
See voice message, which should be in VoiceFiles and RoundVoiceFiles.
2017-05-24 16:25:04 +03:00
John Preston
0339b1b54b
Shrink dialogs column when enabling emoji sidebar.
...
Try to hold the ratio between the chat width and the dialogs list
width when the emoji sidebar is created by shrinking the left column.
2017-05-17 15:38:42 +03:00
John Preston
9f7c45e35c
Fix enabling emoji sidebar from a small window.
...
Extend the window size after the tabbedSelectorSectionEnabled flag
is already set to true. Otherwise we extend the window and switch
to a normal from single column layout before showing the sidebar.
2017-05-17 14:50:00 +03:00
John Preston
8d02d81a9a
Switch layout to Normal in a wide enough window.
...
A lot of people didn't know how to bring the dialogs column back
after it was gone in a wide single column MainWindow.
Now we switch to a two column layout if the window allows it,
preserving the emoji / stickers / GIFs section in case it is shown.
2017-05-13 15:02:07 +03:00
John Preston
565b56fb5f
Pause all media if a call is created.
...
Pause video, voice messages, songs and stop video messages.
2017-05-12 20:44:18 +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
06b081f509
Add calls log box.
...
PeerListBox can have many rows with the same PeerData.
PeerListBox::Row can have arbitrary action on the right side.
2017-05-09 23:46:18 +03:00
John Preston
f6eb2c5205
Add call top bar above the media player.
2017-05-09 23:46:18 +03:00
John Preston
d18164bc51
Add Calls::Instance. Add libtgvoip as a dependency.
...
Also move all submodules to Telegram/ThirdParty.
2017-05-09 23:46:08 +03:00
John Preston
caf2e19d27
Better error message for banned in public groups.
...
Also improve the changelog.
2017-05-08 16:30:59 +03:00
John Preston
cd6a189990
Show some info for USER_BANNED_IN_CHANNEL error.
2017-04-30 16:43:18 +03:00
John Preston
33ffa0715d
Alpha 1.0.34: Fix tabbed section widget render.
...
Also fix error message layout in EditCaptionBox.
2017-04-21 16:22:45 +03:00
John Preston
de7c886008
Move passcode management from MainWindow.
...
Check for auto lock in AuthSession. Don't autolock while video plays.
Closes #3219
2017-04-15 21:51:12 +03:00
John Preston
e3aacc8072
Don't change notification sound to empty on mute.
...
If notifications are muted no one from official apps play sound.
So there is no need to turn the sound off, otherwise if you enable
the notifications from a different app the sound stays off.
Enable the sound (change to "default") when turning notifications on.
2017-04-15 21:51:11 +03:00
John Preston
891d200e2d
Add TabbedSection which uses the TabbedSelector.
2017-04-10 12:08:56 +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
570cd9bdfa
Move GIF pausing methods to Window::Controller.
2017-04-08 16:31:57 +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
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
8d4be19952
Use separate TopBar for History and Overview.
...
Move TopBar widget to History and Overview from MainWidget.
2017-03-31 15:47:58 +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
1027bd431a
Add some helper methods to effect wrappers.
...
Add and use similar methods to WidgetSlideWrap and WidgetFadeWrap:
[show|hide|toggle]Fast() and [show|hide|toggle]Animated().
2017-03-15 18:10:18 +03:00
John Preston
805be84bff
Add block user box. Search isn't working yet.
...
Add a box containing all chats and contacts for blocking users.
Contacts and dialogs loaded state can be accessed in AuthSession.
2017-03-14 17:16:03 +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
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
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
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
6456a83a22
Finalizing files rename.
...
Also moved peer_avatar_button to ui/special_buttons.
2017-03-07 21:58:35 +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
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
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
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
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
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
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
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
c39bf239ea
Removed legacy HistoryItem::type() code.
2017-02-10 17:16:50 +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
b842761ea3
Closed beta 1000006001: Built in theme and color palette editor.
2017-02-07 17:56:33 +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
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
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
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
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
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
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
eb4d2a38b6
Closed beta 10020003: All colors moved to palette, some bug fixes.
2016-12-30 17:53:02 +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