mirror of
https://github.com/status-im/snorenotify.git
synced 2025-02-17 02:46:23 +00:00
use cool new connects
This commit is contained in:
parent
65931bdf9d
commit
b331644379
@ -17,53 +17,47 @@ Toasty::~Toasty()
|
|||||||
|
|
||||||
void Toasty::slotNotify(Notification notification)
|
void Toasty::slotNotify(Notification notification)
|
||||||
{
|
{
|
||||||
if (!m_key.isEmpty()) {
|
QNetworkRequest request(QString("http://api.supertoasty.com/notify/%1").arg(m_key));
|
||||||
QNetworkRequest request(QString("http://api.supertoasty.com/notify/%1").arg(m_key));
|
QHttpMultiPart *mp = new QHttpMultiPart(QHttpMultiPart::FormDataType);
|
||||||
QHttpMultiPart *mp = new QHttpMultiPart(QHttpMultiPart::FormDataType);
|
QHttpPart title;
|
||||||
QHttpPart title;
|
title.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"title\""));
|
||||||
title.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"title\""));
|
title.setBody(Snore::toPlainText(notification.title()).toLatin1().constData());
|
||||||
title.setBody(Snore::toPlainText(notification.title()).toLatin1().constData());
|
mp->append(title);
|
||||||
mp->append(title);
|
|
||||||
|
|
||||||
QHttpPart text;
|
QHttpPart text;
|
||||||
text.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"text\""));
|
text.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"text\""));
|
||||||
text.setBody(Snore::toPlainText(notification.text()).toLatin1().constData());
|
text.setBody(Snore::toPlainText(notification.text()).toLatin1().constData());
|
||||||
mp->append(text);
|
mp->append(text);
|
||||||
|
|
||||||
QHttpPart app;
|
QHttpPart app;
|
||||||
app.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"sender\""));
|
app.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"sender\""));
|
||||||
app.setBody(notification.application().name().toLatin1().constData());
|
app.setBody(notification.application().name().toLatin1().constData());
|
||||||
mp->append(app);
|
mp->append(app);
|
||||||
|
|
||||||
QHttpPart icon;
|
QHttpPart icon;
|
||||||
|
|
||||||
Icon sIcon = notification.icon();
|
|
||||||
QSize iconSize = notification.icon().image().size();
|
|
||||||
if (iconSize.height() > 128 || iconSize.width() > 128 ) {
|
|
||||||
sIcon = sIcon.scaled(QSize(128, 128));
|
|
||||||
}
|
|
||||||
icon.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant(QString("form-data; name=\"image\"; filename=\"%1\"").arg(sIcon.localUrl())));
|
|
||||||
icon.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/png"));
|
|
||||||
QFile *file = new QFile(sIcon.localUrl());
|
|
||||||
file->open(QIODevice::ReadOnly);
|
|
||||||
icon.setBodyDevice(file);
|
|
||||||
mp->append(icon);
|
|
||||||
|
|
||||||
QNetworkReply *reply = m_manager.post(request, mp);
|
|
||||||
mp->setParent(reply);
|
|
||||||
file->setParent(reply);
|
|
||||||
|
|
||||||
connect(reply, SIGNAL(finished()), this, SLOT(slotRequestFinished()));
|
|
||||||
|
|
||||||
|
Icon sIcon = notification.icon();
|
||||||
|
QSize iconSize = notification.icon().image().size();
|
||||||
|
if (iconSize.height() > 128 || iconSize.width() > 128 ) {
|
||||||
|
sIcon = sIcon.scaled(QSize(128, 128));
|
||||||
}
|
}
|
||||||
}
|
icon.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant(QString("form-data; name=\"image\"; filename=\"%1\"").arg(sIcon.localUrl())));
|
||||||
|
icon.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/png"));
|
||||||
|
QFile *file = new QFile(sIcon.localUrl());
|
||||||
|
file->open(QIODevice::ReadOnly);
|
||||||
|
icon.setBodyDevice(file);
|
||||||
|
mp->append(icon);
|
||||||
|
|
||||||
|
QNetworkReply *reply = m_manager.post(request, mp);
|
||||||
|
mp->setParent(reply);
|
||||||
|
file->setParent(reply);
|
||||||
|
|
||||||
|
connect(reply, &QNetworkReply::finished, this, [reply](){
|
||||||
|
snoreDebug(SNORE_DEBUG) << reply->readAll();
|
||||||
|
reply->close();
|
||||||
|
reply->deleteLater();
|
||||||
|
});
|
||||||
|
|
||||||
void Toasty::slotRequestFinished()
|
|
||||||
{
|
|
||||||
QNetworkReply *reply = qobject_cast<QNetworkReply *>(sender());
|
|
||||||
snoreDebug(SNORE_DEBUG) << reply->readAll();
|
|
||||||
reply->close();
|
|
||||||
reply->deleteLater();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Toasty::initialize(SnoreCore *snore)
|
bool Toasty::initialize(SnoreCore *snore)
|
||||||
|
@ -19,9 +19,6 @@ public:
|
|||||||
public slots:
|
public slots:
|
||||||
virtual void slotNotify(Snore::Notification notification) override;
|
virtual void slotNotify(Snore::Notification notification) override;
|
||||||
|
|
||||||
private slots:
|
|
||||||
void slotRequestFinished();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QString m_key;
|
QString m_key;
|
||||||
QNetworkAccessManager m_manager;
|
QNetworkAccessManager m_manager;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user