1//---------------------------------------------------------------------------
2//
3// kPPP: A pppd front end for the KDE project
4//
5//---------------------------------------------------------------------------
6//
7// (c) 1997-1998 Bernd Johannes Wuebben <wuebben@kde.org>
8// (c) 1997-1999 Mario Weilguni <mweilguni@kde.org>
9// (c) 1998-1999 Harri Porten <porten@kde.org>
10//
11// derived from Jay Painters "ezppp"
12//
13//---------------------------------------------------------------------------
14//
15// $Id$
16//
17//---------------------------------------------------------------------------
18//
19// This program is free software; you can redistribute it and-or
20// modify it under the terms of the GNU Library General Public
21// License as published by the Free Software Foundation; either
22// version 2 of the License, or (at your option) any later version.
23//
24// This program is distributed in the hope that it will be useful,
25// but WITHOUT ANY WARRANTY; without even the implied warranty of
26// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
27// Library General Public License for more details.
28//
29// You should have received a copy of the GNU Library General Public
30// License along with this program; if not, write to the Free
31// Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
32//
33//---------------------------------------------------------------------------
34
35#ifndef __MODEMDB__H__
36#define __MODEMDB__H__
37
38#include <kdialog.h>
39#include <qstringlist.h>
40#include <q3dict.h>
41#include <q3ptrlist.h>
42class KConfig;
43class Q3ListBox;
44
45typedef Q3Dict<QString> CharDict;
46
47class ModemDatabase {
48public:
49 ModemDatabase();
50 ~ModemDatabase();
51
52 const QStringList *vendors();
53 QStringList *models(QString vendor);
54
55 void save(KConfig *);
56
57private:
58 void load();
59 void loadModem(const QString & key, CharDict &dict);
60 Q3PtrList<CharDict> modems;
61
62 QStringList *lvendors;
63
64 KConfig *modemDB;
65};
66
67
68class ModemSelector : public KDialog {
69 Q_OBJECT
70public:
71 ModemSelector(QWidget *parent = 0);
72 ~ModemSelector();
73
74private slots:
75 void vendorSelected(int idx);
76 void modelSelected(int idx);
77 void selected(int idx);
78
79private:
80 QPushButton *ok, *cancel;
81 Q3ListBox *vendor, *model;
82 ModemDatabase *db;
83};
84
85#endif
86