-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,3 +1,5 @@ + +#include <qpe/config.h> #include "ofontmenu.h" @@ -8,4 +10,6 @@ OFontMenu::OFontMenu(QWidget *parent, const char *name, const QList<QWidget> &li { m_list = list; + m_wids.setAutoDelete( TRUE ); + insertItem(tr("Large"), this, SLOT(slotLarge() ), 0, 10); @@ -15,4 +19,32 @@ OFontMenu::OFontMenu(QWidget *parent, const char *name, const QList<QWidget> &li 0, 12 ); 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 ); } void OFontMenu::setWidgets(const QList<QWidget> &list ) @@ -62,4 +94,5 @@ void OFontMenu::slotLarge() void OFontMenu::setFontSize(int size ) { + m_size = size; QWidget *wid; for(wid = m_list.first(); wid !=0; wid = m_list.next() ){ @@ -76,3 +109,4 @@ 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 @@ -48,8 +48,11 @@ namespace { // if i would be on kde this would be a KActionMenu... +class Config; class OFontMenu : public QPopupMenu { Q_OBJECT public: OFontMenu(QWidget *parent, const char* name, const QList<QWidget> &list ); + void save(Config *cfg ); + void restore(Config *cfg ); void setWidgets(const QList<QWidget> &list ); void addWidget(QWidget *wid ); @@ -58,7 +61,10 @@ class OFontMenu : public QPopupMenu { const QList<QWidget> &widgets()const; + signals: + void fontChanged(int size ); private: QList<QWidget> m_list; QList<WidSize> m_wids; + int m_size; class OFontMenuPrivate; OFontMenuPrivate *d; diff --git a/libopie/tododb.cpp b/libopie/tododb.cpp index 3f6dc30..4d6711d 100644 --- a/libopie/tododb.cpp +++ b/libopie/tododb.cpp @@ -198,8 +198,28 @@ void ToDoDB::removeEvent( const ToDoEvent &event ) m_todos.remove( 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() { load(); } +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 @@ -24,5 +24,7 @@ class ToDoDB void editEvent(const ToDoEvent &editEvent ); 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(); void setFileName(const QString & ); diff --git a/libopie/todoevent.cpp b/libopie/todoevent.cpp index 28b2e98..a5dba4f 100644 --- a/libopie/todoevent.cpp +++ b/libopie/todoevent.cpp @@ -13,5 +13,4 @@ ToDoEvent::ToDoEvent(bool completed, int priority, const QStringList &category, const QString &description, bool hasDate, QDate date, int uid ) { - qWarning("todoEvent c'tor" ); m_date = date; m_isCompleted = completed; @@ -71,5 +70,4 @@ void ToDoEvent::setCategories(const QStringList &list ) { m_category = list; - qWarning("todoevent: %s", list.join(";" ).latin1() ); } QDate ToDoEvent::date()const |