mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-16 14:17:12 +02:00
Moved out peer list controller for giveaway box to separated file.
This commit is contained in:
parent
fc6d4d66b7
commit
3ecf3f7c55
4 changed files with 86 additions and 38 deletions
|
@ -824,6 +824,8 @@ PRIVATE
|
|||
history/history_view_highlight_manager.h
|
||||
history/history_widget.cpp
|
||||
history/history_widget.h
|
||||
info/boosts/giveaway/giveaway_list_controllers.cpp
|
||||
info/boosts/giveaway/giveaway_list_controllers.h
|
||||
info/boosts/create_giveaway_box.cpp
|
||||
info/boosts/create_giveaway_box.h
|
||||
info/boosts/info_boosts_inner_widget.cpp
|
||||
|
|
|
@ -10,10 +10,8 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
#include "api/api_premium.h"
|
||||
#include "base/call_delayed.h"
|
||||
#include "base/unixtime.h"
|
||||
#include "boxes/peers/edit_participants_box.h" // ParticipantsBoxController
|
||||
#include "data/data_peer.h"
|
||||
#include "data/data_subscription_option.h"
|
||||
#include "data/data_user.h"
|
||||
#include "info/boosts/giveaway/giveaway_list_controllers.h"
|
||||
#include "info/boosts/giveaway/giveaway_type_row.h"
|
||||
#include "info/boosts/giveaway/select_countries_box.h"
|
||||
#include "info/info_controller.h"
|
||||
|
@ -49,38 +47,6 @@ namespace {
|
|||
return dateNow;
|
||||
}
|
||||
|
||||
class MembersListController : public ParticipantsBoxController {
|
||||
public:
|
||||
using ParticipantsBoxController::ParticipantsBoxController;
|
||||
|
||||
void rowClicked(not_null<PeerListRow*> row) override;
|
||||
std::unique_ptr<PeerListRow> createRow(
|
||||
not_null<PeerData*> participant) const override;
|
||||
base::unique_qptr<Ui::PopupMenu> rowContextMenu(
|
||||
QWidget *parent,
|
||||
not_null<PeerListRow*> row) override;
|
||||
|
||||
};
|
||||
|
||||
void MembersListController::rowClicked(not_null<PeerListRow*> row) {
|
||||
delegate()->peerListSetRowChecked(row, !row->checked());
|
||||
}
|
||||
|
||||
std::unique_ptr<PeerListRow> MembersListController::createRow(
|
||||
not_null<PeerData*> participant) const {
|
||||
const auto user = participant->asUser();
|
||||
if (!user || user->isInaccessible() || user->isBot() || user->isSelf()) {
|
||||
return nullptr;
|
||||
}
|
||||
return std::make_unique<PeerListRow>(participant);
|
||||
}
|
||||
|
||||
base::unique_qptr<Ui::PopupMenu> MembersListController::rowContextMenu(
|
||||
QWidget *parent,
|
||||
not_null<PeerListRow*> row) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
void CreateGiveawayBox(
|
||||
|
@ -162,10 +128,9 @@ void CreateGiveawayBox(
|
|||
|
||||
box->uiShow()->showBox(
|
||||
Box<PeerListBox>(
|
||||
std::make_unique<MembersListController>(
|
||||
std::make_unique<Giveaway::AwardMembersListController>(
|
||||
controller,
|
||||
peer,
|
||||
ParticipantsRole::Members),
|
||||
peer),
|
||||
std::move(initBox)),
|
||||
Ui::LayerOption::KeepOther);
|
||||
});
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
/*
|
||||
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
|
||||
*/
|
||||
#include "info/boosts/giveaway/giveaway_list_controllers.h"
|
||||
|
||||
#include "data/data_peer.h"
|
||||
#include "data/data_user.h"
|
||||
#include "lang/lang_keys.h"
|
||||
|
||||
namespace Giveaway {
|
||||
|
||||
AwardMembersListController::AwardMembersListController(
|
||||
not_null<Window::SessionNavigation*> navigation,
|
||||
not_null<PeerData*> peer)
|
||||
: ParticipantsBoxController(navigation, peer, ParticipantsRole::Members) {
|
||||
}
|
||||
|
||||
void AwardMembersListController::rowClicked(not_null<PeerListRow*> row) {
|
||||
delegate()->peerListSetRowChecked(row, !row->checked());
|
||||
}
|
||||
|
||||
std::unique_ptr<PeerListRow> AwardMembersListController::createRow(
|
||||
not_null<PeerData*> participant) const {
|
||||
const auto user = participant->asUser();
|
||||
if (!user || user->isInaccessible() || user->isBot() || user->isSelf()) {
|
||||
return nullptr;
|
||||
}
|
||||
return std::make_unique<PeerListRow>(participant);
|
||||
}
|
||||
|
||||
base::unique_qptr<Ui::PopupMenu> AwardMembersListController::rowContextMenu(
|
||||
QWidget *parent,
|
||||
not_null<PeerListRow*> row) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} // namespace Giveaway
|
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
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 "boxes/peers/edit_participants_box.h"
|
||||
|
||||
class PeerData;
|
||||
class PeerListRow;
|
||||
|
||||
namespace Ui {
|
||||
class PopupMenu;
|
||||
} // namespace Ui
|
||||
|
||||
namespace Window {
|
||||
class SessionNavigation;
|
||||
} // namespace Window
|
||||
|
||||
namespace Giveaway {
|
||||
|
||||
class AwardMembersListController : public ParticipantsBoxController {
|
||||
public:
|
||||
AwardMembersListController(
|
||||
not_null<Window::SessionNavigation*> navigation,
|
||||
not_null<PeerData*> peer);
|
||||
|
||||
void rowClicked(not_null<PeerListRow*> row) override;
|
||||
std::unique_ptr<PeerListRow> createRow(
|
||||
not_null<PeerData*> participant) const override;
|
||||
base::unique_qptr<Ui::PopupMenu> rowContextMenu(
|
||||
QWidget *parent,
|
||||
not_null<PeerListRow*> row) override;
|
||||
|
||||
};
|
||||
|
||||
} // namespace Giveaway
|
Loading…
Add table
Reference in a new issue