1/*
2 *
3 * kPPP: A pppd front end for the KDE project
4 *
5 * $Id$
6 *
7 * Copyright (C) 1997 Bernd Johannes Wuebben
8 * wuebben@math.cornell.edu
9 *
10 * Copyright (C) 1998-2002 Harri Porten <porten@kde.org>
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU Library General Public
14 * License as published by the Free Software Foundation; either
15 * version 2 of the License, or (at your option) any later version.
16 *
17 * This program is distributed in the hope that it will be useful,
18 * but WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * Library General Public License for more details.
21 *
22 * You should have received a copy of the GNU Library General Public
23 * License along with this program; if not, write to the Free
24 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25 */
26
27#ifndef __KPPPWIDGET_H__
28#define __KPPPWIDGET_H__
29
30#include <qstring.h>
31//Added by qt3to4:
32#include <QLabel>
33#include <QFrame>
34#include <QGridLayout>
35#include <QEvent>
36
37
38#include "accounting.h"
39#include "conwindow.h"
40#include "accounts.h"
41#include "connect.h"
42#include "debug.h"
43#include "pppstatdlg.h"
44
45
46class GeneralWidget;
47class ModemsWidget;
48class ModemWidget;
49class GraphSetup;
50class AboutWidget;
51class PPPStats;
52class KPageDialog;
53class KPushButton;
54
55class SignalEvent : public QEvent {
56public:
57 SignalEvent(int s) : QEvent(User), sig(s) { }
58 int sigType() const { return sig; }
59private:
60 int sig;
61};
62
63
64class KPPPWidget : public QWidget {
65 Q_OBJECT
66public:
67
68 explicit KPPPWidget( QWidget *parent=0, const char *name=0 );
69 ~KPPPWidget();
70
71 void setPW_Edit(const QString &);
72 virtual bool eventFilter(QObject *, QEvent *);
73
74 void setQuitOnDisconnect (bool b);
75 bool quitOnDisconnect () {return m_bQuitOnDisconnect;}
76
77private slots:
78 void newdefaultaccount(int);
79 void newdefaultmodem(int);
80 void expandbutton();
81 void quitbutton();
82 void helpbutton();
83 void setup();
84 void rulesetLoadError();
85 void usernameChanged(const QString &);
86 void passwordChanged(const QString &);
87 void enterPressedInID();
88 void enterPressedInPW();
89 void saveMyself();
90 void shutDown();
91
92 void delayedDisconnect();
93
94public slots:
95 void beginConnect();
96 void resetaccounts();
97 void resetmodems();
98 void resetCosts(const QString &);
99 void resetVolume(const QString &);
100 void disconnect();
101 void log_window_toggled(bool on);
102 void startAccounting();
103 void stopAccounting();
104 void showStats();
105 bool isConnected() const {return connected;}
106signals:
107 void begin_connect();
108 void cmdl_start();
109
110 signals: //dbus signal
111 void sig_aboutToConnect();
112 void sig_aboutToDisconnect();
113 void sig_connected();
114 void sig_disconnected();
115
116public:
117 QCheckBox *log;
118 bool connected;
119 DebugWidget *debugwindow;
120 QString con_speed;
121 ConnectWidget *con;
122 ConWindow *con_win;
123 PPPStatsDlg *statdlg;
124 AccountingBase *acct;
125 KPushButton *quit_b;
126 PPPStats *stats;
127
128private:
129 void prepareSetupDialog();
130 void interruptConnection();
131 void sigChld();
132 void sigPPPDDied();
133 QString encodeWord(const QString &s);
134 void showNews ();
135 void setButtons();
136
137 QString ruleset_load_errmsg;
138
139 QGridLayout *l1;
140 KPushButton *help_b;
141 KPushButton *setup_b;
142 QFrame *fline;
143 QFrame *fline1;
144 QPushButton *connect_b;
145 QComboBox *connectto_c;
146 QComboBox *modem_c;
147 QLabel *ID_Label;
148 QLabel *PW_Label;
149 QLineEdit *ID_Edit;
150 QLineEdit *PW_Edit;
151 QLabel *label1;
152 QLabel *label2;
153 QLabel *label3;
154 QLabel *label4;
155 QLabel *label5;
156 QLabel *label6;
157 QLabel *label7;
158 QLabel *radio_label;
159
160
161 KPageDialog *tabWindow;
162 AccountWidget *accounts;
163 GeneralWidget *general;
164 ModemsWidget *modems;
165 GraphSetup *graph;
166 AboutWidget *about;
167
168
169 QString m_strCmdlAccount;
170 QString m_strCmdlModem;
171 bool m_bQuitOnDisconnect;
172 bool m_bCmdlAccount;
173 bool m_bCmdlModem;
174 bool m_bModemCShown;
175
176 QTimer *disconnectTimer;
177};
178
179
180#endif
181
182