Changeset View
Changeset View
Standalone View
Standalone View
part/infopanel.cpp
Show All 18 Lines | |||||
19 | * | 19 | * | ||
20 | */ | 20 | */ | ||
21 | 21 | | |||
22 | #include "infopanel.h" | 22 | #include "infopanel.h" | ||
23 | #include "archiveentry.h" | 23 | #include "archiveentry.h" | ||
24 | 24 | | |||
25 | #include <KIO/Global> | 25 | #include <KIO/Global> | ||
26 | #include <KLocalizedString> | 26 | #include <KLocalizedString> | ||
27 | #include <KIconLoader> | | |||
28 | 27 | | |||
29 | #include <QFileInfo> | 28 | #include <QFileInfo> | ||
30 | #include <QIcon> | 29 | #include <QIcon> | ||
31 | #include <QMimeDatabase> | 30 | #include <QMimeDatabase> | ||
32 | 31 | | |||
33 | using namespace Kerfuffle; | 32 | using namespace Kerfuffle; | ||
34 | 33 | | |||
35 | static QPixmap getDesktopIconForName(const QString& name) | 34 | QPixmap InfoPanel::getPixmap(const QString& name) | ||
elvisangelaccio: Why remove `static` ? | |||||
36 | { | 35 | { | ||
37 | return QIcon::fromTheme(name).pixmap(IconSize(KIconLoader::Desktop), IconSize(KIconLoader::Desktop)); | 36 | return QIcon::fromTheme(name).pixmap(48); | ||
The infopanel is the only place where the Desktop size made sense (lots of space), at most we can hardcode 48 only here. elvisangelaccio: The infopanel is the only place where the Desktop size made sense (lots of space), at most we… | |||||
38 | } | 37 | } | ||
39 | 38 | | |||
40 | InfoPanel::InfoPanel(ArchiveModel *model, QWidget *parent) | 39 | InfoPanel::InfoPanel(ArchiveModel *model, QWidget *parent) | ||
41 | : QFrame(parent), m_model(model) | 40 | : QFrame(parent), m_model(model) | ||
42 | { | 41 | { | ||
43 | setupUi(this); | 42 | setupUi(this); | ||
44 | 43 | | |||
45 | // Make the file name font bigger than the rest | 44 | // Make the file name font bigger than the rest | ||
Show All 9 Lines | |||||
55 | } | 54 | } | ||
56 | 55 | | |||
57 | InfoPanel::~InfoPanel() | 56 | InfoPanel::~InfoPanel() | ||
58 | { | 57 | { | ||
59 | } | 58 | } | ||
60 | 59 | | |||
61 | void InfoPanel::updateWithDefaults() | 60 | void InfoPanel::updateWithDefaults() | ||
62 | { | 61 | { | ||
63 | iconLabel->setPixmap(getDesktopIconForName(QStringLiteral("utilities-file-archiver"))); | 62 | iconLabel->setPixmap(getPixmap(QStringLiteral("utilities-file-archiver"))); | ||
64 | 63 | | |||
65 | const QString currentFileName = prettyFileName(); | 64 | const QString currentFileName = prettyFileName(); | ||
66 | 65 | | |||
67 | if (currentFileName.isEmpty()) { | 66 | if (currentFileName.isEmpty()) { | ||
68 | fileName->setText(i18n("No archive loaded")); | 67 | fileName->setText(i18n("No archive loaded")); | ||
69 | } else { | 68 | } else { | ||
70 | fileName->setText(currentFileName); | 69 | fileName->setText(currentFileName); | ||
71 | } | 70 | } | ||
Show All 32 Lines | 97 | } else { | |||
104 | QMimeDatabase db; | 103 | QMimeDatabase db; | ||
105 | QMimeType mimeType; | 104 | QMimeType mimeType; | ||
106 | if (entry->isDir()) { | 105 | if (entry->isDir()) { | ||
107 | mimeType = db.mimeTypeForName(QStringLiteral("inode/directory")); | 106 | mimeType = db.mimeTypeForName(QStringLiteral("inode/directory")); | ||
108 | } else { | 107 | } else { | ||
109 | mimeType = db.mimeTypeForFile(entry->fullPath(), QMimeDatabase::MatchExtension); | 108 | mimeType = db.mimeTypeForFile(entry->fullPath(), QMimeDatabase::MatchExtension); | ||
110 | } | 109 | } | ||
111 | 110 | | |||
112 | iconLabel->setPixmap(getDesktopIconForName(mimeType.iconName())); | 111 | iconLabel->setPixmap(getPixmap(mimeType.iconName())); | ||
113 | if (entry->isDir()) { | 112 | if (entry->isDir()) { | ||
114 | uint dirs; | 113 | uint dirs; | ||
115 | uint files; | 114 | uint files; | ||
116 | entry->countChildren(dirs, files); | 115 | entry->countChildren(dirs, files); | ||
117 | additionalInfo->setText(KIO::itemsSummaryString(dirs + files, files, dirs, 0, false)); | 116 | additionalInfo->setText(KIO::itemsSummaryString(dirs + files, files, dirs, 0, false)); | ||
118 | } else if (!entry->property("link").toString().isEmpty()) { | 117 | } else if (!entry->property("link").toString().isEmpty()) { | ||
119 | additionalInfo->setText(i18n("Symbolic Link")); | 118 | additionalInfo->setText(i18n("Symbolic Link")); | ||
120 | } else { | 119 | } else { | ||
Show All 15 Lines | |||||
136 | 135 | | |||
137 | void InfoPanel::setIndexes(const QModelIndexList &list) | 136 | void InfoPanel::setIndexes(const QModelIndexList &list) | ||
138 | { | 137 | { | ||
139 | if (list.size() == 0) { | 138 | if (list.size() == 0) { | ||
140 | setIndex(QModelIndex()); | 139 | setIndex(QModelIndex()); | ||
141 | } else if (list.size() == 1) { | 140 | } else if (list.size() == 1) { | ||
142 | setIndex(list[ 0 ]); | 141 | setIndex(list[ 0 ]); | ||
143 | } else { | 142 | } else { | ||
144 | iconLabel->setPixmap(getDesktopIconForName(QStringLiteral("utilities-file-archiver"))); | 143 | iconLabel->setPixmap(getPixmap(QStringLiteral("utilities-file-archiver"))); | ||
145 | fileName->setText(i18np("One file selected", "%1 files selected", list.size())); | 144 | fileName->setText(i18np("One file selected", "%1 files selected", list.size())); | ||
146 | quint64 totalSize = 0; | 145 | quint64 totalSize = 0; | ||
147 | for (const QModelIndex& index : list) { | 146 | for (const QModelIndex& index : list) { | ||
148 | const Archive::Entry *entry = m_model->entryForIndex(index); | 147 | const Archive::Entry *entry = m_model->entryForIndex(index); | ||
149 | totalSize += entry->property("size").toULongLong(); | 148 | totalSize += entry->property("size").toULongLong(); | ||
150 | } | 149 | } | ||
151 | additionalInfo->setText(KIO::convertSize(totalSize)); | 150 | additionalInfo->setText(KIO::convertSize(totalSize)); | ||
152 | hideMetaData(); | 151 | hideMetaData(); | ||
▲ Show 20 Lines • Show All 71 Lines • Show Last 20 Lines |
Why remove static ?