1/*
2
3Conversation widget for kdm greeter
4
5Copyright (C) 1997, 1998 Steffen Hansen <hansen@kde.org>
6Copyright (C) 2000-2003 Oswald Buddenhagen <ossi@kde.org>
7
8
9This program is free software; you can redistribute it and/or modify
10it under the terms of the GNU General Public License as published by
11the Free Software Foundation; either version 2 of the License, or
12(at your option) any later version.
13
14This program is distributed in the hope that it will be useful,
15but WITHOUT ANY WARRANTY; without even the implied warranty of
16MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17GNU General Public License for more details.
18
19You should have received a copy of the GNU General Public License
20along with this program; if not, write to the Free Software
21Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22
23*/
24
25
26#ifndef KGREET_CLASSIC_H
27#define KGREET_CLASSIC_H
28
29#include "kgreeterplugin.h"
30
31#include <QObject>
32
33class KLineEdit;
34class KSimpleConfig;
35class QLabel;
36
37class KClassicGreeter : public QObject, public KGreeterPlugin {
38 Q_OBJECT
39
40 public:
41 KClassicGreeter(KGreeterPluginHandler *handler,
42 QWidget *parent,
43 const QString &fixedEntitiy,
44 Function func, Context ctx);
45 ~KClassicGreeter();
46 virtual void loadUsers(const QStringList &users);
47 virtual void presetEntity(const QString &entity, int field);
48 virtual QString getEntity() const;
49 virtual void setUser(const QString &user);
50 virtual void setEnabled(bool on);
51 virtual bool textMessage(const char *message, bool error);
52 virtual void textPrompt(const char *prompt, bool echo, bool nonBlocking);
53 virtual bool binaryPrompt(const char *prompt, bool nonBlocking);
54 virtual void start();
55 virtual void suspend();
56 virtual void resume();
57 virtual void next();
58 virtual void abort();
59 virtual void succeeded();
60 virtual void failed();
61 virtual void revive();
62 virtual void clear();
63
64 public Q_SLOTS:
65 void slotLoginLostFocus();
66 void slotChanged();
67
68 private:
69 void setActive(bool enable);
70 void setActive2(bool enable);
71 void returnData();
72
73 QLabel *loginLabel, *passwdLabel, *passwd1Label, *passwd2Label;
74 KLineEdit *loginEdit;
75 KLineEdit *passwdEdit, *passwd1Edit, *passwd2Edit;
76 KSimpleConfig *stsFile;
77 QString fixedUser, curUser;
78 Function func;
79 Context ctx;
80 int exp, pExp, has;
81 bool running, authTok;
82};
83
84#endif /* KGREET_CLASSIC_H */
85