dde-dock/plugins/bluetooth/bluetoothapplet.h
fengshaoxiong 44af20205a fix(bluetooth): 蓝牙关闭1分钟后重新打开后,不刷新蓝牙设备
蓝牙重新打开后,需要根据是否需要扫描,触发扫描操作

Log: 解决蓝牙关闭1分钟后重新打开后,不刷新蓝牙设备问题
Bug: https://pms.uniontech.com/zentao/bug-view-35148.html
2020-06-27 10:04:33 +08:00

83 lines
2.1 KiB
C++

/*
* Copyright (C) 2016 ~ 2018 Deepin Technology Co., Ltd.
*
* Author: zhaolong <zhaolong@uniontech.com>
*
* Maintainer: zhaolong <zhaolong@uniontech.com>
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef BLUETOOTHAPPLET_H
#define BLUETOOTHAPPLET_H
#include "componments/device.h"
#include <QScrollArea>
class QLabel;
class QVBoxLayout;
class QHBoxLayout;
class Adapter;
class AdapterItem;
class HorizontalSeparator;
class MenueItem;
class AdaptersManager;
class BluetoothApplet : public QScrollArea
{
Q_OBJECT
public:
explicit BluetoothApplet(QWidget *parent = nullptr);
void setAdapterPowered(bool powered);
void setAdapterRefresh();
bool poweredInitState();
bool hasAadapter();
QStringList connectedDevsName();
public slots :
void addAdapter(Adapter *adapter);
void removeAdapter(Adapter *adapter);
signals:
void powerChanged(bool powered);
void deviceStateChanged(const Device::State state);
void noAdapter();
void justHasAdapter();
private slots:
void onPowerChanged();
void onDeviceStateChanged();
private:
void updateView();
void getDevieInitStatus(AdapterItem *item);
private:
HorizontalSeparator *m_line;
QLabel *m_appletName;
QWidget *m_centralWidget;
QVBoxLayout *m_centrealLayout;
QVBoxLayout *m_adapterLayout;
QHBoxLayout *m_menueLayout;
MenueItem *m_openControlCenter;
AdaptersManager *m_adaptersManager;
QMap<QString, AdapterItem *> m_adapterItems;
Device::State m_initDeviceState;
};
#endif // BLUETOOTHAPPLET_H