1
0
mirror of https://github.com/tumic0/GPXSee.git synced 2025-06-27 11:39:16 +02:00

Optimized file access

This commit is contained in:
2019-03-15 19:39:52 +01:00
parent 2575ecf1d8
commit 3176a42aa5
6 changed files with 55 additions and 30 deletions

View File

@ -9,32 +9,26 @@ void ToolTip::insert(const QString &key, const QString &value)
_list.append(KV(key, value));
}
QString ToolTip::toString()
QString ToolTip::toString() const
{
QString html;
if (!_img.isNull()) {
QImageReader r(_img);
QSize size(r.size());
if (size.isValid()) {
int width, height;
if (size.width() > size.height()) {
width = qMin(size.width(), THUMBNAIL_MAX_SIZE);
qreal ratio = (qreal)size.width() / (qreal)size.height();
height = (int)(width / ratio);
} else {
height = qMin(size.height(), THUMBNAIL_MAX_SIZE);
qreal ratio = (qreal)size.height() / (qreal)size.width();
width = (int)(height / ratio);
}
html += "<div align=\"center\">";
html += QString("<img src=\"file:%0\" width=\"%1\" height=\"%2\"/>")
.arg(_img, QString::number(width), QString::number(height));
html += "</div>";
if (_img.isValid()) {
int width, height;
if (_img.size().width() > _img.size().height()) {
width = qMin(_img.size().width(), THUMBNAIL_MAX_SIZE);
qreal ratio = _img.size().width() / (qreal)_img.size().height();
height = (int)(width / ratio);
} else {
height = qMin(_img.size().height(), THUMBNAIL_MAX_SIZE);
qreal ratio = _img.size().height() / (qreal)_img.size().width();
width = (int)(height / ratio);
}
html += "<div align=\"center\">";
html += QString("<img src=\"file:%0\" width=\"%1\" height=\"%2\"/>")
.arg(_img.path(), QString::number(width), QString::number(height));
html += "</div>";
}
if (!_list.isEmpty()) {

View File

@ -4,17 +4,18 @@
#include <QString>
#include <QList>
#include "common/kv.h"
#include "data/imageinfo.h"
class ToolTip
{
public:
void insert(const QString &key, const QString &value);
void setImage(const QString &img) {_img = img;}
QString toString();
void setImage(const ImageInfo &image) {_img = image;}
QString toString() const;
private:
QList<KV> _list;
QString _img;
ImageInfo _img;
};
#endif // TOOLTIP_H