-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRevelationPluginSampleInterface.cpp
More file actions
64 lines (55 loc) · 1.97 KB
/
Copy pathRevelationPluginSampleInterface.cpp
File metadata and controls
64 lines (55 loc) · 1.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "RevelationPluginSampleInterface.h"
#include "ICommonWidgetInterface.h"
#include "FluDef.h"
#include "FluThemeUtils.h"
#include "FluSettingsVersionBox.h"
RevelationPluginSampleInterface::RevelationPluginSampleInterface(IRevelationInterface* intf)
: m_interface(intf)
{
}
RevelationPluginSampleInterface::~RevelationPluginSampleInterface()
{
delete m_label;
}
void RevelationPluginSampleInterface::Initialize()
{
}
void RevelationPluginSampleInterface::Uninitialize()
{
}
void RevelationPluginSampleInterface::HandleBroadcast(BroadcastType broadcastType, const std::any& param /* = std::any() */)
{
if (broadcastType == BroadcastType::CollectNavigationView)
{
AddNavigationView();
}
else if (broadcastType == BroadcastType::CollectSettingsItem)
{
AddSettingsItem();
}
else if (broadcastType == BroadcastType::ChangeTheme)
{
FluTheme theme = std::any_cast<FluTheme>(param);
FluThemeUtils::getUtils()->setTheme(theme);
}
}
void RevelationPluginSampleInterface::AddNavigationView()
{
auto commonWidgetIntf = m_interface->GetCommonWidgetInterface();
if (nullptr != commonWidgetIntf)
{
m_label = new QLabel("Revelation Plugin Sample");
commonWidgetIntf->AddStackedWidget(m_label, QObject::tr("Revelation Plugin Sample"), FluAwesomeType::Emoji, Qt::AlignCenter);
}
}
void RevelationPluginSampleInterface::AddSettingsItem()
{
auto timeMachineItem = new FluSettingsVersionBox;
timeMachineItem->getTitleLabel()->setText("RevelationPluginSample");
timeMachineItem->getInfoLabel()->setText("This is a plugin setting sample.");
timeMachineItem->getVersionLabel()->setText(QString::fromStdString("1.0.0"));
QIcon icon = FluIconUtils::getFluentIcon(FluAwesomeType::Emoji);
timeMachineItem->getIconLabel()->setPixmap(icon.pixmap(40, 40));
timeMachineItem->getIconLabel()->setFixedSize(40, 40);
m_interface->GetCommonWidgetInterface()->AddSettingsItem(timeMachineItem);
}