-rw-r--r-- | libopie/ofontmenu.cc | 34 | ||||
-rw-r--r-- | libopie/ofontmenu.h | 6 | ||||
-rw-r--r-- | libopie/tododb.cpp | 20 | ||||
-rw-r--r-- | libopie/tododb.h | 4 | ||||
-rw-r--r-- | libopie/todoevent.cpp | 2 |
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() ); } |