MCPcopy Create free account
hub / github.com/KDE/okular / pagesSizeString

Method pagesSizeString

core/document.cpp:172–209  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

170/***** Document ******/
171
172QString DocumentPrivate::pagesSizeString() const
173{
174 if (m_generator) {
175 if (m_generator->pagesSizeMetric() != Generator::None) {
176 QSizeF size = m_parent->allPagesSize();
177 // Single page size
178 if (size.isValid()) {
179 return localizedSize(size);
180 }
181
182 // Multiple page sizes
183 QHash<QString, int> pageSizeFrequencies;
184
185 // Compute frequencies of each page size
186 for (const Page *page : std::as_const(m_pagesVector)) {
187 QString sizeString = localizedSize(QSizeF(page->width(), page->height()));
188 pageSizeFrequencies[sizeString] = pageSizeFrequencies.value(sizeString, 0) + 1;
189 }
190
191 // Figure out which page size is most frequent
192 int largestFrequencySeen = 0;
193 QString mostCommonPageSize;
194 for (const auto &[key, value] : pageSizeFrequencies.asKeyValueRange()) {
195 if (value > largestFrequencySeen) {
196 largestFrequencySeen = value;
197 mostCommonPageSize = key;
198 }
199 }
200 QString finalText = i18nc("@info %1 is a page size", "Most pages are %1.", mostCommonPageSize);
201
202 return finalText;
203 } else {
204 return QString();
205 }
206 } else {
207 return QString();
208 }
209}
210
211QString DocumentPrivate::namePaperSize(double inchesWidth, double inchesHeight) const
212{

Callers 1

documentInfoMethod · 0.80

Calls 7

allPagesSizeMethod · 0.80
QStringClass · 0.70
pagesSizeMetricMethod · 0.45
isValidMethod · 0.45
widthMethod · 0.45
heightMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected