Commit Graph

262 Commits

Author SHA1 Message Date
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 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 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 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 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 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 ffc557a0f9 Using standard library instead of std_ namespace.
Currently tested only in VS2015.
2017-02-21 16:45:56 +03:00
John Preston 25583fa813 Replace T_WIDGET macro with a template base class. 2017-02-11 14:24:37 +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 8bb14f4565 Small layout search field hidden. Crash fix in common groups section.
Also clearing cloud drafts in deactivated chats after migrating them.
2017-01-18 13:26:33 +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 8a8e0c1182 Passcode box layout fix. Drop image from Firefox fix.
Also admin star color in group profile has separate palette entry.
2017-01-13 18:15:25 +03:00
John Preston 7fb1463c43 Version 1.0 stable: bump copyright date to 2017. 2017-01-11 23:02:13 +04:00
John Preston 30c9bcb985 Alpha 0.10.27: appoint admins in your supergroups from context menu. 2017-01-11 09:30:51 +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 9d66e88fc1 Alpha 0.10.24: fixed image alignment for ffmpeg, using ffmpeg 3.2. 2017-01-05 13:08:16 +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 218f991547 Alpha version 0.10.22: critical bug fixes. 2016-12-31 17:34:41 +04:00
John Preston 1d8e76aa08 New empty user/chat photos: with filled background and initials. 2016-12-30 17:53:09 +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 0480e02b23 Closed beta 10020001: application icon changed. 2016-12-30 17:52:58 +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 90234cb7a0 Closed beta 10019014: New input fields design and animations. 2016-12-30 17:52:52 +04:00
John Preston 2d48cde27a Fixed crashes in thumb animation. Fix notifications show.
Also allow reporting bots. Also disable last used stickers click.
2016-12-30 17:52:51 +04:00
John Preston 4692fdeb5f Closed beta 10019013: Groups in common now are opened in a section. 2016-12-30 17:52:50 +04:00
John Preston 47977009b8 Moved FloatAnimation->Animation, Animation->BasicAnimation. 2016-12-30 17:52:48 +04:00
John Preston 06ed7b8eaf Some more ripple animations. Now only anim::value (float64).
Also each FloatAnimation now stops MTP responses.
Also slide animations done by FloatAnimation.
Closed beta 10019012.
2016-12-30 17:52:46 +04:00
John Preston 74253fb7f2 Fixed layout of names in profile peer list block. 2016-12-30 17:52:43 +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 2796c53542 Some more ripple animations. 2016-12-30 17:52:37 +04:00
John Preston 3cff50009c Closed beta 10019010: unified attach button, new intro, new stickers.
Now all files sending is confirmed before preparing for sending.
You can paste from clipboard and drag many files at once.
2016-12-30 17:52:32 +04:00
John Preston e880c4876e Strict alignment request for base::lambda. Various improvements. 2016-12-30 17:52:21 +04:00
John Preston 2ada4d841f Top bar buttons design improved, emoji pan animations removed. 2016-12-30 17:52:18 +04:00
John Preston 07689476a6 Closed beta 10019008: Some more ripple animations added. 2016-12-30 17:52:13 +04:00
John Preston 7fa274a68e Improved ripple animation colors and styles for different buttons.
Also moved FlatLabel and LabelSimple to ui/widgets/labels module.
Also moved ScrollArea to ui/widgets/scroll_area module.
2016-12-30 17:52:10 +04:00
John Preston 3186e1e495 Ripple animations done for IconButton, FlatButton and RoundButton.
Also moved input field classes to ui/widgets/input_fields module.
2016-12-30 17:52:08 +04:00
John Preston 807bebb3cf Buttons moved to ui/widgets/buttons module, BoxButton removed. 2016-12-30 17:52:04 +04:00
John Preston fac8e48381 Default background changed to green, "video file" -> "video" in lang. 2016-12-30 17:51:48 +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 0cbb0014db Removed blue window title, new small title used only in Windows. 2016-12-30 17:51:37 +04:00
John Preston 1466338e7e Closed beta 10019001: Build fixed for Xcode. 2016-12-30 17:51:34 +04:00
John Preston e08f5437a6 Palette usage improvements. 2016-12-30 17:51:29 +04:00
John Preston dbb6371e67 First version on loading themes is ready. 2016-12-30 17:51:27 +04:00
John Preston 2e4426aac0 Old sprites removed completely. Only #rrggbb and #rrggbbaa in styles.
Also moved Checkbox and Radiobutton to Ui namespace.
Also child widgets in many boxes were wrapped in ChildWidget<>.
2016-10-28 12:20:24 +03:00
John Preston 6e33f039b2 Dropdown replaced by Ui::DropdownMenu. ScrolledWidget removed.
Ui::DropdownMenu is like Ui::PopupMenu, both based on Ui::Menu.
2016-10-27 15:56:48 +03:00
John Preston ec6e46dae7 Some more icons moved from sprite. 2016-10-26 15:24:21 +03:00
John Preston e5a5273b3a Scrollable boxes reorganized: _scroll always owns _inner.
Also some boxes moved to separate modules: MembersBox, StickersBox.
2016-10-22 18:59:33 +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 f1d52c12ae Version 0.10.13.alpha: crash fix in custom notifications.
Not sending inline bot request drafts to server by timeout.
2016-10-07 19:45:45 +03:00
John Preston 1d6aba86ba Removed channel name from first message. Fixed channel members count. 2016-10-02 10:16:33 +03:00
John Preston 376941dd5e Mixed channel access hash to the game score encrypted data.
Added new lang strings for playing game send actions (not done yet).
Also moved alot of icons from sprite to separate b&w files.
2016-09-30 15:52:03 +03:00
John Preston da49d8440a Beta 10008001: moved all Notify::Observer-s to base::Subscriber-s. 2016-09-26 21:33:34 +03:00
John Preston 8546814a25 imageLoaded() notifications done through base::Subscriber.
Also FileDialog query completion notifications use base::Subscriber.
Strict lambda alignment check. Disable large lambdas in lambda_wrap.
2016-09-26 16:57:08 +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 263448bfb2 Fixed back button when opening channels. Fixed profile buttons layout. 2016-09-01 21:38:06 -04: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 993b91ac15 Most of the new Settings sections filled with widgets.
Some animations added: new scale slider, widget_slide_wrap<TWidget>.
Any TWidget now can resizeToWidth() with overriden resizeGetHeight().
2016-08-22 19:31:42 +02:00
John Preston b9e22f59a1 New settings section widgets added. Settings cover section is ready. 2016-08-19 19:26:31 +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 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 140522c196 Stable version 0.10.1: various bugfixes.
Minimal height of the message text fixed to prevent bubble collapsing.
FileDialog filter is (*) instead of (*.*) for Linux and macOS.
Explicitly setting text color in Settings user name painting.
2016-08-05 18:01:00 +01:00
John Preston 5df54371b5 ConfirmPhoneBox support added.
Limiting StartUrl to 8k symbols to prevent share url text overflow.
Better working with many cases of regular expression switch.
2016-07-28 20:01:08 +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 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 8ea47c1811 Opened histories stack finished, stack of states in vector_of_moveable. 2016-07-05 17:48:36 +03:00
John Preston 5c199e63ea Main window position and size saving fixed in Windows.
Dock and top bar hiding after photo view fixed in OS X.
Some design improvements. Alpha version 0.9.55.
2016-06-24 19:58:41 +03:00
John Preston 701b8c87e6 Selected messages actions (forward, delete, cancel) redesigned. 2016-06-22 20:11:35 +03:00
John Preston c73b5a6da4 Styles improved. Members dropdown is shown with a delay.
Overview of chat photos fixed. Tray icon tries read a file on Linux.
2016-06-21 17:19:24 +03:00
John Preston e47d8c0e03 Added "Add to Group" button in bot profile.
Changed new chat icon to more simplified.
Fixed kick user from a new members dropdown in chat history view.
Version 0.9.53.alpha is ready.
2016-06-20 18:46:36 +03:00
John Preston 7db7b177c0 Members block in group conversation view finished (except Xcode project). 2016-06-20 14:31:12 +03:00
John Preston f0a8356ff0 Profile members block displayed when mouse is over group members count. 2016-06-17 21:18:01 +03:00
John Preston 84f704448a Fixed scrolling by a child widget in ScrollArea by touch screen.
ScrollArea now always generates MouseMove when scrolled.
Fixed crash in BotKeyboard resizing with style change.
Fixed stickers box animations.
2016-06-15 20:48:16 +03:00
John Preston 38c2915533 Fixes in floating dates with migrated histories.
All service messages are now not multiline (including pinned).
Confirmation for profile photo deleting will be added (not enabled).
Copy-by-selection should be supported in Linux version now.
Drafts that contain only reply-to-id (without text) support added.
2016-06-14 19:26:41 +03:00
John Preston 5ffc5dd218 Blue online in top bar in conversation with user. Profile styles fix. 2016-06-10 14:18:55 +03:00
John Preston bf247455ee Fixed files overview thumbnails in retina. Fixed profile member list styles.
All round buttons over animations removed. Checkbox round radius smaller.
2016-06-10 09:54:56 +03:00
John Preston dbe4a5b7c7 Photos and videos in media overview ordered like in mobile apps. 2016-06-09 20:30:47 +03:00
John Preston a5cbbba12d Empty messages do not participate in displayDate() flow.
Example of an empty message is service message after clear history.
2016-06-08 22:14:17 +03:00
John Preston fadd531fbb Build prepared for Xcode and hopefully for QtCreator. Closed beta 9049002. 2016-06-08 13:24:20 +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 6aca90c478 Generate fake mouse move event when scrolling the new profiles. 2016-06-06 19:09:06 +03:00
John Preston 1c0548d1e8 New profiles Xcode build ready, couple of retina-support bugs fixed. 2016-06-06 14:35:49 +03:00
John Preston e336030b5e Channels report box added to new profile implementation.
Removed old profilewidget module files.
2016-06-06 13:29:51 +03:00
John Preston 3915576673 Online updated in the new profile covers. Covert to supergroup handled. 2016-06-04 23:29:16 +03:00
John Preston 855d44b9d8 Convert to megagroup information label added to new profiles.
Tested members and admins realtime in new profiles for groups.
2016-06-04 00:46:45 +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 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 15d6a1aacf Invite link block in the new profile implementation done.
Fixed ClickHandler state when host is destroyed and after drag-n-drop.
2016-06-01 19:40:51 +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 a06a989f97 New profile fixed top bar now is peer observer.
Multiple showAnimated() calls for SectionWidget are now allowed.
2016-05-27 18:45:35 +03:00
John Preston 2c5c25962c Profile fixed bar actions done, adaptive layout for profile buttons. 2016-05-27 16:56:35 +03:00
John Preston 3570a1cf91 New profile photo edit by drag-n-drop. Animated photo button. 2016-05-27 13:57:11 +03:00
John Preston 329285a8a6 Dragging text from FlatLabel is supported.
Started drag-n-drop support for chat photo updating.
2016-05-26 19:05:39 +03:00
John Preston ab59ef8498 FlatLabel now can allow to select text and copy to clipboard.
Used for peer name in the new profile cover widget.
2016-05-26 18:31:20 +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 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 41b330c5ea Primary and secondary round buttons tested in new profiles. 2016-05-23 15:41:09 +03:00
John Preston c42b142884 Divider added to new profiles. Icons from new styles can fill rects. 2016-05-20 18:35:58 +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 bf8a98a13b Side shadow moved to MainWidget. Testing slide animation with 3s duration.
New profile widget has fixed top bar outside of scroll area.
2016-05-14 19:57:06 +03:00
John Preston 3d073eddd6 New profiles started. Function<> made by variadic templates. 2016-05-12 19:05:20 +03:00