blob: fc0036f7d29d8ff7fd897df20409c60744146c73 [file] [log] [blame]
Isa Nanic6e4a39a2018-12-04 14:26:02 -05001/***************************************************************************
Sébastien Blin68abac92019-01-02 17:41:31 -05002 * Copyright (C) 2019-2019 by Savoir-faire Linux *
Isa Nanic6e4a39a2018-12-04 14:26:02 -05003 * Author: Isa Nanic <isa.nanic@savoirfairelinux.com> *
4 * *
5 * This program is free software; you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation; either version 3 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * This program is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
17 **************************************************************************/
18
19#pragma once
20
21#include <QWidget>
22#include <QListWidgetItem>
23
24namespace Ui {
25 class AdvancedSettingsWidget;
26}
27
28class AdvancedSettingsWidget : public QWidget {
29
30 Q_OBJECT
31 AdvancedSettingsWidget(const AdvancedSettingsWidget& cpy);
32
33public:
34 AdvancedSettingsWidget(QWidget* parent = nullptr);
35 ~AdvancedSettingsWidget();
36
Andreas Traczyk1da5a882019-01-29 11:54:58 -050037 void updateAdvancedSettings();
38
Isa Nanic6e4a39a2018-12-04 14:26:02 -050039private:
40 Ui::AdvancedSettingsWidget* ui;
Isa Nanic6e4a39a2018-12-04 14:26:02 -050041
42private slots:
43// call settings
44 void setCallsUntrusted(bool state);
45 void setAutoAnswerCalls(bool state);
46 void setEnableRingtone(bool state);
47
48 void openFileCustomRingtone();
49
50// name server
51 void setNameServer(const QString& name);
52
53// openDHT config
54 void setEnableProxy(bool state);
55
56 void setProxyAddress(const QString& name);
57 void setBootstrapAddress(const QString& name);
58
59// security
60 void openFileCACert();
61 void openFileUserCert();
62 void openFilePrivateKey();
63
64// connectivity
65 void setUseUPnP(bool state);
66 void setUseTURN(bool state);
67 void setUseSTUN(bool state);
68
69 void setTURNAddress(const QString& name);
70 void setTURNUsername(const QString& name);
71 void setTURNPsswd(const QString& name);
72 void setSTUNAddress(const QString& name);
73
74// codecs
75 void updateAudioCodecs();
76 void updateVideoCodecs();
77
78 void audioCodecsStateChange(QListWidgetItem* item = nullptr);
79 void videoCodecsStateChange(QListWidgetItem* item = nullptr);
80
81 void decreaseAudioCodecPriority();
82 void increaseAudioCodecPriority();
83
84 void decreaseVideoCodecPriority();
85 void increaseVideoCodecPriority();
86
87 void setVideoState(int state);
88
Isa Nanic6e4a39a2018-12-04 14:26:02 -050089};