summaryrefslogtreecommitdiffstats
path: root/src/FileItem.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/FileItem.cc')
-rw-r--r--src/FileItem.cc47
1 files changed, 18 insertions, 29 deletions
diff --git a/src/FileItem.cc b/src/FileItem.cc
index cd934783..96fd9c07 100644
--- a/src/FileItem.cc
+++ b/src/FileItem.cc
@@ -30,25 +30,16 @@
namespace events = matrix::events;
namespace msgs = matrix::events::messages;
-FileItem::FileItem(QSharedPointer<MatrixClient> client,
- const events::MessageEvent<msgs::File> &event,
- QWidget *parent)
- : QWidget(parent)
- , event_{event}
- , client_{client}
+void
+FileItem::init()
{
setMouseTracking(true);
setCursor(Qt::PointingHandCursor);
setAttribute(Qt::WA_Hover, true);
- url_ = event.msgContent().url();
- text_ = event.content().body();
- readableFileSize_ = calculateFileSize(event.msgContent().info().size);
-
icon_.addFile(":/icons/icons/ui/arrow-pointing-down.png");
QList<QString> url_parts = url_.toString().split("mxc://");
-
if (url_parts.size() != 2) {
qDebug() << "Invalid format for image" << url_.toString();
return;
@@ -62,6 +53,20 @@ FileItem::FileItem(QSharedPointer<MatrixClient> client,
}
FileItem::FileItem(QSharedPointer<MatrixClient> client,
+ const events::MessageEvent<msgs::File> &event,
+ QWidget *parent)
+ : QWidget(parent)
+ , url_{event.msgContent().url()}
+ , text_{event.content().body()}
+ , event_{event}
+ , client_{client}
+{
+ readableFileSize_ = calculateFileSize(event.msgContent().info().size);
+
+ init();
+}
+
+FileItem::FileItem(QSharedPointer<MatrixClient> client,
const QString &url,
const QString &filename,
QWidget *parent)
@@ -70,25 +75,9 @@ FileItem::FileItem(QSharedPointer<MatrixClient> client,
, text_{QFileInfo(filename).fileName()}
, client_{client}
{
- setMouseTracking(true);
- setCursor(Qt::PointingHandCursor);
- setAttribute(Qt::WA_Hover, true);
-
- // TODO: calculateFileSize
- /* readableFileSize_ = calculateFileSize(event.msgContent().info().size); */
-
- QList<QString> url_parts = url_.toString().split("mxc://");
-
- icon_.addFile(":/icons/icons/ui/arrow-pointing-down.png");
+ readableFileSize_ = calculateFileSize(QFileInfo(filename).size());
- if (url_parts.size() != 2) {
- qDebug() << "Invalid format for image" << url_.toString();
- return;
- }
-
- QString media_params = url_parts[1];
- url_ = QString("%1/_matrix/media/r0/download/%2")
- .arg(client_.data()->getHomeServer().toString(), media_params);
+ init();
}
QString