From 849f80e7a1959923c9d3d47191d0a162f0887bb9 Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Fri, 27 Jan 2017 16:56:13 -0800 Subject: [PATCH] Qt: Improve size column display --- src/platform/qt/LibraryModel.cpp | 18 +++++++++++++++--- src/platform/qt/LibraryModel.h | 3 +++ 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/platform/qt/LibraryModel.cpp b/src/platform/qt/LibraryModel.cpp index db7b65558..0dc96fe2a 100644 --- a/src/platform/qt/LibraryModel.cpp +++ b/src/platform/qt/LibraryModel.cpp @@ -40,16 +40,17 @@ LibraryModel::LibraryModel(const QString& path, QObject* parent) [](const mLibraryEntry& e) -> QString { double size = e.filesize; QString unit = "B"; - if (size > 1024.0) { + if (size >= 1024.0) { size /= 1024.0; unit = "kiB"; } - if (size > 1024.0) { + if (size >= 1024.0) { size /= 1024.0; unit = "MiB"; } return QString("%0 %1").arg(size, 0, 'f', 1).arg(unit); - } + }, + Qt::AlignRight }; s_columns["platform"] = { tr("Platform"), @@ -174,6 +175,8 @@ QVariant LibraryModel::data(const QModelIndex& index, int role) const { QFontMetrics fm((QFont())); return fm.size(Qt::TextSingleLine, m_columns[index.column()].value(entry)); } + case Qt::TextAlignmentRole: + return m_columns[index.column()].alignment; default: return QVariant(); } @@ -250,6 +253,15 @@ void LibraryModel::directoryLoaded(const QString& path) { } } +LibraryModel::LibraryColumn::LibraryColumn() { +} + +LibraryModel::LibraryColumn::LibraryColumn(const QString& name, std::function value, int alignment) + : name(name) + , value(value) + , alignment(alignment) +{ +} LibraryModel::LibraryHandle::LibraryHandle(mLibrary* lib, const QString& p) : library(lib) diff --git a/src/platform/qt/LibraryModel.h b/src/platform/qt/LibraryModel.h index c7791ff18..edfca6a56 100644 --- a/src/platform/qt/LibraryModel.h +++ b/src/platform/qt/LibraryModel.h @@ -58,8 +58,11 @@ private slots: private: struct LibraryColumn { + LibraryColumn(); + LibraryColumn(const QString&, std::function, int = Qt::AlignLeft); QString name; std::function value; + int alignment; }; class LibraryHandle {