summaryrefslogtreecommitdiff
authorzecke <zecke>2004-05-11 21:56:44 (UTC)
committer zecke <zecke>2004-05-11 21:56:44 (UTC)
commite58a9f83f1bd385aad687daa166077602e921494 (patch) (unidiff)
tree23e52d2670f39747bda9dd871588f0cd098dc841
parentee881675ee5f0df15cc19e7ab2d18ee9f13bf438 (diff)
downloadopie-e58a9f83f1bd385aad687daa166077602e921494.zip
opie-e58a9f83f1bd385aad687daa166077602e921494.tar.gz
opie-e58a9f83f1bd385aad687daa166077602e921494.tar.bz2
Comment on virtual method and maybe the lack of them
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/okeyconfigwidget.h10
-rw-r--r--libopie2/opieui/otaskbarapplet.h1
2 files changed, 8 insertions, 3 deletions
diff --git a/libopie2/opieui/okeyconfigwidget.h b/libopie2/opieui/okeyconfigwidget.h
index d11054c..3d2260c 100644
--- a/libopie2/opieui/okeyconfigwidget.h
+++ b/libopie2/opieui/okeyconfigwidget.h
@@ -1,137 +1,141 @@
1/* 1/*
2 * Copyright (C) 2004 2 * Copyright (C) 2004
3 * LGPL v2 zecke@handhelds.org 3 * LGPL v2 zecke@handhelds.org
4 */ 4 */
5 5
6 6
7#ifndef ODP_KEY_CONFIG_WIDGET_H 7#ifndef ODP_KEY_CONFIG_WIDGET_H
8#define ODP_KEY_CONFIG_WIDGET_H 8#define ODP_KEY_CONFIG_WIDGET_H
9 9
10#include <opie2/okeyconfigmanager.h> 10#include <opie2/okeyconfigmanager.h>
11 11
12#include <qhbox.h> 12#include <qhbox.h>
13 13
14 14
15class QKeyEvent; 15class QKeyEvent;
16class QLabel; 16class QLabel;
17class QPushButton; 17class QPushButton;
18class QListViewItem; 18class QListViewItem;
19class QRadioButton; 19class QRadioButton;
20class QTimer; 20class QTimer;
21 21
22namespace Opie { 22namespace Opie {
23namespace Ui { 23namespace Ui {
24namespace Internal { 24namespace Internal {
25 class OKeyConfigWidgetPrivate; 25 class OKeyConfigWidgetPrivate;
26 typedef QValueList<OKeyConfigWidgetPrivate> OKeyConfigWidgetPrivateList; 26 typedef QValueList<OKeyConfigWidgetPrivate> OKeyConfigWidgetPrivateList;
27 class OKeyListViewItem; 27 class OKeyListViewItem;
28} 28}
29 class OListViewItem; 29 class OListViewItem;
30 class OListView; 30 class OListView;
31 31
32 32
33/** 33/**
34 * With this Widget you can let the Keyboard Shortcuts 34 * With this Widget you can let the Keyboard Shortcuts
35 * be configured by the user. 35 * be configured by the user.
36 * There are two ways you can use this widget. Either in a tab were 36 * There are two ways you can use this widget. Either in a tab were
37 * all changes are immediately getting into effect or in a queue 37 * all changes are immediately getting into effect or in a queue
38 * were you ask for saving. Save won't write the data but only set 38 * were you ask for saving. Save won't write the data but only set
39 * it to the OKeyConfigManager 39 * it to the OKeyConfigManager.
40 *
41 * Normally subclassing this widget does not make much sense as the widget content
42 * as such is immutable. If I'm wrong I'm willing to learn and you could mail me which
43 * functions do make sense with virtual on it (zecke@handhelds.org).
40 * 44 *
41 * @since 1.2 45 * @since 1.2
42 */ 46 */
43class OKeyConfigWidget : public QWidget { 47class OKeyConfigWidget : public QWidget {
44 Q_OBJECT 48 Q_OBJECT
45 49
46public: 50public:
47 /** 51 /**
48 * Immediate Apply the change directly to the underlying OKeyConfigManager 52 * Immediate Apply the change directly to the underlying OKeyConfigManager
49 * Queue Save all items and then apply when you save() 53 * Queue Save all items and then apply when you save()
50 */ 54 */
51 enum ChangeMode { Imediate, Queue }; 55 enum ChangeMode { Imediate, Queue };
52 OKeyConfigWidget( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 56 OKeyConfigWidget( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
53 ~OKeyConfigWidget(); 57 virtual ~OKeyConfigWidget();
54 58
55 void setChangeMode( enum ChangeMode ); 59 void setChangeMode( enum ChangeMode );
56 ChangeMode changeMode()const; 60 ChangeMode changeMode()const;
57 61
58 void insert( const QString& name, Opie::Core::OKeyConfigManager* ); 62 void insert( const QString& name, Opie::Core::OKeyConfigManager* );
59 63
60 void load(); 64 void load();
61 void save(); 65 void save();
62 66
63private slots: 67protected slots:
64 void slotListViewItem( QListViewItem* ); 68 void slotListViewItem( QListViewItem* );
65 void slotNoKey(); 69 void slotNoKey();
66 void slotDefaultKey(); 70 void slotDefaultKey();
67 void slotCustomKey(); 71 void slotCustomKey();
68 void slotConfigure(); 72 void slotConfigure();
69 73
70private: 74private:
71 static bool sanityCheck( Opie::Ui::Internal::OKeyListViewItem* man, 75 static bool sanityCheck( Opie::Ui::Internal::OKeyListViewItem* man,
72 const Opie::Core::OKeyPair& newItem ); 76 const Opie::Core::OKeyPair& newItem );
73 void updateItem( Opie::Ui::Internal::OKeyListViewItem* man, 77 void updateItem( Opie::Ui::Internal::OKeyListViewItem* man,
74 const Opie::Core::OKeyPair& newItem); 78 const Opie::Core::OKeyPair& newItem);
75 void initUi(); 79 void initUi();
76 Opie::Ui::OListView *m_view; 80 Opie::Ui::OListView *m_view;
77 Opie::Ui::Internal::OKeyConfigWidgetPrivateList m_list; 81 Opie::Ui::Internal::OKeyConfigWidgetPrivateList m_list;
78 QLabel *m_lbl; 82 QLabel *m_lbl;
79 QPushButton *m_btn; 83 QPushButton *m_btn;
80 QRadioButton *m_def, *m_cus, *m_none; 84 QRadioButton *m_def, *m_cus, *m_none;
81 QWidget* m_box; 85 QWidget* m_box;
82 ChangeMode m_mode; 86 ChangeMode m_mode;
83 class Private; 87 class Private;
84 Private *d; 88 Private *d;
85}; 89};
86 90
87 91
88/** 92/**
89 * This is a small dialog that allows you to 93 * This is a small dialog that allows you to
90 * capture a key sequence. 94 * capture a key sequence.
91 * If you want it to close after a key was captured you 95 * If you want it to close after a key was captured you
92 * can use this code snippet. 96 * can use this code snippet.
93 * 97 *
94 * \code 98 * \code
95 * OKeyChooserConfigDialog diag(0,0,true); 99 * OKeyChooserConfigDialog diag(0,0,true);
96 * connect(&diag,SIGNAL(keyCaptured()), 100 * connect(&diag,SIGNAL(keyCaptured()),
97 * this,SLOT(accept())); 101 * this,SLOT(accept()));
98 * if( QPEApplication::execDialog(&diag) == QDialog::Accept ){ 102 * if( QPEApplication::execDialog(&diag) == QDialog::Accept ){
99 * take_the_key_and_do_something 103 * take_the_key_and_do_something
100 * } 104 * }
101 * 105 *
102 * \endcode 106 * \endcode
103 * 107 *
104 */ 108 */
105class OKeyChooserConfigDialog : public QDialog { 109class OKeyChooserConfigDialog : public QDialog {
106 Q_OBJECT 110 Q_OBJECT
107public: 111public:
108 OKeyChooserConfigDialog( QWidget* parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0 ); 112 OKeyChooserConfigDialog( QWidget* parent = 0, const char* name = 0, bool modal = false, WFlags fl = 0 );
109 ~OKeyChooserConfigDialog(); 113 ~OKeyChooserConfigDialog();
110 114
111 Opie::Core::OKeyPair keyPair()const; 115 Opie::Core::OKeyPair keyPair()const;
112 116
113protected: 117protected:
114 void keyPressEvent( QKeyEvent* ); 118 void keyPressEvent( QKeyEvent* );
115 void keyReleaseEvent( QKeyEvent* ); 119 void keyReleaseEvent( QKeyEvent* );
116 120
117signals: 121signals:
118 void keyCaptured(); 122 void keyCaptured();
119 123
120private slots: 124private slots:
121 void slotTimeUp(); 125 void slotTimeUp();
122 126
123private: 127private:
124 QTimer *m_timer; 128 QTimer *m_timer;
125 QLabel *m_lbl; 129 QLabel *m_lbl;
126 bool m_virtKey : 1; 130 bool m_virtKey : 1;
127 Opie::Core::OKeyPair m_keyPair; 131 Opie::Core::OKeyPair m_keyPair;
128 int m_key, m_mod; 132 int m_key, m_mod;
129 class Private; 133 class Private;
130 Private *d; 134 Private *d;
131}; 135};
132 136
133} 137}
134} 138}
135 139
136 140
137#endif 141#endif
diff --git a/libopie2/opieui/otaskbarapplet.h b/libopie2/opieui/otaskbarapplet.h
index ec7b9c4..77cc461 100644
--- a/libopie2/opieui/otaskbarapplet.h
+++ b/libopie2/opieui/otaskbarapplet.h
@@ -1,129 +1,130 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3 3
4              Copyright (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> 4              Copyright (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
5 =. 5 =.
6 .=l. 6 .=l.
7           .>+-= 7           .>+-=
8 _;:,     .>    :=|. This program is free software; you can 8 _;:,     .>    :=|. This program is free software; you can
9.> <`_,   >  .   <= redistribute it and/or modify it under 9.> <`_,   >  .   <= redistribute it and/or modify it under
10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 10:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
11.="- .-=="i,     .._ License as published by the Free Software 11.="- .-=="i,     .._ License as published by the Free Software
12 - .   .-<_>     .<> Foundation; either version 2 of the License, 12 - .   .-<_>     .<> Foundation; either version 2 of the License,
13     ._= =}       : or (at your option) any later version. 13     ._= =}       : or (at your option) any later version.
14    .%`+i>       _;_. 14    .%`+i>       _;_.
15    .i_,=:_.      -<s. This program is distributed in the hope that 15    .i_,=:_.      -<s. This program is distributed in the hope that
16     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 16     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
17    : ..    .:,     . . . without even the implied warranty of 17    : ..    .:,     . . . without even the implied warranty of
18    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 18    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
19  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 19  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
20..}^=.=       =       ; Library General Public License for more 20..}^=.=       =       ; Library General Public License for more
21++=   -.     .`     .: details. 21++=   -.     .`     .: details.
22 :     =  ...= . :.=- 22 :     =  ...= . :.=-
23 -.   .:....=;==+<; You should have received a copy of the GNU 23 -.   .:....=;==+<; You should have received a copy of the GNU
24  -_. . .   )=.  = Library General Public License along with 24  -_. . .   )=.  = Library General Public License along with
25    --        :-=` this library; see the file COPYING.LIB. 25    --        :-=` this library; see the file COPYING.LIB.
26 If not, write to the Free Software Foundation, 26 If not, write to the Free Software Foundation,
27 Inc., 59 Temple Place - Suite 330, 27 Inc., 59 Temple Place - Suite 330,
28 Boston, MA 02111-1307, USA. 28 Boston, MA 02111-1307, USA.
29 29
30*/ 30*/
31 31
32#ifndef OTASKBARAPPLET_H 32#ifndef OTASKBARAPPLET_H
33#define OTASKBARAPPLET_H 33#define OTASKBARAPPLET_H
34 34
35#include <qpe/taskbarappletinterface.h> 35#include <qpe/taskbarappletinterface.h>
36#include <qpe/qcom.h> 36#include <qpe/qcom.h>
37 37
38#include <qwidget.h> 38#include <qwidget.h>
39 39
40class QMouseEvent; 40class QMouseEvent;
41 41
42namespace Opie { 42namespace Opie {
43namespace Ui { 43namespace Ui {
44namespace Internal { 44namespace Internal {
45/*====================================================================================== 45/*======================================================================================
46 * OTaskbarAppletWrapper 46 * OTaskbarAppletWrapper
47 *======================================================================================*/ 47 *======================================================================================*/
48 48
49class OTaskbarAppletWrapperPrivate; 49class OTaskbarAppletWrapperPrivate;
50template<class T> class OTaskbarAppletWrapper : public TaskbarAppletInterface 50template<class T> class OTaskbarAppletWrapper : public TaskbarAppletInterface
51{ 51{
52 public: 52 public:
53 OTaskbarAppletWrapper():_applet( 0 ) 53 OTaskbarAppletWrapper():_applet( 0 )
54 { 54 {
55 } 55 }
56 56
57 virtual ~OTaskbarAppletWrapper() 57 virtual ~OTaskbarAppletWrapper()
58 { 58 {
59 delete _applet; 59 delete _applet;
60 } 60 }
61 61
62 QRESULT queryInterface( const QUuid& uuid, QUnknownInterface** iface ) 62 QRESULT queryInterface( const QUuid& uuid, QUnknownInterface** iface )
63 { 63 {
64 qDebug( "OTaskbarAppletWrapper::queryInterface()" ); 64 qDebug( "OTaskbarAppletWrapper::queryInterface()" );
65 *iface = 0; 65 *iface = 0;
66 if ( uuid == IID_QUnknown ) 66 if ( uuid == IID_QUnknown )
67 *iface = this; 67 *iface = this;
68 else if ( uuid == IID_TaskbarApplet ) 68 else if ( uuid == IID_TaskbarApplet )
69 *iface = this; 69 *iface = this;
70 else 70 else
71 return QS_FALSE; 71 return QS_FALSE;
72 72
73 if ( *iface ) (*iface)->addRef(); 73 if ( *iface ) (*iface)->addRef();
74 return QS_OK; 74 return QS_OK;
75 } 75 }
76 76
77 Q_REFCOUNT 77 Q_REFCOUNT
78 78
79 virtual T* applet( QWidget* parent ) 79 virtual T* applet( QWidget* parent )
80 { 80 {
81 if ( !_applet ) _applet = new T( parent ); 81 if ( !_applet ) _applet = new T( parent );
82 return _applet; 82 return _applet;
83 } 83 }
84 84
85 virtual int position() const 85 virtual int position() const
86 { 86 {
87 return T::position(); 87 return T::position();
88 } 88 }
89 89
90 private: 90 private:
91 T* _applet; 91 T* _applet;
92 OTaskbarAppletWrapperPrivate *d; 92 OTaskbarAppletWrapperPrivate *d;
93}; 93};
94 94
95} 95}
96/*====================================================================================== 96/*======================================================================================
97 * OTaskbarApplet 97 * OTaskbarApplet
98 *======================================================================================*/ 98 *======================================================================================*/
99 99
100// Must be inline until after we shipped Opie 1.0 100// Must be inline until after we shipped Opie 1.0
101 101
102// Having OTaskBarApplet reside in libopieui2 is not possible 102// Having OTaskBarApplet reside in libopieui2 is not possible
103// until we link the launcher binary against libopieui2 - 103// until we link the launcher binary against libopieui2 -
104// otherwise the necessary symbols are not present, when 104// otherwise the necessary symbols are not present, when
105// the dynamic loader [dlopen] tries to resolve an applet which 105// the dynamic loader [dlopen] tries to resolve an applet which
106// inherits OTaskbarApplet 106// inherits OTaskbarApplet
107 107
108class OTaskbarApplet : public QWidget 108class OTaskbarApplet : public QWidget
109{ 109{
110 public: 110 public:
111 OTaskbarApplet( QWidget* parent, const char* name = 0 ); 111 OTaskbarApplet( QWidget* parent, const char* name = 0 );
112 virtual ~OTaskbarApplet(); 112 virtual ~OTaskbarApplet();
113 113
114
114 protected: 115 protected:
115 virtual void popup( QWidget* widget ); 116 virtual void popup( QWidget* widget );
116private: 117private:
117 class Private; 118 class Private;
118 Private *d; 119 Private *d;
119}; 120};
120} 121}
121} 122}
122 123
123#define EXPORT_OPIE_APPLET_v1( AppLet ) \ 124#define EXPORT_OPIE_APPLET_v1( AppLet ) \
124 Q_EXPORT_INTERFACE() { \ 125 Q_EXPORT_INTERFACE() { \
125 Q_CREATE_INSTANCE( Opie::Ui::Internal::OTaskbarAppletWrapper<AppLet> ) \ 126 Q_CREATE_INSTANCE( Opie::Ui::Internal::OTaskbarAppletWrapper<AppLet> ) \
126 } 127 }
127 128
128#endif 129#endif
129 130