1 // Copyright 2005-2019 The Mumble Developers. All rights reserved.
2 // Use of this source code is governed by a BSD-style license
3 // that can be found in the LICENSE file at the root of the
4 // Mumble source tree or at <https://www.mumble.info/LICENSE>.
5 
6 #include "mumble_pch.hpp"
7 
8 #include "ConfigWidget.h"
9 
10 QMap<int, ConfigWidgetNew> *ConfigRegistrar::c_qmNew;
11 
ConfigRegistrar(int priority,ConfigWidgetNew n)12 ConfigRegistrar::ConfigRegistrar(int priority, ConfigWidgetNew n) {
13 	if (! c_qmNew)
14 		c_qmNew = new QMap<int, ConfigWidgetNew>();
15 	iPriority = priority;
16 	c_qmNew->insert(priority,n);
17 }
18 
~ConfigRegistrar()19 ConfigRegistrar::~ConfigRegistrar() {
20 	c_qmNew->remove(iPriority);
21 	if (c_qmNew->isEmpty()) {
22 		delete c_qmNew;
23 		c_qmNew = NULL;
24 	}
25 }
26 
ConfigWidget(Settings & st)27 ConfigWidget::ConfigWidget(Settings &st) : s(st) {
28 }
29 
icon() const30 QIcon ConfigWidget::icon() const {
31 	return qApp->windowIcon();
32 }
33 
accept() const34 void ConfigWidget::accept() const {
35 }
36 
loadSlider(QSlider * slider,int v)37 void ConfigWidget::loadSlider(QSlider *slider, int v) {
38 	if (v != slider->value()) {
39 		slider->setValue(v);
40 	} else {
41 		connect(this, SIGNAL(intSignal(int)), slider, SIGNAL(valueChanged(int)));
42 		emit intSignal(v);
43 		disconnect(SIGNAL(intSignal(int)));
44 	}
45 }
46 
loadCheckBox(QAbstractButton * c,bool v)47 void ConfigWidget::loadCheckBox(QAbstractButton *c, bool v) {
48 	if (v != c->isChecked()) {
49 		c->setChecked(v);
50 	} else {
51 		connect(this, SIGNAL(intSignal(int)), c, SIGNAL(stateChanged(int)));
52 		emit intSignal(v ? 1 : 0);
53 		disconnect(SIGNAL(intSignal(int)));
54 	}
55 }
56 
loadComboBox(QComboBox * c,int v)57 void ConfigWidget::loadComboBox(QComboBox *c, int v) {
58 	if (c->currentIndex() != v) {
59 		c->setCurrentIndex(v);
60 	} else {
61 		connect(this, SIGNAL(intSignal(int)), c, SIGNAL(currentIndexChanged(int)));
62 		emit intSignal(v);
63 		disconnect(SIGNAL(intSignal(int)));
64 	}
65 }
66 
67