-rw-r--r-- | Makefile | 14 | ||||
-rw-r--r-- | core/launcher/taskbar.cpp | 4 | ||||
-rw-r--r-- | core/opie-login/README | 2 | ||||
-rw-r--r-- | core/opie-login/qdmdialogimpl.cpp | 2 |
4 files changed, 11 insertions, 11 deletions
@@ -1,71 +1,71 @@ | |||
1 | default: dynamic | 1 | default: dynamic |
2 | 2 | ||
3 | all: default docs | 3 | all: default docs |
4 | 4 | ||
5 | LIBS=library libopie | 5 | LIBS=library libopie |
6 | 6 | ||
7 | COMPONENTS=$(LOCALCOMPONENTS) inputmethods/keyboard \ | 7 | COMPONENTS=$(LOCALCOMPONENTS) inputmethods/keyboard \ |
8 | inputmethods/pickboard \ | 8 | inputmethods/pickboard \ |
9 | inputmethods/handwriting \ | 9 | inputmethods/handwriting \ |
10 | inputmethods/unikeyboard \ | 10 | inputmethods/unikeyboard \ |
11 | inputmethods/jumpx \ | 11 | inputmethods/jumpx \ |
12 | inputmethods/dvorak \ | 12 | inputmethods/dvorak \ |
13 | taskbar/batteryapplet \ | 13 | launcher/batteryapplet \ |
14 | taskbar/volumeapplet \ | 14 | launcher/volumeapplet \ |
15 | taskbar/clockapplet \ | 15 | launcher/clockapplet \ |
16 | taskbar/netmonapplet \ | 16 | launcher/netmonapplet \ |
17 | taskbar/screenshotapplet \ | 17 | launcher/screenshotapplet \ |
18 | taskbar/vmemo \ | 18 | launcher/vmemo \ |
19 | netsetup/dialup \ | 19 | netsetup/dialup \ |
20 | netsetup/lan \ | 20 | netsetup/lan \ |
21 | opiemail/ifaces/pop3 opiemail/ifaces/smtp \ | 21 | opiemail/ifaces/pop3 opiemail/ifaces/smtp \ |
22 | mpegplayer/libmpeg3 \ | 22 | mpegplayer/libmpeg3 \ |
23 | mpegplayer/libmad \ | 23 | mpegplayer/libmad \ |
24 | mpegplayer/wavplugin \ | 24 | mpegplayer/wavplugin \ |
25 | cardmon \ | 25 | cardmon \ |
26 | sdmon | 26 | sdmon |
27 | 27 | ||
28 | APPS=$(LOCALAPPS) core/addressbook calculator clock datebook \ | 28 | APPS=$(LOCALAPPS) core/addressbook calculator clock datebook \ |
29 | filebrowser helpbrowser minesweep mpegplayer \ | 29 | filebrowser helpbrowser minesweep mpegplayer \ |
30 | settings/light-and-power \ | 30 | settings/light-and-power \ |
31 | settings/language \ | 31 | settings/language \ |
32 | settings/rotation \ | 32 | settings/rotation \ |
33 | settings/appearance \ | 33 | settings/appearance \ |
34 | settings/security \ | 34 | settings/security \ |
35 | settings/sound \ | 35 | settings/sound \ |
36 | settings/systemtime \ | 36 | settings/systemtime \ |
37 | solitaire spreadsheet tetrix textedit \ | 37 | solitaire spreadsheet tetrix textedit \ |
38 | todo wordgame embeddedkonsole taskbar sysinfo \ | 38 | todo wordgame embeddedkonsole launcher sysinfo \ |
39 | parashoot snake citytime showimg netsetup tableviewer \ | 39 | parashoot snake citytime showimg netsetup tableviewer \ |
40 | qipkg mindbreaker go qasteroids qcop fifteen keypebble today opiemail/converter opiemail \ | 40 | qipkg mindbreaker go qasteroids qcop fifteen keypebble today opiemail/converter opiemail \ |
41 | noncore/tictac noncore/opieftp noncore/drawpad noncore/kcheckers | 41 | noncore/tictac noncore/opieftp noncore/drawpad noncore/kcheckers |
42 | 42 | ||
43 | DOCS = docs/src/opie-policy | 43 | DOCS = docs/src/opie-policy |
44 | single: mpegplayer/libmpeg3 | 44 | single: mpegplayer/libmpeg3 |
45 | 45 | ||
46 | dynamic: $(APPS) | 46 | dynamic: $(APPS) |
47 | 47 | ||
48 | docs: $(DOCS) | 48 | docs: $(DOCS) |
49 | 49 | ||
50 | $(COMPONENTS): $(LIBS) | 50 | $(COMPONENTS): $(LIBS) |
51 | 51 | ||
52 | $(APPS): $(LIBS) $(COMPONENTS) | 52 | $(APPS): $(LIBS) $(COMPONENTS) |
53 | 53 | ||
54 | $(LIBS) $(COMPONENTS) $(APPS) $(DOCS) single: | 54 | $(LIBS) $(COMPONENTS) $(APPS) $(DOCS) single: |
55 | $(MAKE) -C $@ -f Makefile | 55 | $(MAKE) -C $@ -f Makefile |
56 | 56 | ||
57 | showcomponents: | 57 | showcomponents: |
58 | @echo $(LIBS) $(APPS) $(COMPONENTS) single | 58 | @echo $(LIBS) $(APPS) $(COMPONENTS) single |
59 | 59 | ||
60 | clean: | 60 | clean: |
61 | $(MAKE) -C single -f Makefile $@ | 61 | $(MAKE) -C single -f Makefile $@ |
62 | for dir in $(APPS) $(LIBS) $(COMPONENTS) $(DOCS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done | 62 | for dir in $(APPS) $(LIBS) $(COMPONENTS) $(DOCS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done |
63 | 63 | ||
64 | lupdate: | 64 | lupdate: |
65 | for dir in $(APPS) $(LIBS) $(COMPONENTS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done | 65 | for dir in $(APPS) $(LIBS) $(COMPONENTS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done |
66 | 66 | ||
67 | lrelease: | 67 | lrelease: |
68 | for dir in $(APPS) $(LIBS) $(COMPONENTS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done | 68 | for dir in $(APPS) $(LIBS) $(COMPONENTS); do $(MAKE) -C $$dir -f Makefile $@ || exit 1; done |
69 | 69 | ||
70 | 70 | ||
71 | .PHONY: default dynamic $(LIBS) $(APPS) $(COMPONENTS) $(DOCS) single showcomponents clean | 71 | .PHONY: default dynamic $(LIBS) $(APPS) $(COMPONENTS) $(DOCS) single showcomponents clean |
diff --git a/core/launcher/taskbar.cpp b/core/launcher/taskbar.cpp index d7f36bd..18d28cb 100644 --- a/core/launcher/taskbar.cpp +++ b/core/launcher/taskbar.cpp | |||
@@ -1,172 +1,172 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of Qtopia Environment. | 4 | ** This file is part of Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
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 | 20 | ||
21 | #include "startmenu.h" | 21 | #include "startmenu.h" |
22 | #include "inputmethods.h" | 22 | #include "inputmethods.h" |
23 | #include "mrulist.h" | 23 | #include "mrulist.h" |
24 | #include "systray.h" | 24 | #include "systray.h" |
25 | #include "calibrate.h" | 25 | #include "calibrate.h" |
26 | #include "wait.h" | 26 | #include "wait.h" |
27 | #include "appicons.h" | 27 | #include "appicons.h" |
28 | 28 | ||
29 | #include "taskbar.h" | 29 | #include "taskbar.h" |
30 | #include "desktop.h" | 30 | #include "desktop.h" |
31 | 31 | ||
32 | #include <qpe/qpeapplication.h> | 32 | #include <qpe/qpeapplication.h> |
33 | #include <qpe/qcopenvelope_qws.h> | 33 | #include <qpe/qcopenvelope_qws.h> |
34 | #include <qpe/global.h> | 34 | #include <qpe/global.h> |
35 | #ifdef QT_QWS_CUSTOM | 35 | #ifdef QT_QWS_CUSTOM |
36 | #include <qpe/custom.h> | 36 | #include <qpe/custom.h> |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | #include <qlabel.h> | 39 | #include <qlabel.h> |
40 | #include <qlayout.h> | 40 | #include <qlayout.h> |
41 | #include <qtimer.h> | 41 | #include <qtimer.h> |
42 | #include <qwindowsystem_qws.h> | 42 | #include <qwindowsystem_qws.h> |
43 | #include <qwidgetstack.h> | 43 | #include <qwidgetstack.h> |
44 | 44 | ||
45 | #if defined( Q_WS_QWS ) | 45 | #if defined( Q_WS_QWS ) |
46 | #include <qwsdisplay_qws.h> | 46 | #include <qwsdisplay_qws.h> |
47 | #include <qgfx_qws.h> | 47 | #include <qgfx_qws.h> |
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | 50 | ||
51 | #define FACTORY(T) \ | 51 | #define FACTORY(T) \ |
52 | static QWidget *new##T( bool maximized ) { \ | 52 | static QWidget *new##T( bool maximized ) { \ |
53 | QWidget *w = new T( 0, "test", QWidget::WDestructiveClose | QWidget::WGroupLeader ); \ | 53 | QWidget *w = new T( 0, "test", QWidget::WDestructiveClose | QWidget::WGroupLeader ); \ |
54 | if ( maximized ) { \ | 54 | if ( maximized ) { \ |
55 | if ( qApp->desktop()->width() <= 350 ) { \ | 55 | if ( qApp->desktop()->width() <= 350 ) { \ |
56 | w->showMaximized(); \ | 56 | w->showMaximized(); \ |
57 | } else { \ | 57 | } else { \ |
58 | w->resize( QSize( 300, 300 ) ); \ | 58 | w->resize( QSize( 300, 300 ) ); \ |
59 | } \ | 59 | } \ |
60 | } \ | 60 | } \ |
61 | w->show(); \ | 61 | w->show(); \ |
62 | return w; \ | 62 | return w; \ |
63 | } | 63 | } |
64 | 64 | ||
65 | 65 | ||
66 | #ifdef SINGLE_APP | 66 | #ifdef SINGLE_APP |
67 | #define APP(a,b,c,d) FACTORY(b) | 67 | #define APP(a,b,c,d) FACTORY(b) |
68 | #include "../taskbar/apps.h" | 68 | #include "../launcher/apps.h" |
69 | #undef APP | 69 | #undef APP |
70 | #endif // SINGLE_APP | 70 | #endif // SINGLE_APP |
71 | 71 | ||
72 | static Global::Command builtins[] = { | 72 | static Global::Command builtins[] = { |
73 | 73 | ||
74 | #ifdef SINGLE_APP | 74 | #ifdef SINGLE_APP |
75 | #define APP(a,b,c,d) { a, new##b, c }, | 75 | #define APP(a,b,c,d) { a, new##b, c }, |
76 | #include "../taskbar/apps.h" | 76 | #include "../launcher/apps.h" |
77 | #undef APP | 77 | #undef APP |
78 | #endif | 78 | #endif |
79 | 79 | ||
80 | #if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_EBX) | 80 | #if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_EBX) |
81 | { "calibrate", TaskBar::calibrate,1, 0 }, | 81 | { "calibrate", TaskBar::calibrate,1, 0 }, |
82 | #endif | 82 | #endif |
83 | #if !defined(QT_QWS_CASSIOPEIA) | 83 | #if !defined(QT_QWS_CASSIOPEIA) |
84 | { "shutdown", Global::shutdown, 1, 0 }, | 84 | { "shutdown", Global::shutdown, 1, 0 }, |
85 | // { "run", run, 1, 0 }, | 85 | // { "run", run, 1, 0 }, |
86 | #endif | 86 | #endif |
87 | 87 | ||
88 | { 0, TaskBar::calibrate,0, 0 }, | 88 | { 0, TaskBar::calibrate,0, 0 }, |
89 | }; | 89 | }; |
90 | 90 | ||
91 | static bool initNumLock() | 91 | static bool initNumLock() |
92 | { | 92 | { |
93 | #ifdef QPE_INITIAL_NUMLOCK_STATE | 93 | #ifdef QPE_INITIAL_NUMLOCK_STATE |
94 | QPE_INITIAL_NUMLOCK_STATE | 94 | QPE_INITIAL_NUMLOCK_STATE |
95 | #endif | 95 | #endif |
96 | return FALSE; | 96 | return FALSE; |
97 | } | 97 | } |
98 | 98 | ||
99 | class LockKeyState : public QWidget | 99 | class LockKeyState : public QWidget |
100 | { | 100 | { |
101 | public: | 101 | public: |
102 | LockKeyState( QWidget *parent ) : | 102 | LockKeyState( QWidget *parent ) : |
103 | QWidget(parent), | 103 | QWidget(parent), |
104 | nl(initNumLock()), cl(FALSE) | 104 | nl(initNumLock()), cl(FALSE) |
105 | { | 105 | { |
106 | nl_pm = Resource::loadPixmap("numlock"); | 106 | nl_pm = Resource::loadPixmap("numlock"); |
107 | cl_pm = Resource::loadPixmap("capslock"); | 107 | cl_pm = Resource::loadPixmap("capslock"); |
108 | } | 108 | } |
109 | QSize sizeHint() const | 109 | QSize sizeHint() const |
110 | { | 110 | { |
111 | return QSize(nl_pm.width()+2,nl_pm.width()+nl_pm.height()+1); | 111 | return QSize(nl_pm.width()+2,nl_pm.width()+nl_pm.height()+1); |
112 | } | 112 | } |
113 | void toggleNumLockState() | 113 | void toggleNumLockState() |
114 | { | 114 | { |
115 | nl = !nl; repaint(); | 115 | nl = !nl; repaint(); |
116 | } | 116 | } |
117 | void toggleCapsLockState() | 117 | void toggleCapsLockState() |
118 | { | 118 | { |
119 | cl = !cl; repaint(); | 119 | cl = !cl; repaint(); |
120 | } | 120 | } |
121 | void paintEvent( QPaintEvent * ) | 121 | void paintEvent( QPaintEvent * ) |
122 | { | 122 | { |
123 | int y = (height()-sizeHint().height())/2; | 123 | int y = (height()-sizeHint().height())/2; |
124 | QPainter p(this); | 124 | QPainter p(this); |
125 | if ( nl ) | 125 | if ( nl ) |
126 | p.drawPixmap(1,y,nl_pm); | 126 | p.drawPixmap(1,y,nl_pm); |
127 | if ( cl ) | 127 | if ( cl ) |
128 | p.drawPixmap(1,y+nl_pm.height()+1,cl_pm); | 128 | p.drawPixmap(1,y+nl_pm.height()+1,cl_pm); |
129 | } | 129 | } |
130 | private: | 130 | private: |
131 | QPixmap nl_pm, cl_pm; | 131 | QPixmap nl_pm, cl_pm; |
132 | bool nl, cl; | 132 | bool nl, cl; |
133 | }; | 133 | }; |
134 | 134 | ||
135 | TaskBar::~TaskBar() | 135 | TaskBar::~TaskBar() |
136 | { | 136 | { |
137 | } | 137 | } |
138 | 138 | ||
139 | 139 | ||
140 | TaskBar::TaskBar() : QHBox(0, 0, WStyle_Customize | WStyle_Tool | WStyle_StaysOnTop | WGroupLeader) | 140 | TaskBar::TaskBar() : QHBox(0, 0, WStyle_Customize | WStyle_Tool | WStyle_StaysOnTop | WGroupLeader) |
141 | { | 141 | { |
142 | Global::setBuiltinCommands(builtins); | 142 | Global::setBuiltinCommands(builtins); |
143 | 143 | ||
144 | sm = new StartMenu( this ); | 144 | sm = new StartMenu( this ); |
145 | 145 | ||
146 | inputMethods = new InputMethods( this ); | 146 | inputMethods = new InputMethods( this ); |
147 | connect( inputMethods, SIGNAL(inputToggled(bool)), | 147 | connect( inputMethods, SIGNAL(inputToggled(bool)), |
148 | this, SLOT(calcMaxWindowRect()) ); | 148 | this, SLOT(calcMaxWindowRect()) ); |
149 | //new QuickLauncher( this ); | 149 | //new QuickLauncher( this ); |
150 | 150 | ||
151 | stack = new QWidgetStack( this ); | 151 | stack = new QWidgetStack( this ); |
152 | stack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) ); | 152 | stack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) ); |
153 | label = new QLabel(stack); | 153 | label = new QLabel(stack); |
154 | 154 | ||
155 | mru = new MRUList( stack ); | 155 | mru = new MRUList( stack ); |
156 | stack->raiseWidget( mru ); | 156 | stack->raiseWidget( mru ); |
157 | 157 | ||
158 | waitIcon = new Wait( this ); | 158 | waitIcon = new Wait( this ); |
159 | (void) new AppIcons( this ); | 159 | (void) new AppIcons( this ); |
160 | 160 | ||
161 | sysTray = new SysTray( this ); | 161 | sysTray = new SysTray( this ); |
162 | 162 | ||
163 | // ## make customizable in some way? | 163 | // ## make customizable in some way? |
164 | #ifdef QT_QWS_CUSTOM | 164 | #ifdef QT_QWS_CUSTOM |
165 | lockState = new LockKeyState( this ); | 165 | lockState = new LockKeyState( this ); |
166 | #else | 166 | #else |
167 | lockState = 0; | 167 | lockState = 0; |
168 | #endif | 168 | #endif |
169 | 169 | ||
170 | #if defined(Q_WS_QWS) | 170 | #if defined(Q_WS_QWS) |
171 | #if !defined(QT_NO_COP) | 171 | #if !defined(QT_NO_COP) |
172 | QCopChannel *channel = new QCopChannel( "QPE/TaskBar", this ); | 172 | QCopChannel *channel = new QCopChannel( "QPE/TaskBar", this ); |
diff --git a/core/opie-login/README b/core/opie-login/README index ad3b298..4a4234d 100644 --- a/core/opie-login/README +++ b/core/opie-login/README | |||
@@ -1,78 +1,78 @@ | |||
1 | 1 | ||
2 | Welcome to LISA System's | 2 | Welcome to LISA System's |
3 | 3 | ||
4 | QDM - the Login-Dialog for QPE | 4 | QDM - the Login-Dialog for QPE |
5 | 5 | ||
6 | 6 | ||
7 | WHAT'S THIS: | 7 | WHAT'S THIS: |
8 | 8 | ||
9 | This small add-on for the Qtopia Environment (QPE - see | 9 | This small add-on for the Qtopia Environment (QPE - see |
10 | http://qpe.sourceforge.net for further details) allows You to use your | 10 | http://qpe.sourceforge.net for further details) allows You to use your |
11 | handheld computer running QPE and Linux with the typical Un*x user | 11 | handheld computer running QPE and Linux with the typical Un*x user |
12 | handling, i.e. just log in on a graphical environment, as e.g. KDM or | 12 | handling, i.e. just log in on a graphical environment, as e.g. KDM or |
13 | XDM. This way your personal data can be easily protected against | 13 | XDM. This way your personal data can be easily protected against |
14 | unwanted access from others in case you loose your machine. | 14 | unwanted access from others in case you loose your machine. |
15 | 15 | ||
16 | 16 | ||
17 | STATUS: | 17 | STATUS: |
18 | 18 | ||
19 | Still in development, but should be useable. | 19 | Still in development, but should be useable. |
20 | 20 | ||
21 | 21 | ||
22 | REQUIREMENTS: | 22 | REQUIREMENTS: |
23 | 23 | ||
24 | - QDM needs Linux-PAM (Pluggable Authentication Modules for Linux) for | 24 | - QDM needs Linux-PAM (Pluggable Authentication Modules for Linux) for |
25 | proper user validation. | 25 | proper user validation. |
26 | 26 | ||
27 | - the /dev/fb0 device has to writeable to everyone ;-( | 27 | - the /dev/fb0 device has to writeable to everyone ;-( |
28 | 28 | ||
29 | 29 | ||
30 | INSTALLATION: | 30 | INSTALLATION: |
31 | 31 | ||
32 | Per default this little add-on is not enabled. You have to do so | 32 | Per default this little add-on is not enabled. You have to do so |
33 | yourself for now, by setting a compile option variable called | 33 | yourself for now, by setting a compile option variable called |
34 | QT_QWS_LOGIN . Furthermore there have to be made some changes in | 34 | QT_QWS_LOGIN . Furthermore there have to be made some changes in |
35 | taskbar/taskbar.pro : | 35 | launcher/taskbar.pro : |
36 | 36 | ||
37 | At the section HEADERS insert a line: | 37 | At the section HEADERS insert a line: |
38 | ../login/qdmdialogimpl.h \ | 38 | ../login/qdmdialogimpl.h \ |
39 | 39 | ||
40 | At the section SOURCES insert a line: | 40 | At the section SOURCES insert a line: |
41 | ../login/qdmdialogimpl.cpp \ | 41 | ../login/qdmdialogimpl.cpp \ |
42 | 42 | ||
43 | furthermore serte these lines: | 43 | furthermore serte these lines: |
44 | 44 | ||
45 | INCLUDEPATH+= ../login | 45 | INCLUDEPATH+= ../login |
46 | DEPENDPATH+= ../login | 46 | DEPENDPATH+= ../login |
47 | 47 | ||
48 | INTERFACES= ../login/qdmdialog.ui | 48 | INTERFACES= ../login/qdmdialog.ui |
49 | 49 | ||
50 | For unix-login make folloing changes to a line: | 50 | For unix-login make folloing changes to a line: |
51 | LIBS = -lqpe -lcrypt | 51 | LIBS = -lqpe -lcrypt |
52 | 52 | ||
53 | For PAM use the following: | 53 | For PAM use the following: |
54 | LIBS = -lqpe -ldl -lpam | 54 | LIBS = -lqpe -ldl -lpam |
55 | 55 | ||
56 | 56 | ||
57 | 57 | ||
58 | CONFIGURATION: | 58 | CONFIGURATION: |
59 | 59 | ||
60 | Configuration of the 'Look' of QDM is done via Qt Designer. Just open | 60 | Configuration of the 'Look' of QDM is done via Qt Designer. Just open |
61 | the .ui file and edit the look of the dialog as you like. You can, for | 61 | the .ui file and edit the look of the dialog as you like. You can, for |
62 | instance, change the logo pixmap. QDM should also be ready for i18n so | 62 | instance, change the logo pixmap. QDM should also be ready for i18n so |
63 | far. | 63 | far. |
64 | 64 | ||
65 | Other configuration stuff, eg welcome string in the upper right, and | 65 | Other configuration stuff, eg welcome string in the upper right, and |
66 | user list can be changed in the qdm_config.h file. | 66 | user list can be changed in the qdm_config.h file. |
67 | 67 | ||
68 | 68 | ||
69 | USAGE: | 69 | USAGE: |
70 | 70 | ||
71 | The QDM comes up, when the QPE is started, and if the QPE is started | 71 | The QDM comes up, when the QPE is started, and if the QPE is started |
72 | as 'root'. Being started as any other user, the uid couldn't be | 72 | as 'root'. Being started as any other user, the uid couldn't be |
73 | changed and the login dialog wouldn't be ofg much use. | 73 | changed and the login dialog wouldn't be ofg much use. |
74 | 74 | ||
75 | 75 | ||
76 | CONTACT: | 76 | CONTACT: |
77 | 77 | ||
78 | http://www.lisa.de | 78 | http://www.lisa.de |
diff --git a/core/opie-login/qdmdialogimpl.cpp b/core/opie-login/qdmdialogimpl.cpp index bb1b453..56f0fc0 100644 --- a/core/opie-login/qdmdialogimpl.cpp +++ b/core/opie-login/qdmdialogimpl.cpp | |||
@@ -1,167 +1,167 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2001 LISA Systems | 2 | ** Copyright (C) 2001 LISA Systems |
3 | ** | 3 | ** |
4 | ** This file is an additional part of Qtopia Environment. | 4 | ** This file is an additional part of Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
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 | ** For further information contact info@lisa.de | 14 | ** For further information contact info@lisa.de |
15 | ** | 15 | ** |
16 | **********************************************************************/ | 16 | **********************************************************************/ |
17 | 17 | ||
18 | /* | 18 | /* |
19 | * AUTHOR: Christian Rahn | 19 | * AUTHOR: Christian Rahn |
20 | * EMAIL: cdr@lisa.de | 20 | * EMAIL: cdr@lisa.de |
21 | * | 21 | * |
22 | * $Id$ | 22 | * $Id$ |
23 | */ | 23 | */ |
24 | 24 | ||
25 | #include "qdm_config.h" | 25 | #include "qdm_config.h" |
26 | 26 | ||
27 | #ifdef QT_QWS_LOGIN | 27 | #ifdef QT_QWS_LOGIN |
28 | 28 | ||
29 | #include <pwd.h> | 29 | #include <pwd.h> |
30 | #include <unistd.h> | 30 | #include <unistd.h> |
31 | #include <stdlib.h> | 31 | #include <stdlib.h> |
32 | #include <iostream.h> | 32 | #include <iostream.h> |
33 | #include <assert.h> | 33 | #include <assert.h> |
34 | 34 | ||
35 | #include <qlabel.h> | 35 | #include <qlabel.h> |
36 | #include <qregexp.h> | 36 | #include <qregexp.h> |
37 | #include <qdatetime.h> | 37 | #include <qdatetime.h> |
38 | #include <qmessagebox.h> | 38 | #include <qmessagebox.h> |
39 | #include <qcombobox.h> | 39 | #include <qcombobox.h> |
40 | #include <qlineedit.h> | 40 | #include <qlineedit.h> |
41 | #include <qtranslator.h> | 41 | #include <qtranslator.h> |
42 | #include <qpeapplication.h> | 42 | #include <qpeapplication.h> |
43 | 43 | ||
44 | #include <qwsdisplay_qws.h> | 44 | #include <qwsdisplay_qws.h> |
45 | 45 | ||
46 | #include <string.h> | 46 | #include <string.h> |
47 | #include <stdio.h> | 47 | #include <stdio.h> |
48 | #include <errno.h> | 48 | #include <errno.h> |
49 | #include <unistd.h> | 49 | #include <unistd.h> |
50 | 50 | ||
51 | #include <sys/types.h> | 51 | #include <sys/types.h> |
52 | #include <sys/stat.h> | 52 | #include <sys/stat.h> |
53 | #include <sys/sem.h> | 53 | #include <sys/sem.h> |
54 | #include <sys/shm.h> | 54 | #include <sys/shm.h> |
55 | #include <sys/ipc.h> | 55 | #include <sys/ipc.h> |
56 | 56 | ||
57 | #include <global.h> | 57 | #include <global.h> |
58 | 58 | ||
59 | #if defined(QT_QWS_LOGIN_USEPAM) | 59 | #if defined(QT_QWS_LOGIN_USEPAM) |
60 | extern "C" { | 60 | extern "C" { |
61 | #include <security/pam_appl.h> | 61 | #include <security/pam_appl.h> |
62 | } | 62 | } |
63 | #else | 63 | #else |
64 | #define _XOPEN_SOURCE | 64 | #define _XOPEN_SOURCE |
65 | #include <unistd.h> | 65 | #include <unistd.h> |
66 | #include <crypt.h> | 66 | #include <crypt.h> |
67 | #endif | 67 | #endif |
68 | 68 | ||
69 | 69 | ||
70 | #include "qdmdialogimpl.h" | 70 | #include "qdmdialogimpl.h" |
71 | #include "../taskbar/inputmethods.h" | 71 | #include "../launcher/inputmethods.h" |
72 | 72 | ||
73 | 73 | ||
74 | //---------------------------------------------------------------------------- | 74 | //---------------------------------------------------------------------------- |
75 | 75 | ||
76 | //-- taken from semctl man page | 76 | //-- taken from semctl man page |
77 | #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) | 77 | #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) |
78 | //-- union semun is defined by including <sys/sem.h> | 78 | //-- union semun is defined by including <sys/sem.h> |
79 | #else | 79 | #else |
80 | //-- according to X/OPEN we have to define it ourselves | 80 | //-- according to X/OPEN we have to define it ourselves |
81 | union semun { | 81 | union semun { |
82 | int val; // value for SETVAL | 82 | int val; // value for SETVAL |
83 | struct semid_ds *buf; // buffer for IPC_STAT, IPC_SET | 83 | struct semid_ds *buf; // buffer for IPC_STAT, IPC_SET |
84 | unsigned short int *array; // array for GETALL, SETALL | 84 | unsigned short int *array; // array for GETALL, SETALL |
85 | struct seminfo *__buf; // buffer for IPC_INFO | 85 | struct seminfo *__buf; // buffer for IPC_INFO |
86 | }; | 86 | }; |
87 | #endif | 87 | #endif |
88 | 88 | ||
89 | //---------------------------------------------------------------------------- | 89 | //---------------------------------------------------------------------------- |
90 | 90 | ||
91 | static const int ShowClockFreq = 1; | 91 | static const int ShowClockFreq = 1; |
92 | 92 | ||
93 | QDM_SHOWNUSERS; | 93 | QDM_SHOWNUSERS; |
94 | 94 | ||
95 | #ifdef QT_QWS_LOGIN_USEPAM | 95 | #ifdef QT_QWS_LOGIN_USEPAM |
96 | 96 | ||
97 | static const char *_PAM_SERVICE = "xdm"; | 97 | static const char *_PAM_SERVICE = "xdm"; |
98 | static const char *PAM_password; | 98 | static const char *PAM_password; |
99 | 99 | ||
100 | typedef const struct pam_message pam_message_type; | 100 | typedef const struct pam_message pam_message_type; |
101 | 101 | ||
102 | static int PAM_conv( int, pam_message_type **, struct pam_response **, void * ); | 102 | static int PAM_conv( int, pam_message_type **, struct pam_response **, void * ); |
103 | 103 | ||
104 | static struct pam_conv PAM_conversation = { | 104 | static struct pam_conv PAM_conversation = { |
105 | &PAM_conv, | 105 | &PAM_conv, |
106 | NULL | 106 | NULL |
107 | }; | 107 | }; |
108 | 108 | ||
109 | //---------------------------------------------------------------------------- | 109 | //---------------------------------------------------------------------------- |
110 | 110 | ||
111 | static char *COPY_STRING( const char * s ) { | 111 | static char *COPY_STRING( const char * s ) { |
112 | return (s) ? strdup(s) : (char *)NULL; | 112 | return (s) ? strdup(s) : (char *)NULL; |
113 | } | 113 | } |
114 | 114 | ||
115 | #define GET_MEM if (reply) realloc(reply, size);\ | 115 | #define GET_MEM if (reply) realloc(reply, size);\ |
116 | else reply = (struct pam_response *)malloc(size); \ | 116 | else reply = (struct pam_response *)malloc(size); \ |
117 | if (!reply) return PAM_CONV_ERR; \ | 117 | if (!reply) return PAM_CONV_ERR; \ |
118 | size += sizeof(struct pam_response) | 118 | size += sizeof(struct pam_response) |
119 | 119 | ||
120 | 120 | ||
121 | static int PAM_conv( int num_msg, pam_message_type **msg, | 121 | static int PAM_conv( int num_msg, pam_message_type **msg, |
122 | struct pam_response **resp, void *) | 122 | struct pam_response **resp, void *) |
123 | { | 123 | { |
124 | int count = 0, replies = 0; | 124 | int count = 0, replies = 0; |
125 | struct pam_response *reply = NULL; | 125 | struct pam_response *reply = NULL; |
126 | int size = sizeof(struct pam_response); | 126 | int size = sizeof(struct pam_response); |
127 | 127 | ||
128 | for( count = 0; count < num_msg; count++ ) { | 128 | for( count = 0; count < num_msg; count++ ) { |
129 | switch (msg[count]->msg_style) { | 129 | switch (msg[count]->msg_style) { |
130 | case PAM_PROMPT_ECHO_ON: | 130 | case PAM_PROMPT_ECHO_ON: |
131 | /* user name given to PAM already */ | 131 | /* user name given to PAM already */ |
132 | return PAM_CONV_ERR; | 132 | return PAM_CONV_ERR; |
133 | 133 | ||
134 | case PAM_PROMPT_ECHO_OFF: | 134 | case PAM_PROMPT_ECHO_OFF: |
135 | /* wants password */ | 135 | /* wants password */ |
136 | GET_MEM; | 136 | GET_MEM; |
137 | reply[replies].resp_retcode = PAM_SUCCESS; | 137 | reply[replies].resp_retcode = PAM_SUCCESS; |
138 | reply[replies].resp = COPY_STRING(PAM_password); | 138 | reply[replies].resp = COPY_STRING(PAM_password); |
139 | replies++; | 139 | replies++; |
140 | /* PAM frees resp */ | 140 | /* PAM frees resp */ |
141 | break; | 141 | break; |
142 | case PAM_TEXT_INFO: | 142 | case PAM_TEXT_INFO: |
143 | break; | 143 | break; |
144 | default: | 144 | default: |
145 | /* unknown or PAM_ERROR_MSG */ | 145 | /* unknown or PAM_ERROR_MSG */ |
146 | if (reply) free (reply); | 146 | if (reply) free (reply); |
147 | return PAM_CONV_ERR; | 147 | return PAM_CONV_ERR; |
148 | } | 148 | } |
149 | } | 149 | } |
150 | if (reply) *resp = reply; | 150 | if (reply) *resp = reply; |
151 | return PAM_SUCCESS; | 151 | return PAM_SUCCESS; |
152 | } | 152 | } |
153 | 153 | ||
154 | #endif | 154 | #endif |
155 | 155 | ||
156 | 156 | ||
157 | //---------------------------------------------------------------------------- | 157 | //---------------------------------------------------------------------------- |
158 | 158 | ||
159 | QDMDialogImpl::QDMDialogImpl( QWidget* parent, const char* name, bool modal, WFlags f ) | 159 | QDMDialogImpl::QDMDialogImpl( QWidget* parent, const char* name, bool modal, WFlags f ) |
160 | : QDMDialog( parent, name, modal, f ) | 160 | : QDMDialog( parent, name, modal, f ) |
161 | { | 161 | { |
162 | showTime(); | 162 | showTime(); |
163 | clockTimer = startTimer( ShowClockFreq * 1000 );//-- call timer evry min. | 163 | clockTimer = startTimer( ShowClockFreq * 1000 );//-- call timer evry min. |
164 | setActiveWindow(); | 164 | setActiveWindow(); |
165 | setFocus(); | 165 | setFocus(); |
166 | 166 | ||
167 | input = new InputMethods( this ); | 167 | input = new InputMethods( this ); |