summaryrefslogtreecommitdiff
authorzecke <zecke>2002-04-13 23:18:09 (UTC)
committer zecke <zecke>2002-04-13 23:18:09 (UTC)
commit707f0d3dd81b8ecec2df4e942c0efd2ee51b7fc5 (patch) (unidiff)
treed17645bbf5e0318e6e10c3377605c107a110ebd1
parent0f7ff8056deb70f1c32bdcf46bb2b623063bdc1c (diff)
downloadopie-707f0d3dd81b8ecec2df4e942c0efd2ee51b7fc5.zip
opie-707f0d3dd81b8ecec2df4e942c0efd2ee51b7fc5.tar.gz
opie-707f0d3dd81b8ecec2df4e942c0efd2ee51b7fc5.tar.bz2
PopupMenu for fontsize handling like on the Zaurus
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/libopie.pro4
-rw-r--r--libopie/ofontmenu.cc78
-rw-r--r--libopie/ofontmenu.h77
-rw-r--r--libopie/tododb.cpp1
4 files changed, 158 insertions, 2 deletions
diff --git a/libopie/libopie.pro b/libopie/libopie.pro
index 3c8da78..ddc0c33 100644
--- a/libopie/libopie.pro
+++ b/libopie/libopie.pro
@@ -1,6 +1,6 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qte warn_on release 2CONFIG += qte warn_on release
3 HEADERS = ofileselector.h ofiledialog.h tododb.h todoevent.h todoresource.h todovcalresource.h xmltree.h oconfig.h 3 HEADERS = ofontmenu.h ofileselector.h ofiledialog.h tododb.h todoevent.h todoresource.h todovcalresource.h xmltree.h oconfig.h
4 SOURCES = ofileselector.cc ofiledialog.cc xmltree.cc tododb.cpp todoevent.cpp todovcalresource.cpp oconfig.cpp 4 SOURCES = ofontmenu.cc ofileselector.cc ofiledialog.cc xmltree.cc tododb.cpp todoevent.cpp todovcalresource.cpp oconfig.cpp
5 TARGET = opie 5 TARGET = opie
6INCLUDEPATH += $(OPIEDIR)/include 6INCLUDEPATH += $(OPIEDIR)/include
diff --git a/libopie/ofontmenu.cc b/libopie/ofontmenu.cc
new file mode 100644
index 0000000..2acae1c
--- a/dev/null
+++ b/libopie/ofontmenu.cc
@@ -0,0 +1,78 @@
1
2#include "ofontmenu.h"
3
4
5
6OFontMenu::OFontMenu(QWidget *parent, const char *name, const QList<QWidget> &list )
7 : QPopupMenu( parent, name )
8{
9 m_list = list;
10 insertItem(tr("Large"), this, SLOT(slotLarge() ),
11 0, 10);
12 insertItem(tr("Medium"), this, SLOT(slotMedium() ),
13 0, 11 );
14 insertItem(tr("Small"), this, SLOT(slotSmall() ),
15 0, 12 );
16 setCheckable( true );
17}
18void OFontMenu::setWidgets(const QList<QWidget> &list )
19{
20 m_list = list;
21}
22void OFontMenu::addWidget( QWidget *wid )
23{
24 m_list.append(wid );
25}
26void OFontMenu::removeWidget( QWidget *wid )
27{
28 m_list.remove( wid );
29}
30const QList<QWidget> &OFontMenu::widgets()const
31{
32 return m_list;
33}
34void OFontMenu::forceSize(QWidget *wid, int size )
35{
36 WidSize *widz = new WidSize;
37 widz->wid = wid;
38 widz->size = size;
39 m_wids.append( widz );
40}
41void OFontMenu::slotSmall()
42{
43 setItemChecked(10, false );
44 setItemChecked(11, false );
45 setItemChecked(12, true );
46 setFontSize( 8 );
47}
48void OFontMenu::slotMedium()
49{
50 setItemChecked(10, false );
51 setItemChecked(11, true );
52 setItemChecked(12, false );
53 setFontSize(10 );
54}
55void OFontMenu::slotLarge()
56{
57 setItemChecked(10, true );
58 setItemChecked(11, false );
59 setItemChecked(12, false );
60 setFontSize(14 );
61}
62void OFontMenu::setFontSize(int size )
63{
64 QWidget *wid;
65 for(wid = m_list.first(); wid !=0; wid = m_list.next() ){
66 QFont font = wid->font();
67 font.setPointSize( size );
68 wid->setFont( font );
69 }
70 if(!m_wids.isEmpty() ){
71 WidSize *wids;
72 for( wids = m_wids.first(); wids != 0; wids = m_wids.next() ){
73 QFont font = wids->wid->font();
74 font.setPointSize( wids->size );
75 wids->wid->setFont( font );
76 }
77 }
78}
diff --git a/libopie/ofontmenu.h b/libopie/ofontmenu.h
new file mode 100644
index 0000000..37a628e
--- a/dev/null
+++ b/libopie/ofontmenu.h
@@ -0,0 +1,77 @@
1
2/*
3
4               =. This file is part of the OPIE Project
5             .=l. Copyright (c) 2002 zekce <zecke@handhelds.org>
6           .>+-=
7 _;:,     .>    :=|. This library is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
10.="- .-=="i,     .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version.
13    .%`+i>       _;_.
14    .i_,=:_.      -<s. This library is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more
20++=   -.     .`     .: details.
21 :     =  ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA.
28
29*/
30
31
32
33
34#ifndef ofontmenu_h
35#define ofontmenu_h
36
37#include <qpopupmenu.h>
38#include <qlist.h>
39
40
41namespace {
42 struct WidSize {
43 QWidget *wid;
44 int size;
45 };
46
47};
48
49// if i would be on kde this would be a KActionMenu...
50class OFontMenu : public QPopupMenu {
51 Q_OBJECT
52 public:
53 OFontMenu(QWidget *parent, const char* name, const QList<QWidget> &list );
54 void setWidgets(const QList<QWidget> &list );
55 void addWidget(QWidget *wid );
56 void forceSize(QWidget *wid, int size );
57 void removeWidget(QWidget *wid );
58 const QList<QWidget> &widgets()const;
59
60 private:
61 QList<QWidget> m_list;
62 QList<WidSize> m_wids;
63 class OFontMenuPrivate;
64 OFontMenuPrivate *d;
65 private slots:
66 virtual void slotSmall();
67 virtual void slotMedium();
68 virtual void slotLarge();
69 void setFontSize(int size );
70};
71
72#endif
73
74
75
76
77
diff --git a/libopie/tododb.cpp b/libopie/tododb.cpp
index 7814c4f..3f6dc30 100644
--- a/libopie/tododb.cpp
+++ b/libopie/tododb.cpp
@@ -49,4 +49,5 @@ public:
49 tasks->save(stream ); 49 tasks->save(stream );
50 delete tasks; 50 delete tasks;
51 stream << "</Tasks>" << endl;
51 file.close(); 52 file.close();
52 return true; 53 return true;