mirror of
https://bitbucket.org/smil3y/kde-workspace.git
synced 2025-02-24 02:42:50 +00:00
plasma: handle theme change in system-monitor and mixer applets
also not saving the colors to the config when the colors are the default colors Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
parent
07a0119d45
commit
d13f1ac781
4 changed files with 93 additions and 35 deletions
|
@ -960,7 +960,6 @@ MixerApplet::MixerApplet(QObject *parent, const QVariantList &args)
|
|||
m_mixerwidget(nullptr),
|
||||
m_showvisualizer(s_showvisualizer),
|
||||
m_visualizerscale(s_visualizerscale),
|
||||
m_visualizercolor(kDefaultVisualizerColor()),
|
||||
m_visualizericon(s_visualizericon),
|
||||
m_visualizerbox(nullptr),
|
||||
m_visualizerscalebox(nullptr),
|
||||
|
@ -981,13 +980,8 @@ MixerApplet::~MixerApplet()
|
|||
|
||||
void MixerApplet::init()
|
||||
{
|
||||
KConfigGroup configgroup = config();
|
||||
m_showvisualizer = configgroup.readEntry("showVisualizer", s_showvisualizer);
|
||||
m_visualizerscale = configgroup.readEntry("visualizerScale", s_visualizerscale);
|
||||
m_visualizercolor = configgroup.readEntry("visualizerColor", kDefaultVisualizerColor());
|
||||
m_visualizericon = configgroup.readEntry("visualizerIcon", s_visualizericon);
|
||||
|
||||
m_mixerwidget->showVisualizer(m_showvisualizer, m_visualizerscale, m_visualizercolor, m_visualizericon);
|
||||
slotThemeChanged();
|
||||
connect(Plasma::Theme::defaultTheme(), SIGNAL(themeChanged()), this, SLOT(slotThemeChanged()));
|
||||
}
|
||||
|
||||
void MixerApplet::createConfigurationInterface(KConfigDialog *parent)
|
||||
|
@ -1005,9 +999,14 @@ void MixerApplet::createConfigurationInterface(KConfigDialog *parent)
|
|||
m_visualizerscalebox->setLabel(i18n("Smooth-factor"));
|
||||
widgetlayout->addWidget(m_visualizerscalebox);
|
||||
|
||||
const QColor defaultvisualizercolor = kDefaultVisualizerColor();
|
||||
QColor visualizercolor = m_visualizercolor;
|
||||
if (!visualizercolor.isValid()) {
|
||||
visualizercolor = defaultvisualizercolor;
|
||||
}
|
||||
m_visualizerbutton = new KColorButton(widget);
|
||||
m_visualizerbutton->setDefaultColor(kDefaultVisualizerColor());
|
||||
m_visualizerbutton->setColor(m_visualizercolor);
|
||||
m_visualizerbutton->setDefaultColor(defaultvisualizercolor);
|
||||
m_visualizerbutton->setColor(visualizercolor);
|
||||
widgetlayout->addWidget(m_visualizerbutton);
|
||||
|
||||
m_visualizericonbox = new QCheckBox(widget);
|
||||
|
@ -1054,12 +1053,30 @@ void MixerApplet::slotConfigAccepted()
|
|||
KConfigGroup configgroup = config();
|
||||
configgroup.writeEntry("showVisualizer", m_showvisualizer);
|
||||
configgroup.writeEntry("visualizerScale", m_visualizerscale);
|
||||
configgroup.writeEntry("visualizerColor", m_visualizercolor);
|
||||
if (m_visualizercolor == kDefaultVisualizerColor()) {
|
||||
configgroup.writeEntry("visualizerColor", QColor());
|
||||
} else {
|
||||
configgroup.writeEntry("visualizerColor", m_visualizercolor);
|
||||
}
|
||||
configgroup.writeEntry("visualizerIcon", m_visualizericon);
|
||||
emit configNeedsSaving();
|
||||
m_mixerwidget->showVisualizer(m_showvisualizer, m_visualizerscale, m_visualizercolor, m_visualizericon);
|
||||
}
|
||||
|
||||
void MixerApplet::slotThemeChanged()
|
||||
{
|
||||
KConfigGroup configgroup = config();
|
||||
m_showvisualizer = configgroup.readEntry("showVisualizer", s_showvisualizer);
|
||||
m_visualizerscale = configgroup.readEntry("visualizerScale", s_visualizerscale);
|
||||
m_visualizercolor = configgroup.readEntry("visualizerColor", QColor());
|
||||
if (!m_visualizercolor.isValid()) {
|
||||
m_visualizercolor = kDefaultVisualizerColor();
|
||||
}
|
||||
m_visualizericon = configgroup.readEntry("visualizerIcon", s_visualizericon);
|
||||
|
||||
m_mixerwidget->showVisualizer(m_showvisualizer, m_visualizerscale, m_visualizercolor, m_visualizericon);
|
||||
}
|
||||
|
||||
K_EXPORT_PLASMA_APPLET(mixer, MixerApplet)
|
||||
|
||||
#include "moc_mixer.cpp"
|
||||
|
|
|
@ -45,6 +45,7 @@ public:
|
|||
|
||||
private Q_SLOTS:
|
||||
void slotConfigAccepted();
|
||||
void slotThemeChanged();
|
||||
|
||||
private:
|
||||
friend MixerWidget;
|
||||
|
|
|
@ -777,9 +777,6 @@ SystemMonitor::SystemMonitor(QObject *parent, const QVariantList &args)
|
|||
m_hostname(s_hostname),
|
||||
m_port(s_port),
|
||||
m_update(s_update),
|
||||
m_cpucolor(kCPUVisualizerColor()),
|
||||
m_receivercolor(kNetReceiverVisualizerColor()),
|
||||
m_transmittercolor(kNetTransmitterVisualizerColor()),
|
||||
m_temperatureunit(s_temperatureunit),
|
||||
m_hostnameedit(nullptr),
|
||||
m_portbox(nullptr),
|
||||
|
@ -803,18 +800,8 @@ SystemMonitor::~SystemMonitor()
|
|||
|
||||
void SystemMonitor::init()
|
||||
{
|
||||
KConfigGroup configgroup = config();
|
||||
m_hostname = configgroup.readEntry("hostname", s_hostname);
|
||||
m_port = configgroup.readEntry("port", s_port);
|
||||
m_update = configgroup.readEntry("update", s_update);
|
||||
m_cpucolor = configgroup.readEntry("cpucolor", kCPUVisualizerColor());
|
||||
m_receivercolor = configgroup.readEntry("netreceivercolor", kNetReceiverVisualizerColor());
|
||||
m_transmittercolor = configgroup.readEntry("nettransmittercolor", kNetTransmitterVisualizerColor());
|
||||
m_temperatureunit = configgroup.readEntry("temperatureunit", s_temperatureunit);
|
||||
m_systemmonitorwidget->setupMonitors(
|
||||
m_hostname, m_port, m_update,
|
||||
m_cpucolor, m_receivercolor, m_transmittercolor, m_temperatureunit
|
||||
);
|
||||
slotThemeChanged();
|
||||
connect(Plasma::Theme::defaultTheme(), SIGNAL(themeChanged()), this, SLOT(slotThemeChanged()));
|
||||
}
|
||||
|
||||
void SystemMonitor::createConfigurationInterface(KConfigDialog *parent)
|
||||
|
@ -838,19 +825,34 @@ void SystemMonitor::createConfigurationInterface(KConfigDialog *parent)
|
|||
m_updateedit->setTime(QTime(0, 0, 0).addSecs(m_update));
|
||||
widgetlayout->addWidget(m_updateedit);
|
||||
|
||||
const QColor defaultcpucolor = kCPUVisualizerColor();
|
||||
QColor cpucolor = m_cpucolor;
|
||||
if (!cpucolor.isValid()) {
|
||||
cpucolor = defaultcpucolor;
|
||||
}
|
||||
m_cpubutton = new KColorButton(widget);
|
||||
m_cpubutton->setDefaultColor(kCPUVisualizerColor());
|
||||
m_cpubutton->setColor(m_cpucolor);
|
||||
m_cpubutton->setDefaultColor(defaultcpucolor);
|
||||
m_cpubutton->setColor(cpucolor);
|
||||
widgetlayout->addWidget(m_cpubutton);
|
||||
|
||||
const QColor defaultreceivercolor = kNetReceiverVisualizerColor();
|
||||
QColor receivercolor = m_receivercolor;
|
||||
if (!receivercolor.isValid()) {
|
||||
receivercolor = defaultreceivercolor;
|
||||
}
|
||||
m_receiverbutton = new KColorButton(widget);
|
||||
m_receiverbutton->setDefaultColor(kNetReceiverVisualizerColor());
|
||||
m_receiverbutton->setColor(m_receivercolor);
|
||||
m_receiverbutton->setDefaultColor(defaultreceivercolor);
|
||||
m_receiverbutton->setColor(receivercolor);
|
||||
widgetlayout->addWidget(m_receiverbutton);
|
||||
|
||||
const QColor defaulttransmittercolor = kNetTransmitterVisualizerColor();
|
||||
QColor transmittercolor = m_transmittercolor;
|
||||
if (!transmittercolor.isValid()) {
|
||||
transmittercolor = defaulttransmittercolor;
|
||||
}
|
||||
m_transmitterbutton = new KColorButton(widget);
|
||||
m_transmitterbutton->setDefaultColor(kNetTransmitterVisualizerColor());
|
||||
m_transmitterbutton->setColor(m_transmittercolor);
|
||||
m_transmitterbutton->setDefaultColor(defaulttransmittercolor);
|
||||
m_transmitterbutton->setColor(transmittercolor);
|
||||
widgetlayout->addWidget(m_transmitterbutton);
|
||||
|
||||
m_temperaturebox = new QComboBox(widget);
|
||||
|
@ -900,9 +902,21 @@ void SystemMonitor::slotConfigAccepted()
|
|||
configgroup.writeEntry("hostname", m_hostname);
|
||||
configgroup.writeEntry("port", m_port);
|
||||
configgroup.writeEntry("update", m_update);
|
||||
configgroup.writeEntry("cpucolor", m_cpucolor);
|
||||
configgroup.writeEntry("netreceivercolor", m_receivercolor);
|
||||
configgroup.writeEntry("nettransmittercolor", m_transmittercolor);
|
||||
if (m_cpucolor == kCPUVisualizerColor()) {
|
||||
configgroup.writeEntry("cpucolor", QColor());
|
||||
} else {
|
||||
configgroup.writeEntry("cpucolor", m_cpucolor);
|
||||
}
|
||||
if (m_receivercolor == kNetReceiverVisualizerColor()) {
|
||||
configgroup.writeEntry("netreceivercolor", QColor());
|
||||
} else {
|
||||
configgroup.writeEntry("netreceivercolor", m_receivercolor);
|
||||
}
|
||||
if (m_transmittercolor == kNetTransmitterVisualizerColor()) {
|
||||
configgroup.writeEntry("nettransmittercolor", QColor());
|
||||
} else {
|
||||
configgroup.writeEntry("nettransmittercolor", m_transmittercolor);
|
||||
}
|
||||
configgroup.writeEntry("temperatureunit", m_temperatureunit);
|
||||
emit configNeedsSaving();
|
||||
m_systemmonitorwidget->setupMonitors(
|
||||
|
@ -911,6 +925,31 @@ void SystemMonitor::slotConfigAccepted()
|
|||
);
|
||||
}
|
||||
|
||||
void SystemMonitor::slotThemeChanged()
|
||||
{
|
||||
KConfigGroup configgroup = config();
|
||||
m_hostname = configgroup.readEntry("hostname", s_hostname);
|
||||
m_port = configgroup.readEntry("port", s_port);
|
||||
m_update = configgroup.readEntry("update", s_update);
|
||||
m_cpucolor = configgroup.readEntry("cpucolor", QColor());
|
||||
if (!m_cpucolor.isValid()) {
|
||||
m_cpucolor = kCPUVisualizerColor();
|
||||
}
|
||||
m_receivercolor = configgroup.readEntry("netreceivercolor", QColor());
|
||||
if (!m_receivercolor.isValid()) {
|
||||
m_receivercolor = kNetReceiverVisualizerColor();
|
||||
}
|
||||
m_transmittercolor = configgroup.readEntry("nettransmittercolor", QColor());
|
||||
if (!m_transmittercolor.isValid()) {
|
||||
m_transmittercolor = kNetTransmitterVisualizerColor();
|
||||
}
|
||||
m_temperatureunit = configgroup.readEntry("temperatureunit", s_temperatureunit);
|
||||
m_systemmonitorwidget->setupMonitors(
|
||||
m_hostname, m_port, m_update,
|
||||
m_cpucolor, m_receivercolor, m_transmittercolor, m_temperatureunit
|
||||
);
|
||||
}
|
||||
|
||||
K_EXPORT_PLASMA_APPLET(system-monitor_applet, SystemMonitor)
|
||||
|
||||
#include "moc_system-monitor.cpp"
|
||||
|
|
|
@ -46,6 +46,7 @@ public:
|
|||
|
||||
private Q_SLOTS:
|
||||
void slotConfigAccepted();
|
||||
void slotThemeChanged();
|
||||
|
||||
private:
|
||||
friend SystemMonitorWidget;
|
||||
|
|
Loading…
Add table
Reference in a new issue