Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mumble-voip/mumble.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Adam <dev@robert-adam.de>2021-03-05 11:28:53 +0300
committerRobert Adam <dev@robert-adam.de>2021-03-06 20:57:22 +0300
commit4e1129b6edbfd2bb6db77d32f5b3ff7a03261869 (patch)
treeff9f2b31678c0cb5e44bff857cf1c112cd80bf7e
parent7205cdea607ac4c02dc845092a74eca22ef379d5 (diff)
REFAC(client): Put qsslStringConversion to QtUtils
There was a function for processing QsslStrings in UserInformation.cpp as well as ViewCert.cpp. These functions were completely identical. Therefore there were name clashes that appeared when performing a unity build. Furthermore duplicating functionality in multiple places in never a good idea. Thus this commit refactors the code so that both classes now use a shared implementation in QtUtils.cpp.
-rw-r--r--src/QtUtils.cpp15
-rw-r--r--src/QtUtils.h11
-rw-r--r--src/mumble/UserInformation.cpp16
-rw-r--r--src/mumble/ViewCert.cpp9
4 files changed, 30 insertions, 21 deletions
diff --git a/src/QtUtils.cpp b/src/QtUtils.cpp
index 6f22fdfbf..4a71e0ff2 100644
--- a/src/QtUtils.cpp
+++ b/src/QtUtils.cpp
@@ -4,10 +4,25 @@
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
#include <QObject>
+#include <QUrl>
+#include <QStringList>
namespace Mumble {
namespace QtUtils {
void deleteQObject(QObject *object) { object->deleteLater(); }
+ QString decode_utf8_qssl_string(const QString &input) {
+ QString i = input;
+ return QUrl::fromPercentEncoding(i.replace(QLatin1String("\\x"), QLatin1String("%")).toLatin1());
+ }
+
+ QString decode_first_utf8_qssl_string(const QStringList &list) {
+ if (list.count() > 0) {
+ return decode_utf8_qssl_string(list.at(0));
+ }
+ return QString();
+ }
+
+
}; // namespace QtUtils
}; // namespace Mumble
diff --git a/src/QtUtils.h b/src/QtUtils.h
index 7fc09246b..74a3808b4 100644
--- a/src/QtUtils.h
+++ b/src/QtUtils.h
@@ -6,7 +6,10 @@
#ifndef MUMBLE_QTUTILS_H_
#define MUMBLE_QTUTILS_H_
+#include <QString>
+
class QObject;
+class QStringList;
namespace Mumble {
namespace QtUtils {
@@ -20,6 +23,14 @@ namespace QtUtils {
*/
void deleteQObject(QObject *object);
+ QString decode_utf8_qssl_string(const QString &input);
+
+ /**
+ * Applies decode_utf8_qssl_string on the first element in the
+ * given list. If the list is empty an empty String is returned.
+ */
+ QString decode_first_utf8_qssl_string(const QStringList &list);
+
}; // namespace QtUtils
}; // namespace Mumble
diff --git a/src/mumble/UserInformation.cpp b/src/mumble/UserInformation.cpp
index f234169c7..1ecc996e9 100644
--- a/src/mumble/UserInformation.cpp
+++ b/src/mumble/UserInformation.cpp
@@ -8,23 +8,11 @@
#include "Audio.h"
#include "CELTCodec.h"
#include "HostAddress.h"
+#include "QtUtils.h"
#include "ServerHandler.h"
#include "ViewCert.h"
#include "Global.h"
-#include <QtCore/QUrl>
-
-static QString decode_utf8_qssl_string(const QString &input) {
- QString i = input;
- return QUrl::fromPercentEncoding(i.replace(QLatin1String("\\x"), QLatin1String("%")).toLatin1());
-}
-
-static QString decode_utf8_qssl_string(const QStringList &list) {
- if (list.count() > 0) {
- return decode_utf8_qssl_string(list.at(0));
- }
- return QString();
-}
UserInformation::UserInformation(const MumbleProto::UserStats &msg, QWidget *p) : QDialog(p) {
setupUi(this);
@@ -116,7 +104,7 @@ void UserInformation::update(const MumbleProto::UserStats &msg) {
if (alts.contains(QSsl::EmailEntry))
qlCertificate->setText(QStringList(alts.values(QSsl::EmailEntry)).join(tr(", ")));
else
- qlCertificate->setText(decode_utf8_qssl_string(cert.subjectInfo(QSslCertificate::CommonName)));
+ qlCertificate->setText(Mumble::QtUtils::decode_first_utf8_qssl_string(cert.subjectInfo(QSslCertificate::CommonName)));
if (msg.strong_certificate()) {
QFont f = qfCertificateFont;
diff --git a/src/mumble/ViewCert.cpp b/src/mumble/ViewCert.cpp
index 19f4968f3..366987a1d 100644
--- a/src/mumble/ViewCert.cpp
+++ b/src/mumble/ViewCert.cpp
@@ -4,8 +4,8 @@
// Mumble source tree or at <https://www.mumble.info/LICENSE>.
#include "ViewCert.h"
+#include "QtUtils.h"
-#include <QtCore/QUrl>
#include <QtNetwork/QSslKey>
#include <QtWidgets/QDialogButtonBox>
#include <QtWidgets/QGroupBox>
@@ -13,14 +13,9 @@
#include <QtWidgets/QListWidget>
#include <QtWidgets/QVBoxLayout>
-static QString decode_utf8_qssl_string(const QString &input) {
- QString i = input;
- return QUrl::fromPercentEncoding(i.replace(QLatin1String("\\x"), QLatin1String("%")).toLatin1());
-}
-
static QStringList processQSslCertificateInfo(QStringList in) {
QStringList list;
- foreach (QString str, in) { list << decode_utf8_qssl_string(str); }
+ foreach (QString str, in) { list << Mumble::QtUtils::decode_utf8_qssl_string(str); }
return list;
}