summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/repository.cpp
diff options
context:
space:
mode:
authorNiels Weber <niels.weber@digia.com>2013-04-18 14:39:25 +0200
committerNiels Weber <niels.weber@digia.com>2013-04-23 13:10:40 +0200
commit546e74bde62fe657a45f5b7626a7aacf48421c4d (patch)
treef56a4135862b981a9ebd940d27b29d40cb9818a5 /src/libs/installer/repository.cpp
parentbbd2cab7c4097a0776c28a5e1d4cc2f8b66b53c1 (diff)
Add a DisplayName setting for repositories.
If DisplayName is set, it will be shown instead of the URL. This serves to hide a repositories URL while still being able to pinpoint bugreports to a specific repository. Task-number: QTIFW-244 Change-Id: Iaf0bc1612b42f1044da936d0fc2c4ad0e1e85d61 Reviewed-by: Tim Jenssen <tim.jenssen@digia.com> Reviewed-by: Karsten Heimrich <karsten.heimrich@digia.com>
Diffstat (limited to 'src/libs/installer/repository.cpp')
-rw-r--r--src/libs/installer/repository.cpp32
1 files changed, 26 insertions, 6 deletions
diff --git a/src/libs/installer/repository.cpp b/src/libs/installer/repository.cpp
index 2f0510760..786cb2a49 100644
--- a/src/libs/installer/repository.cpp
+++ b/src/libs/installer/repository.cpp
@@ -65,12 +65,13 @@ Repository::Repository(const Repository &other)
, m_enabled(other.m_enabled)
, m_username(other.m_username)
, m_password(other.m_password)
+ , m_displayname(other.m_displayname)
{
registerMetaType();
}
/*!
- Constructs a new repository by setting it's address to \a url and it's default state.
+ Constructs a new repository by setting its address to \a url and its default state.
*/
Repository::Repository(const QUrl &url, bool isDefault)
: m_url(url)
@@ -81,7 +82,7 @@ Repository::Repository(const QUrl &url, bool isDefault)
}
/*!
- Constructs a new repository by setting it's address to \a repositoryUrl as string and it's
+ Constructs a new repository by setting its address to \a repositoryUrl as string and its
default state.
Note: user and password can be inside the \a repositoryUrl string: http://user:password@repository.url
@@ -192,13 +193,29 @@ void Repository::setPassword(const QString &password)
}
/*!
+ Returns the Name for the repository to be displayed instead of the URL
+*/
+QString Repository::displayname() const
+{
+ return m_displayname.isEmpty() ? m_url.toString() : m_displayname;
+}
+
+/*!
+ Sets the DisplayName of the repository to \a displayname.
+*/
+void Repository::setDisplayName(const QString &displayname)
+{
+ m_displayname = displayname;
+}
+
+/*!
Compares the values of this repository to \a other and returns true if they are equal (same server,
default state, enabled state as well as username and password). \sa operator!=()
*/
bool Repository::operator==(const Repository &other) const
{
return m_url == other.m_url && m_default == other.m_default && m_enabled == other.m_enabled
- && m_username == other.m_username && m_password == other.m_password;
+ && m_username == other.m_username && m_password == other.m_password && m_displayname == other.m_displayname;
}
/*!
@@ -223,6 +240,7 @@ const Repository &Repository::operator=(const Repository &other)
m_enabled = other.m_enabled;
m_username = other.m_username;
m_password = other.m_password;
+ m_displayname = other.m_displayname;
return *this;
}
@@ -235,18 +253,20 @@ void Repository::registerMetaType()
QDataStream &operator>>(QDataStream &istream, Repository &repository)
{
- QByteArray url, username, password;
- istream >> url >> repository.m_default >> repository.m_enabled >> username >> password;
+ QByteArray url, username, password, displayname;
+ istream >> url >> repository.m_default >> repository.m_enabled >> username >> password >> displayname;
repository.setUrl(QUrl::fromEncoded(QByteArray::fromBase64(url)));
repository.setUsername(QString::fromUtf8(QByteArray::fromBase64(username)));
repository.setPassword(QString::fromUtf8(QByteArray::fromBase64(password)));
+ repository.setDisplayName(QString::fromUtf8(QByteArray::fromBase64(displayname)));
return istream;
}
QDataStream &operator<<(QDataStream &ostream, const Repository &repository)
{
return ostream << repository.m_url.toEncoded().toBase64() << repository.m_default << repository.m_enabled
- << repository.m_username.toUtf8().toBase64() << repository.m_password.toUtf8().toBase64();
+ << repository.m_username.toUtf8().toBase64() << repository.m_password.toUtf8().toBase64()
+ << repository.m_displayname.toUtf8().toBase64();
}
}