Diffstat (limited to 'noncore/graphics/drawpad/thumbnailview.cpp') (more/less context) (show 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 @@ #include "drawpad.h" #include "drawpadcanvas.h" #include "newpagedialog.h" #include "page.h" +#include <qpe/config.h> #include <qpe/resource.h> +#include <qpe/timestring.h> #include <qapplication.h> #include <qimage.h> #include <qlayout.h> #include <qmessagebox.h> #include <qtoolbutton.h> @@ -51,16 +53,16 @@ PageListBoxItem::PageListBoxItem(Page* page, QListBox* parent) float scale = (widthScale < heightScale ? widthScale : heightScale); QImage thumbnailImage = image.smoothScale((int)(image.width() * scale) , (int)(image.height() * scale)); m_thumbnail.convertFromImage(thumbnailImage); - m_titleText = QObject::tr("Title:") + " -"; + m_titleText = QObject::tr("Title:") + " " + m_pPage->title(); m_dimensionText = QObject::tr("Dimension:") + " " + QString::number(m_pPage->width()) + "x" + QString::number(m_pPage->height()); - m_dateTimeText = QObject::tr("Date:") + " -"; + m_dateText = QObject::tr("Date:") + " " + dateTimeString(m_pPage->lastModified()); QColor baseColor = parent->colorGroup().base(); int h, s, v; baseColor.hsv(&h, &s, &v); if (v > 128) { @@ -83,13 +85,13 @@ int PageListBoxItem::height(const QListBox*) const int PageListBoxItem::width(const QListBox* lb) const { QFontMetrics fontMetrics = lb->fontMetrics(); int maxtextLength = QMAX(fontMetrics.width(m_titleText), QMAX(fontMetrics.width(m_dimensionText), - fontMetrics.width(m_dateTimeText))); + fontMetrics.width(m_dateText))); return QMAX(THUMBNAIL_SIZE + maxtextLength + 8, QApplication::globalStrut().width()); } void PageListBoxItem::paint(QPainter *painter) { @@ -114,24 +116,59 @@ void PageListBoxItem::paint(QPainter *painter) painter->setFont(boldFont); painter->drawText(textRect, Qt::AlignLeft | Qt::AlignTop, m_titleText); painter->setFont(standardFont); painter->drawText(textRect, Qt::AlignLeft | Qt::AlignVCenter, m_dimensionText); - painter->drawText(textRect, Qt::AlignLeft | Qt::AlignBottom, m_dateTimeText); + painter->drawText(textRect, Qt::AlignLeft | Qt::AlignBottom, m_dateText); if (!selected() && !(listBox()->hasFocus() && listBox()->item(listBox()->currentItem()) == this)) { painter->drawLine(0, itemRect.height() - 1, itemRect.width() - 1, itemRect.height() - 1); } } Page* PageListBoxItem::page() const { return m_pPage; } +QString PageListBoxItem::dateTimeString(QDateTime dateTime) +{ + QString result; + + Config config("qpe"); + config.setGroup("Date"); + + QChar separator = config.readEntry("Separator", "/")[0]; + DateFormat::Order shortOrder = (DateFormat::Order)config .readNumEntry("ShortOrder", DateFormat::DayMonthYear); + + for (int i = 0; i < 3; i++) { + switch((shortOrder >> (i * 3)) & 0x0007) { + case 0x0001: + result += QString().sprintf("%02d", dateTime.date().day()); + break; + case 0x0002: + result += QString().sprintf("%02d", dateTime.date().month()); + break; + case 0x0004: + result += QString().sprintf("%04d", dateTime.date().year()); + break; + default: + break; + } + + if (i < 2) { + result += separator; + } + } + + result += QString().sprintf(" %02d:%02d", dateTime.time().hour(), dateTime.time().minute()); + + return result; +} + PageListBox::PageListBox(DrawPadCanvas* drawPadCanvas, QWidget* parent, const char* name) : QListBox(parent, name) { m_pDrawPadCanvas = drawPadCanvas; setVScrollBarMode(QScrollView::AlwaysOn); |