mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2026-08-05 11:24:21 +00:00
Allow fully editing todo lists.
This commit is contained in:
@@ -16,6 +16,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
#include "data/data_file_origin.h"
|
||||
#include "data/data_histories.h"
|
||||
#include "data/data_session.h"
|
||||
#include "data/data_todo_list.h"
|
||||
#include "data/data_web_page.h"
|
||||
#include "history/view/controls/history_view_compose_media_edit_manager.h"
|
||||
#include "history/history.h"
|
||||
@@ -358,4 +359,22 @@ mtpRequestId EditTextMessage(
|
||||
std::nullopt);
|
||||
}
|
||||
|
||||
void EditTodoList(
|
||||
not_null<HistoryItem*> item,
|
||||
const TodoListData &data,
|
||||
SendOptions options,
|
||||
Fn<void(mtpRequestId requestId)> done,
|
||||
Fn<void(const QString &error, mtpRequestId requestId)> fail) {
|
||||
const auto callback = [=](Fn<void()> applyUpdates, mtpRequestId id) {
|
||||
applyUpdates();
|
||||
done(id);
|
||||
};
|
||||
EditMessage(
|
||||
item,
|
||||
options,
|
||||
callback,
|
||||
fail,
|
||||
MTP_inputMediaTodo(TodoListDataToMTP(&data)));
|
||||
}
|
||||
|
||||
} // namespace Api
|
||||
|
||||
@@ -58,4 +58,11 @@ mtpRequestId EditTextMessage(
|
||||
Fn<void(const QString &error, mtpRequestId requestId)> fail,
|
||||
bool spoilered);
|
||||
|
||||
void EditTodoList(
|
||||
not_null<HistoryItem*> item,
|
||||
const TodoListData &data,
|
||||
SendOptions options,
|
||||
Fn<void(mtpRequestId requestId)> done,
|
||||
Fn<void(const QString &error, mtpRequestId requestId)> fail);
|
||||
|
||||
} // namespace Api
|
||||
|
||||
@@ -7,8 +7,7 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
||||
*/
|
||||
#include "api/api_todo_lists.h"
|
||||
|
||||
//#include "api/api_common.h"
|
||||
//#include "api/api_updates.h"
|
||||
#include "api/api_editing.h"
|
||||
#include "apiwrap.h"
|
||||
#include "base/random.h"
|
||||
#include "data/business/data_shortcut_messages.h" // ShortcutIdToMTP
|
||||
@@ -134,6 +133,23 @@ void TodoLists::create(
|
||||
});
|
||||
}
|
||||
|
||||
void TodoLists::edit(
|
||||
not_null<HistoryItem*> item,
|
||||
const TodoListData &data,
|
||||
SendOptions options,
|
||||
Fn<void()> done,
|
||||
Fn<void(QString)> fail) {
|
||||
EditTodoList(item, data, options, [=](mtpRequestId) {
|
||||
if (const auto onstack = done) {
|
||||
onstack();
|
||||
}
|
||||
}, [=](const QString &error, mtpRequestId) {
|
||||
if (const auto onstack = fail) {
|
||||
onstack(error);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
void TodoLists::add(
|
||||
not_null<HistoryItem*> item,
|
||||
const std::vector<TodoListItem> &items,
|
||||
|
||||
@@ -22,6 +22,7 @@ class Session;
|
||||
namespace Api {
|
||||
|
||||
struct SendAction;
|
||||
struct SendOptions;
|
||||
|
||||
class TodoLists final {
|
||||
public:
|
||||
@@ -32,6 +33,12 @@ public:
|
||||
SendAction action,
|
||||
Fn<void()> done,
|
||||
Fn<void(QString)> fail);
|
||||
void edit(
|
||||
not_null<HistoryItem*> item,
|
||||
const TodoListData &data,
|
||||
SendOptions options,
|
||||
Fn<void()> done,
|
||||
Fn<void(QString)> fail);
|
||||
void add(
|
||||
not_null<HistoryItem*> item,
|
||||
const std::vector<TodoListItem> &items,
|
||||
|
||||
Reference in New Issue
Block a user