summaryrefslogtreecommitdiff
path: root/noncore/graphics/drawpad/thumbnailview.cpp
Unidiff
Diffstat (limited to 'noncore/graphics/drawpad/thumbnailview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/thumbnailview.cpp45
1 files changed, 41 insertions, 4 deletions
diff --git a/noncore/graphics/drawpad/thumbnailview.cpp b/noncore/graphics/drawpad/thumbnailview.cpp
index 1eadc13..35955e8 100644
--- a/noncore/graphics/drawpad/thumbnailview.cpp
+++ b/noncore/graphics/drawpad/thumbnailview.cpp
@@ -18,7 +18,9 @@
18#include "newpagedialog.h" 18#include "newpagedialog.h"
19#include "page.h" 19#include "page.h"
20 20
21#include <qpe/config.h>
21#include <qpe/resource.h> 22#include <qpe/resource.h>
23#include <qpe/timestring.h>
22 24
23#include <qapplication.h> 25#include <qapplication.h>
24#include <qimage.h> 26#include <qimage.h>
@@ -54,10 +56,10 @@ PageListBoxItem::PageListBoxItem(Page* page, QListBox* parent)
54 56
55 m_thumbnail.convertFromImage(thumbnailImage); 57 m_thumbnail.convertFromImage(thumbnailImage);
56 58
57 m_titleText = QObject::tr("Title:") + " -"; 59 m_titleText = QObject::tr("Title:") + " " + m_pPage->title();
58 m_dimensionText = QObject::tr("Dimension:") + " " + QString::number(m_pPage->width()) 60 m_dimensionText = QObject::tr("Dimension:") + " " + QString::number(m_pPage->width())
59 + "x" + QString::number(m_pPage->height()); 61 + "x" + QString::number(m_pPage->height());
60 m_dateTimeText = QObject::tr("Date:") + " -"; 62 m_dateText = QObject::tr("Date:") + " " + dateTimeString(m_pPage->lastModified());
61 63
62 QColor baseColor = parent->colorGroup().base(); 64 QColor baseColor = parent->colorGroup().base();
63 int h, s, v; 65 int h, s, v;
@@ -86,7 +88,7 @@ int PageListBoxItem::width(const QListBox* lb) const
86 QFontMetrics fontMetrics = lb->fontMetrics(); 88 QFontMetrics fontMetrics = lb->fontMetrics();
87 int maxtextLength = QMAX(fontMetrics.width(m_titleText), 89 int maxtextLength = QMAX(fontMetrics.width(m_titleText),
88 QMAX(fontMetrics.width(m_dimensionText), 90 QMAX(fontMetrics.width(m_dimensionText),
89 fontMetrics.width(m_dateTimeText))); 91 fontMetrics.width(m_dateText)));
90 92
91 return QMAX(THUMBNAIL_SIZE + maxtextLength + 8, QApplication::globalStrut().width()); 93 return QMAX(THUMBNAIL_SIZE + maxtextLength + 8, QApplication::globalStrut().width());
92} 94}
@@ -117,7 +119,7 @@ void PageListBoxItem::paint(QPainter *painter)
117 119
118 painter->setFont(standardFont); 120 painter->setFont(standardFont);
119 painter->drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_dimensionText); 121 painter->drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_dimensionText);
120 painter->drawText(textRect, Qt::AlignLeft | Qt::AlignBottom, m_dateTimeText); 122 painter->drawText(textRect, Qt::AlignLeft | Qt::AlignBottom, m_dateText);
121 123
122 if (!selected() && !(listBox()->hasFocus() && listBox()->item(listBox()->currentItem()) == this)) { 124 if (!selected() && !(listBox()->hasFocus() && listBox()->item(listBox()->currentItem()) == this)) {
123 painter->drawLine(0, itemRect.height() - 1, itemRect.width() - 1, itemRect.height() - 1); 125 painter->drawLine(0, itemRect.height() - 1, itemRect.width() - 1, itemRect.height() - 1);
@@ -129,6 +131,41 @@ Page* PageListBoxItem::page() const
129 return m_pPage; 131 return m_pPage;
130} 132}
131 133
134QString PageListBoxItem::dateTimeString(QDateTime dateTime)
135{
136 QString result;
137
138 Config config("qpe");
139 config.setGroup("Date");
140
141 QChar separator = config.readEntry("Separator", "/")[0];
142 DateFormat::Order shortOrder = (DateFormat::Order)config .readNumEntry("ShortOrder", DateFormat::DayMonthYear);
143
144 for (int i = 0; i < 3; i++) {
145 switch((shortOrder >> (i * 3)) & 0x0007) {
146 case 0x0001:
147 result += QString().sprintf("%02d", dateTime.date().day());
148 break;
149 case 0x0002:
150 result += QString().sprintf("%02d", dateTime.date().month());
151 break;
152 case 0x0004:
153 result += QString().sprintf("%04d", dateTime.date().year());
154 break;
155 default:
156 break;
157 }
158
159 if (i < 2) {
160 result += separator;
161 }
162 }
163
164 result += QString().sprintf(" %02d:%02d", dateTime.time().hour(), dateTime.time().minute());
165
166 return result;
167}
168
132PageListBox::PageListBox(DrawPadCanvas* drawPadCanvas, QWidget* parent, const char* name) 169PageListBox::PageListBox(DrawPadCanvas* drawPadCanvas, QWidget* parent, const char* name)
133 : QListBox(parent, name) 170 : QListBox(parent, name)
134{ 171{