dde-dock/plugins/sound/soundplugin.h
tsic404 119d72b0ea fix: adjust sound plugin
remove old v20 code, adjust sound devices widget style
run dbus call in another thread to prevent main thread get into wait.
make deviceList item undrageble, and sound setting clickable.

log:
2023-05-06 14:11:50 +08:00

49 lines
1.6 KiB
C++

// Copyright (C) 2011 ~ 2018 Deepin Technology Co., Ltd.
// SPDX-FileCopyrightText: 2018 - 2023 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: LGPL-3.0-or-later
#ifndef SOUNDPLUGIN_H
#define SOUNDPLUGIN_H
#include "pluginsiteminterface.h"
class SoundWidget;
class SoundDevicesWidget;
class SoundPlugin : public QObject, PluginsItemInterface
{
Q_OBJECT
Q_INTERFACES(PluginsItemInterface)
Q_PLUGIN_METADATA(IID "com.deepin.dock.PluginsItemInterface" FILE "sound.json")
public:
explicit SoundPlugin(QObject *parent = 0);
const QString pluginName() const override;
const QString pluginDisplayName() const override;
void init(PluginProxyInterface *proxyInter) override;
void pluginStateSwitched() override;
bool pluginIsAllowDisable() override { return true; }
bool pluginIsDisable() override;
QWidget *itemWidget(const QString &itemKey) override;
QWidget *itemTipsWidget(const QString &itemKey) override;
QWidget *itemPopupApplet(const QString &itemKey) override;
int itemSortKey(const QString &itemKey) override;
void setSortKey(const QString &itemKey, const int order) override;
void pluginSettingsChanged() override;
QIcon icon(const DockPart &dockPart, DGuiApplicationHelper::ColorType themeType) override;
PluginMode status() const override;
PluginFlags flags() const override;
bool eventHandler(QEvent *event) override;
private:
void refreshPluginItemsVisible();
private:
QScopedPointer<SoundWidget> m_soundWidget;
QScopedPointer<SoundDevicesWidget> m_soundDeviceWidget;
};
#endif // SOUNDPLUGIN_H