Fixed url encoding bug in LunchMealPlugin
This commit is contained in:
1 parent
e236a413ce
commit
a7652b5db2
4 files changed
+14
-13
No files matched your search
@@ -8,14 +8,14 @@ LunchMealSettings::LunchMealSettings(ZeiterfassungSettings &settings) :
|
||||
|
||||
}
|
||||
|
||||
QUrl LunchMealSettings::url() const
|
||||
QString LunchMealSettings::url() const
|
||||
{
|
||||
return m_settings.value(QStringLiteral("LunchMealPlugin/url"),
|
||||
QUrl(QStringLiteral("https://brunner.ninja/lunch/%0.txt")))
|
||||
.toUrl();
|
||||
QStringLiteral("https://brunner.ninja/lunch/%0.txt"))
|
||||
.toString();
|
||||
}
|
||||
|
||||
void LunchMealSettings::setUrl(const QUrl &url)
|
||||
void LunchMealSettings::setUrl(const QString &url)
|
||||
{
|
||||
m_settings.setValue(QStringLiteral("LunchMealPlugin/url"), url);
|
||||
}
|
||||
|
||||
@@ -10,8 +10,9 @@ class LunchMealSettings
|
||||
public:
|
||||
LunchMealSettings(ZeiterfassungSettings &settings);
|
||||
|
||||
QUrl url() const;
|
||||
void setUrl(const QUrl &url);
|
||||
// no QString becuase placeholder %0 encodes wrong in urls!
|
||||
QString url() const;
|
||||
void setUrl(const QString &url);
|
||||
|
||||
QString dateFormat() const;
|
||||
void setDateFormat(const QString &dateFormat);
|
||||
|
||||
@@ -10,7 +10,7 @@ LunchMealSettingsWidget::LunchMealSettingsWidget(ZeiterfassungSettings &settings
|
||||
auto layout = new QFormLayout(this);
|
||||
layout->setMargin(0);
|
||||
|
||||
m_lineEditUrl = new QLineEdit(m_settings.url().toString(), this);
|
||||
m_lineEditUrl = new QLineEdit(m_settings.url(), this);
|
||||
layout->addRow(tr("Lunch meal API:"), m_lineEditUrl);
|
||||
|
||||
m_lineEditDateFormat = new QLineEdit(m_settings.dateFormat(), this);
|
||||
@@ -31,9 +31,9 @@ bool LunchMealSettingsWidget::isValid(QString &message) const
|
||||
|
||||
void LunchMealSettingsWidget::apply()
|
||||
{
|
||||
auto url = QUrl::fromUserInput(m_lineEditUrl->text());
|
||||
if(m_settings.url() != url)
|
||||
m_settings.setUrl(url);
|
||||
if(m_settings.url() != m_lineEditUrl->text())
|
||||
m_settings.setUrl(m_lineEditUrl->text());
|
||||
|
||||
m_settings.setDateFormat(m_lineEditDateFormat->text());
|
||||
if(m_settings.dateFormat() != m_lineEditDateFormat->text())
|
||||
m_settings.setDateFormat(m_lineEditDateFormat->text());
|
||||
}
|
||||
@@ -40,8 +40,8 @@ void LunchMealWidget::dateChanged(const QDate &date)
|
||||
|
||||
LunchMealSettings settings(m_stripsWidget.mainWindow().settings());
|
||||
|
||||
auto url = settings.url().toString().arg(date.toString(settings.dateFormat()));
|
||||
m_reply = std::unique_ptr<QNetworkReply>(m_stripsWidget.mainWindow().erfassung().manager()->get(QNetworkRequest(QUrl(url))));
|
||||
auto url = QUrl(settings.url().arg(date.toString(settings.dateFormat())));
|
||||
m_reply = std::unique_ptr<QNetworkReply>(m_stripsWidget.mainWindow().erfassung().manager()->get(QNetworkRequest(url)));
|
||||
connect(m_reply.get(), &QNetworkReply::finished, this, &LunchMealWidget::finished);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user