// This file is part of Friendiqa // https://github.com/lubuwest/Friendiqa // Copyright (C) 2017 Marco R. // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // In addition, as a special exception, the copyright holders give // permission to link the code of portions of this program with the // OpenSSL library under certain conditions as described in each // individual source file, and distribute linked combinations including // the two. // // You must obey the GNU General Public License in all respects for all // of the code used other than OpenSSL. If you modify file(s) with this // exception, you may extend this exception to your version of the // file(s), but you are not obligated to do so. If you do not wish to do // so, delete this exception statement from your version. If you delete // this exception statement from all source files in the program, then // also delete it here. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . #include "uploadableimage.h" #include #include #include #include void UploadableImage::setSource(const QString &a) { if (a != m_source) { m_source = a; //m_base64 = ""; m_mimetype = ""; m_filename = ""; qDebug() << "UploadableImage::setSource : " << m_source; if (m_source=="") { emit sourceChanged(); //emit base64Changed(); emit mimetypeChanged(); emit filenameChanged(); return; } QImage fullimage = QImage(QUrl(m_source).toLocalFile()); if (fullimage.width() > 800 || fullimage.height() > 800) { if (fullimage.width() > fullimage.height()) { m_image = fullimage.scaledToWidth(800); } else { m_image = fullimage.scaledToHeight(800); } } else { m_image = fullimage; } qDebug() << "UploadableImage::setSource : " << m_image.width() << "x" << m_image.height(); emit sourceChanged(); QFileInfo fi(m_source); m_filename = fi.fileName(); emit filenameChanged(); QString filetype = fi.suffix().toUpper(); if (filetype!="PNG" && filetype!="JPG") { filetype = "JPG"; } qDebug() << "UploadableImage::setSource : " << "Saving as " << filetype; m_mimetype = "image/"+filetype.toLower(); emit mimetypeChanged(); /* QByteArray byteArray; QBuffer buffer(&byteArray); m_image.save(&buffer, filetype.toLatin1().constData()); QString b64 = QString::fromLatin1(byteArray.toBase64().data()); for(int k=0; k