1 /*
2  * %kadu copyright begin%
3  * Copyright 2010, 2011 Piotr Galiszewski (piotr.galiszewski@kadu.im)
4  * Copyright 2012 Wojciech Treter (juzefwt@gmail.com)
5  * Copyright 2010, 2013, 2014 Bartosz Brachaczek (b.brachaczek@gmail.com)
6  * Copyright 2011, 2013, 2014 Rafał Przemysław Malinowski (rafal.przemyslaw.malinowski@gmail.com)
7  * %kadu copyright end%
8  *
9  * This program is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU General Public License as
11  * published by the Free Software Foundation; either version 2 of
12  * the License, or (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program. If not, see <http://www.gnu.org/licenses/>.
21  */
22 
23 #include <QtWidgets/QApplication>
24 #include <QtWidgets/QHBoxLayout>
25 #include <QtWidgets/QLabel>
26 
27 #include "configuration/config-file-data-manager.h"
28 #include "gui/widgets/color-button.h"
29 #include "gui/widgets/configuration/config-group-box.h"
30 #include "gui/widgets/configuration/configuration-widget.h"
31 #include "gui/windows/main-configuration-window.h"
32 
33 #include "buddy-list-background-colors-widget.h"
34 
BuddyListBackgroundColorsWidget(MainConfigurationWindow * mainWindow)35 BuddyListBackgroundColorsWidget::BuddyListBackgroundColorsWidget(MainConfigurationWindow* mainWindow) :
36 		m_mainWindow{mainWindow}
37 {
38 	createGui();
39 	loadConfiguration();
40 
41 	connect(m_mainWindow, SIGNAL(configurationWindowApplied()), this, SLOT(configurationApplied()));
42 }
43 
createGui()44 void BuddyListBackgroundColorsWidget::createGui()
45 {
46 	QHBoxLayout *layout = new QHBoxLayout(this);
47 
48 	colorButton = new ColorButton(this);
49 	alternateColorButton = new ColorButton(this);
50 
51 	layout->addWidget(colorButton);
52 	layout->addWidget(alternateColorButton);
53 
54 	ConfigGroupBox *groupBox = m_mainWindow->widget()->configGroupBox("Look", "Buddies list", "Background");
55 
56 	groupBox->addWidgets(new QLabel(QCoreApplication::translate("@default", "Background colors") + ':', this), this);
57 }
58 
loadConfiguration()59 void BuddyListBackgroundColorsWidget::loadConfiguration()
60 {
61 	if (!m_mainWindow || m_mainWindow->dataManager())
62 		return;
63 
64 	colorButton->setColor(m_mainWindow->dataManager()->readEntry("Look", "UserboxBgColor").value<QColor>());
65 	alternateColorButton->setColor(m_mainWindow->dataManager()->readEntry("Look", "UserboxAlternateBgColor").value<QColor>());
66 }
67 
configurationApplied()68 void BuddyListBackgroundColorsWidget::configurationApplied()
69 {
70 	if (!m_mainWindow || m_mainWindow->dataManager())
71 		return;
72 
73 	m_mainWindow->dataManager()->writeEntry("Look", "UserboxBgColor", QVariant(colorButton->color().name()));
74 	m_mainWindow->dataManager()->writeEntry("Look", "UserboxAlternateBgColor", QVariant(alternateColorButton->color().name()));
75 }
76 
77 #include "moc_buddy-list-background-colors-widget.cpp"
78