author | zecke <zecke> | 2002-04-13 23:18:09 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-04-13 23:18:09 (UTC) |
commit | 707f0d3dd81b8ecec2df4e942c0efd2ee51b7fc5 (patch) (unidiff) | |
tree | d17645bbf5e0318e6e10c3377605c107a110ebd1 /libopie | |
parent | 0f7ff8056deb70f1c32bdcf46bb2b623063bdc1c (diff) | |
download | opie-707f0d3dd81b8ecec2df4e942c0efd2ee51b7fc5.zip opie-707f0d3dd81b8ecec2df4e942c0efd2ee51b7fc5.tar.gz opie-707f0d3dd81b8ecec2df4e942c0efd2ee51b7fc5.tar.bz2 |
PopupMenu for fontsize handling like on the Zaurus
-rw-r--r-- | libopie/libopie.pro | 4 | ||||
-rw-r--r-- | libopie/ofontmenu.cc | 78 | ||||
-rw-r--r-- | libopie/ofontmenu.h | 77 | ||||
-rw-r--r-- | libopie/tododb.cpp | 1 |
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 | |||
@@ -2,4 +2,4 @@ TEMPLATE = lib | |||
2 | CONFIG += qte warn_on release | 2 | CONFIG += 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 |
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 | |||
6 | OFontMenu::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 | } | ||
18 | void OFontMenu::setWidgets(const QList<QWidget> &list ) | ||
19 | { | ||
20 | m_list = list; | ||
21 | } | ||
22 | void OFontMenu::addWidget( QWidget *wid ) | ||
23 | { | ||
24 | m_list.append(wid ); | ||
25 | } | ||
26 | void OFontMenu::removeWidget( QWidget *wid ) | ||
27 | { | ||
28 | m_list.remove( wid ); | ||
29 | } | ||
30 | const QList<QWidget> &OFontMenu::widgets()const | ||
31 | { | ||
32 | return m_list; | ||
33 | } | ||
34 | void 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 | } | ||
41 | void OFontMenu::slotSmall() | ||
42 | { | ||
43 | setItemChecked(10, false ); | ||
44 | setItemChecked(11, false ); | ||
45 | setItemChecked(12, true ); | ||
46 | setFontSize( 8 ); | ||
47 | } | ||
48 | void OFontMenu::slotMedium() | ||
49 | { | ||
50 | setItemChecked(10, false ); | ||
51 | setItemChecked(11, true ); | ||
52 | setItemChecked(12, false ); | ||
53 | setFontSize(10 ); | ||
54 | } | ||
55 | void OFontMenu::slotLarge() | ||
56 | { | ||
57 | setItemChecked(10, true ); | ||
58 | setItemChecked(11, false ); | ||
59 | setItemChecked(12, false ); | ||
60 | setFontSize(14 ); | ||
61 | } | ||
62 | void 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 | |||
41 | namespace { | ||
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... | ||
50 | class 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 | |||
@@ -50,2 +50,3 @@ public: | |||
50 | delete tasks; | 50 | delete tasks; |
51 | stream << "</Tasks>" << endl; | ||
51 | file.close(); | 52 | file.close(); |