tdesktop/Telegram/SourceFiles/history/view/history_view_context_menu.h

49 lines
1.1 KiB
C
Raw Normal View History

/*
This file is part of Telegram Desktop,
the official desktop application for the Telegram messaging service.
For license and copyright information please follow this link:
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
*/
#pragma once
#include "base/unique_qptr.h"
namespace Ui {
class PopupMenu;
} // namespace Ui
2019-07-24 14:00:30 +00:00
namespace Main {
class Session;
} // namespace Main
namespace HistoryView {
2018-01-28 15:08:34 +00:00
enum class PointState : char;
class ListWidget;
class Element;
2018-01-28 15:08:34 +00:00
struct SelectedItem;
using SelectedItems = std::vector<SelectedItem>;
struct ContextMenuRequest {
2019-07-24 14:00:30 +00:00
explicit ContextMenuRequest(not_null<Main::Session*> session);
const not_null<Main::Session*> session;
ClickHandlerPtr link;
Element *view = nullptr;
2018-01-28 15:08:34 +00:00
HistoryItem *item = nullptr;
SelectedItems selectedItems;
TextForMimeData selectedText;
bool overSelection = false;
2018-01-28 15:08:34 +00:00
PointState pointState = PointState();
};
base::unique_qptr<Ui::PopupMenu> FillContextMenu(
not_null<ListWidget*> list,
const ContextMenuRequest &request);
2019-04-04 10:02:22 +00:00
void CopyPostLink(FullMsgId itemId);
2018-12-19 11:20:04 +00:00
void StopPoll(FullMsgId itemId);
} // namespace