summaryrefslogtreecommitdiff
authorsandman <sandman>2002-11-26 23:34:04 (UTC)
committer sandman <sandman>2002-11-26 23:34:04 (UTC)
commite52158d2f9e1fdc9766d991dc672729648d5a020 (patch) (unidiff)
tree2e87e8d9a24cdb336b2d7ca654a5ffa2f80c5f8c
parentac4f32931212847803534a72eb5e951bd01e6ff5 (diff)
downloadopie-e52158d2f9e1fdc9766d991dc672729648d5a020.zip
opie-e52158d2f9e1fdc9766d991dc672729648d5a020.tar.gz
opie-e52158d2f9e1fdc9766d991dc672729648d5a020.tar.bz2
Sharp ROM compatibilty upgrade:
All these functions are needed to get qtmail (from the Sharp ROM) running on Opie - I have even tested qtmail on an iPAQ and it seems to work ..
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/config.cpp12
-rw-r--r--library/config.h5
-rw-r--r--library/datebookmonth.cpp12
-rw-r--r--library/datebookmonth.h15
-rw-r--r--library/qpemenubar.cpp9
-rw-r--r--library/qpemenubar.h7
6 files changed, 59 insertions, 1 deletions
diff --git a/library/config.cpp b/library/config.cpp
index 1121cd4..b47c620 100644
--- a/library/config.cpp
+++ b/library/config.cpp
@@ -81,48 +81,60 @@ QString Config::configFilename(const QString& name, Domain d)
81 81
82/*! 82/*!
83 Constructs a config that will load or create a configuration with the 83 Constructs a config that will load or create a configuration with the
84 given \a name in the given \a domain. 84 given \a name in the given \a domain.
85 85
86 You must call setGroup() before doing much else with the Config. 86 You must call setGroup() before doing much else with the Config.
87 87
88 In the default Domain, \e User, 88 In the default Domain, \e User,
89 the configuration is user-specific. \a name should not contain "/" in 89 the configuration is user-specific. \a name should not contain "/" in
90 this case, and in general should be the name of the C++ class that is 90 this case, and in general should be the name of the C++ class that is
91 primarily responsible for maintaining the configuration. 91 primarily responsible for maintaining the configuration.
92 92
93 In the File Domain, \a name is an absolute filename. 93 In the File Domain, \a name is an absolute filename.
94*/ 94*/
95Config::Config( const QString &name, Domain domain ) 95Config::Config( const QString &name, Domain domain )
96 : filename( configFilename(name,domain) ) 96 : filename( configFilename(name,domain) )
97{ 97{
98 git = groups.end(); 98 git = groups.end();
99 read(); 99 read();
100 QStringList l = Global::languageList(); 100 QStringList l = Global::languageList();
101 lang = l[0]; 101 lang = l[0];
102 glang = l[1]; 102 glang = l[1];
103} 103}
104 104
105
106// Sharp ROM compatibility
107Config::Config ( const QString &name, bool what )
108 : filename( configFilename(name,what ? User : File) )
109{
110 git = groups.end();
111 read();
112 QStringList l = Global::languageList();
113 lang = l[0];
114 glang = l[1];
115}
116
105/*! 117/*!
106 Writes any changes to disk and destroys the in-memory object. 118 Writes any changes to disk and destroys the in-memory object.
107*/ 119*/
108Config::~Config() 120Config::~Config()
109{ 121{
110 if ( changed ) 122 if ( changed )
111 write(); 123 write();
112} 124}
113 125
114/*! 126/*!
115 Returns whether the current group has an entry called \a key. 127 Returns whether the current group has an entry called \a key.
116*/ 128*/
117bool Config::hasKey( const QString &key ) const 129bool Config::hasKey( const QString &key ) const
118{ 130{
119 if ( groups.end() == git ) 131 if ( groups.end() == git )
120 return FALSE; 132 return FALSE;
121 ConfigGroup::ConstIterator it = ( *git ).find( key ); 133 ConfigGroup::ConstIterator it = ( *git ).find( key );
122 return it != ( *git ).end(); 134 return it != ( *git ).end();
123} 135}
124 136
125/*! 137/*!
126 Sets the current group for subsequent reading and writing of 138 Sets the current group for subsequent reading and writing of
127 entries to \a gname. Grouping allows the application to partition the namespace. 139 entries to \a gname. Grouping allows the application to partition the namespace.
128 140
diff --git a/library/config.h b/library/config.h
index 1dc32fa..0bab7ca 100644
--- a/library/config.h
+++ b/library/config.h
@@ -14,89 +14,92 @@
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#ifndef CONFIG_H 21#ifndef CONFIG_H
22#define CONFIG_H 22#define CONFIG_H
23 23
24// ##### could use QSettings with Qt 3.0 24// ##### could use QSettings with Qt 3.0
25 25
26#include <qmap.h> 26#include <qmap.h>
27#include <qstringlist.h> 27#include <qstringlist.h>
28 28
29class ConfigPrivate; 29class ConfigPrivate;
30class Config 30class Config
31{ 31{
32public: 32public:
33 typedef QMap< QString, QString > ConfigGroup; 33 typedef QMap< QString, QString > ConfigGroup;
34 34
35 enum Domain { File, User }; 35 enum Domain { File, User };
36 Config( const QString &name, Domain domain=User ); 36 Config( const QString &name, Domain domain=User );
37 ~Config(); 37 ~Config();
38 38
39 bool operator == ( const Config & other ) const { return (filename == other.filename); } 39 bool operator == ( const Config & other ) const { return (filename == other.filename); }
40 bool operator != ( const Config & other ) const { return (filename != other.filename); } 40 bool operator != ( const Config & other ) const { return (filename != other.filename); }
41 41
42 bool isValid() const; 42 bool isValid() const;
43 bool hasKey( const QString &key ) const; 43 bool hasKey( const QString &key ) const;
44 44
45 void setGroup( const QString &gname ); 45 void setGroup( const QString &gname );
46 void writeEntry( const QString &key, const char* value ); 46 void writeEntry( const QString &key, const char* value );
47 void writeEntry( const QString &key, const QString &value ); 47 void writeEntry( const QString &key, const QString &value );
48 void writeEntryCrypt( const QString &key, const QString &value ); 48 void writeEntryCrypt( const QString &key, const QString &value );
49 void writeEntry( const QString &key, int num ); 49 void writeEntry( const QString &key, int num );
50#ifdef Q_HAS_BOOL_TYPE 50#ifdef Q_HAS_BOOL_TYPE
51 void writeEntry( const QString &key, bool b ); 51 void writeEntry( const QString &key, bool b );
52#endif 52#endif
53 void writeEntry( const QString &key, const QStringList &lst, const QChar &sep ); 53 void writeEntry( const QString &key, const QStringList &lst, const QChar &sep );
54 void removeEntry( const QString &key ); 54 void removeEntry( const QString &key );
55 55
56 QString readEntry( const QString &key, const QString &deflt = QString::null ) const; 56 QString readEntry( const QString &key, const QString &deflt = QString::null ) const;
57 QString readEntryCrypt( const QString &key, const QString &deflt = QString::null ) const; 57 QString readEntryCrypt( const QString &key, const QString &deflt = QString::null ) const;
58 QString readEntryDirect( const QString &key, const QString &deflt = QString::null ) const; 58 QString readEntryDirect( const QString &key, const QString &deflt = QString::null ) const;
59 int readNumEntry( const QString &key, int deflt = -1 ) const; 59 int readNumEntry( const QString &key, int deflt = -1 ) const;
60 bool readBoolEntry( const QString &key, bool deflt = FALSE ) const; 60 bool readBoolEntry( const QString &key, bool deflt = FALSE ) const;
61 QStringList readListEntry( const QString &key, const QChar &sep ) const; 61 QStringList readListEntry( const QString &key, const QChar &sep ) const;
62 62
63 // For compatibility, non-const versions. 63 // For compatibility, non-const versions.
64 QString readEntry( const QString &key, const QString &deflt ); 64 QString readEntry( const QString &key, const QString &deflt );
65 QString readEntryCrypt( const QString &key, const QString &deflt ); 65 QString readEntryCrypt( const QString &key, const QString &deflt );
66 QString readEntryDirect( const QString &key, const QString &deflt ); 66 QString readEntryDirect( const QString &key, const QString &deflt );
67 int readNumEntry( const QString &key, int deflt ); 67 int readNumEntry( const QString &key, int deflt );
68 bool readBoolEntry( const QString &key, bool deflt ); 68 bool readBoolEntry( const QString &key, bool deflt );
69 QStringList readListEntry( const QString &key, const QChar &sep ); 69 QStringList readListEntry( const QString &key, const QChar &sep );
70 70
71 void clearGroup(); 71 void clearGroup();
72 72
73 void write( const QString &fn = QString::null ); 73 void write( const QString &fn = QString::null );
74 74
75protected: 75protected:
76 void read(); 76 void read();
77 bool parse( const QString &line ); 77 bool parse( const QString &line );
78 78
79 QMap< QString, ConfigGroup > groups; 79 QMap< QString, ConfigGroup > groups;
80 QMap< QString, ConfigGroup >::Iterator git; 80 QMap< QString, ConfigGroup >::Iterator git;
81 QString filename; 81 QString filename;
82 QString lang; 82 QString lang;
83 QString glang; 83 QString glang;
84 bool changed; 84 bool changed;
85 ConfigPrivate *d; 85 ConfigPrivate *d;
86 static QString configFilename(const QString& name, Domain); 86 static QString configFilename(const QString& name, Domain);
87
88private: // Sharp ROM compatibility
89 Config( const QString &name, bool what );
87}; 90};
88 91
89inline QString Config::readEntry( const QString &key, const QString &deflt ) const 92inline QString Config::readEntry( const QString &key, const QString &deflt ) const
90{ return ((Config*)this)->readEntry(key,deflt); } 93{ return ((Config*)this)->readEntry(key,deflt); }
91inline QString Config::readEntryCrypt( const QString &key, const QString &deflt ) const 94inline QString Config::readEntryCrypt( const QString &key, const QString &deflt ) const
92{ return ((Config*)this)->readEntryCrypt(key,deflt); } 95{ return ((Config*)this)->readEntryCrypt(key,deflt); }
93inline QString Config::readEntryDirect( const QString &key, const QString &deflt ) const 96inline QString Config::readEntryDirect( const QString &key, const QString &deflt ) const
94{ return ((Config*)this)->readEntryDirect(key,deflt); } 97{ return ((Config*)this)->readEntryDirect(key,deflt); }
95inline int Config::readNumEntry( const QString &key, int deflt ) const 98inline int Config::readNumEntry( const QString &key, int deflt ) const
96{ return ((Config*)this)->readNumEntry(key,deflt); } 99{ return ((Config*)this)->readNumEntry(key,deflt); }
97inline bool Config::readBoolEntry( const QString &key, bool deflt ) const 100inline bool Config::readBoolEntry( const QString &key, bool deflt ) const
98{ return ((Config*)this)->readBoolEntry(key,deflt); } 101{ return ((Config*)this)->readBoolEntry(key,deflt); }
99inline QStringList Config::readListEntry( const QString &key, const QChar &sep ) const 102inline QStringList Config::readListEntry( const QString &key, const QChar &sep ) const
100{ return ((Config*)this)->readListEntry(key,sep); } 103{ return ((Config*)this)->readListEntry(key,sep); }
101 104
102#endif 105#endif
diff --git a/library/datebookmonth.cpp b/library/datebookmonth.cpp
index 4a9dcbd..e8be313 100644
--- a/library/datebookmonth.cpp
+++ b/library/datebookmonth.cpp
@@ -727,24 +727,36 @@ void DateButton::setWeekStartsMonday( int b )
727void DateButton::setDate( int y, int m, int d ) 727void DateButton::setDate( int y, int m, int d )
728{ 728{
729 setDate( QDate( y,m,d) ); 729 setDate( QDate( y,m,d) );
730} 730}
731 731
732void DateButton::setDate( QDate d ) 732void DateButton::setDate( QDate d )
733{ 733{
734 currDate = d; 734 currDate = d;
735 setText( longFormat ? TimeString::longDateString( d, df ) : 735 setText( longFormat ? TimeString::longDateString( d, df ) :
736 TimeString::shortDate( d, df ) ); 736 TimeString::shortDate( d, df ) );
737 737
738} 738}
739 739
740void DateButton::setDateFormat( DateFormat f ) 740void DateButton::setDateFormat( DateFormat f )
741{ 741{
742 df = f; 742 df = f;
743 setDate( currDate ); 743 setDate( currDate );
744} 744}
745 745
746bool DateButton::customWhatsThis() const 746bool DateButton::customWhatsThis() const
747{ 747{
748 return TRUE; 748 return TRUE;
749} 749}
750 750
751
752// this class is only here for Sharp ROM compatibility
753// I have reverse engineered this class and it seems to
754// work (only qtmail seems to use it) - sandman
755// DO NOT USE IT IN NEW CODE !!
756
757DateBookMonthPopup::DateBookMonthPopup ( QWidget *w )
758 : QPopupMenu ( w )
759{
760 m_dbm = new DateBookMonth( this, 0, TRUE );
761 insertItem( m_dbm );
762}
diff --git a/library/datebookmonth.h b/library/datebookmonth.h
index 3c57c19..cb436a8 100644
--- a/library/datebookmonth.h
+++ b/library/datebookmonth.h
@@ -7,48 +7,49 @@
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#ifndef DATEBOOKMONTH 20#ifndef DATEBOOKMONTH
21#define DATEBOOKMONTH 21#define DATEBOOKMONTH
22 22
23#include <qtopia/private/event.h> 23#include <qtopia/private/event.h>
24 24
25#include <qvbox.h> 25#include <qvbox.h>
26#include <qhbox.h> 26#include <qhbox.h>
27#include <qdatetime.h> 27#include <qdatetime.h>
28#include <qvaluelist.h> 28#include <qvaluelist.h>
29#include <qtable.h> 29#include <qtable.h>
30#include <qpushbutton.h> 30#include <qpushbutton.h>
31#include <qpopupmenu.h>
31 32
32#include "calendar.h" 33#include "calendar.h"
33#include "timestring.h" 34#include "timestring.h"
34 35
35class QToolButton; 36class QToolButton;
36class QComboBox; 37class QComboBox;
37class QSpinBox; 38class QSpinBox;
38class Event; 39class Event;
39class DateBookDB; 40class DateBookDB;
40 41
41class DateBookMonthHeaderPrivate; 42class DateBookMonthHeaderPrivate;
42class DateBookMonthHeader : public QHBox 43class DateBookMonthHeader : public QHBox
43{ 44{
44 Q_OBJECT 45 Q_OBJECT
45 46
46public: 47public:
47 DateBookMonthHeader( QWidget *parent = 0, const char *name = 0 ); 48 DateBookMonthHeader( QWidget *parent = 0, const char *name = 0 );
48 ~DateBookMonthHeader(); 49 ~DateBookMonthHeader();
49 void setDate( int year, int month ); 50 void setDate( int year, int month );
50 51
51signals: 52signals:
52 void dateChanged( int year, int month ); 53 void dateChanged( int year, int month );
53 54
54protected slots: 55protected slots:
@@ -188,26 +189,40 @@ public:
188 QDate date() const { return currDate; } 189 QDate date() const { return currDate; }
189 190
190 bool customWhatsThis() const; 191 bool customWhatsThis() const;
191 192
192signals: 193signals:
193 void dateSelected( int year, int month, int day ); 194 void dateSelected( int year, int month, int day );
194 195
195public slots: 196public slots:
196 void setDate( int y, int m, int d ); 197 void setDate( int y, int m, int d );
197 void setDate( QDate ); 198 void setDate( QDate );
198 void setWeekStartsMonday( int ); 199 void setWeekStartsMonday( int );
199 void setDateFormat( DateFormat ); 200 void setDateFormat( DateFormat );
200 201
201private slots: 202private slots:
202 void pickDate(); 203 void pickDate();
203 void gotHide(); 204 void gotHide();
204 205
205private: 206private:
206 bool longFormat; 207 bool longFormat;
207 bool weekStartsMonday; 208 bool weekStartsMonday;
208 QDate currDate; 209 QDate currDate;
209 DateFormat df; 210 DateFormat df;
210}; 211};
211 212
213// this class is only here for Sharp ROM compatibility
214// I have reverse engineered this class and it seems to
215// work (only qtmail seems to use it) - sandman
216// DO NOT USE IT IN NEW CODE !!
217
218class DateBookMonthPopup : public QPopupMenu
219{
220 Q_OBJECT
221public:
222 DateBookMonthPopup ( QWidget *w );
223
224private:
225 DateBookMonth *m_dbm;
226};
212 227
213#endif 228#endif
diff --git a/library/qpemenubar.cpp b/library/qpemenubar.cpp
index c658d10..4aa0bf3 100644
--- a/library/qpemenubar.cpp
+++ b/library/qpemenubar.cpp
@@ -23,48 +23,57 @@
23#include "qpemenubar.h" 23#include "qpemenubar.h"
24#include <qapplication.h> 24#include <qapplication.h>
25#include <qguardedptr.h> 25#include <qguardedptr.h>
26#include <qtimer.h> 26#include <qtimer.h>
27 27
28 28
29class QMenuBarHack : public QMenuBar 29class QMenuBarHack : public QMenuBar
30{ 30{
31public: 31public:
32 int activeItem() const { return actItem; } 32 int activeItem() const { return actItem; }
33 33
34 void goodbye() 34 void goodbye()
35 { 35 {
36 activateItemAt(-1); 36 activateItemAt(-1);
37 for ( unsigned int i = 0; i < count(); i++ ) { 37 for ( unsigned int i = 0; i < count(); i++ ) {
38 QMenuItem *mi = findItem( idAt(i) ); 38 QMenuItem *mi = findItem( idAt(i) );
39 if ( mi->popup() ) { 39 if ( mi->popup() ) {
40 mi->popup()->hide(); 40 mi->popup()->hide();
41 } 41 }
42 } 42 }
43 } 43 }
44}; 44};
45 45
46 46
47// Sharp ROM compatibility
48void QPEMenuToolFocusManager::setMenukeyEnabled ( bool )
49{
50}
51int QPEMenuBar::getOldFocus ( )
52{
53 return 0;
54}
55
47QPEMenuToolFocusManager *QPEMenuToolFocusManager::me = 0; 56QPEMenuToolFocusManager *QPEMenuToolFocusManager::me = 0;
48 57
49QPEMenuToolFocusManager::QPEMenuToolFocusManager() : QObject() 58QPEMenuToolFocusManager::QPEMenuToolFocusManager() : QObject()
50{ 59{
51 qApp->installEventFilter( this ); 60 qApp->installEventFilter( this );
52} 61}
53 62
54void QPEMenuToolFocusManager::addWidget( QWidget *w ) 63void QPEMenuToolFocusManager::addWidget( QWidget *w )
55{ 64{
56 list.append( GuardedWidget(w) ); 65 list.append( GuardedWidget(w) );
57} 66}
58 67
59void QPEMenuToolFocusManager::removeWidget( QWidget *w ) 68void QPEMenuToolFocusManager::removeWidget( QWidget *w )
60{ 69{
61 list.remove( GuardedWidget(w) ); 70 list.remove( GuardedWidget(w) );
62} 71}
63 72
64void QPEMenuToolFocusManager::setActive( bool a ) 73void QPEMenuToolFocusManager::setActive( bool a )
65{ 74{
66 if ( a ) { 75 if ( a ) {
67 oldFocus = qApp->focusWidget(); 76 oldFocus = qApp->focusWidget();
68 QValueList<GuardedWidget>::Iterator it; 77 QValueList<GuardedWidget>::Iterator it;
69 it = list.begin(); 78 it = list.begin();
70 while ( it != list.end() ) { 79 while ( it != list.end() ) {
diff --git a/library/qpemenubar.h b/library/qpemenubar.h
index 05abc4e..66d0c85 100644
--- a/library/qpemenubar.h
+++ b/library/qpemenubar.h
@@ -32,47 +32,54 @@ public:
32 QPEMenuToolFocusManager(); 32 QPEMenuToolFocusManager();
33 33
34 void addWidget( QWidget *w ); 34 void addWidget( QWidget *w );
35 void removeWidget( QWidget *w ); 35 void removeWidget( QWidget *w );
36 void setActive( bool a ); 36 void setActive( bool a );
37 bool isActive() const; 37 bool isActive() const;
38 void moveFocus( bool next ); 38 void moveFocus( bool next );
39 39
40 static QPEMenuToolFocusManager *manager(); 40 static QPEMenuToolFocusManager *manager();
41 static void initialize(); 41 static void initialize();
42 42
43protected: 43protected:
44 void setFocus( QWidget *w, bool next=TRUE ); 44 void setFocus( QWidget *w, bool next=TRUE );
45 bool eventFilter( QObject *object, QEvent *event ); 45 bool eventFilter( QObject *object, QEvent *event );
46 46
47private slots: 47private slots:
48 void deactivate(); 48 void deactivate();
49 49
50private: 50private:
51 typedef QGuardedPtr<QWidget> GuardedWidget; 51 typedef QGuardedPtr<QWidget> GuardedWidget;
52 QValueList<GuardedWidget> list; 52 QValueList<GuardedWidget> list;
53 GuardedWidget inFocus; 53 GuardedWidget inFocus;
54 GuardedWidget oldFocus; 54 GuardedWidget oldFocus;
55 static QPEMenuToolFocusManager *me; 55 static QPEMenuToolFocusManager *me;
56
57private: // Sharp ROM compatibility
58 void setMenukeyEnabled ( bool b );
56}; 59};
57 60
58 61
59class QPEMenuBar : public QMenuBar 62class QPEMenuBar : public QMenuBar
60{ 63{
61 Q_OBJECT 64 Q_OBJECT
62public: 65public:
63 QPEMenuBar( QWidget *parent=0, const char* name=0 ); 66 QPEMenuBar( QWidget *parent=0, const char* name=0 );
64 ~QPEMenuBar(); 67 ~QPEMenuBar();
65 68
66protected: 69protected:
67 virtual void keyPressEvent( QKeyEvent *e ); 70 virtual void keyPressEvent( QKeyEvent *e );
68 71
69 /* Patch from Mickey 72 /* Patch from Mickey
70 * Sharp Qtopia1.5 seems to have these functions 73 * Sharp Qtopia1.5 seems to have these functions
71 * TO BE RESOLVED - zecke 74 * TO BE RESOLVED - zecke
72 */ 75 */
73 void activateItem( int index ); 76 void activateItem( int index );
74 void goodbye(); 77 void goodbye();
78
79 // This is a special "lineo" add-on for the Sharp ROM
80 // nobody knows, what it does, though ...
81 int getOldFocus ( );
75}; 82};
76 83
77#endif 84#endif
78 85