2023-02-16 13:51:55 +08:00
|
|
|
// Copyright (C) 2020 ~ 2022 Deepin Technology Co., Ltd.
|
|
|
|
// SPDX-FileCopyrightText: 2018 - 2023 UnionTech Software Technology Co., Ltd.
|
2022-09-06 11:36:55 +08:00
|
|
|
//
|
|
|
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
2021-11-06 16:30:46 +08:00
|
|
|
|
|
|
|
#ifndef AIRPLANEMODEITEM_H
|
|
|
|
#define AIRPLANEMODEITEM_H
|
|
|
|
|
2022-11-18 17:08:32 +08:00
|
|
|
#include "org_deepin_dde_airplanemode1.h"
|
2021-11-06 16:30:46 +08:00
|
|
|
|
|
|
|
#include <QWidget>
|
|
|
|
|
2022-11-18 17:08:32 +08:00
|
|
|
using DBusAirplaneMode = org::deepin::dde::AirplaneMode1;
|
2021-11-06 16:30:46 +08:00
|
|
|
|
|
|
|
namespace Dock {
|
|
|
|
class TipsWidget;
|
|
|
|
}
|
|
|
|
|
|
|
|
class AirplaneModeApplet;
|
|
|
|
class AirplaneModeItem : public QWidget
|
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
public:
|
|
|
|
explicit AirplaneModeItem(QWidget *parent = nullptr);
|
|
|
|
|
|
|
|
QWidget *tipsWidget();
|
|
|
|
QWidget *popupApplet();
|
|
|
|
const QString contextMenu() const;
|
|
|
|
void invokeMenuItem(const QString menuId, const bool checked);
|
|
|
|
void refreshIcon();
|
2022-01-05 11:13:49 +08:00
|
|
|
void updateTips();
|
2021-11-06 16:30:46 +08:00
|
|
|
|
2022-02-15 10:19:12 +08:00
|
|
|
bool airplaneEnable();
|
|
|
|
|
2021-11-06 16:30:46 +08:00
|
|
|
protected:
|
|
|
|
void resizeEvent(QResizeEvent *e);
|
|
|
|
void paintEvent(QPaintEvent *e);
|
|
|
|
|
2022-01-05 11:13:49 +08:00
|
|
|
signals:
|
2022-02-15 10:19:12 +08:00
|
|
|
void airplaneEnableChanged(bool enable);
|
2022-01-05 11:13:49 +08:00
|
|
|
|
2021-11-06 16:30:46 +08:00
|
|
|
private:
|
|
|
|
Dock::TipsWidget *m_tipsLabel;
|
|
|
|
AirplaneModeApplet *m_applet;
|
|
|
|
DBusAirplaneMode *m_airplaneModeInter;
|
|
|
|
QPixmap m_iconPixmap;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // AIRPLANEMODEITEM_H
|