summaryrefslogtreecommitdiff
path: root/libopie
Side-by-side diff
Diffstat (limited to 'libopie') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/ofontmenu.cc34
-rw-r--r--libopie/ofontmenu.h6
-rw-r--r--libopie/tododb.cpp20
-rw-r--r--libopie/tododb.h4
-rw-r--r--libopie/todoevent.cpp2
5 files changed, 63 insertions, 3 deletions
diff --git a/libopie/ofontmenu.cc b/libopie/ofontmenu.cc
index 2acae1c..52ff3ee 100644
--- a/libopie/ofontmenu.cc
+++ b/libopie/ofontmenu.cc
@@ -1,2 +1,4 @@
+
+#include <qpe/config.h>
#include "ofontmenu.h"
@@ -9,2 +11,4 @@ OFontMenu::OFontMenu(QWidget *parent, const char *name, const QList<QWidget> &li
m_list = list;
+ m_wids.setAutoDelete( TRUE );
+
insertItem(tr("Large"), this, SLOT(slotLarge() ),
@@ -16,2 +20,30 @@ OFontMenu::OFontMenu(QWidget *parent, const char *name, const QList<QWidget> &li
setCheckable( true );
+ m_size=10;
+}
+void OFontMenu::save(Config *cfg )
+{
+ cfg->setGroup("OFontMenu" );
+ cfg->writeEntry("size", m_size );
+}
+void OFontMenu::restore(Config *cfg )
+{
+ cfg->setGroup("OFontMeny" );
+ m_size = cfg->readNumEntry("size" );
+ setItemChecked(10, false );
+ setItemChecked(11, false );
+ setItemChecked(12, false );
+ switch( m_size ){
+ case 8:
+ setItemChecked(12, true );
+ break;
+ case 14:
+ setItemChecked(10, true );
+ break;
+ case 10:// fall through
+ default:
+ setItemChecked(11, true );
+ m_size = 10;
+ break;
+ }
+ setFontSize( m_size );
}
@@ -63,2 +95,3 @@ void OFontMenu::setFontSize(int size )
{
+ m_size = size;
QWidget *wid;
@@ -77,2 +110,3 @@ void OFontMenu::setFontSize(int size )
}
+ emit fontChanged(size );
}
diff --git a/libopie/ofontmenu.h b/libopie/ofontmenu.h
index 37a628e..609f240 100644
--- a/libopie/ofontmenu.h
+++ b/libopie/ofontmenu.h
@@ -49,2 +49,3 @@ namespace {
// if i would be on kde this would be a KActionMenu...
+class Config;
class OFontMenu : public QPopupMenu {
@@ -53,2 +54,4 @@ class OFontMenu : public QPopupMenu {
OFontMenu(QWidget *parent, const char* name, const QList<QWidget> &list );
+ void save(Config *cfg );
+ void restore(Config *cfg );
void setWidgets(const QList<QWidget> &list );
@@ -59,2 +62,4 @@ class OFontMenu : public QPopupMenu {
+ signals:
+ void fontChanged(int size );
private:
@@ -62,2 +67,3 @@ class OFontMenu : public QPopupMenu {
QList<WidSize> m_wids;
+ int m_size;
class OFontMenuPrivate;
diff --git a/libopie/tododb.cpp b/libopie/tododb.cpp
index 3f6dc30..4d6711d 100644
--- a/libopie/tododb.cpp
+++ b/libopie/tododb.cpp
@@ -199,2 +199,15 @@ void ToDoDB::removeEvent( const ToDoEvent &event )
}
+void ToDoDB::replaceEvent(const ToDoEvent &event )
+{
+ QValueList<ToDoEvent>::Iterator it;
+ int uid = event.uid();
+ // == is not overloaded as we would like :( so let's search for the uid
+ for(it = m_todos.begin(); it != m_todos.end(); ++it ){
+ if( (*it).uid() == uid ){
+ m_todos.remove( (*it) );
+ break; // should save us the iterate is now borked
+ }
+ }
+ m_todos.append(event);
+}
void ToDoDB::reload()
@@ -203,2 +216,9 @@ void ToDoDB::reload()
}
+void ToDoDB::mergeWith(const QValueList<ToDoEvent>& events )
+{
+ QValueList<ToDoEvent>::ConstIterator it;
+ for( it = events.begin(); it != events.end(); ++it ){
+ replaceEvent( (*it) );
+ }
+}
void ToDoDB::setFileName(const QString &file )
diff --git a/libopie/tododb.h b/libopie/tododb.h
index e77a0f4..7fd9f96 100644
--- a/libopie/tododb.h
+++ b/libopie/tododb.h
@@ -25,3 +25,5 @@ class ToDoDB
void removeEvent(const ToDoEvent &event);
-
+ void replaceEvent(const ToDoEvent &event );
+ // QValueList<ToDoEvents will overwrite existing ones no smart code at all ;)
+ void mergeWith(const QValueList<ToDoEvent>& );
void reload();
diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp
index 28b2e98..a5dba4f 100644
--- a/libopie/todoevent.cpp
+++ b/libopie/todoevent.cpp
@@ -14,3 +14,2 @@ ToDoEvent::ToDoEvent(bool completed, int priority, const QStringList &category,
{
- qWarning("todoEvent c'tor" );
m_date = date;
@@ -72,3 +71,2 @@ void ToDoEvent::setCategories(const QStringList &list )
m_category = list;
- qWarning("todoevent: %s", list.join(";" ).latin1() );
}