John Preston
c10dee11e8
Fix crash in macOS notifications manager init.
...
Regression was introduced in 1725927aea
.
Also create the thread only when it is first needed.
2017-04-15 20:39:25 +03:00
John Preston
4e5c4a462b
Fix crash in videoplayer audio stream loader.
...
Regression was introduced in 835b1801bc
.
2017-04-15 20:32:14 +03:00
John Preston
bc7139d67a
Fix crash in AuthSession::Exists() if there is no Messenger.
...
Also use toggleAnimated instead of show/hideAnimated in intro.
2017-04-15 19:28:07 +03:00
John Preston
dd005d9027
Generate correct lang tag count, not hardcoded.
2017-04-13 11:51:47 +03:00
John Preston
670a725c53
Alpha 1.0.32: Fix round video checks in MediaView.
2017-04-12 23:34:57 +03:00
John Preston
af28e3b0d7
Alpha 1.0.32: Fix build in Xcode.
2017-04-12 23:28:04 +03:00
John Preston
ca90b8b8fd
Alpha 1.0.32: Test the new API and CDN support.
2017-04-12 23:04:34 +03:00
John Preston
7b7b9db20b
Add support for video messages send actions.
...
Animate record and upload the same way as voice messages.
2017-04-12 22:37:47 +03:00
John Preston
96dbb38aaa
Improve mute and info display in video messages.
...
Display mute on top of the video and move info to the right side
for incoming messages (because of channel authors and views count).
2017-04-12 22:37:28 +03:00
John Preston
1b7777e3a0
Pause other GIFs when playing round video message.
2017-04-12 22:37:28 +03:00
John Preston
5480a63beb
Support round video inline playback with sound.
2017-04-12 22:37:27 +03:00
John Preston
cbf040b4dc
Crop round video messages to a circle.
...
Also display unread media dot like in voice messages.
2017-04-12 22:37:26 +03:00
John Preston
8eb7f1f1aa
Display round video messages using HistoryGif.
...
Use autodownload and autoplay options from GIFs.
Also improve EditCaptionBox code.
2017-04-12 22:37:26 +03:00
John Preston
8d28d0691f
API scheme updated to layer 66.
...
Support CDN file download.
2017-04-12 22:36:25 +03:00
John Preston
7dd24a30b5
Replace MetaLang with codegen_lang.
2017-04-12 22:18:42 +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
50ea4e316e
Improve macOS window behavior.
...
Don't deactivate the application when the main window is hidden.
Such behavior provides some unwanted windows reordering in the
current workspace when the window is hidden by Cmd+W.
Ignore app activation by applicationDidBecomeActive: notification
for a short period of time after a user notification for other app
instance was received (the system sends them sometimes and the main
window is shown + activated for a wrong instance of the application).
2017-04-12 15:50:12 +03:00
srazi
734b426518
Fix canceling forward when clicking on _userpicButton or _cloudButton ( #3248 )
...
- Fixes #3192
Signed-off-by: srazi <s.r.alavizadeh@gmail.com> (github: srazi)
2017-04-11 23:03:34 +03:00
Nicholas Guriev
232d3dcb54
Make theme preview more realistic ( #3250 )
...
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-04-11 21:16:12 +03:00
John Preston
eaf1e2b18e
Alpha 1.0.31: Fix layout for message edit.
2017-04-11 21:04:28 +03:00
John Preston
4b7e5750ec
Alpha 1.0.31: Fix crash in localstorage.
2017-04-11 20:31:20 +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
b736d45bc4
Alpha 1.0.30: New tabbed panel as a third column.
2017-04-11 18:02:46 +03:00
John Preston
7f7318c0bf
Fix members dropdown and chat info menu position.
2017-04-11 17:27:46 +03:00
John Preston
0e2c282476
Don't stop GIFs when TabbedSection is opened.
...
Also improve the appearance of Stickers and GIFs tabs with no items.
2017-04-11 17:03:47 +03:00
John Preston
891d200e2d
Add TabbedSection which uses the TabbedSelector.
2017-04-10 12:08:56 +03:00
John Preston
647ea44881
Extract TabbedSelector from TabbedPanel.
...
Now we can use TabbedSelector separately, not only inside the panel.
2017-04-10 12:08:55 +03:00
John Preston
2c81014188
Fix crash on precondition in PeerListBox.
...
If a global search request was sent and we clear the query the
response still was being processed which caused an Expects() fail.
2017-04-10 12:08:15 +03:00
Viktor Oreshkin
f1d97fb92c
Fix build in Xcode ( #3241 )
...
Signed-off-by: Viktor Oreshkin <stek29@users.noreply.github.com>
2017-04-08 18:05:59 +03:00
John Preston
26b05cf844
Finalize rename / move.
...
Also removed non-existent emoji_section module from GYP.
2017-04-08 17:05:19 +03:00
John Preston
155cd8ce42
Rename / move emoji_panel to tabbed_panel.
...
Next commit fixes the build.
2017-04-08 16:56:14 +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
cd3c5e4ade
Fix build in GCC.
...
GCC doesn't allow using scoped enums in bitfields without warnings.
So we use "unsigned" bitfield and a couple of get/set methods.
2017-04-08 14:25:54 +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
6b242a982b
Fix GIF pause by layer.
...
Let MainWindow enable / disable GIF pausing when a layer is shown.
2017-04-07 18:13:20 +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
c94a88e154
Rename / move a bunch of files.
...
Next commit fixes the build.
2017-04-07 18:13:16 +03:00
John Preston
7b7df23e3b
Version 1.0.29: Fix crash on app quit.
...
Some cleanup actions in App::clearHistories() queue file loader
destructions that should be completed before MTProto is reset.
2017-04-05 13:39:31 +03:00
John Preston
252a6f9d5a
Version 1.0.29: Fix cancel GIFs search button.
2017-04-05 13:14:17 +03:00
John Preston
a1adf2dae6
Version 1.0.29: Fix crash on app quit.
...
Destroy queued file loaders before destroying AuthSession, because
they have references to Downloader which is owned by AuthSession.
2017-04-05 13:04:26 +03:00
John Preston
22d905b39c
Version 1.0.29: Add cloud icon to main menu.
2017-04-05 12:22:45 +03:00
John Preston
03a59b04be
Add progress animation to GIFs search.
...
Also display "no results" phrase.
2017-04-04 16:19:49 +03:00
John Preston
4384c80961
Prefer appindicator only on Unity and Pantheon.
...
Commit dcd6028e91
introduced a regression which caused
appindicator tray icon to be preferred everywhere else.
2017-04-04 12:59:48 +03:00
Lonami
b7ea15b83d
Use message date by default when saving a photo ( #1586 ) ( #3150 )
...
Signed-off-by: Lonami <totufals@hotmail.com> (github: Lonami)
2017-04-04 12:14:32 +03:00
John Preston
20ad611924
Alpha 1.0.28: bump version.
2017-04-03 22:08:22 +03:00
John Preston
57b85ac30f
Alpha 1.0.28: new emoji panel, GNOME tray icon.
2017-04-03 22:06:20 +03:00
John Preston
81375a05f1
Always write MTP data right after login.
...
Also write to DebugLogs all keys write attempts.
2017-04-03 21:59:13 +03:00
John Preston
50586eb06d
Build codegen_emoji without GUI dependencies.
...
We need GUI dependencies only when we generate images.
2017-04-03 21:49:07 +03:00
John Preston
afa9393f38
Expose IsPrimeAndGood() interface from connection.
...
Also fix a race in MTProto debug type serialization initialization.
2017-04-03 21:28:18 +03:00
John Preston
c1aa1c5a0f
Enable Qt tray icon in GNOME and derivatives.
...
As tested in Fedora Qt 5.6.2 tray icon works well in GNOME.
Also add more logs about DE and tray icon. Fix #3175 #3188
2017-04-03 20:46:09 +03:00
John Preston
78d245c02c
Improve positioning of chat helper panels.
2017-04-03 19:46:24 +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
6003ac2132
Add base::weak_unique_ptr<T> template class.
...
Sometimes you don't need shared ownership (shared_ptr), but you
still need to be able to have weak pointers to an object.
Now you can derive the object from base::enable_weak_from_this
and use base::weak_unique_ptr<T> after that.
2017-04-03 14:08:36 +03:00
John Preston
0cdd0a9ff9
Remove old 'using std::string' from mtproto.
2017-04-02 20:11:30 +03:00
John Preston
7a7f157a8e
Fix crash in EmojiListWidget.
...
Changing recent emoji list was giving us inconsistent emoji list
in _emoji[section] and its size in SectionInfo::count field.
2017-04-01 17:08:56 +03:00
John Preston
f1718f1d10
Generate emoji config by a build action.
...
Also hopefully optimize the build speed for emoji config.
2017-04-01 17:08:42 +03:00
John Preston
a1b53f07d5
Fix build for Xcode and GCC.
2017-04-01 16:14:56 +03:00
John Preston
e8ed307278
Add search in GIFs to EmojiPanel.
2017-03-31 18:58:59 +03:00
John Preston
0690c4f98c
Move EmojiPanel bottom controls to Controller.
...
Open sticker set by click on the name.
Add a delete sticker set button.
2017-03-31 15:58:52 +03:00
John Preston
6d27172b20
Move [Emoji|Sticker]PanInner to separate modules.
...
Now we have three separate [Emoji|Stickers|Gifs]ListWidget.
2017-03-31 15:48:03 +03:00
John Preston
bed3aa1a7f
Finalize rename / move of files.
...
Also rename EmojiPan to EmojiPanel.
2017-03-31 15:48:02 +03:00
John Preston
477f175f76
Rename / move emoji_pan module to emoji_panel.
...
Next commit fixes the build.
2017-03-31 15:48:02 +03:00
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
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
5cb66c99bd
Make stickers FeaturedReader an MTP::Sender.
2017-03-31 15:47:59 +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
cdca00368f
Improve EmojiPan: resource management.
...
Store inline results and layouts in unique_ptrs.
Move EmojiPan from RPCSender to MTP::Sender.
2017-03-31 15:47:57 +03:00
John Preston
8884cb190a
Version 1.0.27: Fix launch in Ubuntu 17.04
...
Ubuntu 17.04 launch results in segfault if the build was done
by GCC 6.2 (works fine with GCC 4.9). Backtrace shows that it
crashes in gtk_init_check() call somewhere in libmirclient and
tests show that it works fine with GDK_BACKEND=x11.
So we use gdk_set_allowed_backends() method to explicitly state
that we support only "x11" GDK backend, that way it doesn't try
to use libmirclient and it does not crash.
Fix #3176 #3162
2017-03-31 13:46:55 +03:00
John Preston
f0ab72ffbc
Fix AutoConnection::debugState() for TCP connections. Fix #3171
...
Also silent new Xcode version warning.
2017-03-30 18:20:51 +03:00
John Preston
a851497bbf
Version 1.0.26 for macOS: Fix Clang builds.
...
Custom build of libc++ for OS X 10.6-10.7 already has C++17 as_const.
Add workaround for Apple Clang has strange issues (freeze and segfault).
2017-03-30 15:00:02 +03:00
John Preston
e6d94b5ee7
Version 1.0.26: Better appx manifest, update langs.
2017-03-30 12:49:58 +03:00
John Preston
23f23e3ca5
Closed beta 1000024001: Improved edit privacy box.
2017-03-30 12:49:16 +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
70b6335b11
Closed beta 1000018003: notifications / jump to date.
2017-03-30 12:49:16 +03:00
John Preston
47c5d56c7b
Use QLocale for amount + currency formatting.
2017-03-30 12:49:15 +03:00
John Preston
fde769e0b9
Don't use WebDocument size field.
...
WebDocument size field is not a reliable information,
it can be > 0 and != upload.WebFile size field, so just ignore it
and load all WebDocument files as files with unknown size.
2017-03-30 12:49:15 +03:00
John Preston
23b39923ad
Closed beta 1000018002: more phrases for payments.
...
Also replacing the Buy keyboard button with Receipt if the invoice
was payed already (like in mobile apps). This required to move the
inline markup apply before the media apply in message editing.
2017-03-30 12:49:15 +03:00
John Preston
a7d0473a1a
WebDocument without size is allowed to load.
...
We load a WebDocument with an unknown size the same way as we load
normal photos with FileLocation, that doesn't contain size as well.
If the size information from WebDocument and upload.WebFile is
inconsistent we still fail to load the file.
2017-03-30 12:49:15 +03:00
John Preston
12ca6f3819
Closed beta 1000018001: calls and payments dummies.
2017-03-30 12:49:15 +03:00
John Preston
31e3c6a2c6
WebDocument wrap to HistoryPhoto supported.
...
Only WebDocument with a valid 'size' field value and with a valid
'documentAttributeImageSize' attribute works wrapped as a photo.
2017-03-30 12:49:15 +03:00
John Preston
7b5985445c
Payment service messages supported.
2017-03-30 12:49:15 +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
0cc7cdd212
Added phrases for phone calls service messages.
...
Also refactored service message text parsing from an action object.
2017-03-30 12:49:15 +03:00
John Preston
5666f14829
Allow audio and video files with duration < 1s.
2017-03-27 15:50:40 +03:00
John Preston
d41372dccd
Allow MTP_flags(0) and MTP_flags(single_flag).
2017-03-25 18:42:01 +03:00
Nicholas Guriev
2e6c15ff9d
Update .desktop file on Linux ( #3109 )
...
What has been done:
* Removed deprecated Encoding key
* Specified correct WM class for StartupWMClass key
* Fixed icon name
I also fixed restarting when language is changed and there is no Updater
Signed-off-by: Nicholas Guriev <guriev-ns@ya.ru> (github: mymedia2)
2017-03-23 18:00:21 +03:00
John Preston
0ce6e8a33a
Show warning message before changing phone number.
2017-03-23 17:58:58 +03:00
Christoph
be659e2611
Fix regex for in app links ( #3142 )
...
Before, this regex matched also links which contained a in app link, e.g.: https://github.com/search?q=https://telegram.me/BotFather
Fix #3141
Signed-off-by: Christoph <auer.chrisi@gmx.net>
2017-03-23 17:56:51 +03:00
John Preston
47044ab25e
Fix GCC warning on Release build in Emoji::Init.
...
Also use initializer_list instead of recursion in Emoji::ComputeId.
2017-03-23 15:47:01 +03:00
John Preston
731e53bc99
Fix crash in tray icon notifications toggle.
...
While we have the same tray menu for an authorized user and not.
2017-03-23 15:30:16 +03:00
John Preston
e38d683979
Fix crash in SelfDestructionBox.
...
base::lambda_guarded may destroy the lambda after the owner. In case
of SelfDestructionBox it lead to a dtor of a dangling object_ptr.
MTP::Sender destroys the lambda handlers together with itself.
2017-03-23 15:18:02 +03:00
John Preston
e9ec09b91a
Add MTP::Sender to replace RPCSender some day.
...
Also use c++1z language standard in Xcode build.
Also treat warnings as errors.
2017-03-23 14:37:38 +03:00
John Preston
7fcc5d649c
Change push_back to emplace_back in emoji_config.
...
Perhaps that way GCC won't give a warning on variable count inside
one method Ui::Emoji::Init() in Release builds.
2017-03-22 12:24:53 +03:00
John Preston
6601a00eea
Alpha 1.0.25: Edit phone number in Settings.
...
Also fix build for GCC.
Also add scripts for GitHub releases management.
2017-03-21 22:49:23 +03:00
John Preston
743743ca10
Fix WebPage reply preview.
...
Sometimes HistoryWebPage::hasReplyPreview() was returning true while
the HistoryWebPage::replyPreview() method was not offering anything.
2017-03-21 20:59:35 +03:00
John Preston
bd121752f1
Change your account phone number in Settings.
2017-03-21 20:13:34 +03:00
John Preston
facc729234
Edit account self destruct time in Settings.
...
Also accept lambda_once in rpcDone() and rpcFail() lambda wrappers.
2017-03-20 23:05:38 +03:00
John Preston
a5df46f381
Improve EditPrivacyBox layout.
...
Also fix incorrect killTimer() calls in DiscreteSlider.
2017-03-19 11:32:24 +03:00
John Preston
5530172add
Alpha 1.0.24: Fix build in Xcode.
2017-03-19 00:29:43 +03:00
John Preston
59636ac072
Alpha 1.0.24: edit last seen and invite privacy.
2017-03-19 00:14:23 +03:00
John Preston
12cbf78191
Refactor Ui::Radiobutton. Add Ui::Radioenum<Enum>.
...
Now group of Ui::Radiobutton instances share Ui::RadiobuttonGroup.
All value management is done through the group instance, not through
separate radio buttons. Also a template for groups over enums added.
2017-03-19 00:06:10 +03:00
John Preston
0a40bf2071
WIP radiobuttons refactoring.
2017-03-18 14:55:04 +03:00
John Preston
7546245213
Show warning when user edits last seen first time.
2017-03-18 12:49:48 +03:00
John Preston
fc77b0a51c
Save privacy in ApiWrap. Handle privacy updates.
2017-03-18 12:49:47 +03:00
John Preston
346daee421
Edit groups and channels invite privacy.
2017-03-18 12:49:46 +03:00
John Preston
61c5b45d7a
Select exception users in EditPrivacyBox.
2017-03-18 12:49:46 +03:00
John Preston
85fd117675
Add EditPrivacyBox. Edit last seen privacy.
...
Selecting exception users is not supported yet.
2017-03-18 12:49:45 +03:00
John Preston
a563cf553c
Rename / move settings_blocked_box_controller.
...
Next commit fixes the build.
2017-03-18 12:49:44 +03:00
John Preston
18151359f3
Fix drag-n-drop images from Firefox.
...
Commit a1b53c660e
introduced a regression which caused images that
were shown for sending confirmation as a file path + image not being
passed to FileLoadTask in _image field, they were passed in the
_information field instead. They were not sent in case the file path
was not existing at the moment of processing. If the file path does
not exist anymore read the image from _information and send it.
2017-03-18 12:44:31 +03:00
John Preston
16fa56de48
Finalize rename / move of files.
2017-03-16 12:53:13 +03:00
John Preston
6ad2cd38ed
Generate scheme module by GYP action.
...
Add a new codegen action to generate MTP scheme from scheme.tl file.
2017-03-16 12:37:56 +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
Christoph
fed20435ad
Update local regex ( #3115 )
...
Adds support for telegram.dog links
Fix #3111
Signed-off-by: Christoph <auer.chrisi@gmx.net>
2017-03-15 17:38:05 +03:00
John Preston
b2ac84c8c6
Alpha 1.0.23: Fix changelog message.
2017-03-15 15:13:09 +03:00
John Preston
8c06b08f30
Alpha 1.0.23: Add blocked users list box in settings.
...
Also fixed build for Xcode.
2017-03-15 13:45:56 +03:00
John Preston
2ce2a14228
Add global search by username in block user box.
2017-03-14 21:38:50 +03:00
John Preston
46dab1a6b4
Add local search (filter) in block user box.
2017-03-14 20:10:28 +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
b1ee91b06b
Add blocked users box to Settings.
...
Start a general PeerListBox, it should replace both ContactsBox
and MembersBox in the future. Show blocked users list in it.
2017-03-14 13:58:36 +03:00
John Preston
6873d53993
Alpha 1.0.22: fix couple of crashes.
2017-03-13 13:31:11 +03:00
John Preston
2e17b480a5
Fix crash in HistoryVideo::draw.
2017-03-12 11:52:28 +03:00
John Preston
1395237810
Fix crash in notifications.
...
~HistoryItem() sometimes causes a queued notification to show.
Custom notifications depend on MainWindow and it is destroyed
already in clearHistories(), so clear the notifications queue first.
2017-03-12 11:49:44 +03:00
John Preston
bc254228c9
Alpha 1.0.21: Use custom refcount for MTP types.
...
It seems that heavy using std::shared_ptr and std::make_shared
like it was before completely kills the compilation time.
Also HistoryItem::_create now uses perfect forwarding.
2017-03-11 20:03:36 +03:00
John Preston
f2cd364e14
Alpha 1.0.21: Fix more compilation bugs.
2017-03-11 17:13:57 +03:00
John Preston
28ae5fd65c
Alpha 1.0.21: Fix compilation bug.
2017-03-11 13:35:43 +03:00
John Preston
493ba6f2cd
Alpha 1.0.21: Send MP4 and MOV files as videos.
2017-03-11 13:33:05 +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
1df955e30a
Closed beta 1000020001: remove chats list padding. Fix #3098
...
Also return config requesting at the beginning of each app launch.
2017-03-10 23:27:25 +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
3b373e236e
Make all owned MTPD types immutable.
...
Remove custom refcounting in mtpData, use std::shared_ptr instead.
2017-03-10 23:27:23 +03:00
John Preston
6061d9d65b
Fix WidgetFadeWrap::showFast() after animation. Fix #3096
2017-03-10 19:41:44 +03:00
John Preston
021454dbd4
Add .jpg to inputFile filename when photo is sent.
...
Server has some extensions checking for inputMediaUploadedPhoto,
so force the extension to be .jpg anyway. It doesn't matter,
because the filename from inputFile is not used anywhere.
Also own PhotoData::UploadingData through std::unique_ptr.
2017-03-10 18:55:34 +03:00
John Preston
f6918feea3
Fix build in Xcode and GCC.
2017-03-10 18:53:16 +03:00
John Preston
6c00b7efde
Show animated previews for GIFs in SendFilesBox.
2017-03-10 17:43:26 +03:00
John Preston
a1b53c660e
Show video thumbnail in SendFileBox.
...
Read media information (image / song / video) in SendFileBox in the
same way it is read in FileLoadTask::process() and reuse it in
FileLoadTask if it was loaded already for the box.
2017-03-10 17:14:10 +03:00
John Preston
9ed8cbe2d1
Send mp4 and quicktime files as videos.
2017-03-10 17:12:51 +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
e4f7b3c7c2
Fix mediaview update when image is loaded.
...
Subscribe on app launch, not only when AuthSession has changed.
2017-03-10 11:25:38 +03:00
John Preston
ee45bbe4c6
Alpha 1.0.20: fix crash in old Windows versions.
...
A shell32 method SHCreateItemFromParsingName was used without
checking if it was successfully loaded from shell32.dll (Vista+).
2017-03-09 00:10:32 +03:00
John Preston
5aab168b3e
Alpha 1.0.20: fix crash in default notifications.
...
Before showNextFromQueue() was called from a range-for loop over
the _notifications and it invalidated the _notifications iterators.
2017-03-08 23:51:40 +03:00
John Preston
ce8d68fc8c
Alpha 1.0.19: Add MSVC++ bug workaround.
2017-03-08 13:46:04 +03:00
John Preston
6d216042e6
Alpha 1.0.19: jump to date, macOS do not disturb.
...
Production testing of the AuthSession downloader() and notifications().
2017-03-08 13:33:16 +03:00
John Preston
a5c83467d6
Respect macOS do not disturb settings. Fix #3095 .
2017-03-08 13:12:02 +03:00
John Preston
b5d9eee489
Fix macOS native notification callbacks.
2017-03-08 10:31:05 +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
ec0c3c5f82
Add ripple animation in CalendarBox cells.
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
6d80471fc9
Calendar button added to DialogsWidget.
...
When you search in a specific chat there is a calendar button now.
2017-03-07 21:59:47 +03:00
John Preston
b80dd99172
Ui::FadeAnimation now supports scaling.
...
Ui::WidgetScaledFadeWrap<> wrapper added for fading widgets out and
fading them in with a scale effect similar to Ui::SendButton.
2017-03-07 21:58:40 +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
9510492174
Renamed history_down_button module.
...
Next commit fixes the build.
2017-03-07 21:58:24 +03:00
John Preston
a441a9fca9
Fix service message highlighting.
2017-03-07 21:58: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
b14ba398e6
Fixed Linux build.
2017-03-06 01:43:35 +03:00
John Preston
e88305d984
Fixed freezes in macOS clipboard requests.
...
Sometimes QClipboard::text() unexpectedly freezes on macOS, no known
causes for that. But before we were requesting the clipboard text after
each change in any text field to update macOS global menu items.
Now we use Cocoa API directly to find out if there were any changes to
the clipboard content and query text through Qt only if we have changes.
That way it should almost never freeze (at least) or even really never.
2017-03-05 23:18:27 +03:00
John Preston
31009b19c6
Removed obsolete storage_file_type fields.
2017-03-04 14:28:21 +03:00
John Preston
83720d8789
Finalizing file renaming.
2017-03-04 13:23:56 +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
0838d21a05
Removed virtual type getters in mtpFileLoader.
2017-03-04 12:01:06 +03:00
John Preston
f48d6dc464
Alpha 1.0.18: Fixed build for macOS.
2017-03-02 17:01:32 +03:00
John Preston
6576959948
Alpha 1.0.18: destroying auth keys on sign up.
...
Also some debugging tools for mtproto endpoints added.
2017-03-01 21:42:36 +03:00
John Preston
bc76f5ee1e
Debug feature added for overriding dc options.
...
Now you can type "endpoints" in Settings and choose a file with
a complete set of dc_options that will be used instead of built-in
or received through mtproto config till the end of current session.
2017-03-01 20:22:37 +03:00
John Preston
5f5770dd46
Support special seek whence for ffmpeg.
...
AVSEEK_SIZE is passed as a whence when ffmpeg needs just data size.
2017-03-01 10:31:36 +03:00
John Preston
fb230a443e
Fixed text with right bearings display.
...
Sometimes Text::_maxWidth was not accumulated correctly because
the intermediate text blocks had negative right bearing larger
than the whole width of the next text block, so the final computed
line width was less than some intermediate value. Now we accumulate
the _maxWidth value after each block making this value correct.
2017-02-28 19:38:23 +03:00
John Preston
a4a7a77abd
Closed beta 1000017001: enable auth_key_destroy.
...
Now we use only new authorization keys for signing in. If we are
preparing to sign in and we see, that some of the authorization
keys were not generated in this launch, but were read from file, we
destroy all existing auth keys and generate a completely new set.
2017-02-28 19:08:30 +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
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
ae08a2f697
Alpha 1.0.17: crash fix in file open.
...
ShellExecute() call reenters Qt event loop, so each time we
schedule a delayed action (like destroying FileLoader) and after
that we call ShellExecute (in psOpenFile) we destroy it inside
this call and can't use it after.
So now we perform ShellExecute calls only delayed (using task queue).
2017-02-28 11:18:27 +03:00
John Preston
a5eb5a6ea2
Crash fix when setting a background image by URL. #3077
...
When we choose a file from URL we don't get the filename.
In background image apply method we test for a theme / palette
file extensions. Now we don't crash there, but we still can't set
a .tdesktop-theme or .tdesktop-palette file from URL. Who cares :)
2017-02-28 10:26:27 +03:00
John Preston
d254058690
Alpha 1.0.16: fighting crashes.
...
An attempt to fix a crash in MTP::Instance destructor + additional
logging there to find out how this crash happens.
2017-02-27 21:47:29 +03:00
John Preston
2fa2fa41c5
Some special logging added for crash catching.
...
Special FileLoader destructor crash added to find the code path
leading to crashes that could be observed through the reports.
Looks like progress() signal handlers enter event loop somehow.
2017-02-27 21:33:42 +03:00
John Preston
3f8e822621
Fixing crash in logout from passcode.
...
If the MTP::Instance is not started yet (we forgot our passcode),
the logout attempt was attempting to use mtproto from Intro::Widget
constructor before it was created. Now we create it before logout.
2017-02-27 21:25:42 +03:00
John Preston
fb2a26fb35
Alpha 1.0.15: various improvements.
...
Wrong supergroup members display fix, RTL text layout fix.
Linux GTK file chooser image preview added. Fix #3053 #2968
2017-02-27 13:44:14 +03:00
John Preston
6c2f16e9a0
Some improvements in mtproto data processing.
...
Readability improvements. Checking maximum padding size.
Checking SHA1 hash before validating inner message length.
2017-02-27 12:51:03 +03:00
John Preston
4838d1bfc9
GTK file chooser image preview support added. #2968
...
Thanks to Chromium code.
Also fixed build on GCC / Linux.
2017-02-26 22:27:57 +03:00
John Preston
e8b03248e1
Fix members list in supergroups when scrolling up.
...
When we load previous messages in chat history we add all authors
of the messages to lastAuthors in regular groups (so that we can
suggest them in mention autocomplete). The same logic was (blindly)
applied to supergroups lastParticipants list which is used not only
for the mention autocomplete but also in Profile members list. That
way we were showing there users who could've already left the group.
2017-02-26 21:02:47 +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
5195b4d3ef
RTL strings with trailing spaces render fix.
...
Commit 8d354382a4
introduced a regression in RTL phrases display.
When an RTL line had trailing spaces we started displaying them in
front of the text still assuming counted line width value that did
not include those trailing spaces.
Line width is not including trailing spaces width because it is
allowed to fit in the line any number of spaces.
Also text block "left padding" entity was eliminated. If we have
some spaces in the start of the text block (for example a text block
after a link) we just add an empty word and mark those spaces as its
right padding.
2017-02-26 21:02:45 +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
f82989c9c3
Using std::vector<> and const fields for emoji.
2017-02-25 23:35:55 +03:00
John Preston
c48ed2e62b
Closed beta 1000014001: fixed GCC build.
2017-02-25 21:17:50 +03:00
John Preston
d1e37864ac
Closed beta 1000014001: fixed crash in MTP destructor.
...
Some of MTP::Instance::Private fields access _instance in
destructors. All that cleanup should be performed before the
Instance::~Instance() (which invalidates _private) is called.
2017-02-25 20:55:11 +03:00
John Preston
bcec2f6b84
Closed beta 1000014001: fixed Xcode build.
2017-02-25 20:46:21 +03:00
John Preston
6b70cc342a
Closed beta 1000014001: testing MTP changes.
...
Destroying of the authorization keys disabled for now.
2017-02-25 20:15:30 +03:00
John Preston
7d89b54d1c
Ability to delete authorization keys added.
...
If we start logging in and we know, that some of the authorization
keys were read from the hard drive, not generated, we destroy all
the existing authorization keys and start generating new keys.
2017-02-25 19:48:22 +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
90b3b5c3e5
MTP::AuthKey uses std::array for data.
...
Also using "volatile char*" iteration for secure memset on Mac/Linux.
2017-02-25 19:48:18 +03:00