summaryrefslogtreecommitdiff
path: root/noncore/graphics/drawpad
authorleseb <leseb>2002-06-13 17:11:03 (UTC)
committer leseb <leseb>2002-06-13 17:11:03 (UTC)
commit615176c17202f1a8aa7aa504b8dd747b089385a9 (patch) (side-by-side diff)
treeb5906e134037cd72871e0cecac4a3c9ed4c9a9e2 /noncore/graphics/drawpad
parent54de91b66a2f0f985ff89503e919f85713d1f22c (diff)
downloadopie-615176c17202f1a8aa7aa504b8dd747b089385a9.zip
opie-615176c17202f1a8aa7aa504b8dd747b089385a9.tar.gz
opie-615176c17202f1a8aa7aa504b8dd747b089385a9.tar.bz2
More progress in page attributes
Diffstat (limited to 'noncore/graphics/drawpad') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/drawpad/page.cpp24
-rw-r--r--noncore/graphics/drawpad/page.h12
-rw-r--r--noncore/graphics/drawpad/pageinformationdialog.cpp49
-rw-r--r--noncore/graphics/drawpad/pageinformationdialog.h4
-rw-r--r--noncore/graphics/drawpad/thumbnailview.cpp45
-rw-r--r--noncore/graphics/drawpad/thumbnailview.h6
6 files changed, 134 insertions, 6 deletions
diff --git a/noncore/graphics/drawpad/page.cpp b/noncore/graphics/drawpad/page.cpp
index 35ec0e0..7034a20 100644
--- a/noncore/graphics/drawpad/page.cpp
+++ b/noncore/graphics/drawpad/page.cpp
@@ -18,2 +18,3 @@ Page::Page()
{
+ m_lastModified = QDateTime::currentDateTime();
}
@@ -23,2 +24,3 @@ Page::Page(int w, int h)
{
+ m_lastModified = QDateTime::currentDateTime();
}
@@ -28,2 +30,3 @@ Page::Page(const QSize& size)
{
+ m_lastModified = QDateTime::currentDateTime();
}
@@ -33 +36,22 @@ Page::~Page()
}
+
+QString Page::title() const
+{
+ return m_title;
+}
+
+QDateTime Page::lastModified() const
+{
+ return m_lastModified;
+}
+
+void Page::setTitle(QString title)
+{
+ m_title = title;
+}
+
+void Page::setLastModified(QDateTime lastModified)
+{
+ m_lastModified = lastModified;
+}
+
diff --git a/noncore/graphics/drawpad/page.h b/noncore/graphics/drawpad/page.h
index 888f552..020ab1f 100644
--- a/noncore/graphics/drawpad/page.h
+++ b/noncore/graphics/drawpad/page.h
@@ -18,2 +18,4 @@
+#include <qdatetime.h>
+
class Page : public QPixmap
@@ -26,2 +28,12 @@ public:
~Page();
+
+ QString title() const;
+ QDateTime lastModified() const;
+
+ void setTitle(QString title);
+ void setLastModified(QDateTime lastModified);
+
+private:
+ QString m_title;
+ QDateTime m_lastModified;
};
diff --git a/noncore/graphics/drawpad/pageinformationdialog.cpp b/noncore/graphics/drawpad/pageinformationdialog.cpp
index 54cf89d..c0d055e 100644
--- a/noncore/graphics/drawpad/pageinformationdialog.cpp
+++ b/noncore/graphics/drawpad/pageinformationdialog.cpp
@@ -17,2 +17,5 @@
+#include <qpe/config.h>
+#include <qpe/timestring.h>
+
#include <qgroupbox.h>
@@ -32,3 +35,8 @@ PageInformationDialog::PageInformationDialog(Page* page, QWidget* parent, const
QLabel* titleLabel = new QLabel(tr("Title:"), generalGroupBox);
+
m_pTitleLineEdit = new QLineEdit(generalGroupBox);
+ m_pTitleLineEdit->setText(page->title());
+
+ QLabel* dateLabel = new QLabel(tr("Date:"), generalGroupBox);
+ QLabel* dateValueLabel = new QLabel(dateTimeString(m_pPage->lastModified()), generalGroupBox);
@@ -45,3 +53,3 @@ PageInformationDialog::PageInformationDialog(Page* page, QWidget* parent, const
sizeGroupBox->layout()->setSpacing(4);
- QGridLayout* generalLayout = new QGridLayout(generalGroupBox->layout(), 1, 1);
+ QGridLayout* generalLayout = new QGridLayout(generalGroupBox->layout(), 2, 2);
QGridLayout* sizeLayout = new QGridLayout(sizeGroupBox->layout(), 2, 2);
@@ -50,2 +58,6 @@ PageInformationDialog::PageInformationDialog(Page* page, QWidget* parent, const
generalLayout->addWidget(m_pTitleLineEdit, 0, 1);
+ generalLayout->addWidget(dateLabel, 1, 0);
+ generalLayout->addWidget(dateValueLabel, 1, 1);
+
+ generalLayout->setColStretch(1, 1);
@@ -70 +82,36 @@ QString PageInformationDialog::selectedTitle()
}
+
+QString PageInformationDialog::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;
+}
diff --git a/noncore/graphics/drawpad/pageinformationdialog.h b/noncore/graphics/drawpad/pageinformationdialog.h
index cce74ec..60662a9 100644
--- a/noncore/graphics/drawpad/pageinformationdialog.h
+++ b/noncore/graphics/drawpad/pageinformationdialog.h
@@ -20,2 +20,4 @@ class Page;
+#include <qdatetime.h>
+
class QLineEdit;
@@ -33,2 +35,4 @@ public:
private:
+ QString dateTimeString(QDateTime dateTime);
+
Page* m_pPage;
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
@@ -20,3 +20,5 @@
+#include <qpe/config.h>
#include <qpe/resource.h>
+#include <qpe/timestring.h>
@@ -56,6 +58,6 @@ PageListBoxItem::PageListBoxItem(Page* page, QListBox* parent)
- 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());
@@ -88,3 +90,3 @@ int PageListBoxItem::width(const QListBox* lb) const
QMAX(fontMetrics.width(m_dimensionText),
- fontMetrics.width(m_dateTimeText)));
+ fontMetrics.width(m_dateText)));
@@ -119,3 +121,3 @@ void PageListBoxItem::paint(QPainter *painter)
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);
@@ -131,2 +133,37 @@ Page* PageListBoxItem::page() const
+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)
diff --git a/noncore/graphics/drawpad/thumbnailview.h b/noncore/graphics/drawpad/thumbnailview.h
index 88c3b27..2eac667 100644
--- a/noncore/graphics/drawpad/thumbnailview.h
+++ b/noncore/graphics/drawpad/thumbnailview.h
@@ -23,2 +23,4 @@ class Page;
+#include <qdatetime.h>
+
class QToolButton;
@@ -38,2 +40,4 @@ public:
private:
+ QString dateTimeString(QDateTime dateTime);
+
Page* m_pPage;
@@ -44,3 +48,3 @@ private:
QString m_dimensionText;
- QString m_dateTimeText;
+ QString m_dateText;