summaryrefslogtreecommitdiff
authortille <tille>2003-06-02 14:25:18 (UTC)
committer tille <tille>2003-06-02 14:25:18 (UTC)
commitc1e61c513803b05eea14de18604ef05d2f73d5a7 (patch) (unidiff)
tree9b4abc263eda4a6d0e9610bc22074f0d787c28e5
parentc74e5cd0fc051750c3d88cba0178f62b8ce3b5bb (diff)
downloadopie-c1e61c513803b05eea14de18604ef05d2f73d5a7.zip
opie-c1e61c513803b05eea14de18604ef05d2f73d5a7.tar.gz
opie-c1e61c513803b05eea14de18604ef05d2f73d5a7.tar.bz2
save pppd arguments
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/ppp/TODO3
-rw-r--r--noncore/settings/networksettings/ppp/edit.cpp3
-rw-r--r--noncore/settings/networksettings/ppp/pppdargs.cpp31
-rw-r--r--noncore/settings/networksettings/ppp/pppdargs.h2
4 files changed, 11 insertions, 28 deletions
diff --git a/noncore/settings/networksettings/ppp/TODO b/noncore/settings/networksettings/ppp/TODO
index 9425628..529d236 100644
--- a/noncore/settings/networksettings/ppp/TODO
+++ b/noncore/settings/networksettings/ppp/TODO
@@ -1,8 +1,7 @@
1- add possibility to input username and password ;) 1- add possibility to input username and password ;)
2- impl. PPPData::copyaccount & PPPData::deleteAccount 2- impl. PPPData::copyaccount & PPPData::deleteAccount
3- update modem attribute inputs when modem has changed 3- update modem attribute inputs when modem has changed
4- fix layout of edit account 4- fix layout of edit account, i.e. get it shown maximised
5- save pppd arguments in edit account
6- popup configure modem with the correct account prselected 5- popup configure modem with the correct account prselected
7 not quite shure why it does not work... IMHO it should work 6 not quite shure why it does not work... IMHO it should work
8- remove interfaces 7- remove interfaces
diff --git a/noncore/settings/networksettings/ppp/edit.cpp b/noncore/settings/networksettings/ppp/edit.cpp
index 10bc25c..45d6e4f 100644
--- a/noncore/settings/networksettings/ppp/edit.cpp
+++ b/noncore/settings/networksettings/ppp/edit.cpp
@@ -1,455 +1,454 @@
1/* 1/*
2 * kPPP: A pppd Front End for the KDE project 2 * kPPP: A pppd Front End for the KDE project
3 * 3 *
4 * $Id$ 4 * $Id$
5 * Copyright (C) 1997 Bernd Johannes Wuebben 5 * Copyright (C) 1997 Bernd Johannes Wuebben
6 * wuebben@math.cornell.edu 6 * wuebben@math.cornell.edu
7 * 7 *
8 * based on EzPPP: 8 * based on EzPPP:
9 * Copyright (C) 1997 Jay Painter 9 * Copyright (C) 1997 Jay Painter
10 * 10 *
11 * This program is free software; you can redistribute it and/or 11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Library General Public 12 * modify it under the terms of the GNU Library General Public
13 * License as published by the Free Software Foundation; either 13 * License as published by the Free Software Foundation; either
14 * version 2 of the License, or (at your option) any later version. 14 * version 2 of the License, or (at your option) any later version.
15 * 15 *
16 * This program is distributed in the hope that it will be useful, 16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Library General Public License for more details. 19 * Library General Public License for more details.
20 * 20 *
21 * You should have received a copy of the GNU Library General Public 21 * You should have received a copy of the GNU Library General Public
22 * License along with this program; if not, write to the Free 22 * License along with this program; if not, write to the Free
23 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 23 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24 */ 24 */
25 25
26#include <string.h> 26#include <string.h>
27#include <termios.h> 27#include <termios.h>
28#include <qlayout.h> 28#include <qlayout.h>
29#include <qmessagebox.h> 29#include <qmessagebox.h>
30#include <qwhatsthis.h> 30#include <qwhatsthis.h>
31#include <qregexp.h> 31#include <qregexp.h>
32#include <qapplication.h> 32#include <qapplication.h>
33#include <qbuttongroup.h> 33#include <qbuttongroup.h>
34#include <qvgroupbox.h> 34#include <qvgroupbox.h>
35#include <qhbox.h> 35#include <qhbox.h>
36#include <qdialog.h> 36#include <qdialog.h>
37 37
38#include "edit.h" 38#include "edit.h"
39#include "pppdata.h" 39#include "pppdata.h"
40#include "iplined.h" 40#include "iplined.h"
41#include "auth.h" 41#include "auth.h"
42 42
43DialWidget::DialWidget( PPPData *pd, QWidget *parent, bool isnewaccount 43DialWidget::DialWidget( PPPData *pd, QWidget *parent, bool isnewaccount
44 , const char *name ) 44 , const char *name )
45 : QWidget(parent, name), _pppdata(pd) 45 : QWidget(parent, name), _pppdata(pd)
46{ 46{
47 const int GRIDROWS = 6; 47 const int GRIDROWS = 6;
48 48
49 QGridLayout *tl = new QGridLayout(this, GRIDROWS, 2, 0 );//, KDialog::spacingHint()); 49 QGridLayout *tl = new QGridLayout(this, GRIDROWS, 2, 0 );//, KDialog::spacingHint());
50 50
51 connect_label = new QLabel(tr("Connection name:"), this); 51 connect_label = new QLabel(tr("Connection name:"), this);
52 tl->addWidget(connect_label, 0, 0); 52 tl->addWidget(connect_label, 0, 0);
53 53
54 connectname_l = new QLineEdit(this); 54 connectname_l = new QLineEdit(this);
55// connectname_l->setMaxLength(ACCNAME_SIZE); 55// connectname_l->setMaxLength(ACCNAME_SIZE);
56 tl->addWidget(connectname_l, 0, 1); 56 tl->addWidget(connectname_l, 0, 1);
57 QString tmp = tr("Type in a unique name for this connection"); 57 QString tmp = tr("Type in a unique name for this connection");
58 58
59 QWhatsThis::add(connect_label,tmp); 59 QWhatsThis::add(connect_label,tmp);
60 QWhatsThis::add(connectname_l,tmp); 60 QWhatsThis::add(connectname_l,tmp);
61 61
62 62
63 number_label = new QLabel(tr("Phone number:"), this); 63 number_label = new QLabel(tr("Phone number:"), this);
64 number_label->setAlignment(AlignTop|AlignLeft); 64 number_label->setAlignment(AlignTop|AlignLeft);
65 tl->addWidget(number_label, 1, 0); 65 tl->addWidget(number_label, 1, 0);
66 66
67 QHBoxLayout *lpn = new QHBoxLayout(5); 67 QHBoxLayout *lpn = new QHBoxLayout(5);
68 tl->addLayout(lpn, 1, 1); 68 tl->addLayout(lpn, 1, 1);
69 numbers = new QListBox(this); 69 numbers = new QListBox(this);
70// numbers->setMinimumSize(120, 70); 70// numbers->setMinimumSize(120, 70);
71 lpn->addWidget(numbers); 71 lpn->addWidget(numbers);
72 QVBoxLayout *lpn1 = new QVBoxLayout; 72 QVBoxLayout *lpn1 = new QVBoxLayout;
73 lpn->addLayout(lpn1); 73 lpn->addLayout(lpn1);
74 add = new QPushButton(tr("&Add..."), this); 74 add = new QPushButton(tr("&Add..."), this);
75 del = new QPushButton(tr("&Remove"), this); 75 del = new QPushButton(tr("&Remove"), this);
76 76
77 up = new QPushButton(this); 77 up = new QPushButton(this);
78//FIXME: QPixmap pm = BarIcon("up"); 78//FIXME: QPixmap pm = BarIcon("up");
79// up->setPixmap(pm); 79// up->setPixmap(pm);
80 down = new QPushButton(this); 80 down = new QPushButton(this);
81//FIXME: pm = BarIcon("down"); 81//FIXME: pm = BarIcon("down");
82// down->setPixmap(pm); 82// down->setPixmap(pm);
83 lpn1->addWidget(add); 83 lpn1->addWidget(add);
84 lpn1->addWidget(del); 84 lpn1->addWidget(del);
85 lpn1->addStretch(1); 85 lpn1->addStretch(1);
86 lpn1->addWidget(up); 86 lpn1->addWidget(up);
87 lpn1->addWidget(down); 87 lpn1->addWidget(down);
88 connect(add, SIGNAL(clicked()), 88 connect(add, SIGNAL(clicked()),
89 this, SLOT(addNumber())); 89 this, SLOT(addNumber()));
90 connect(del, SIGNAL(clicked()), 90 connect(del, SIGNAL(clicked()),
91 this, SLOT(delNumber())); 91 this, SLOT(delNumber()));
92 connect(up, SIGNAL(clicked()), 92 connect(up, SIGNAL(clicked()),
93 this, SLOT(upNumber())); 93 this, SLOT(upNumber()));
94 connect(down, SIGNAL(clicked()), 94 connect(down, SIGNAL(clicked()),
95 this, SLOT(downNumber())); 95 this, SLOT(downNumber()));
96 connect(numbers, SIGNAL(highlighted(int)), 96 connect(numbers, SIGNAL(highlighted(int)),
97 this, SLOT(selectionChanged(int))); 97 this, SLOT(selectionChanged(int)));
98 numbersChanged(); 98 numbersChanged();
99 99
100 tmp = tr("<p>Specifies the phone numbers to dial. You\n" 100 tmp = tr("<p>Specifies the phone numbers to dial. You\n"
101 "can supply multiple numbers here, simply\n" 101 "can supply multiple numbers here, simply\n"
102 "click on \"Add\". You can arrange the\n" 102 "click on \"Add\". You can arrange the\n"
103 "order the numbers are tried by using the\n" 103 "order the numbers are tried by using the\n"
104 "arrow buttons.\n\n" 104 "arrow buttons.\n\n"
105 "When a number is busy or fails, <i>kppp</i> will \n" 105 "When a number is busy or fails, <i>kppp</i> will \n"
106 "try the next number and so on"); 106 "try the next number and so on");
107 107
108 QWhatsThis::add(number_label,tmp); 108 QWhatsThis::add(number_label,tmp);
109 QWhatsThis::add(numbers,tmp); 109 QWhatsThis::add(numbers,tmp);
110 110
111 auth_l = new QLabel(tr("Authentication:"), this); 111 auth_l = new QLabel(tr("Authentication:"), this);
112 tl->addWidget(auth_l, 3, 0); 112 tl->addWidget(auth_l, 3, 0);
113 113
114 auth = new QComboBox(this); 114 auth = new QComboBox(this);
115 auth->insertItem(tr("Script-based")); 115 auth->insertItem(tr("Script-based"));
116 auth->insertItem(tr("PAP")); 116 auth->insertItem(tr("PAP"));
117 auth->insertItem(tr("Terminal-based")); 117 auth->insertItem(tr("Terminal-based"));
118 auth->insertItem(tr("CHAP")); 118 auth->insertItem(tr("CHAP"));
119 auth->insertItem(tr("PAP/CHAP")); 119 auth->insertItem(tr("PAP/CHAP"));
120 tl->addWidget(auth, 3, 1); 120 tl->addWidget(auth, 3, 1);
121 tmp = tr("<p>Specifies the method used to identify yourself to\n" 121 tmp = tr("<p>Specifies the method used to identify yourself to\n"
122 "the PPP server. Most universities still use\n" 122 "the PPP server. Most universities still use\n"
123 "<b>Terminal</b>- or <b>Script</b>-based authentication,\n" 123 "<b>Terminal</b>- or <b>Script</b>-based authentication,\n"
124 "while most ISP use <b>PAP</b> and/or <b>CHAP</b>. If\n" 124 "while most ISP use <b>PAP</b> and/or <b>CHAP</b>. If\n"
125 "unsure, contact your ISP.\n" 125 "unsure, contact your ISP.\n"
126 "\n" 126 "\n"
127 "If you can choose between PAP and CHAP,\n" 127 "If you can choose between PAP and CHAP,\n"
128 "choose CHAP, because it's much safer. If you don't know\n" 128 "choose CHAP, because it's much safer. If you don't know\n"
129 "whether PAP or CHAP is right, choose PAP/CHAP."); 129 "whether PAP or CHAP is right, choose PAP/CHAP.");
130 130
131 QWhatsThis::add(auth_l,tmp); 131 QWhatsThis::add(auth_l,tmp);
132 QWhatsThis::add(auth,tmp); 132 QWhatsThis::add(auth,tmp);
133 133
134 store_password = new QCheckBox(tr("Store password"), this); 134 store_password = new QCheckBox(tr("Store password"), this);
135 store_password->setChecked(true); 135 store_password->setChecked(true);
136 tl->addMultiCellWidget(store_password, 4, 4, 0, 1, AlignRight); 136 tl->addMultiCellWidget(store_password, 4, 4, 0, 1, AlignRight);
137 QWhatsThis::add(store_password, 137 QWhatsThis::add(store_password,
138 tr("<p>When this is turned on, your ISP password\n" 138 tr("<p>When this is turned on, your ISP password\n"
139 "will be saved in <i>kppp</i>'s config file, so\n" 139 "will be saved in <i>kppp</i>'s config file, so\n"
140 "you do not need to type it in every time.\n" 140 "you do not need to type it in every time.\n"
141 "\n" 141 "\n"
142 "<b><font color=\"red\">Warning:</font> your password will be stored as\n" 142 "<b><font color=\"red\">Warning:</font> your password will be stored as\n"
143 "plain text in the config file, which is\n" 143 "plain text in the config file, which is\n"
144 "readable only to you. Make sure nobody\n" 144 "readable only to you. Make sure nobody\n"
145 "gains access to this file!")); 145 "gains access to this file!"));
146 146
147 pppdargs = new QPushButton(tr("Customize pppd Arguments..."), this); 147 pppdargs = new QPushButton(tr("Customize pppd Arguments..."), this);
148 connect(pppdargs, SIGNAL(clicked()), SLOT(pppdargsbutton())); 148 connect(pppdargs, SIGNAL(clicked()), SLOT(pppdargsbutton()));
149 tl->addMultiCellWidget(pppdargs, 5, 5, 0, 1, AlignCenter); 149 tl->addMultiCellWidget(pppdargs, 5, 5, 0, 1, AlignCenter);
150 150
151 // Set defaults if editing an existing connection 151 // Set defaults if editing an existing connection
152 if(!isnewaccount) { 152 if(!isnewaccount) {
153 connectname_l->setText(_pppdata->accname()); 153 connectname_l->setText(_pppdata->accname());
154 154
155 // insert the phone numbers into the listbox 155 // insert the phone numbers into the listbox
156 QString n = _pppdata->phonenumber(); 156 QString n = _pppdata->phonenumber();
157 QString tmp = ""; 157 QString tmp = "";
158 uint idx = 0; 158 uint idx = 0;
159 while(idx != n.length()) { 159 while(idx != n.length()) {
160 if(n[idx] == ':') { 160 if(n[idx] == ':') {
161 if(tmp.length() > 0) 161 if(tmp.length() > 0)
162 numbers->insertItem(tmp); 162 numbers->insertItem(tmp);
163 tmp = ""; 163 tmp = "";
164 } else 164 } else
165 tmp += n[idx]; 165 tmp += n[idx];
166 idx++; 166 idx++;
167 } 167 }
168 if(tmp.length() > 0) 168 if(tmp.length() > 0)
169 numbers->insertItem(tmp); 169 numbers->insertItem(tmp);
170 170
171 auth->setCurrentItem(_pppdata->authMethod()); 171 auth->setCurrentItem(_pppdata->authMethod());
172 store_password->setChecked(_pppdata->storePassword()); 172 store_password->setChecked(_pppdata->storePassword());
173 } else { 173 } else {
174 // select PAP/CHAP as default 174 // select PAP/CHAP as default
175 auth->setCurrentItem(AUTH_PAPCHAP); 175 auth->setCurrentItem(AUTH_PAPCHAP);
176 } 176 }
177 177
178 numbersChanged(); 178 numbersChanged();
179 tl->activate(); 179 tl->activate();
180} 180}
181 181
182
183bool DialWidget::save() { 182bool DialWidget::save() {
184 //first check to make sure that the account name is unique! 183 //first check to make sure that the account name is unique!
185 if(connectname_l->text().isEmpty() || 184 if(connectname_l->text().isEmpty() ||
186 !_pppdata->isUniqueAccname(connectname_l->text())) { 185 !_pppdata->isUniqueAccname(connectname_l->text())) {
187 return false; 186 return false;
188 } else { 187 } else {
189 _pppdata->setAccname(connectname_l->text()); 188 _pppdata->setAccname(connectname_l->text());
190 189
191 QString number = ""; 190 QString number = "";
192 for(uint i = 0; i < numbers->count(); i++) { 191 for(uint i = 0; i < numbers->count(); i++) {
193 if(i != 0) 192 if(i != 0)
194 number += ":"; 193 number += ":";
195 number += numbers->text(i); 194 number += numbers->text(i);
196 } 195 }
197 196
198 _pppdata->setPhonenumber(number); 197 _pppdata->setPhonenumber(number);
199 _pppdata->setAuthMethod(auth->currentItem()); 198 _pppdata->setAuthMethod(auth->currentItem());
200 _pppdata->setStorePassword(store_password->isChecked()); 199 _pppdata->setStorePassword(store_password->isChecked());
201 return true; 200 return true;
202 } 201 }
203} 202}
204 203
205 204
206void DialWidget::numbersChanged() { 205void DialWidget::numbersChanged() {
207 int sel = numbers->currentItem(); 206 int sel = numbers->currentItem();
208 207
209 del->setEnabled(sel != -1); 208 del->setEnabled(sel != -1);
210 up->setEnabled(sel != -1 && sel != 0); 209 up->setEnabled(sel != -1 && sel != 0);
211 down->setEnabled(sel != -1 && sel != (int)numbers->count()-1); 210 down->setEnabled(sel != -1 && sel != (int)numbers->count()-1);
212} 211}
213 212
214 213
215void DialWidget::selectionChanged(int) { 214void DialWidget::selectionChanged(int) {
216 numbersChanged(); 215 numbersChanged();
217} 216}
218 217
219 218
220void DialWidget::addNumber() { 219void DialWidget::addNumber() {
221 PhoneNumberDialog dlg(this); 220 PhoneNumberDialog dlg(this);
222 if(dlg.exec()) { 221 if(dlg.exec()) {
223 numbers->insertItem(dlg.phoneNumber()); 222 numbers->insertItem(dlg.phoneNumber());
224 numbersChanged(); 223 numbersChanged();
225 } 224 }
226} 225}
227 226
228 227
229void DialWidget::delNumber() { 228void DialWidget::delNumber() {
230 if(numbers->currentItem() != -1) { 229 if(numbers->currentItem() != -1) {
231 numbers->removeItem(numbers->currentItem()); 230 numbers->removeItem(numbers->currentItem());
232 numbersChanged(); 231 numbersChanged();
233 } 232 }
234} 233}
235 234
236 235
237void DialWidget::upNumber() { 236void DialWidget::upNumber() {
238 int idx = numbers->currentItem(); 237 int idx = numbers->currentItem();
239 if(idx != -1) { 238 if(idx != -1) {
240 QString item = numbers->text(idx); 239 QString item = numbers->text(idx);
241 numbers->removeItem(idx); 240 numbers->removeItem(idx);
242 numbers->insertItem(item, idx-1); 241 numbers->insertItem(item, idx-1);
243 numbers->setCurrentItem(idx-1); 242 numbers->setCurrentItem(idx-1);
244 numbersChanged(); 243 numbersChanged();
245 } 244 }
246} 245}
247 246
248 247
249void DialWidget::downNumber() { 248void DialWidget::downNumber() {
250 int idx = numbers->currentItem(); 249 int idx = numbers->currentItem();
251 if(idx != -1) { 250 if(idx != -1) {
252 QString item = numbers->text(idx); 251 QString item = numbers->text(idx);
253 numbers->removeItem(idx); 252 numbers->removeItem(idx);
254 numbers->insertItem(item, idx+1); 253 numbers->insertItem(item, idx+1);
255 numbers->setCurrentItem(idx+1); 254 numbers->setCurrentItem(idx+1);
256 numbersChanged(); 255 numbersChanged();
257 } 256 }
258} 257}
259 258
260 259
261void DialWidget::pppdargsbutton() { 260void DialWidget::pppdargsbutton() {
262 PPPdArguments pa(_pppdata, this); 261 PPPdArguments pa(_pppdata, this);
263 pa.exec(); 262 pa.exec();
264} 263}
265 264
266 265
267 266
268///////////////////////////////////////////////////////////////////////////// 267/////////////////////////////////////////////////////////////////////////////
269// ExecWidget 268// ExecWidget
270///////////////////////////////////////////////////////////////////////////// 269/////////////////////////////////////////////////////////////////////////////
271ExecWidget::ExecWidget(PPPData *pd, QWidget *parent, bool isnewaccount, const char *name) : 270ExecWidget::ExecWidget(PPPData *pd, QWidget *parent, bool isnewaccount, const char *name) :
272 QWidget(parent, name), _pppdata(pd) 271 QWidget(parent, name), _pppdata(pd)
273{ 272{
274 QVBoxLayout *tl = new QVBoxLayout(this, 0 );//, KDialog::spacingHint()); 273 QVBoxLayout *tl = new QVBoxLayout(this, 0 );//, KDialog::spacingHint());
275 274
276 QLabel *l = new QLabel( tr("Here you can select commands to run at certain stages of the connection. The commands are run with your real user id, so you cannot run any commands here requiring root permissions (unless, of course, you are root).<br><br>Be sure to supply the whole path to the program otherwise we might be unable to find it."), this); 275 QLabel *l = new QLabel( tr("Here you can select commands to run at certain stages of the connection. The commands are run with your real user id, so you cannot run any commands here requiring root permissions (unless, of course, you are root).<br><br>Be sure to supply the whole path to the program otherwise we might be unable to find it."), this);
277 276
278 tl->addWidget(l); 277 tl->addWidget(l);
279 tl->addStretch(1); 278 tl->addStretch(1);
280 279
281 QGridLayout *l1 = new QGridLayout(4, 2, 10); 280 QGridLayout *l1 = new QGridLayout(4, 2, 10);
282 tl->addLayout(l1); 281 tl->addLayout(l1);
283 l1->setColStretch(0, 0); 282 l1->setColStretch(0, 0);
284 l1->setColStretch(1, 1); 283 l1->setColStretch(1, 1);
285 284
286 before_connect_l = new QLabel(tr("Before connect:"), this); 285 before_connect_l = new QLabel(tr("Before connect:"), this);
287 before_connect_l->setAlignment(AlignVCenter); 286 before_connect_l->setAlignment(AlignVCenter);
288 l1->addWidget(before_connect_l, 0, 0); 287 l1->addWidget(before_connect_l, 0, 0);
289 before_connect = new QLineEdit(this); 288 before_connect = new QLineEdit(this);
290// before_connect->setMaxLength(COMMAND_SIZE); 289// before_connect->setMaxLength(COMMAND_SIZE);
291 l1->addWidget(before_connect, 0, 1); 290 l1->addWidget(before_connect, 0, 1);
292 QString tmp = tr("Allows you to run a program <b>before</b> a connection\n" 291 QString tmp = tr("Allows you to run a program <b>before</b> a connection\n"
293 "is established. It is called immediately before\n" 292 "is established. It is called immediately before\n"
294 "dialing has begun.\n\n" 293 "dialing has begun.\n\n"
295 "This might be useful, e.g. to stop HylaFAX blocking the\n" 294 "This might be useful, e.g. to stop HylaFAX blocking the\n"
296 "modem."); 295 "modem.");
297 296
298 QWhatsThis::add(before_connect_l,tmp); 297 QWhatsThis::add(before_connect_l,tmp);
299 QWhatsThis::add(before_connect,tmp); 298 QWhatsThis::add(before_connect,tmp);
300 299
301 command_label = new QLabel(tr("Upon connect:"), this); 300 command_label = new QLabel(tr("Upon connect:"), this);
302 command_label->setAlignment(AlignVCenter); 301 command_label->setAlignment(AlignVCenter);
303 l1->addWidget(command_label, 1, 0); 302 l1->addWidget(command_label, 1, 0);
304 command = new QLineEdit(this); 303 command = new QLineEdit(this);
305// command->setMaxLength(COMMAND_SIZE); 304// command->setMaxLength(COMMAND_SIZE);
306 l1->addWidget(command, 1, 1); 305 l1->addWidget(command, 1, 1);
307 tmp = tr("Allows you to run a program <b>after</b> a connection\n" 306 tmp = tr("Allows you to run a program <b>after</b> a connection\n"
308 "is established. When your program is called, all\n" 307 "is established. When your program is called, all\n"
309 "preparations for an Internet connection are finished.\n" 308 "preparations for an Internet connection are finished.\n"
310 "\n" 309 "\n"
311 "Very useful for fetching mail and news"); 310 "Very useful for fetching mail and news");
312 311
313 QWhatsThis::add(command_label,tmp); 312 QWhatsThis::add(command_label,tmp);
314 QWhatsThis::add(command,tmp); 313 QWhatsThis::add(command,tmp);
315 314
316 predisconnect_label = new QLabel(tr("Before disconnect:"), 315 predisconnect_label = new QLabel(tr("Before disconnect:"),
317 this); 316 this);
318 predisconnect_label->setAlignment(AlignVCenter); 317 predisconnect_label->setAlignment(AlignVCenter);
319 l1->addWidget(predisconnect_label, 2, 0); 318 l1->addWidget(predisconnect_label, 2, 0);
320 predisconnect = new QLineEdit(this); 319 predisconnect = new QLineEdit(this);
321// predisconnect->setMaxLength(COMMAND_SIZE); 320// predisconnect->setMaxLength(COMMAND_SIZE);
322 l1->addWidget(predisconnect, 2, 1); 321 l1->addWidget(predisconnect, 2, 1);
323 tmp = tr("Allows you to run a program <b>before</b> a connection\n" 322 tmp = tr("Allows you to run a program <b>before</b> a connection\n"
324 "is closed. The connection will stay open until\n" 323 "is closed. The connection will stay open until\n"
325 "the program exits."); 324 "the program exits.");
326 325
327 QWhatsThis::add(predisconnect_label,tmp); 326 QWhatsThis::add(predisconnect_label,tmp);
328 QWhatsThis::add(predisconnect,tmp); 327 QWhatsThis::add(predisconnect,tmp);
329 328
330 discommand_label = new QLabel(tr("Upon disconnect:"), 329 discommand_label = new QLabel(tr("Upon disconnect:"),
331 this); 330 this);
332 discommand_label->setAlignment(AlignVCenter); 331 discommand_label->setAlignment(AlignVCenter);
333 l1->addWidget(discommand_label, 3, 0); 332 l1->addWidget(discommand_label, 3, 0);
334 333
335 discommand = new QLineEdit(this); 334 discommand = new QLineEdit(this);
336// discommand->setMaxLength(COMMAND_SIZE); 335// discommand->setMaxLength(COMMAND_SIZE);
337 l1->addWidget(discommand, 3, 1); 336 l1->addWidget(discommand, 3, 1);
338 tmp = tr("Allows you to run a program <b>after</b> a connection\n" 337 tmp = tr("Allows you to run a program <b>after</b> a connection\n"
339 "has been closed."); 338 "has been closed.");
340 339
341 QWhatsThis::add(discommand_label,tmp); 340 QWhatsThis::add(discommand_label,tmp);
342 QWhatsThis::add(discommand,tmp); 341 QWhatsThis::add(discommand,tmp);
343 342
344 // extra space between entries 343 // extra space between entries
345 l1->addRowSpacing(1, 5); 344 l1->addRowSpacing(1, 5);
346 l1->addRowSpacing(3, 5); 345 l1->addRowSpacing(3, 5);
347 346
348 tl->addStretch(1); 347 tl->addStretch(1);
349 tl->activate(); 348 tl->activate();
350 349
351 // Set defaults if editing an existing connection 350 // Set defaults if editing an existing connection
352 if(!isnewaccount) { 351 if(!isnewaccount) {
353 before_connect->setText(_pppdata->command_before_connect()); 352 before_connect->setText(_pppdata->command_before_connect());
354 command->setText(_pppdata->command_on_connect()); 353 command->setText(_pppdata->command_on_connect());
355 discommand->setText(_pppdata->command_on_disconnect()); 354 discommand->setText(_pppdata->command_on_disconnect());
356 predisconnect->setText(_pppdata->command_before_disconnect()); 355 predisconnect->setText(_pppdata->command_before_disconnect());
357 } 356 }
358} 357}
359 358
360 359
361bool ExecWidget::save() { 360bool ExecWidget::save() {
362 _pppdata->setCommand_before_connect(before_connect->text()); 361 _pppdata->setCommand_before_connect(before_connect->text());
363 _pppdata->setCommand_on_connect(command->text()); 362 _pppdata->setCommand_on_connect(command->text());
364 _pppdata->setCommand_before_disconnect(predisconnect->text()); 363 _pppdata->setCommand_before_disconnect(predisconnect->text());
365 _pppdata->setCommand_on_disconnect(discommand->text()); 364 _pppdata->setCommand_on_disconnect(discommand->text());
366 return true; 365 return true;
367} 366}
368 367
369 368
370 369
371///////////////////////////////////////////////////////////////////////////// 370/////////////////////////////////////////////////////////////////////////////
372// 371//
373// IPWidget 372// IPWidget
374// 373//
375///////////////////////////////////////////////////////////////////////////// 374/////////////////////////////////////////////////////////////////////////////
376IPWidget::IPWidget( PPPData *pd, QWidget *parent, bool isnewaccount, const char *name ) 375IPWidget::IPWidget( PPPData *pd, QWidget *parent, bool isnewaccount, const char *name )
377 : QWidget(parent, name), _pppdata(pd) 376 : QWidget(parent, name), _pppdata(pd)
378{ 377{
379 QVBoxLayout *topLayout = new QVBoxLayout(this); 378 QVBoxLayout *topLayout = new QVBoxLayout(this);
380 topLayout->setSpacing( 3 );//KDialog::spacingHint()); 379 topLayout->setSpacing( 3 );//KDialog::spacingHint());
381 380
382 box = new QVGroupBox(tr("Configuration"), this); 381 box = new QVGroupBox(tr("Configuration"), this);
383// box->setInsideSpacing( 1 );//KDialog::spacingHint()); 382// box->setInsideSpacing( 1 );//KDialog::spacingHint());
384 383
385 rb = new QButtonGroup(this); 384 rb = new QButtonGroup(this);
386 rb->hide(); 385 rb->hide();
387 connect(rb, SIGNAL(clicked(int)), 386 connect(rb, SIGNAL(clicked(int)),
388 SLOT(hitIPSelect(int))); 387 SLOT(hitIPSelect(int)));
389 388
390 dynamicadd_rb = new QRadioButton(box); 389 dynamicadd_rb = new QRadioButton(box);
391 dynamicadd_rb->setText(tr("Dynamic IP address")); 390 dynamicadd_rb->setText(tr("Dynamic IP address"));
392 QWhatsThis::add(dynamicadd_rb, 391 QWhatsThis::add(dynamicadd_rb,
393 tr("Select this option when your computer gets an\n" 392 tr("Select this option when your computer gets an\n"
394 "internet address (IP) every time a\n" 393 "internet address (IP) every time a\n"
395 "connection is made.\n" 394 "connection is made.\n"
396 "\n" 395 "\n"
397 "Almost every Internet Service Provider uses\n" 396 "Almost every Internet Service Provider uses\n"
398 "this method, so this should be turned on.")); 397 "this method, so this should be turned on."));
399 398
400 staticadd_rb = new QRadioButton(box); 399 staticadd_rb = new QRadioButton(box);
401 staticadd_rb->setText(tr("Static IP address")); 400 staticadd_rb->setText(tr("Static IP address"));
402 rb->insert(dynamicadd_rb, 0); 401 rb->insert(dynamicadd_rb, 0);
403 rb->insert(staticadd_rb, 1); 402 rb->insert(staticadd_rb, 1);
404 QWhatsThis::add(staticadd_rb, 403 QWhatsThis::add(staticadd_rb,
405 tr("Select this option when your computer has a\n" 404 tr("Select this option when your computer has a\n"
406 "fixed internet address (IP). Most computers\n" 405 "fixed internet address (IP). Most computers\n"
407 "don't have this, so you should probably select\n" 406 "don't have this, so you should probably select\n"
408 "dynamic IP addressing unless you know what you\n" 407 "dynamic IP addressing unless you know what you\n"
409 "are doing.")); 408 "are doing."));
410 409
411 QWidget *ipWidget = new QWidget(box); 410 QWidget *ipWidget = new QWidget(box);
412 QGridLayout *ipLayout = new QGridLayout(ipWidget, 2, 2); 411 QGridLayout *ipLayout = new QGridLayout(ipWidget, 2, 2);
413 ipLayout->setSpacing( 2 );//KDialog::spacingHint()); 412 ipLayout->setSpacing( 2 );//KDialog::spacingHint());
414 413
415 ipaddress_label = new QLabel(tr("IP address:"), ipWidget); 414 ipaddress_label = new QLabel(tr("IP address:"), ipWidget);
416 QString tmp = tr("If your computer has a permanent internet\n" 415 QString tmp = tr("If your computer has a permanent internet\n"
417 "address, you must supply your IP address here."); 416 "address, you must supply your IP address here.");
418 ipLayout->addWidget(ipaddress_label, 0, 0); 417 ipLayout->addWidget(ipaddress_label, 0, 0);
419 418
420 ipaddress_l = new IPLineEdit(ipWidget); 419 ipaddress_l = new IPLineEdit(ipWidget);
421 ipLayout->addWidget(ipaddress_l, 0, 1); 420 ipLayout->addWidget(ipaddress_l, 0, 1);
422 421
423 QWhatsThis::add(ipaddress_label,tmp); 422 QWhatsThis::add(ipaddress_label,tmp);
424 QWhatsThis::add(ipaddress_l,tmp); 423 QWhatsThis::add(ipaddress_l,tmp);
425 424
426 sub_label = new QLabel(tr("Subnet mask:"), ipWidget); 425 sub_label = new QLabel(tr("Subnet mask:"), ipWidget);
427 tmp = tr("<p>If your computer has a static Internet address,\n" 426 tmp = tr("<p>If your computer has a static Internet address,\n"
428 "you must supply a network mask here. In almost\n" 427 "you must supply a network mask here. In almost\n"
429 "all cases this netmask will be <b>255.255.255.0</b>,\n" 428 "all cases this netmask will be <b>255.255.255.0</b>,\n"
430 "but your mileage may vary.\n" 429 "but your mileage may vary.\n"
431 "\n" 430 "\n"
432 "If unsure, contact your Internet Service Provider"); 431 "If unsure, contact your Internet Service Provider");
433 ipLayout->addWidget(sub_label, 1, 0); 432 ipLayout->addWidget(sub_label, 1, 0);
434 433
435 subnetmask_l = new IPLineEdit(ipWidget); 434 subnetmask_l = new IPLineEdit(ipWidget);
436 ipLayout->addWidget(subnetmask_l, 1, 1); 435 ipLayout->addWidget(subnetmask_l, 1, 1);
437 436
438 QWhatsThis::add(sub_label,tmp); 437 QWhatsThis::add(sub_label,tmp);
439 QWhatsThis::add(subnetmask_l,tmp); 438 QWhatsThis::add(subnetmask_l,tmp);
440 439
441 autoname = new QCheckBox(tr("Auto-configure hostname from this IP"), this); 440 autoname = new QCheckBox(tr("Auto-configure hostname from this IP"), this);
442 autoname->setChecked(_pppdata->autoname()); 441 autoname->setChecked(_pppdata->autoname());
443 connect(autoname,SIGNAL(toggled(bool)), 442 connect(autoname,SIGNAL(toggled(bool)),
444 this,SLOT(autoname_t(bool))); 443 this,SLOT(autoname_t(bool)));
445 444
446 QWhatsThis::add(autoname, 445 QWhatsThis::add(autoname,
447 tr("<p>Whenever you connect, this reconfigures\n" 446 tr("<p>Whenever you connect, this reconfigures\n"
448 "your hostname to match the IP address you\n" 447 "your hostname to match the IP address you\n"
449 "got from the PPP server. This may be useful\n" 448 "got from the PPP server. This may be useful\n"
450 "if you need to use a protocol which depends\n" 449 "if you need to use a protocol which depends\n"
451 "on this information, but it can also cause several\n" 450 "on this information, but it can also cause several\n"
452 "<a href=\"kppp-7.html#autohostname\">problems</a>.\n" 451 "<a href=\"kppp-7.html#autohostname\">problems</a>.\n"
453 "\n" 452 "\n"
454 "Don't enable this unless you really need it.")); 453 "Don't enable this unless you really need it."));
455 454
diff --git a/noncore/settings/networksettings/ppp/pppdargs.cpp b/noncore/settings/networksettings/ppp/pppdargs.cpp
index d1143cf..66a4d82 100644
--- a/noncore/settings/networksettings/ppp/pppdargs.cpp
+++ b/noncore/settings/networksettings/ppp/pppdargs.cpp
@@ -1,166 +1,151 @@
1/* 1/*
2 * kPPP: A pppd front end for the KDE project 2 * kPPP: A pppd front end for the KDE project
3 * 3 *
4 * $Id$ 4 * $Id$
5 * 5 *
6 * Copyright (C) 1997 Bernd Johannes Wuebben 6 * Copyright (C) 1997 Bernd Johannes Wuebben
7 * wuebben@math.cornell.edu 7 * wuebben@math.cornell.edu
8 * 8 *
9 * based on EzPPP: 9 * based on EzPPP:
10 * Copyright (C) 1997 Jay Painter 10 * Copyright (C) 1997 Jay Painter
11 * 11 *
12 * 12 *
13 * This library is free software; you can redistribute it and/or 13 * This library is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU Library General Public 14 * modify it under the terms of the GNU Library General Public
15 * License as published by the Free Software Foundation; either 15 * License as published by the Free Software Foundation; either
16 * version 2 of the License, or (at your option) any later version. 16 * version 2 of the License, or (at your option) any later version.
17 * 17 *
18 * This library is distributed in the hope that it will be useful, 18 * This library is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * Library General Public License for more details. 21 * Library General Public License for more details.
22 * 22 *
23 * You should have received a copy of the GNU Library General Public 23 * You should have received a copy of the GNU Library General Public
24 * License along with this program; if not, write to the Free 24 * License along with this program; if not, write to the Free
25 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 25 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 */ 26 */
27 27
28#include <qlayout.h> 28#include <qlayout.h>
29#include <qbuttongroup.h> 29#include <qbuttongroup.h>
30//#include <kwin.h>
31#include <qapplication.h> 30#include <qapplication.h>
32#include "pppdargs.h" 31#include "pppdargs.h"
33#include "pppdata.h" 32#include "pppdata.h"
34//#include <klocale.h> 33
35#define i18n QObject::tr
36 34
37PPPdArguments::PPPdArguments( PPPData *pd, QWidget *parent, const char *name) 35PPPdArguments::PPPdArguments( PPPData *pd, QWidget *parent, const char *name)
38 : QDialog(parent, name, TRUE), _pppdata(pd) 36 : QDialog(parent, name, TRUE), _pppdata(pd)
39{ 37{
40 setCaption(i18n("Customize pppd Arguments")); 38 setCaption(tr("Customize pppd Arguments"));
41// KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); 39// KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon());
42 QVBoxLayout *l = new QVBoxLayout(this, 10, 10); 40 QVBoxLayout *l = new QVBoxLayout(this, 10, 10);
43 QHBoxLayout *tl = new QHBoxLayout(10); 41 QHBoxLayout *tl = new QHBoxLayout(10);
44 l->addLayout(tl); 42 l->addLayout(tl);
45 QVBoxLayout *l1 = new QVBoxLayout(); 43 QVBoxLayout *l1 = new QVBoxLayout();
46 QVBoxLayout *l2 = new QVBoxLayout(); 44 QVBoxLayout *l2 = new QVBoxLayout();
47 tl->addLayout(l1, 1); 45 tl->addLayout(l1, 1);
48 tl->addLayout(l2, 0); 46 tl->addLayout(l2, 0);
49 47
50 QHBoxLayout *l11 = new QHBoxLayout(10); 48 QHBoxLayout *l11 = new QHBoxLayout(10);
51 l1->addLayout(l11); 49 l1->addLayout(l11);
52 50
53 argument_label = new QLabel(i18n("Argument:"), this); 51 argument_label = new QLabel(tr("Argument:"), this);
54 l11->addWidget(argument_label); 52 l11->addWidget(argument_label);
55 53
56 argument = new QLineEdit(this); 54 argument = new QLineEdit(this);
57 connect(argument, SIGNAL(returnPressed()), 55 connect(argument, SIGNAL(returnPressed()),
58 SLOT(addbutton())); 56 SLOT(addbutton()));
59 l11->addWidget(argument); 57 l11->addWidget(argument);
60 connect(argument, SIGNAL(textChanged(const QString &)), 58 connect(argument, SIGNAL(textChanged(const QString &)),
61 this, SLOT(textChanged(const QString &))); 59 this, SLOT(textChanged(const QString &)));
62 60
63 arguments = new QListBox(this); 61 arguments = new QListBox(this);
64 arguments->setMinimumSize(1, fontMetrics().lineSpacing()*10); 62 arguments->setMinimumSize(1, fontMetrics().lineSpacing()*10);
65 connect(arguments, SIGNAL(highlighted(int)), 63 connect(arguments, SIGNAL(highlighted(int)),
66 this, SLOT(itemSelected(int))); 64 this, SLOT(itemSelected(int)));
67 l1->addWidget(arguments, 1); 65 l1->addWidget(arguments, 1);
68 66
69 add = new QPushButton(i18n("Add"), this); 67 add = new QPushButton(tr("Add"), this);
70 connect(add, SIGNAL(clicked()), SLOT(addbutton())); 68 connect(add, SIGNAL(clicked()), SLOT(addbutton()));
71 l2->addWidget(add); 69 l2->addWidget(add);
72 l2->addStretch(1); 70 l2->addStretch(1);
73 71
74 remove = new QPushButton(i18n("Remove"), this); 72 remove = new QPushButton(tr("Remove"), this);
75 connect(remove, SIGNAL(clicked()), SLOT(removebutton())); 73 connect(remove, SIGNAL(clicked()), SLOT(removebutton()));
76 l2->addWidget(remove); 74 l2->addWidget(remove);
77 75
78 defaults = new QPushButton(i18n("Defaults"), this); 76 defaults = new QPushButton(tr("Defaults"), this);
79 connect(defaults, SIGNAL(clicked()), SLOT(defaultsbutton())); 77 connect(defaults, SIGNAL(clicked()), SLOT(defaultsbutton()));
80 l2->addWidget(defaults); 78 l2->addWidget(defaults);
81 79
82 l->addSpacing(5); 80 l->addSpacing(5);
83 81
84// QButtonGroup *bbox = new QButtonGroup(this);
85// // bbox->addStretch(1);
86// closebtn = new QPushButton( bbox, i18n("OK"));
87// bbox->insert(closebtn);
88// connect(closebtn, SIGNAL(clicked()), SLOT(closebutton()));
89// QPushButton *cancel = new QPushButton( bbox, i18n("Cancel"));
90// bbox->insert(cancel);
91// connect(cancel, SIGNAL(clicked()),
92 // this, SLOT(reject()));
93// bbox->layout();
94// l->addWidget(bbox);
95
96// setFixedSize(sizeHint());
97 82
98 //load info from gpppdata 83 //load info from gpppdata
99 init(); 84 init();
100 85
101 add->setEnabled(false); 86 add->setEnabled(false);
102 remove->setEnabled(false); 87 remove->setEnabled(false);
103 argument->setFocus(); 88 argument->setFocus();
104} 89}
105 90
106 91
107void PPPdArguments::addbutton() { 92void PPPdArguments::addbutton() {
108 if(!argument->text().isEmpty() && arguments->count() < MAX_PPPD_ARGUMENTS) { 93 if(!argument->text().isEmpty() && arguments->count() < MAX_PPPD_ARGUMENTS) {
109 arguments->insertItem(argument->text()); 94 arguments->insertItem(argument->text());
110 argument->setText(""); 95 argument->setText("");
111 } 96 }
112} 97}
113 98
114 99
115void PPPdArguments::removebutton() { 100void PPPdArguments::removebutton() {
116 if(arguments->currentItem() >= 0) 101 if(arguments->currentItem() >= 0)
117 arguments->removeItem(arguments->currentItem()); 102 arguments->removeItem(arguments->currentItem());
118} 103}
119 104
120 105
121void PPPdArguments::defaultsbutton() { 106void PPPdArguments::defaultsbutton() {
122 // all of this is a hack 107 // all of this is a hack
123 // save current list 108 // save current list
124 QStringList arglist(_pppdata->pppdArgument()); 109 QStringList arglist(_pppdata->pppdArgument());
125 110
126 // get defaults 111 // get defaults
127 _pppdata->setpppdArgumentDefaults(); 112 _pppdata->setpppdArgumentDefaults();
128 init(); 113 init();
129 114
130 // restore old list 115 // restore old list
131 _pppdata->setpppdArgument(arglist); 116 _pppdata->setpppdArgument(arglist);
132} 117}
133 118
134 119
135void PPPdArguments::closebutton() { 120void PPPdArguments::accept() {
136 QStringList arglist; 121 QStringList arglist;
137 for(uint i=0; i < arguments->count(); i++) 122 for(uint i=0; i < arguments->count(); i++)
138 arglist.append(arguments->text(i)); 123 arglist.append(arguments->text(i));
139 _pppdata->setpppdArgument(arglist); 124 _pppdata->setpppdArgument(arglist);
140 125
141 done(0); 126 QDialog::accept();
142} 127}
143 128
144 129
145void PPPdArguments::init() { 130void PPPdArguments::init() {
146 while(arguments->count()) 131 while(arguments->count())
147 arguments->removeItem(0); 132 arguments->removeItem(0);
148 133
149 QStringList &arglist = _pppdata->pppdArgument(); 134 QStringList &arglist = _pppdata->pppdArgument();
150 for ( QStringList::Iterator it = arglist.begin(); 135 for ( QStringList::Iterator it = arglist.begin();
151 it != arglist.end(); 136 it != arglist.end();
152 ++it ) 137 ++it )
153 arguments->insertItem(*it); 138 arguments->insertItem(*it);
154} 139}
155 140
156 141
157void PPPdArguments::textChanged(const QString &s) { 142void PPPdArguments::textChanged(const QString &s) {
158 add->setEnabled(s.length() > 0); 143 add->setEnabled(s.length() > 0);
159} 144}
160 145
161 146
162void PPPdArguments::itemSelected(int idx) { 147void PPPdArguments::itemSelected(int idx) {
163 remove->setEnabled(idx != -1); 148 remove->setEnabled(idx != -1);
164} 149}
165 150
166 151
diff --git a/noncore/settings/networksettings/ppp/pppdargs.h b/noncore/settings/networksettings/ppp/pppdargs.h
index 75f0c9d..065b03c 100644
--- a/noncore/settings/networksettings/ppp/pppdargs.h
+++ b/noncore/settings/networksettings/ppp/pppdargs.h
@@ -1,78 +1,78 @@
1/* 1/*
2 * kPPP: A pppd front end for the KDE project 2 * kPPP: A pppd front end for the KDE project
3 * 3 *
4 * $Id$ 4 * $Id$
5 * 5 *
6 * Copyright (C) 1997 Bernd Johannes Wuebben 6 * Copyright (C) 1997 Bernd Johannes Wuebben
7 * wuebben@math.cornell.edu 7 * wuebben@math.cornell.edu
8 * 8 *
9 * based on EzPPP: 9 * based on EzPPP:
10 * Copyright (C) 1997 Jay Painter 10 * Copyright (C) 1997 Jay Painter
11 * 11 *
12 * 12 *
13 * This library is free software; you can redistribute it and/or 13 * This library is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU Library General Public 14 * modify it under the terms of the GNU Library General Public
15 * License as published by the Free Software Foundation; either 15 * License as published by the Free Software Foundation; either
16 * version 2 of the License, or (at your option) any later version. 16 * version 2 of the License, or (at your option) any later version.
17 * 17 *
18 * This library is distributed in the hope that it will be useful, 18 * This library is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 * Library General Public License for more details. 21 * Library General Public License for more details.
22 * 22 *
23 * You should have received a copy of the GNU Library General Public 23 * You should have received a copy of the GNU Library General Public
24 * License along with this program; if not, write to the Free 24 * License along with this program; if not, write to the Free
25 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 25 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 */ 26 */
27 27
28#ifndef _PPPDARGS_H_ 28#ifndef _PPPDARGS_H_
29#define _PPPDARGS_H_ 29#define _PPPDARGS_H_
30 30
31#include <qdialog.h> 31#include <qdialog.h>
32#include <qlineedit.h> 32#include <qlineedit.h>
33#include <qpushbutton.h> 33#include <qpushbutton.h>
34#include <qlistbox.h> 34#include <qlistbox.h>
35#include <qlabel.h> 35#include <qlabel.h>
36class PPPData; 36class PPPData;
37 37
38class PPPdArguments : public QDialog { 38class PPPdArguments : public QDialog {
39Q_OBJECT 39Q_OBJECT
40public: 40public:
41 PPPdArguments(PPPData*,QWidget *parent=0, const char *name=0); 41 PPPdArguments(PPPData*,QWidget *parent=0, const char *name=0);
42 ~PPPdArguments() {} 42 ~PPPdArguments() {}
43 43
44private slots: 44private slots:
45 void addbutton(); 45 void addbutton();
46 void removebutton(); 46 void removebutton();
47 void defaultsbutton(); 47 void defaultsbutton();
48 void closebutton(); 48 virtual void accept();
49 void textChanged(const QString &); 49 void textChanged(const QString &);
50 void itemSelected(int); 50 void itemSelected(int);
51 51
52private: 52private:
53 void init(); 53 void init();
54 54
55 QLabel *argument_label; 55 QLabel *argument_label;
56 56
57 QLineEdit *argument; 57 QLineEdit *argument;
58 58
59 QPushButton *add; 59 QPushButton *add;
60 QPushButton *remove; 60 QPushButton *remove;
61 QPushButton *defaults; 61 QPushButton *defaults;
62 62
63 QListBox *arguments; 63 QListBox *arguments;
64 64
65 QPushButton *closebtn; 65 QPushButton *closebtn;
66 PPPData *_pppdata; 66 PPPData *_pppdata;
67}; 67};
68#endif 68#endif
69 69
70 70
71 71
72 72
73 73
74 74
75 75
76 76
77 77
78 78