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