diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,7 @@ set(AKONADI_CONTACTS_VERSION ${PIM_VERSION}) -set(KCONTACTS_VERSION "5.11.41") +set(KCONTACTS_VERSION "5.11.42") set(KMIMELIB_VERSION "5.11.40") set(AKONADI_VERSION "5.11.40") diff --git a/src/contact-editor/editor/generalinfoeditor/web/webselecttypecombobox.h b/src/contact-editor/editor/generalinfoeditor/web/webselecttypecombobox.h --- a/src/contact-editor/editor/generalinfoeditor/web/webselecttypecombobox.h +++ b/src/contact-editor/editor/generalinfoeditor/web/webselecttypecombobox.h @@ -33,10 +33,7 @@ explicit WebSelectTypeCombobox(QWidget *parent = nullptr); ~WebSelectTypeCombobox() override; - QStringList selectTypeList() const; void initialize() override; -private: - QStringList mSelectType; }; } diff --git a/src/contact-editor/editor/generalinfoeditor/web/webselecttypecombobox.cpp b/src/contact-editor/editor/generalinfoeditor/web/webselecttypecombobox.cpp --- a/src/contact-editor/editor/generalinfoeditor/web/webselecttypecombobox.cpp +++ b/src/contact-editor/editor/generalinfoeditor/web/webselecttypecombobox.cpp @@ -20,6 +20,9 @@ */ #include "webselecttypecombobox.h" + +#include + #include using namespace ContactEditor; @@ -36,21 +39,8 @@ void WebSelectTypeCombobox::initialize() { addItem(i18n("Select..."), QString()); - QString type = QStringLiteral("HOME"); - mSelectType.append(type); - addItem(i18n("Home"), type); - type = QStringLiteral("WORK"); - mSelectType.append(type); - addItem(i18n("Work"), type); - type = QStringLiteral("PROFILE"); - mSelectType.append(type); - addItem(i18n("Profile"), type); - type = QStringLiteral("OTHER"); - mSelectType.append(type); - addItem(i18n("Other"), type); -} - -QStringList WebSelectTypeCombobox::selectTypeList() const -{ - return mSelectType; + addItem(i18n("Home"), (int)KContacts::ResourceLocatorUrl::Home); + addItem(i18n("Work"), (int)KContacts::ResourceLocatorUrl::Work); + addItem(i18n("Profile"), (int)KContacts::ResourceLocatorUrl::Profile); + addItem(i18n("Other"), (int)KContacts::ResourceLocatorUrl::Other); } diff --git a/src/contact-editor/editor/generalinfoeditor/web/webwidget.cpp b/src/contact-editor/editor/generalinfoeditor/web/webwidget.cpp --- a/src/contact-editor/editor/generalinfoeditor/web/webwidget.cpp +++ b/src/contact-editor/editor/generalinfoeditor/web/webwidget.cpp @@ -96,50 +96,16 @@ KContacts::ResourceLocatorUrl WebWidget::url() { mUrl.setUrl(QUrl(mWebSiteEdit->text())); - QMap parameters = mUrl.parameters(); - QStringList value = parameters.value(QStringLiteral("type")); - - const QString newType = mWebType->currentData().toString(); - if (!newType.isEmpty()) { - if (mOldType != newType) { - if (!value.contains(newType)) { - value.append(newType); - } - if (!mOldType.isEmpty()) { - value.removeAll(mOldType); - } - } - } - if (mWebSiteEdit->preferred()) { - if (!value.contains(QLatin1String("PREF"))) { - value.append(QStringLiteral("PREF")); - } - } else { - value.removeAll(QStringLiteral("PREF")); - } - if (!value.isEmpty()) { - parameters.insert(QStringLiteral("type"), value); - } - mUrl.setParameters(parameters); + mUrl.setPreferred(mWebSiteEdit->preferred()); + mUrl.setType(KContacts::ResourceLocatorUrl::Type(mWebType->currentData().toInt())); return mUrl; } void WebWidget::loadWebSite(const KContacts::ResourceLocatorUrl &url) { mUrl = url; - const QMap parameters = mUrl.parameters(); - const QStringList value = parameters.value(QStringLiteral("type")); - if (value.contains(QLatin1String("PREF"))) { - setPreferred(true); - } - const QStringList lst = mWebType->selectTypeList(); - for (const QString &type : lst) { - if (value.contains(type)) { - mOldType = type; - mWebType->setCurrentIndex(mWebType->findData(type)); - break; - } - } + setPreferred(url.isPreferred()); + mWebType->setCurrentIndex(mWebType->findData((int)url.type())); mWebSiteEdit->setText(mUrl.url().toDisplayString()); }