Diffstat (limited to 'noncore/graphics/drawpad/thumbnailview.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/drawpad/thumbnailview.cpp | 45 |
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 | |||
@@ -15,13 +15,15 @@ | |||
15 | 15 | ||
16 | #include "drawpad.h" | 16 | #include "drawpad.h" |
17 | #include "drawpadcanvas.h" | 17 | #include "drawpadcanvas.h" |
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> |
25 | #include <qlayout.h> | 27 | #include <qlayout.h> |
26 | #include <qmessagebox.h> | 28 | #include <qmessagebox.h> |
27 | #include <qtoolbutton.h> | 29 | #include <qtoolbutton.h> |
@@ -51,16 +53,16 @@ PageListBoxItem::PageListBoxItem(Page* page, QListBox* parent) | |||
51 | 53 | ||
52 | float scale = (widthScale < heightScale ? widthScale : heightScale); | 54 | float scale = (widthScale < heightScale ? widthScale : heightScale); |
53 | QImage thumbnailImage = image.smoothScale((int)(image.width() * scale) , (int)(image.height() * scale)); | 55 | QImage thumbnailImage = image.smoothScale((int)(image.width() * scale) , (int)(image.height() * scale)); |
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; |
64 | baseColor.hsv(&h, &s, &v); | 66 | baseColor.hsv(&h, &s, &v); |
65 | 67 | ||
66 | if (v > 128) { | 68 | if (v > 128) { |
@@ -83,13 +85,13 @@ int PageListBoxItem::height(const QListBox*) const | |||
83 | 85 | ||
84 | int PageListBoxItem::width(const QListBox* lb) const | 86 | int PageListBoxItem::width(const QListBox* lb) const |
85 | { | 87 | { |
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 | } |
93 | 95 | ||
94 | void PageListBoxItem::paint(QPainter *painter) | 96 | void PageListBoxItem::paint(QPainter *painter) |
95 | { | 97 | { |
@@ -114,24 +116,59 @@ void PageListBoxItem::paint(QPainter *painter) | |||
114 | 116 | ||
115 | painter->setFont(boldFont); | 117 | painter->setFont(boldFont); |
116 | painter->drawText(textRect, Qt::AlignLeft | Qt::AlignTop, m_titleText); | 118 | painter->drawText(textRect, Qt::AlignLeft | Qt::AlignTop, m_titleText); |
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); |
124 | } | 126 | } |
125 | } | 127 | } |
126 | 128 | ||
127 | Page* PageListBoxItem::page() const | 129 | Page* PageListBoxItem::page() const |
128 | { | 130 | { |
129 | return m_pPage; | 131 | return m_pPage; |
130 | } | 132 | } |
131 | 133 | ||
134 | QString 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 | |||
132 | PageListBox::PageListBox(DrawPadCanvas* drawPadCanvas, QWidget* parent, const char* name) | 169 | PageListBox::PageListBox(DrawPadCanvas* drawPadCanvas, QWidget* parent, const char* name) |
133 | : QListBox(parent, name) | 170 | : QListBox(parent, name) |
134 | { | 171 | { |
135 | m_pDrawPadCanvas = drawPadCanvas; | 172 | m_pDrawPadCanvas = drawPadCanvas; |
136 | 173 | ||
137 | setVScrollBarMode(QScrollView::AlwaysOn); | 174 | setVScrollBarMode(QScrollView::AlwaysOn); |