author | kergoth <kergoth> | 2003-08-09 17:14:54 (UTC) |
---|---|---|
committer | kergoth <kergoth> | 2003-08-09 17:14:54 (UTC) |
commit | a7e015198a8c5ad3b6e144a9032b059086253e00 (patch) (unidiff) | |
tree | b712b6f11310d88744fe393a92b3160b741a7efe | |
parent | beba0e73306815337bf04dee39502233595e9739 (diff) | |
download | opie-a7e015198a8c5ad3b6e144a9032b059086253e00.zip opie-a7e015198a8c5ad3b6e144a9032b059086253e00.tar.gz opie-a7e015198a8c5ad3b6e144a9032b059086253e00.tar.bz2 |
Merge from BRANCH_1_0
66 files changed, 2410 insertions, 1321 deletions
diff --git a/noncore/settings/appearance2/appearance.cpp b/noncore/settings/appearance2/appearance.cpp index c376ec7..00128d3 100644 --- a/noncore/settings/appearance2/appearance.cpp +++ b/noncore/settings/appearance2/appearance.cpp | |||
@@ -84,7 +84,7 @@ public: | |||
84 | QString name() const { | 84 | QString name() const { |
85 | return "Default"; | 85 | return "Default"; |
86 | } | 86 | } |
87 | QPixmap icon() const { | 87 | QPixmap icon() const { |
88 | return QPixmap(); | 88 | return QPixmap(); |
89 | } | 89 | } |
90 | QRESULT queryInterface( const QUuid &uuid, QUnknownInterface **iface ) { | 90 | QRESULT queryInterface( const QUuid &uuid, QUnknownInterface **iface ) { |
@@ -175,7 +175,7 @@ QWidget *Appearance::createDecoTab ( QWidget *parent, Config &cfg ) | |||
175 | vertLayout->addWidget( m_deco_list ); | 175 | vertLayout->addWidget( m_deco_list ); |
176 | QWhatsThis::add( m_deco_list, tr( "Window decorations control the way the application title bar and its buttons appear.\n\nClick here to select an available decoration." ) ); | 176 | QWhatsThis::add( m_deco_list, tr( "Window decorations control the way the application title bar and its buttons appear.\n\nClick here to select an available decoration." ) ); |
177 | 177 | ||
178 | QString s = cfg. readEntry ( "Decoration" ); | 178 | QString s = cfg. readEntry ( "Decoration", "libflat.so" ); |
179 | 179 | ||
180 | m_deco_list-> insertItem ( new DecoListItem ( "QPE" )); | 180 | m_deco_list-> insertItem ( new DecoListItem ( "QPE" )); |
181 | 181 | ||
@@ -402,7 +402,7 @@ QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg ) | |||
402 | 402 | ||
403 | vertLayout-> addSpacing ( 3 ); | 403 | vertLayout-> addSpacing ( 3 ); |
404 | QHBoxLayout *rotLay = new QHBoxLayout ( vertLayout, 3 ); | 404 | QHBoxLayout *rotLay = new QHBoxLayout ( vertLayout, 3 ); |
405 | 405 | ||
406 | QLabel* rotlabel = new QLabel( tr( "Rotation direction:" ), tab ); | 406 | QLabel* rotlabel = new QLabel( tr( "Rotation direction:" ), tab ); |
407 | m_rotdir_cw = new QRadioButton( tab, "rotdir_cw" ); | 407 | m_rotdir_cw = new QRadioButton( tab, "rotdir_cw" ); |
408 | QPixmap cw1 = Resource::loadIconSet("redo"). pixmap( ); | 408 | QPixmap cw1 = Resource::loadIconSet("redo"). pixmap( ); |
@@ -421,8 +421,8 @@ QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg ) | |||
421 | 421 | ||
422 | ccw1. convertFromImage( ccwImage ); | 422 | ccw1. convertFromImage( ccwImage ); |
423 | m_rotdir_cw-> setPixmap( cw1 ); | 423 | m_rotdir_cw-> setPixmap( cw1 ); |
424 | m_rotdir_ccw-> setPixmap( ccw1 ); | 424 | m_rotdir_ccw-> setPixmap( ccw1 ); |
425 | m_rotdir_flip-> setPixmap( flip1 ); | 425 | m_rotdir_flip-> setPixmap( flip1 ); |
426 | 426 | ||
427 | rotLay-> addWidget ( rotlabel, 0 ); | 427 | rotLay-> addWidget ( rotlabel, 0 ); |
428 | rotLay-> addWidget ( m_rotdir_cw, 0 ); | 428 | rotLay-> addWidget ( m_rotdir_cw, 0 ); |
@@ -457,7 +457,8 @@ Appearance::Appearance( QWidget* parent, const char* name, WFlags ) | |||
457 | QVBoxLayout *top = new QVBoxLayout ( this, 3, 3 ); | 457 | QVBoxLayout *top = new QVBoxLayout ( this, 3, 3 ); |
458 | 458 | ||
459 | m_sample = new SampleWindow ( this ); | 459 | m_sample = new SampleWindow ( this ); |
460 | m_sample-> setDecoration ( new DefaultWindowDecoration ( )); | 460 | |
461 | m_sample-> setDecoration ( new DefaultWindowDecoration ( ) ); | ||
461 | QWhatsThis::add( m_sample, tr( "This is a preview window. Look here to see your new appearance as options are changed." ) ); | 462 | QWhatsThis::add( m_sample, tr( "This is a preview window. Look here to see your new appearance as options are changed." ) ); |
462 | 463 | ||
463 | OTabWidget* tw = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom ); | 464 | OTabWidget* tw = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom ); |
diff --git a/noncore/settings/appearance2/colorlistitem.h b/noncore/settings/appearance2/colorlistitem.h index 10e4468..f8d5c45 100644 --- a/noncore/settings/appearance2/colorlistitem.h +++ b/noncore/settings/appearance2/colorlistitem.h | |||
@@ -124,12 +124,13 @@ private: | |||
124 | } | 124 | } |
125 | }; | 125 | }; |
126 | 126 | ||
127 | // from etc/colors/Liquid.scheme | ||
127 | const ColorListItem::colorlut ColorListItem::s_colorlut [] = { | 128 | const ColorListItem::colorlut ColorListItem::s_colorlut [] = { |
128 | { QColorGroup::Base, "Base", "#FFFFFF", QT_TRANSLATE_NOOP( "Appearance", "Base" ) }, | 129 | { QColorGroup::Base, "Base", "#FFFFFF", QT_TRANSLATE_NOOP( "Appearance", "Base" ) }, |
129 | { QColorGroup::Background, "Background", "#E5E1D5", QT_TRANSLATE_NOOP( "Appearance", "Background" ) }, | 130 | { QColorGroup::Background, "Background", "#E0E0E0", QT_TRANSLATE_NOOP( "Appearance", "Background" ) }, |
130 | { QColorGroup::Button, "Button", "#D6CDBB", QT_TRANSLATE_NOOP( "Appearance", "Button" ) }, | 131 | { QColorGroup::Button, "Button", "#96c8fa", QT_TRANSLATE_NOOP( "Appearance", "Button" ) }, |
131 | { QColorGroup::ButtonText, "ButtonText", "#000000", QT_TRANSLATE_NOOP( "Appearance", "Button Text" ) }, | 132 | { QColorGroup::ButtonText, "ButtonText", "#000000", QT_TRANSLATE_NOOP( "Appearance", "Button Text" ) }, |
132 | { QColorGroup::Highlight, "Highlight", "#800000", QT_TRANSLATE_NOOP( "Appearance", "Highlight" ) }, | 133 | { QColorGroup::Highlight, "Highlight", "#73adef", QT_TRANSLATE_NOOP( "Appearance", "Highlight" ) }, |
133 | { QColorGroup::HighlightedText, "HighlightedText", "#FFFFFF", QT_TRANSLATE_NOOP( "Appearance", "Highlighted Text" ) }, | 134 | { QColorGroup::HighlightedText, "HighlightedText", "#FFFFFF", QT_TRANSLATE_NOOP( "Appearance", "Highlighted Text" ) }, |
134 | { QColorGroup::Text, "Text", "#000000", QT_TRANSLATE_NOOP( "Appearance", "Text" ) } | 135 | { QColorGroup::Text, "Text", "#000000", QT_TRANSLATE_NOOP( "Appearance", "Text" ) } |
135 | }; | 136 | }; |
diff --git a/noncore/settings/appearance2/decolistitem.h b/noncore/settings/appearance2/decolistitem.h index d190ceb..da7924c 100644 --- a/noncore/settings/appearance2/decolistitem.h +++ b/noncore/settings/appearance2/decolistitem.h | |||
@@ -103,4 +103,5 @@ private: | |||
103 | 103 | ||
104 | }; | 104 | }; |
105 | 105 | ||
106 | #endif \ No newline at end of file | 106 | #endif |
107 | |||
diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp index 4ff6be1..922523b 100644 --- a/noncore/settings/backup/backuprestore.cpp +++ b/noncore/settings/backup/backuprestore.cpp | |||
@@ -71,18 +71,9 @@ BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name) | |||
71 | 71 | ||
72 | //todo make less static here and use Storage class to get infos | 72 | //todo make less static here and use Storage class to get infos |
73 | if(totalLocations == 0){ | 73 | if(totalLocations == 0){ |
74 | |||
75 | /* Ramses has a CF-Slot, but that one is internal and you have to dismount the | ||
76 | * the case. There's also almost always a WLAN card inserted there | ||
77 | */ | ||
78 | |||
79 | backupLocations.insert("Documents", "/root/Documents"); | 74 | backupLocations.insert("Documents", "/root/Documents"); |
80 | #if defined(QT_QWS_RAMSES) | ||
81 | backupLocations.insert("MMC", "/mnt/card"); | ||
82 | #else | ||
83 | backupLocations.insert("CF", "/mnt/cf"); | 75 | backupLocations.insert("CF", "/mnt/cf"); |
84 | backupLocations.insert("SD", "/mnt/card"); | 76 | backupLocations.insert("SD", "/mnt/card"); |
85 | #endif | ||
86 | } | 77 | } |
87 | else{ | 78 | else{ |
88 | for(int i = 0; i < totalLocations; i++){ | 79 | for(int i = 0; i < totalLocations; i++){ |
diff --git a/noncore/settings/language/language.cpp b/noncore/settings/language/language.cpp index 8985fd5..d30a041 100644 --- a/noncore/settings/language/language.cpp +++ b/noncore/settings/language/language.cpp | |||
@@ -115,9 +115,9 @@ void LanguageSettings::reset() | |||
115 | Config config("locale"); | 115 | Config config("locale"); |
116 | config.setGroup("Language"); | 116 | config.setGroup("Language"); |
117 | l = config.readEntry( "Language", l ); | 117 | l = config.readEntry( "Language", l ); |
118 | actualLanguage = l; | ||
118 | if (l.isEmpty()) | 119 | if (l.isEmpty()) |
119 | l = "en"; | 120 | l = "en"; |
120 | actualLanguage = l; | ||
121 | 121 | ||
122 | int n = langAvail.find( l ); | 122 | int n = langAvail.find( l ); |
123 | languages->setCurrentItem( n ); | 123 | languages->setCurrentItem( n ); |
diff --git a/noncore/settings/mediummount/mainwindow.cc b/noncore/settings/mediummount/mainwindow.cc index 6b37cff..eec786c 100644 --- a/noncore/settings/mediummount/mainwindow.cc +++ b/noncore/settings/mediummount/mainwindow.cc | |||
@@ -14,6 +14,7 @@ | |||
14 | 14 | ||
15 | using namespace MediumMountSetting; | 15 | using namespace MediumMountSetting; |
16 | 16 | ||
17 | /* TRANSLATOR MediumMountSetting::MainWindow */ | ||
17 | 18 | ||
18 | MainWindow::MainWindow( QWidget *parent, const char *name, bool modal, WFlags ) | 19 | MainWindow::MainWindow( QWidget *parent, const char *name, bool modal, WFlags ) |
19 | : QDialog( parent, name, modal, WStyle_ContextHelp ) | 20 | : QDialog( parent, name, modal, WStyle_ContextHelp ) |
diff --git a/noncore/settings/mediummount/mediumglobal.cc b/noncore/settings/mediummount/mediumglobal.cc index 75e3839..ab0b3af 100644 --- a/noncore/settings/mediummount/mediumglobal.cc +++ b/noncore/settings/mediummount/mediumglobal.cc | |||
@@ -15,6 +15,8 @@ | |||
15 | 15 | ||
16 | using namespace MediumMountSetting; | 16 | using namespace MediumMountSetting; |
17 | 17 | ||
18 | /* TRANSLATOR MediumMountSetting::MediumGlobalWidget */ | ||
19 | |||
18 | MediumGlobalWidget::MediumGlobalWidget(QWidget *wid, const char *name ) | 20 | MediumGlobalWidget::MediumGlobalWidget(QWidget *wid, const char *name ) |
19 | : QWidget( wid, name, WStyle_ContextHelp ) | 21 | : QWidget( wid, name, WStyle_ContextHelp ) |
20 | { | 22 | { |
diff --git a/noncore/settings/mediummount/mediumwidget.cc b/noncore/settings/mediummount/mediumwidget.cc index eadf502..981e1dd 100644 --- a/noncore/settings/mediummount/mediumwidget.cc +++ b/noncore/settings/mediummount/mediumwidget.cc | |||
@@ -22,6 +22,8 @@ | |||
22 | 22 | ||
23 | using namespace MediumMountSetting; | 23 | using namespace MediumMountSetting; |
24 | 24 | ||
25 | /* TRANSLATOR MediumMountSetting::MediumMountWidget */ | ||
26 | |||
25 | MediumMountWidget::MediumMountWidget(const QString &path, | 27 | MediumMountWidget::MediumMountWidget(const QString &path, |
26 | const QPixmap &pix, | 28 | const QPixmap &pix, |
27 | QWidget *parent, | 29 | QWidget *parent, |
diff --git a/noncore/settings/networksettings/interfaces/interface.cpp b/noncore/settings/networksettings/interfaces/interface.cpp index cc45525..69b55d1 100644 --- a/noncore/settings/networksettings/interfaces/interface.cpp +++ b/noncore/settings/networksettings/interfaces/interface.cpp | |||
@@ -1,7 +1,7 @@ | |||
1 | /** | 1 | /** |
2 | * $Author$ | 2 | * $Author$ |
3 | * $Date$ | 3 | * $Date$ |
4 | */ | 4 | */ |
5 | 5 | ||
6 | #include "interface.h" | 6 | #include "interface.h" |
7 | #include <qdatetime.h> | 7 | #include <qdatetime.h> |
@@ -24,7 +24,7 @@ Interface::Interface(QObject * parent, const char * name, bool newSatus): QObjec | |||
24 | * Set status | 24 | * Set status |
25 | * @param newStatus - the new status | 25 | * @param newStatus - the new status |
26 | * emit updateInterface | 26 | * emit updateInterface |
27 | */ | 27 | */ |
28 | void Interface::setStatus(bool newStatus){ | 28 | void Interface::setStatus(bool newStatus){ |
29 | if(status != newStatus){ | 29 | if(status != newStatus){ |
30 | status = newStatus; | 30 | status = newStatus; |
@@ -36,27 +36,27 @@ void Interface::setStatus(bool newStatus){ | |||
36 | * Set if attached or not (802.11 card pulled out for example) | 36 | * Set if attached or not (802.11 card pulled out for example) |
37 | * @param isAttached - if attached | 37 | * @param isAttached - if attached |
38 | * emit updateInterface | 38 | * emit updateInterface |
39 | */ | 39 | */ |
40 | void Interface::setAttached(bool isAttached){ | 40 | void Interface::setAttached(bool isAttached){ |
41 | attached = isAttached; | 41 | attached = isAttached; |
42 | emit(updateInterface(this)); | 42 | emit(updateInterface(this)); |
43 | }; | 43 | }; |
44 | 44 | ||
45 | /** | 45 | /** |
46 | * Set Hardware name | 46 | * Set Hardware name |
47 | * @param name - the new name | 47 | * @param name - the new name |
48 | * emit updateInterface | 48 | * emit updateInterface |
49 | */ | 49 | */ |
50 | void Interface::setHardwareName(const QString &name){ | 50 | void Interface::setHardwareName(const QString &name){ |
51 | hardwareName = name; | 51 | hardwareName = name; |
52 | emit(updateInterface(this)); | 52 | emit(updateInterface(this)); |
53 | }; | 53 | }; |
54 | 54 | ||
55 | /** | 55 | /** |
56 | * Set Module owner | 56 | * Set Module owner |
57 | * @param owner - the new owner | 57 | * @param owner - the new owner |
58 | * emit updateInterface | 58 | * emit updateInterface |
59 | */ | 59 | */ |
60 | void Interface::setModuleOwner(Module *owner){ | 60 | void Interface::setModuleOwner(Module *owner){ |
61 | moduleOwner = owner; | 61 | moduleOwner = owner; |
62 | emit(updateInterface(this)); | 62 | emit(updateInterface(this)); |
@@ -65,14 +65,14 @@ void Interface::setModuleOwner(Module *owner){ | |||
65 | 65 | ||
66 | /** | 66 | /** |
67 | * Try to start the interface. | 67 | * Try to start the interface. |
68 | */ | 68 | */ |
69 | void Interface::start(){ | 69 | void Interface::start(){ |
70 | // check to see if we are already running. | 70 | // check to see if we are already running. |
71 | if(true == status){ | 71 | if(true == status){ |
72 | emit (updateMessage("Unable to start interface,\n already started")); | 72 | emit (updateMessage("Unable to start interface,\n already started")); |
73 | return; | 73 | return; |
74 | } | 74 | } |
75 | 75 | ||
76 | int ret = system(QString("%1 %2 up").arg(IFCONFIG).arg(this->name()).latin1()); | 76 | int ret = system(QString("%1 %2 up").arg(IFCONFIG).arg(this->name()).latin1()); |
77 | // See if it was successfull... | 77 | // See if it was successfull... |
78 | if(ret != 0){ | 78 | if(ret != 0){ |
@@ -89,12 +89,12 @@ void Interface::start(){ | |||
89 | * Try to stop the interface. | 89 | * Try to stop the interface. |
90 | */ | 90 | */ |
91 | void Interface::stop(){ | 91 | void Interface::stop(){ |
92 | // check to see if we are already stopped. | 92 | // check to see if we are already stopped. |
93 | if(false == status){ | 93 | if(false == status){ |
94 | emit (updateMessage("Unable to stop interface,\n already stopped")); | 94 | emit (updateMessage("Unable to stop interface,\n already stopped")); |
95 | return; | 95 | return; |
96 | } | 96 | } |
97 | 97 | ||
98 | int ret = system(QString("%1 %2 down").arg(IFCONFIG).arg(this->name()).latin1()); | 98 | int ret = system(QString("%1 %2 down").arg(IFCONFIG).arg(this->name()).latin1()); |
99 | if(ret != 0){ | 99 | if(ret != 0){ |
100 | emit (updateMessage("Stopping interface failed")); | 100 | emit (updateMessage("Stopping interface failed")); |
@@ -108,7 +108,7 @@ void Interface::stop(){ | |||
108 | 108 | ||
109 | /** | 109 | /** |
110 | * Try to restart the interface. | 110 | * Try to restart the interface. |
111 | */ | 111 | */ |
112 | void Interface::restart(){ | 112 | void Interface::restart(){ |
113 | stop(); | 113 | stop(); |
114 | start(); | 114 | start(); |
@@ -133,14 +133,14 @@ bool Interface::refresh(){ | |||
133 | emit(updateInterface(this)); | 133 | emit(updateInterface(this)); |
134 | return true; | 134 | return true; |
135 | } | 135 | } |
136 | 136 | ||
137 | QString fileName = QString("/tmp/%1_ifconfig_info").arg(this->name()); | 137 | QString fileName = QString("/tmp/%1_ifconfig_info").arg(this->name()); |
138 | int ret = system(QString("%1 %2 > %3").arg(IFCONFIG).arg(this->name()).arg(fileName).latin1()); | 138 | int ret = system(QString("LANG=C %1 %2 > %3").arg(IFCONFIG).arg(this->name()).arg(fileName).latin1()); |
139 | if(ret != 0){ | 139 | if(ret != 0){ |
140 | qDebug(QString("Interface: Ifconfig return value: %1, is not 0").arg(ret).latin1()); | 140 | qDebug(QString("Interface: Ifconfig return value: %1, is not 0").arg(ret).latin1()); |
141 | return false; | 141 | return false; |
142 | } | 142 | } |
143 | 143 | ||
144 | QFile file(fileName); | 144 | QFile file(fileName); |
145 | if (!file.open(IO_ReadOnly)){ | 145 | if (!file.open(IO_ReadOnly)){ |
146 | qDebug(QString("Interface: Can't open file: %1").arg(fileName).latin1()); | 146 | qDebug(QString("Interface: Can't open file: %1").arg(fileName).latin1()); |
@@ -152,7 +152,7 @@ bool Interface::refresh(){ | |||
152 | ip = "0.0.0.0"; | 152 | ip = "0.0.0.0"; |
153 | subnetMask = "0.0.0.0"; | 153 | subnetMask = "0.0.0.0"; |
154 | broadcast = ""; | 154 | broadcast = ""; |
155 | 155 | ||
156 | QTextStream stream( &file ); | 156 | QTextStream stream( &file ); |
157 | QString line; | 157 | QString line; |
158 | while ( !stream.eof() ) { | 158 | while ( !stream.eof() ) { |
@@ -185,30 +185,30 @@ bool Interface::refresh(){ | |||
185 | leaseObtained = ""; | 185 | leaseObtained = ""; |
186 | leaseExpires = ""; | 186 | leaseExpires = ""; |
187 | dhcp = false; | 187 | dhcp = false; |
188 | 188 | ||
189 | QString dhcpDirectory(DHCP_INFO_DIR); | 189 | QString dhcpDirectory(DHCP_INFO_DIR); |
190 | QDir d(dhcpDirectory); | 190 | QDir d(dhcpDirectory); |
191 | if(!d.exists(dhcpDirectory)) | 191 | if(!d.exists(dhcpDirectory)) |
192 | dhcpDirectory = "/var/run"; | 192 | dhcpDirectory = "/var/run"; |
193 | 193 | ||
194 | // See if we have | 194 | // See if we have |
195 | QString dhcpFile(QString(dhcpDirectory+"/dhcpcd-%1.info").arg(this->name())); | 195 | QString dhcpFile(QString(dhcpDirectory+"/dhcpcd-%1.info").arg(this->name())); |
196 | // If there is no DHCP information then exit now with no errors. | 196 | // If there is no DHCP information then exit now with no errors. |
197 | if(!QFile::exists(dhcpFile)){ | 197 | if(!QFile::exists(dhcpFile)){ |
198 | emit(updateInterface(this)); | 198 | emit(updateInterface(this)); |
199 | return true; | 199 | return true; |
200 | } | 200 | } |
201 | 201 | ||
202 | file.setName(dhcpFile); | 202 | file.setName(dhcpFile); |
203 | if (!file.open(IO_ReadOnly)){ | 203 | if (!file.open(IO_ReadOnly)){ |
204 | qDebug(QString("Interface: Can't open file: %1").arg(dhcpFile).latin1()); | 204 | qDebug(QString("Interface: Can't open file: %1").arg(dhcpFile).latin1()); |
205 | return false; | 205 | return false; |
206 | } | 206 | } |
207 | 207 | ||
208 | // leaseTime and renewalTime and used if pid and deamon exe can be accessed. | 208 | // leaseTime and renewalTime and used if pid and deamon exe can be accessed. |
209 | int leaseTime = 0; | 209 | int leaseTime = 0; |
210 | int renewalTime = 0; | 210 | int renewalTime = 0; |
211 | 211 | ||
212 | stream.setDevice( &file ); | 212 | stream.setDevice( &file ); |
213 | while ( !stream.eof() ) { | 213 | while ( !stream.eof() ) { |
214 | line = stream.readLine(); | 214 | line = stream.readLine(); |
@@ -222,7 +222,7 @@ bool Interface::refresh(){ | |||
222 | file.close(); | 222 | file.close(); |
223 | //qDebug(QString("Interface: leaseTime: %1").arg(leaseTime).latin1()); | 223 | //qDebug(QString("Interface: leaseTime: %1").arg(leaseTime).latin1()); |
224 | //qDebug(QString("Interface: renewalTime: %1").arg(renewalTime).latin1()); | 224 | //qDebug(QString("Interface: renewalTime: %1").arg(renewalTime).latin1()); |
225 | 225 | ||
226 | // Get the pid of the deamond | 226 | // Get the pid of the deamond |
227 | dhcpFile = (QString(dhcpDirectory+"/dhcpcd-%1.pid").arg(this->name())); | 227 | dhcpFile = (QString(dhcpDirectory+"/dhcpcd-%1.pid").arg(this->name())); |
228 | file.setName(dhcpFile); | 228 | file.setName(dhcpFile); |
@@ -244,7 +244,7 @@ bool Interface::refresh(){ | |||
244 | return false; | 244 | return false; |
245 | } | 245 | } |
246 | 246 | ||
247 | // Get the start running time of the deamon | 247 | // Get the start running time of the deamon |
248 | fileName = (QString("/proc/%1/stat").arg(pid)); | 248 | fileName = (QString("/proc/%1/stat").arg(pid)); |
249 | file.setName(fileName); | 249 | file.setName(fileName); |
250 | stream.setDevice( &file ); | 250 | stream.setDevice( &file ); |
@@ -257,7 +257,7 @@ bool Interface::refresh(){ | |||
257 | } | 257 | } |
258 | file.close(); | 258 | file.close(); |
259 | long time = 0; | 259 | long time = 0; |
260 | // Grab the start time | 260 | // Grab the start time |
261 | // pid com state ppid pgrp session tty_nr tpgid flags | 261 | // pid com state ppid pgrp session tty_nr tpgid flags |
262 | sscanf(line.latin1(), "%*d %*s %*c %*d %*d %*d %*d %*d %*u " | 262 | sscanf(line.latin1(), "%*d %*s %*c %*d %*d %*d %*d %*d %*u " |
263 | // minflt cminflt majflt cmajflt utime stime cutime cstime priority | 263 | // minflt cminflt majflt cmajflt utime stime cutime cstime priority |
@@ -265,7 +265,7 @@ bool Interface::refresh(){ | |||
265 | // nice 0 itrealvalue starttime | 265 | // nice 0 itrealvalue starttime |
266 | "%*d %*d %*d %lu", (long*) &time); | 266 | "%*d %*d %*d %lu", (long*) &time); |
267 | time = time/100; | 267 | time = time/100; |
268 | 268 | ||
269 | QDateTime datetime(QDateTime::currentDateTime()); | 269 | QDateTime datetime(QDateTime::currentDateTime()); |
270 | 270 | ||
271 | // Get the uptime of the computer. | 271 | // Get the uptime of the computer. |
@@ -281,19 +281,19 @@ bool Interface::refresh(){ | |||
281 | qDebug("Interface: Can't open /proc/uptime to retrive uptime."); | 281 | qDebug("Interface: Can't open /proc/uptime to retrive uptime."); |
282 | return false; | 282 | return false; |
283 | } | 283 | } |
284 | 284 | ||
285 | datetime = datetime.addSecs(time); | 285 | datetime = datetime.addSecs(time); |
286 | //qDebug(QString("Interface: %1 %2").arg(datetime.toString()).arg(pid).latin1()); | 286 | //qDebug(QString("Interface: %1 %2").arg(datetime.toString()).arg(pid).latin1()); |
287 | 287 | ||
288 | // Calculate the start and renew times | 288 | // Calculate the start and renew times |
289 | leaseObtained= datetime.toString(); | 289 | leaseObtained= datetime.toString(); |
290 | 290 | ||
291 | // Calculate the start and renew times | 291 | // Calculate the start and renew times |
292 | datetime = datetime.addSecs(leaseTime); | 292 | datetime = datetime.addSecs(leaseTime); |
293 | leaseExpires = datetime.toString(); | 293 | leaseExpires = datetime.toString(); |
294 | 294 | ||
295 | dhcp = true; | 295 | dhcp = true; |
296 | 296 | ||
297 | emit(updateInterface(this)); | 297 | emit(updateInterface(this)); |
298 | return true; | 298 | return true; |
299 | } | 299 | } |
diff --git a/noncore/settings/networksettings/interfaces/interface.h b/noncore/settings/networksettings/interfaces/interface.h index 7e98deb..ec82851 100644 --- a/noncore/settings/networksettings/interfaces/interface.h +++ b/noncore/settings/networksettings/interfaces/interface.h | |||
@@ -12,22 +12,22 @@ class Interface : public QObject{ | |||
12 | signals: | 12 | signals: |
13 | void updateInterface(Interface *i); | 13 | void updateInterface(Interface *i); |
14 | void updateMessage(const QString &message); | 14 | void updateMessage(const QString &message); |
15 | 15 | ||
16 | public: | 16 | public: |
17 | Interface(QObject * parent=0, const char * name= "unknown", bool status = false); | 17 | Interface(QObject * parent=0, const char * name= "unknown", bool status = false); |
18 | 18 | ||
19 | QString getInterfaceName() const { QString n(this->name()); return n; }; | 19 | QString getInterfaceName() const { QString n(this->name()); return n; }; |
20 | void setInterfaceName( const QString &n ) { this->setName(n); }; | 20 | void setInterfaceName( const QString &n ) { this->setName(n); }; |
21 | 21 | ||
22 | bool getStatus() const { return status; }; | 22 | bool getStatus() const { return status; }; |
23 | void setStatus(bool newStatus); | 23 | void setStatus(bool newStatus); |
24 | 24 | ||
25 | bool isAttached() const { return attached; }; | 25 | bool isAttached() const { return attached; }; |
26 | void setAttached(bool isAttached=false); | 26 | void setAttached(bool isAttached=false); |
27 | 27 | ||
28 | QString getHardwareName() const { return hardwareName; }; | 28 | QString getHardwareName() const { return hardwareName; }; |
29 | void setHardwareName(const QString &name="Unknown"); | 29 | void setHardwareName(const QString &name="Unknown"); |
30 | 30 | ||
31 | Module* getModuleOwner() const { return moduleOwner; }; | 31 | Module* getModuleOwner() const { return moduleOwner; }; |
32 | void setModuleOwner(Module *owner=NULL); | 32 | void setModuleOwner(Module *owner=NULL); |
33 | 33 | ||
@@ -47,7 +47,7 @@ public: | |||
47 | virtual void stop(); | 47 | virtual void stop(); |
48 | virtual void restart(); | 48 | virtual void restart(); |
49 | 49 | ||
50 | private: | 50 | protected: |
51 | // Interface information | 51 | // Interface information |
52 | QString hardwareName; | 52 | QString hardwareName; |
53 | Module *moduleOwner; | 53 | Module *moduleOwner; |
diff --git a/noncore/settings/networksettings/interfaces/interfaceadvanced.ui b/noncore/settings/networksettings/interfaces/interfaceadvanced.ui index 2e106cb..12dbb1d 100644 --- a/noncore/settings/networksettings/interfaces/interfaceadvanced.ui +++ b/noncore/settings/networksettings/interfaces/interfaceadvanced.ui | |||
@@ -18,7 +18,7 @@ | |||
18 | <property stdset="1"> | 18 | <property stdset="1"> |
19 | <name>maximumSize</name> | 19 | <name>maximumSize</name> |
20 | <size> | 20 | <size> |
21 | <width>240</width> | 21 | <width>32767</width> |
22 | <height>32767</height> | 22 | <height>32767</height> |
23 | </size> | 23 | </size> |
24 | </property> | 24 | </property> |
diff --git a/noncore/settings/networksettings/interfaces/interfaceinformation.ui b/noncore/settings/networksettings/interfaces/interfaceinformation.ui index 763ad90..207200e 100644 --- a/noncore/settings/networksettings/interfaces/interfaceinformation.ui +++ b/noncore/settings/networksettings/interfaces/interfaceinformation.ui | |||
@@ -12,95 +12,29 @@ | |||
12 | <x>0</x> | 12 | <x>0</x> |
13 | <y>0</y> | 13 | <y>0</y> |
14 | <width>219</width> | 14 | <width>219</width> |
15 | <height>255</height> | 15 | <height>323</height> |
16 | </rect> | 16 | </rect> |
17 | </property> | 17 | </property> |
18 | <property stdset="1"> | 18 | <property stdset="1"> |
19 | <name>caption</name> | 19 | <name>caption</name> |
20 | <string>Interface Information</string> | 20 | <string>Interface Information</string> |
21 | </property> | 21 | </property> |
22 | <grid> | 22 | <property> |
23 | <name>layoutMargin</name> | ||
24 | </property> | ||
25 | <property> | ||
26 | <name>layoutSpacing</name> | ||
27 | </property> | ||
28 | <vbox> | ||
23 | <property stdset="1"> | 29 | <property stdset="1"> |
24 | <name>margin</name> | 30 | <name>margin</name> |
25 | <number>11</number> | 31 | <number>4</number> |
26 | </property> | 32 | </property> |
27 | <property stdset="1"> | 33 | <property stdset="1"> |
28 | <name>spacing</name> | 34 | <name>spacing</name> |
29 | <number>6</number> | 35 | <number>3</number> |
30 | </property> | 36 | </property> |
31 | <widget row="4" column="0" rowspan="1" colspan="2" > | 37 | <widget> |
32 | <class>QLayoutWidget</class> | ||
33 | <property stdset="1"> | ||
34 | <name>name</name> | ||
35 | <cstring>Layout1</cstring> | ||
36 | </property> | ||
37 | <grid> | ||
38 | <property stdset="1"> | ||
39 | <name>margin</name> | ||
40 | <number>0</number> | ||
41 | </property> | ||
42 | <property stdset="1"> | ||
43 | <name>spacing</name> | ||
44 | <number>6</number> | ||
45 | </property> | ||
46 | <widget row="1" column="0" > | ||
47 | <class>QPushButton</class> | ||
48 | <property stdset="1"> | ||
49 | <name>name</name> | ||
50 | <cstring>refreshButton</cstring> | ||
51 | </property> | ||
52 | <property stdset="1"> | ||
53 | <name>text</name> | ||
54 | <string>&Refresh</string> | ||
55 | </property> | ||
56 | </widget> | ||
57 | <widget row="0" column="1" > | ||
58 | <class>QPushButton</class> | ||
59 | <property stdset="1"> | ||
60 | <name>name</name> | ||
61 | <cstring>stopButton</cstring> | ||
62 | </property> | ||
63 | <property stdset="1"> | ||
64 | <name>text</name> | ||
65 | <string>S&top</string> | ||
66 | </property> | ||
67 | </widget> | ||
68 | <widget row="1" column="1" > | ||
69 | <class>QPushButton</class> | ||
70 | <property stdset="1"> | ||
71 | <name>name</name> | ||
72 | <cstring>restartButton</cstring> | ||
73 | </property> | ||
74 | <property stdset="1"> | ||
75 | <name>text</name> | ||
76 | <string>R&estart</string> | ||
77 | </property> | ||
78 | </widget> | ||
79 | <widget row="0" column="0" > | ||
80 | <class>QPushButton</class> | ||
81 | <property stdset="1"> | ||
82 | <name>name</name> | ||
83 | <cstring>startButton</cstring> | ||
84 | </property> | ||
85 | <property stdset="1"> | ||
86 | <name>text</name> | ||
87 | <string>&Start</string> | ||
88 | </property> | ||
89 | </widget> | ||
90 | </grid> | ||
91 | </widget> | ||
92 | <widget row="0" column="0" > | ||
93 | <class>Line</class> | ||
94 | <property stdset="1"> | ||
95 | <name>name</name> | ||
96 | <cstring>Line1</cstring> | ||
97 | </property> | ||
98 | <property stdset="1"> | ||
99 | <name>orientation</name> | ||
100 | <enum>Horizontal</enum> | ||
101 | </property> | ||
102 | </widget> | ||
103 | <widget row="0" column="0" > | ||
104 | <class>QLabel</class> | 38 | <class>QLabel</class> |
105 | <property stdset="1"> | 39 | <property stdset="1"> |
106 | <name>name</name> | 40 | <name>name</name> |
@@ -111,48 +45,48 @@ | |||
111 | <string>IP Address</string> | 45 | <string>IP Address</string> |
112 | </property> | 46 | </property> |
113 | </widget> | 47 | </widget> |
114 | <widget row="1" column="0" > | 48 | <widget> |
115 | <class>QLabel</class> | 49 | <class>QLabel</class> |
116 | <property stdset="1"> | 50 | <property stdset="1"> |
117 | <name>name</name> | 51 | <name>name</name> |
118 | <cstring>TextLabel23</cstring> | 52 | <cstring>ipAddressLabel</cstring> |
119 | </property> | 53 | </property> |
120 | <property stdset="1"> | 54 | <property stdset="1"> |
121 | <name>text</name> | 55 | <name>frameShape</name> |
122 | <string>Subnet Mask</string> | 56 | <enum>Panel</enum> |
123 | </property> | 57 | </property> |
124 | </widget> | ||
125 | <widget row="2" column="0" > | ||
126 | <class>QLabel</class> | ||
127 | <property stdset="1"> | 58 | <property stdset="1"> |
128 | <name>name</name> | 59 | <name>frameShadow</name> |
129 | <cstring>TextLabel21</cstring> | 60 | <enum>Sunken</enum> |
130 | </property> | 61 | </property> |
131 | <property stdset="1"> | 62 | <property stdset="1"> |
132 | <name>text</name> | 63 | <name>text</name> |
133 | <string>MAC Address</string> | 64 | <string>0.0.0.0</string> |
134 | </property> | 65 | </property> |
135 | </widget> | 66 | </widget> |
136 | <widget row="3" column="0" > | 67 | <widget> |
137 | <class>QLabel</class> | 68 | <class>Line</class> |
138 | <property stdset="1"> | 69 | <property stdset="1"> |
139 | <name>name</name> | 70 | <name>name</name> |
140 | <cstring>TextLabel24</cstring> | 71 | <cstring>Line1</cstring> |
141 | </property> | 72 | </property> |
142 | <property stdset="1"> | 73 | <property stdset="1"> |
143 | <name>frameShape</name> | 74 | <name>orientation</name> |
144 | <enum>MShape</enum> | 75 | <enum>Horizontal</enum> |
145 | </property> | 76 | </property> |
77 | </widget> | ||
78 | <widget> | ||
79 | <class>QLabel</class> | ||
146 | <property stdset="1"> | 80 | <property stdset="1"> |
147 | <name>frameShadow</name> | 81 | <name>name</name> |
148 | <enum>MShadow</enum> | 82 | <cstring>TextLabel23</cstring> |
149 | </property> | 83 | </property> |
150 | <property stdset="1"> | 84 | <property stdset="1"> |
151 | <name>text</name> | 85 | <name>text</name> |
152 | <string>Broadcast</string> | 86 | <string>Subnet Mask</string> |
153 | </property> | 87 | </property> |
154 | </widget> | 88 | </widget> |
155 | <widget row="1" column="1" > | 89 | <widget> |
156 | <class>QLabel</class> | 90 | <class>QLabel</class> |
157 | <property stdset="1"> | 91 | <property stdset="1"> |
158 | <name>name</name> | 92 | <name>name</name> |
@@ -171,7 +105,7 @@ | |||
171 | <string>0.0.0.0</string> | 105 | <string>0.0.0.0</string> |
172 | </property> | 106 | </property> |
173 | </widget> | 107 | </widget> |
174 | <widget row="2" column="1" > | 108 | <widget> |
175 | <class>QLabel</class> | 109 | <class>QLabel</class> |
176 | <property stdset="1"> | 110 | <property stdset="1"> |
177 | <name>name</name> | 111 | <name>name</name> |
@@ -190,7 +124,18 @@ | |||
190 | <string>00:00:00:00:00:00</string> | 124 | <string>00:00:00:00:00:00</string> |
191 | </property> | 125 | </property> |
192 | </widget> | 126 | </widget> |
193 | <widget row="3" column="1" > | 127 | <widget> |
128 | <class>QLabel</class> | ||
129 | <property stdset="1"> | ||
130 | <name>name</name> | ||
131 | <cstring>TextLabel21</cstring> | ||
132 | </property> | ||
133 | <property stdset="1"> | ||
134 | <name>text</name> | ||
135 | <string>MAC Address</string> | ||
136 | </property> | ||
137 | </widget> | ||
138 | <widget> | ||
194 | <class>QLabel</class> | 139 | <class>QLabel</class> |
195 | <property stdset="1"> | 140 | <property stdset="1"> |
196 | <name>name</name> | 141 | <name>name</name> |
@@ -209,47 +154,98 @@ | |||
209 | <string></string> | 154 | <string></string> |
210 | </property> | 155 | </property> |
211 | </widget> | 156 | </widget> |
212 | <widget row="0" column="1" > | 157 | <widget> |
213 | <class>QLabel</class> | 158 | <class>QLabel</class> |
214 | <property stdset="1"> | 159 | <property stdset="1"> |
215 | <name>name</name> | 160 | <name>name</name> |
216 | <cstring>ipAddressLabel</cstring> | 161 | <cstring>TextLabel24</cstring> |
217 | </property> | 162 | </property> |
218 | <property stdset="1"> | 163 | <property stdset="1"> |
219 | <name>frameShape</name> | 164 | <name>frameShape</name> |
220 | <enum>Panel</enum> | 165 | <enum>MShape</enum> |
221 | </property> | 166 | </property> |
222 | <property stdset="1"> | 167 | <property stdset="1"> |
223 | <name>frameShadow</name> | 168 | <name>frameShadow</name> |
224 | <enum>Sunken</enum> | 169 | <enum>MShadow</enum> |
225 | </property> | 170 | </property> |
226 | <property stdset="1"> | 171 | <property stdset="1"> |
227 | <name>text</name> | 172 | <name>text</name> |
228 | <string>0.0.0.0</string> | 173 | <string>Broadcast</string> |
229 | </property> | 174 | </property> |
230 | </widget> | 175 | </widget> |
231 | <spacer row="7" column="1" > | 176 | <widget> |
232 | <property> | 177 | <class>QLayoutWidget</class> |
178 | <property stdset="1"> | ||
233 | <name>name</name> | 179 | <name>name</name> |
234 | <cstring>Spacer18</cstring> | 180 | <cstring>Layout1</cstring> |
235 | </property> | 181 | </property> |
182 | <grid> | ||
183 | <property stdset="1"> | ||
184 | <name>margin</name> | ||
185 | <number>0</number> | ||
186 | </property> | ||
187 | <property stdset="1"> | ||
188 | <name>spacing</name> | ||
189 | <number>6</number> | ||
190 | </property> | ||
191 | <widget row="1" column="0" > | ||
192 | <class>QPushButton</class> | ||
193 | <property stdset="1"> | ||
194 | <name>name</name> | ||
195 | <cstring>refreshButton</cstring> | ||
196 | </property> | ||
197 | <property stdset="1"> | ||
198 | <name>text</name> | ||
199 | <string>&Refresh</string> | ||
200 | </property> | ||
201 | </widget> | ||
202 | <widget row="0" column="1" > | ||
203 | <class>QPushButton</class> | ||
204 | <property stdset="1"> | ||
205 | <name>name</name> | ||
206 | <cstring>stopButton</cstring> | ||
207 | </property> | ||
208 | <property stdset="1"> | ||
209 | <name>text</name> | ||
210 | <string>S&top</string> | ||
211 | </property> | ||
212 | </widget> | ||
213 | <widget row="1" column="1" > | ||
214 | <class>QPushButton</class> | ||
215 | <property stdset="1"> | ||
216 | <name>name</name> | ||
217 | <cstring>restartButton</cstring> | ||
218 | </property> | ||
219 | <property stdset="1"> | ||
220 | <name>text</name> | ||
221 | <string>R&estart</string> | ||
222 | </property> | ||
223 | </widget> | ||
224 | <widget row="0" column="0" > | ||
225 | <class>QPushButton</class> | ||
226 | <property stdset="1"> | ||
227 | <name>name</name> | ||
228 | <cstring>startButton</cstring> | ||
229 | </property> | ||
230 | <property stdset="1"> | ||
231 | <name>text</name> | ||
232 | <string>&Start</string> | ||
233 | </property> | ||
234 | </widget> | ||
235 | </grid> | ||
236 | </widget> | ||
237 | <widget> | ||
238 | <class>Line</class> | ||
236 | <property stdset="1"> | 239 | <property stdset="1"> |
237 | <name>orientation</name> | 240 | <name>name</name> |
238 | <enum>Vertical</enum> | 241 | <cstring>Line5</cstring> |
239 | </property> | 242 | </property> |
240 | <property stdset="1"> | 243 | <property stdset="1"> |
241 | <name>sizeType</name> | 244 | <name>orientation</name> |
242 | <enum>Expanding</enum> | 245 | <enum>Horizontal</enum> |
243 | </property> | ||
244 | <property> | ||
245 | <name>sizeHint</name> | ||
246 | <size> | ||
247 | <width>20</width> | ||
248 | <height>20</height> | ||
249 | </size> | ||
250 | </property> | 246 | </property> |
251 | </spacer> | 247 | </widget> |
252 | <widget row="6" column="0" rowspan="1" colspan="2" > | 248 | <widget> |
253 | <class>QLayoutWidget</class> | 249 | <class>QLayoutWidget</class> |
254 | <property stdset="1"> | 250 | <property stdset="1"> |
255 | <name>name</name> | 251 | <name>name</name> |
@@ -298,18 +294,39 @@ | |||
298 | </widget> | 294 | </widget> |
299 | </hbox> | 295 | </hbox> |
300 | </widget> | 296 | </widget> |
301 | <widget row="5" column="0" rowspan="1" colspan="2" > | 297 | <spacer> |
302 | <class>Line</class> | 298 | <property> |
303 | <property stdset="1"> | ||
304 | <name>name</name> | 299 | <name>name</name> |
305 | <cstring>Line5</cstring> | 300 | <cstring>Spacer18</cstring> |
306 | </property> | 301 | </property> |
307 | <property stdset="1"> | 302 | <property stdset="1"> |
308 | <name>orientation</name> | 303 | <name>orientation</name> |
309 | <enum>Horizontal</enum> | 304 | <enum>Vertical</enum> |
305 | </property> | ||
306 | <property stdset="1"> | ||
307 | <name>sizeType</name> | ||
308 | <enum>Expanding</enum> | ||
309 | </property> | ||
310 | <property> | ||
311 | <name>sizeHint</name> | ||
312 | <size> | ||
313 | <width>20</width> | ||
314 | <height>20</height> | ||
315 | </size> | ||
316 | </property> | ||
317 | </spacer> | ||
318 | <widget> | ||
319 | <class>QCheckBox</class> | ||
320 | <property stdset="1"> | ||
321 | <name>name</name> | ||
322 | <cstring>CheckBoxSilent</cstring> | ||
323 | </property> | ||
324 | <property stdset="1"> | ||
325 | <name>text</name> | ||
326 | <string>be &silent</string> | ||
310 | </property> | 327 | </property> |
311 | </widget> | 328 | </widget> |
312 | </grid> | 329 | </vbox> |
313 | </widget> | 330 | </widget> |
314 | <tabstops> | 331 | <tabstops> |
315 | <tabstop>startButton</tabstop> | 332 | <tabstop>startButton</tabstop> |
diff --git a/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp b/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp index e00dcce..37c3a91 100644 --- a/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp +++ b/noncore/settings/networksettings/interfaces/interfaceinformationimp.cpp | |||
@@ -1,12 +1,15 @@ | |||
1 | #include "interfaceinformationimp.h" | 1 | #include "interfaceinformationimp.h" |
2 | #include "interfaceadvanced.h" | 2 | #include "interfaceadvanced.h" |
3 | 3 | ||
4 | #include <qcheckbox.h> | ||
4 | #include <qpushbutton.h> | 5 | #include <qpushbutton.h> |
5 | #include <qlabel.h> | 6 | #include <qlabel.h> |
6 | #include <qgroupbox.h> | 7 | #include <qgroupbox.h> |
7 | #include <qmessagebox.h> | 8 | #include <qmessagebox.h> |
8 | 9 | ||
9 | #ifdef QWS | 10 | #include <qpe/config.h> |
11 | |||
12 | #ifdef QWS | ||
10 | #else | 13 | #else |
11 | #define showMaximized show | 14 | #define showMaximized show |
12 | #endif | 15 | #endif |
@@ -14,7 +17,7 @@ | |||
14 | /** | 17 | /** |
15 | * Constructor for the InterfaceInformationImp class. This class pretty much | 18 | * Constructor for the InterfaceInformationImp class. This class pretty much |
16 | * just display's information about the interface that is passed to it. | 19 | * just display's information about the interface that is passed to it. |
17 | */ | 20 | */ |
18 | InterfaceInformationImp::InterfaceInformationImp(QWidget *parent, const char *name, Interface *i, WFlags f):InterfaceInformation(parent, name, f), interface(i){ | 21 | InterfaceInformationImp::InterfaceInformationImp(QWidget *parent, const char *name, Interface *i, WFlags f):InterfaceInformation(parent, name, f), interface(i){ |
19 | connect(i, SIGNAL(updateInterface(Interface *)), this, SLOT(updateInterface(Interface *))); | 22 | connect(i, SIGNAL(updateInterface(Interface *)), this, SLOT(updateInterface(Interface *))); |
20 | connect(i, SIGNAL(updateMessage(const QString &)), this, SLOT(showMessage(const QString &))); | 23 | connect(i, SIGNAL(updateMessage(const QString &)), this, SLOT(showMessage(const QString &))); |
@@ -24,13 +27,23 @@ InterfaceInformationImp::InterfaceInformationImp(QWidget *parent, const char *na | |||
24 | connect(restartButton, SIGNAL(clicked()), interface, SLOT(restart())); | 27 | connect(restartButton, SIGNAL(clicked()), interface, SLOT(restart())); |
25 | connect(refreshButton, SIGNAL(clicked()), interface, SLOT(refresh())); | 28 | connect(refreshButton, SIGNAL(clicked()), interface, SLOT(refresh())); |
26 | connect(advancedButton, SIGNAL(clicked()), this, SLOT(advanced())); | 29 | connect(advancedButton, SIGNAL(clicked()), this, SLOT(advanced())); |
30 | Config cfg("networksettings", Config::User); | ||
31 | cfg.setGroup("interface"); | ||
32 | CheckBoxSilent->setChecked( cfg.readBoolEntry("silent", false) ); | ||
33 | } | ||
34 | |||
35 | InterfaceInformationImp::~InterfaceInformationImp() | ||
36 | { | ||
37 | Config cfg("networksettings", Config::User); | ||
38 | cfg.setGroup("interface"); | ||
39 | cfg.writeEntry("silent", CheckBoxSilent->isChecked() ); | ||
27 | } | 40 | } |
28 | 41 | ||
29 | /** | 42 | /** |
30 | * Update the interface information and buttons. | 43 | * Update the interface information and buttons. |
31 | * @param Intarface *i the interface to update (should be the one we already | 44 | * @param Intarface *i the interface to update (should be the one we already |
32 | * know about). | 45 | * know about). |
33 | */ | 46 | */ |
34 | void InterfaceInformationImp::updateInterface(Interface *){ | 47 | void InterfaceInformationImp::updateInterface(Interface *){ |
35 | if(interface->getStatus()){ | 48 | if(interface->getStatus()){ |
36 | startButton->setEnabled(false); | 49 | startButton->setEnabled(false); |
@@ -51,7 +64,7 @@ void InterfaceInformationImp::updateInterface(Interface *){ | |||
51 | /** | 64 | /** |
52 | * Create the advanced widget. Fill it with the current interface's information. | 65 | * Create the advanced widget. Fill it with the current interface's information. |
53 | * Display it. | 66 | * Display it. |
54 | */ | 67 | */ |
55 | void InterfaceInformationImp::advanced(){ | 68 | void InterfaceInformationImp::advanced(){ |
56 | InterfaceAdvanced *a = new InterfaceAdvanced(this, "InterfaceAdvanced", Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog); | 69 | InterfaceAdvanced *a = new InterfaceAdvanced(this, "InterfaceAdvanced", Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog); |
57 | a->interfaceName->setText(interface->getInterfaceName()); | 70 | a->interfaceName->setText(interface->getInterfaceName()); |
@@ -70,8 +83,9 @@ void InterfaceInformationImp::advanced(){ | |||
70 | * Messages from the interface if start/stop went as planned. | 83 | * Messages from the interface if start/stop went as planned. |
71 | * Purly for user feedback. | 84 | * Purly for user feedback. |
72 | * @param message the message to display. | 85 | * @param message the message to display. |
73 | */ | 86 | */ |
74 | void InterfaceInformationImp::showMessage(const QString &message){ | 87 | void InterfaceInformationImp::showMessage(const QString &message){ |
88 | if (CheckBoxSilent->isChecked()) return; | ||
75 | QMessageBox::information(this, "Message", message, QMessageBox::Ok); | 89 | QMessageBox::information(this, "Message", message, QMessageBox::Ok); |
76 | } | 90 | } |
77 | 91 | ||
diff --git a/noncore/settings/networksettings/interfaces/interfaceinformationimp.h b/noncore/settings/networksettings/interfaces/interfaceinformationimp.h index 65cdfe0..9c93d1d 100644 --- a/noncore/settings/networksettings/interfaces/interfaceinformationimp.h +++ b/noncore/settings/networksettings/interfaces/interfaceinformationimp.h | |||
@@ -10,7 +10,7 @@ Q_OBJECT | |||
10 | 10 | ||
11 | public: | 11 | public: |
12 | InterfaceInformationImp(QWidget *parent=0, const char *name=0, Interface *i=0, WFlags f=0); | 12 | InterfaceInformationImp(QWidget *parent=0, const char *name=0, Interface *i=0, WFlags f=0); |
13 | ~InterfaceInformationImp(){}; | 13 | ~InterfaceInformationImp(); |
14 | 14 | ||
15 | private slots: | 15 | private slots: |
16 | void advanced(); | 16 | void advanced(); |
diff --git a/noncore/settings/networksettings/interfaces/interfaces.cpp b/noncore/settings/networksettings/interfaces/interfaces.cpp index 71d0cf5..436e449 100644 --- a/noncore/settings/networksettings/interfaces/interfaces.cpp +++ b/noncore/settings/networksettings/interfaces/interfaces.cpp | |||
@@ -1,5 +1,6 @@ | |||
1 | #include "interfaces.h" | 1 | #include "interfaces.h" |
2 | 2 | ||
3 | #include <qcheckbox.h> | ||
3 | #include <qfile.h> | 4 | #include <qfile.h> |
4 | #include <qtextstream.h> | 5 | #include <qtextstream.h> |
5 | #include <qregexp.h> | 6 | #include <qregexp.h> |
@@ -151,6 +152,7 @@ bool Interfaces::isInterfaceSet() const { | |||
151 | * @return true if successfull. | 152 | * @return true if successfull. |
152 | */ | 153 | */ |
153 | bool Interfaces::addInterface(const QString &interface, const QString &family, const QString &method){ | 154 | bool Interfaces::addInterface(const QString &interface, const QString &family, const QString &method){ |
155 | qDebug("Interfaces::addInterface(%s)",interface.latin1()); | ||
154 | if(0 == acceptedFamily.contains(family)) | 156 | if(0 == acceptedFamily.contains(family)) |
155 | return false; | 157 | return false; |
156 | QString newInterface = interface.simplifyWhiteSpace(); | 158 | QString newInterface = interface.simplifyWhiteSpace(); |
@@ -166,6 +168,7 @@ bool Interfaces::addInterface(const QString &interface, const QString &family, c | |||
166 | * @return bool true if successfull | 168 | * @return bool true if successfull |
167 | */ | 169 | */ |
168 | bool Interfaces::copyInterface(const QString &interface, const QString &newInterface){ | 170 | bool Interfaces::copyInterface(const QString &interface, const QString &newInterface){ |
171 | qDebug("copy interface %s to %s", interface.latin1(), newInterface.latin1()); | ||
169 | if(!setInterface(interface)) | 172 | if(!setInterface(interface)) |
170 | return false; | 173 | return false; |
171 | 174 | ||
@@ -272,12 +275,16 @@ QString Interfaces::getInterfaceMethod(bool &error){ | |||
272 | * @return bool true if successfull. | 275 | * @return bool true if successfull. |
273 | */ | 276 | */ |
274 | bool Interfaces::setInterfaceName(const QString &newName){ | 277 | bool Interfaces::setInterfaceName(const QString &newName){ |
278 | qDebug("setInterfaceName %s", newName.latin1()); | ||
275 | if(currentIface == interfaces.end()) | 279 | if(currentIface == interfaces.end()) |
276 | return false; | 280 | return false; |
277 | QString name = newName.simplifyWhiteSpace(); | 281 | QString name = newName.simplifyWhiteSpace(); |
278 | name = name.replace(QRegExp(" "), ""); | 282 | name = name.replace(QRegExp(" "), ""); |
279 | bool returnValue = false; | 283 | bool returnValue = false; |
280 | (*currentIface) = QString("iface %1 %2 %3").arg(name).arg(getInterfaceFamily(returnValue)).arg(getInterfaceMethod(returnValue)); | 284 | QString tmp = QString("iface %1 %2 %3").arg(name).arg(getInterfaceFamily(returnValue)).arg(getInterfaceMethod(returnValue)); |
285 | qDebug("setting %s",tmp.latin1()); | ||
286 | |||
287 | (*currentIface) = tmp; | ||
281 | return !returnValue; | 288 | return !returnValue; |
282 | } | 289 | } |
283 | 290 | ||
@@ -327,13 +334,19 @@ QString Interfaces::getInterfaceOption(const QString &option, bool &error){ | |||
327 | /** | 334 | /** |
328 | * Set a value for an option in the currently selected interface. If option | 335 | * Set a value for an option in the currently selected interface. If option |
329 | * doesn't exist then it is added along with the value. | 336 | * doesn't exist then it is added along with the value. |
337 | * If value isEmpty() then we will remove the option | ||
338 | * | ||
330 | * @param option the options to set the value. | 339 | * @param option the options to set the value. |
331 | * @param value the value that option should be set to. | 340 | * @param value the value that option should be set to. |
332 | * @param error set to true if any error occurs, false otherwise. | 341 | * @param error set to true if any error occurs, false otherwise. |
333 | * @return QString the options value. QString::null if error == true | 342 | * @return QString the options value. QString::null if error == true |
334 | */ | 343 | */ |
335 | bool Interfaces::setInterfaceOption(const QString &option, const QString &value){ | 344 | bool Interfaces::setInterfaceOption(const QString &option, const QString &value){ |
336 | return setOption(currentIface, option, value); | 345 | if( value.stripWhiteSpace().isEmpty() ) |
346 | return removeInterfaceOption( option ); | ||
347 | |||
348 | qDebug("iface >%s< option >%s< value >%s<", (*currentIface).latin1(), option.latin1(),value.latin1()); | ||
349 | return setOption(currentIface, option, value); | ||
337 | } | 350 | } |
338 | 351 | ||
339 | /** | 352 | /** |
@@ -492,30 +505,49 @@ bool Interfaces::setStanza(const QString &stanza, const QString &option, QString | |||
492 | bool Interfaces::setOption(const QStringList::Iterator &start, const QString &option, const QString &value){ | 505 | bool Interfaces::setOption(const QStringList::Iterator &start, const QString &option, const QString &value){ |
493 | if(start == interfaces.end()) | 506 | if(start == interfaces.end()) |
494 | return false; | 507 | return false; |
495 | 508 | qDebug("setting option"); | |
496 | bool found = false; | 509 | bool found = false; |
510 | bool replaced = false; | ||
511 | QStringList::Iterator insertAt = NULL; | ||
497 | for ( QStringList::Iterator it = start; it != interfaces.end(); ++it ) { | 512 | for ( QStringList::Iterator it = start; it != interfaces.end(); ++it ) { |
498 | if(((*it).contains(IFACE) || (*it).contains(MAPPING) || (*it).contains(AUTO)) && it != start){ | 513 | qDebug(" Interfaces::setOption got line >%s<",(*it).latin1()); |
499 | if(!found && value != ""){ | 514 | // FIXME: was not completly stupid just wrong sice all options got inserted bevore the iface line |
500 | // Got to the end of the stanza without finding it, so append it. | 515 | // but since it works with an empty interfaces file I (tille) will not do anything more |
501 | interfaces.insert(--it, QString("\t%1 %2").arg(option).arg(value)); | 516 | if(((*it).contains(IFACE) || (*it).contains(MAPPING) || (*it).contains(AUTO)) ){ |
502 | } | 517 | if (found) break; |
503 | found = true; | 518 | // && it != start){ |
504 | break; | 519 | // if(!found && value != ""){ |
505 | } | 520 | // // Got to the end of the stanza without finding it, so append it. |
521 | // qDebug(" Got to the end of the stanza without finding it, so append it."); | ||
522 | // interfaces.insert(--it, QString("\t%1 %2").arg(option).arg(value)); | ||
523 | // } | ||
524 | qDebug("found 1"); | ||
525 | // interfaces.insert(++it, QString("\t%1 %2").arg(option).arg(value)); | ||
526 | found = true; | ||
527 | insertAt = it; | ||
528 | |||
529 | } | ||
506 | if((*it).contains(option) && it != start && (*it).at(0) != '#'){ | 530 | if((*it).contains(option) && it != start && (*it).at(0) != '#'){ |
507 | // Found it in stanza so replace it. | 531 | // Found it in stanza so replace it. |
532 | qDebug("found 2"); | ||
508 | if(found) | 533 | if(found) |
509 | qDebug(QString("Interfaces: Set Options found more then one value for option: %1 in stanza: %1").arg(option).arg((*start)).latin1()); | 534 | qDebug(QString("Interfaces: Set Options found more then one value for option: %1 in stanza: %1").arg(option).arg((*start)).latin1()); |
510 | found = true; | 535 | found = true; |
536 | replaced = true; | ||
511 | (*it) = QString("\t%1 %2").arg(option).arg(value); | 537 | (*it) = QString("\t%1 %2").arg(option).arg(value); |
512 | } | 538 | } |
513 | } | 539 | } |
514 | if(!found){ | 540 | if(!found){ |
541 | qDebug("! found insert anyway"); | ||
515 | QStringList::Iterator p = start; | 542 | QStringList::Iterator p = start; |
516 | interfaces.insert(++p, QString("\t%1 %2").arg(option).arg(value)); | 543 | interfaces.insert(++p, QString("\t%1 %2").arg(option).arg(value)); |
517 | found = true; | 544 | found = true; |
518 | } | 545 | } |
546 | |||
547 | if(found && !replaced){ | ||
548 | qDebug("found iface but not the option so insert it here..."); | ||
549 | interfaces.insert(++insertAt, QString("\t%1 %2").arg(option).arg(value)); | ||
550 | } | ||
519 | return found; | 551 | return found; |
520 | } | 552 | } |
521 | 553 | ||
@@ -552,7 +584,8 @@ bool Interfaces::removeOption(const QStringList::Iterator &start, const QString | |||
552 | if(found) | 584 | if(found) |
553 | qDebug(QString("Interfaces: Set Options found more then one value for option: %1 in stanza: %1").arg(option).arg((*start)).latin1()); | 585 | qDebug(QString("Interfaces: Set Options found more then one value for option: %1 in stanza: %1").arg(option).arg((*start)).latin1()); |
554 | found = true; | 586 | found = true; |
555 | (*it) = ""; | 587 | it = interfaces.remove( it ); // we really want to remove the line |
588 | --it; // we do ++it later in the head of the for loop | ||
556 | } | 589 | } |
557 | } | 590 | } |
558 | return found; | 591 | return found; |
@@ -579,7 +612,8 @@ bool Interfaces::removeOption(const QStringList::Iterator &start, const QString | |||
579 | if(found) | 612 | if(found) |
580 | qDebug(QString("Interfaces: Set Options found more then one value for option: %1 in stanza: %1").arg(option).arg((*start)).latin1()); | 613 | qDebug(QString("Interfaces: Set Options found more then one value for option: %1 in stanza: %1").arg(option).arg((*start)).latin1()); |
581 | found = true; | 614 | found = true; |
582 | (*it) = ""; | 615 | it = interfaces.remove( it ); // we really want to remove the line |
616 | --it; // we do ++it later in the head of the for loop | ||
583 | } | 617 | } |
584 | } | 618 | } |
585 | return found; | 619 | return found; |
diff --git a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp index b40d101..e844d8a 100644 --- a/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp +++ b/noncore/settings/networksettings/interfaces/interfacesetupimp.cpp | |||
@@ -44,6 +44,7 @@ InterfaceSetupImp::~InterfaceSetupImp(){ | |||
44 | bool InterfaceSetupImp::saveChanges(){ | 44 | bool InterfaceSetupImp::saveChanges(){ |
45 | bool error; | 45 | bool error; |
46 | QString iface = interfaces->getInterfaceName(error); | 46 | QString iface = interfaces->getInterfaceName(error); |
47 | qDebug("InterfaceSetupImp::saveChanges saves interface %s", iface.latin1() ); | ||
47 | if(!saveSettings()) | 48 | if(!saveSettings()) |
48 | return false; | 49 | return false; |
49 | 50 | ||
@@ -117,6 +118,9 @@ bool InterfaceSetupImp::saveSettings(){ | |||
117 | QString dns = firstDNSLineEdit->text() + " " + secondDNSLineEdit->text(); | 118 | QString dns = firstDNSLineEdit->text() + " " + secondDNSLineEdit->text(); |
118 | interfaces->setInterfaceOption("up "DNSSCRIPT" -a ", dns); | 119 | interfaces->setInterfaceOption("up "DNSSCRIPT" -a ", dns); |
119 | interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns); | 120 | interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns); |
121 | }else{ | ||
122 | interfaces->removeInterfaceOption("up "DNSSCRIPT" -a "); | ||
123 | interfaces->removeInterfaceOption("down "DNSSCRIPT" -r"); | ||
120 | } | 124 | } |
121 | } | 125 | } |
122 | 126 | ||
diff --git a/noncore/settings/networksettings/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindowimp.cpp index 2d714ca..f74cf87 100644 --- a/noncore/settings/networksettings/mainwindowimp.cpp +++ b/noncore/settings/networksettings/mainwindowimp.cpp | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <qlabel.h> | 13 | #include <qlabel.h> |
14 | #include <qpe/qcopenvelope_qws.h> | 14 | #include <qpe/qcopenvelope_qws.h> |
15 | #include <qtabwidget.h> // in order to disable the profiles tab | 15 | #include <qtabwidget.h> // in order to disable the profiles tab |
16 | #include <qpe/qpeapplication.h> | ||
16 | 17 | ||
17 | #include <qmessagebox.h> | 18 | #include <qmessagebox.h> |
18 | 19 | ||
@@ -49,7 +50,7 @@ | |||
49 | #define DEFAULT_SCHEME "/var/lib/pcmcia/scheme" | 50 | #define DEFAULT_SCHEME "/var/lib/pcmcia/scheme" |
50 | #define _PROCNETDEV "/proc/net/dev" | 51 | #define _PROCNETDEV "/proc/net/dev" |
51 | 52 | ||
52 | MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name), advancedUserMode(true), scheme(DEFAULT_SCHEME){ | 53 | MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, Qt::WStyle_ContextHelp), advancedUserMode(true), scheme(DEFAULT_SCHEME){ |
53 | connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked())); | 54 | connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked())); |
54 | connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked())); | 55 | connect(removeConnectionButton, SIGNAL(clicked()), this, SLOT(removeClicked())); |
55 | connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked())); | 56 | connect(informationConnectionButton, SIGNAL(clicked()), this, SLOT(informationClicked())); |
@@ -62,7 +63,7 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par | |||
62 | connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&))); | 63 | connect(newProfile, SIGNAL(textChanged(const QString&)), this, SLOT(newProfileChanged(const QString&))); |
63 | 64 | ||
64 | //FIXME: disable profiles for the moment: | 65 | //FIXME: disable profiles for the moment: |
65 | // tabWidget->setTabEnabled( tab, false ); | 66 | tabWidget->setTabEnabled( tab, false ); |
66 | 67 | ||
67 | // Load connections. | 68 | // Load connections. |
68 | // /usr/local/kde/lib/libinterfaces.la | 69 | // /usr/local/kde/lib/libinterfaces.la |
@@ -78,6 +79,14 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par | |||
78 | QStringList list = i.getInterfaceList(); | 79 | QStringList list = i.getInterfaceList(); |
79 | QMap<QString, Interface*>::Iterator it; | 80 | QMap<QString, Interface*>::Iterator it; |
80 | for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni ) { | 81 | for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni ) { |
82 | /* | ||
83 | * we skipped it in getAllInterfaces now | ||
84 | * we need to ignore it as well | ||
85 | */ | ||
86 | if (m_handledIfaces.contains( *ni) ) { | ||
87 | qDebug("Not up iface handled by module"); | ||
88 | continue; | ||
89 | } | ||
81 | bool found = false; | 90 | bool found = false; |
82 | for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it ){ | 91 | for( it = interfaceNames.begin(); it != interfaceNames.end(); ++it ){ |
83 | if(it.key() == (*ni)) | 92 | if(it.key() == (*ni)) |
@@ -196,6 +205,10 @@ void MainWindowImp::getAllInterfaces(){ | |||
196 | 205 | ||
197 | for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) { | 206 | for (QStringList::Iterator it = ifaces.begin(); it != ifaces.end(); ++it) { |
198 | int flags = 0; | 207 | int flags = 0; |
208 | if ( m_handledIfaces.contains( (*it) ) ) { | ||
209 | qDebug(" %s is handled by a module", (*it).latin1() ); | ||
210 | continue; | ||
211 | } | ||
199 | // int family; | 212 | // int family; |
200 | i = NULL; | 213 | i = NULL; |
201 | 214 | ||
@@ -307,6 +320,7 @@ Module* MainWindowImp::loadPlugin(const QString &pluginFileName, const QString & | |||
307 | return NULL; | 320 | return NULL; |
308 | } | 321 | } |
309 | 322 | ||
323 | m_handledIfaces += object->handledInterfaceNames(); | ||
310 | // Store for deletion later | 324 | // Store for deletion later |
311 | libraries.insert(object, lib); | 325 | libraries.insert(object, lib); |
312 | return object; | 326 | return object; |
@@ -426,7 +440,7 @@ void MainWindowImp::configureClicked(){ | |||
426 | } | 440 | } |
427 | } | 441 | } |
428 | 442 | ||
429 | InterfaceSetupImpDialog *configure = new InterfaceSetupImpDialog(this, "InterfaceSetupImp", i, true, Qt::WDestructiveClose ); | 443 | InterfaceSetupImpDialog *configure = new InterfaceSetupImpDialog(this, "InterfaceSetupImp", i, true, Qt::WDestructiveClose | Qt::WStyle_ContextHelp ); |
430 | configure->setProfile(currentProfileText); | 444 | configure->setProfile(currentProfileText); |
431 | configure->showMaximized(); | 445 | configure->showMaximized(); |
432 | } | 446 | } |
@@ -459,7 +473,7 @@ void MainWindowImp::informationClicked(){ | |||
459 | return; | 473 | return; |
460 | } | 474 | } |
461 | } | 475 | } |
462 | InterfaceInformationImp *information = new InterfaceInformationImp(this, "InterfaceSetupImp", i, Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog); | 476 | InterfaceInformationImp *information = new InterfaceInformationImp(this, "InterfaceSetupImp", i, Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog | Qt::WStyle_ContextHelp); |
463 | information->showMaximized(); | 477 | information->showMaximized(); |
464 | } | 478 | } |
465 | 479 | ||
@@ -639,7 +653,6 @@ void MainWindowImp::receive(const QCString &msg, const QByteArray &arg) | |||
639 | { | 653 | { |
640 | bool found = false; | 654 | bool found = false; |
641 | qDebug("MainWindowImp::receive QCop msg >"+msg+"<"); | 655 | qDebug("MainWindowImp::receive QCop msg >"+msg+"<"); |
642 | |||
643 | if (msg == "raise") { | 656 | if (msg == "raise") { |
644 | raise(); | 657 | raise(); |
645 | return; | 658 | return; |
diff --git a/noncore/settings/networksettings/mainwindowimp.h b/noncore/settings/networksettings/mainwindowimp.h index a553f75..451835b 100644 --- a/noncore/settings/networksettings/mainwindowimp.h +++ b/noncore/settings/networksettings/mainwindowimp.h | |||
@@ -10,7 +10,7 @@ class Interface; | |||
10 | class QLibrary; | 10 | class QLibrary; |
11 | class KProcess; | 11 | class KProcess; |
12 | class QCopChannel; | 12 | class QCopChannel; |
13 | #ifdef QWS | 13 | #ifdef QWS |
14 | class QLibrary; | 14 | class QLibrary; |
15 | #else | 15 | #else |
16 | class KLibrary; | 16 | class KLibrary; |
@@ -25,21 +25,21 @@ class MainWindowImp : public MainWindow { | |||
25 | public: | 25 | public: |
26 | MainWindowImp(QWidget *parent=0, const char *name=0); | 26 | MainWindowImp(QWidget *parent=0, const char *name=0); |
27 | ~MainWindowImp(); | 27 | ~MainWindowImp(); |
28 | 28 | ||
29 | QCopChannel *channel; | 29 | QCopChannel *channel; |
30 | 30 | ||
31 | private slots: | 31 | private slots: |
32 | void getAllInterfaces(); | 32 | void getAllInterfaces(); |
33 | 33 | ||
34 | void addClicked(); | 34 | void addClicked(); |
35 | void removeClicked(); | 35 | void removeClicked(); |
36 | void configureClicked(); | 36 | void configureClicked(); |
37 | void informationClicked(); | 37 | void informationClicked(); |
38 | 38 | ||
39 | void addProfile(); | 39 | void addProfile(); |
40 | void removeProfile(); | 40 | void removeProfile(); |
41 | void changeProfile(); | 41 | void changeProfile(); |
42 | 42 | ||
43 | void updateInterface(Interface *i); | 43 | void updateInterface(Interface *i); |
44 | void newProfileChanged(const QString& newText); | 44 | void newProfileChanged(const QString& newText); |
45 | 45 | ||
@@ -48,7 +48,7 @@ private slots: | |||
48 | private: | 48 | private: |
49 | void makeChannel(); | 49 | void makeChannel(); |
50 | void loadModules(const QString &path); | 50 | void loadModules(const QString &path); |
51 | 51 | ||
52 | Module* loadPlugin(const QString &pluginFileName, | 52 | Module* loadPlugin(const QString &pluginFileName, |
53 | const QString &resolveString = "create_plugin"); | 53 | const QString &resolveString = "create_plugin"); |
54 | 54 | ||
@@ -58,7 +58,8 @@ private: | |||
58 | QMap<Module*, QLibrary*> libraries; | 58 | QMap<Module*, QLibrary*> libraries; |
59 | QMap<Interface*, QListViewItem*> items; | 59 | QMap<Interface*, QListViewItem*> items; |
60 | QMap<QListViewItem*, Interface*> interfaceItems; | 60 | QMap<QListViewItem*, Interface*> interfaceItems; |
61 | 61 | QStringList m_handledIfaces; | |
62 | |||
62 | QMap<KProcess*, QString> threads; | 63 | QMap<KProcess*, QString> threads; |
63 | QStringList profiles; | 64 | QStringList profiles; |
64 | 65 | ||
diff --git a/noncore/settings/networksettings/module.h b/noncore/settings/networksettings/module.h index db74394..f7d8046 100644 --- a/noncore/settings/networksettings/module.h +++ b/noncore/settings/networksettings/module.h | |||
@@ -18,7 +18,7 @@ class Module : QObject{ | |||
18 | signals: | 18 | signals: |
19 | void updateInterface(Interface *i); | 19 | void updateInterface(Interface *i); |
20 | 20 | ||
21 | 21 | ||
22 | public: | 22 | public: |
23 | Module(){}; | 23 | Module(){}; |
24 | 24 | ||
@@ -32,14 +32,14 @@ public: | |||
32 | * The current profile has been changed and the module should do any | 32 | * The current profile has been changed and the module should do any |
33 | * neccesary changes also. | 33 | * neccesary changes also. |
34 | * @param newProfile what the profile should be changed to. | 34 | * @param newProfile what the profile should be changed to. |
35 | */ | 35 | */ |
36 | virtual void setProfile(const QString &newProfile) = 0; | 36 | virtual void setProfile(const QString &newProfile) = 0; |
37 | 37 | ||
38 | /** | 38 | /** |
39 | * get the icon name for this device. | 39 | * get the icon name for this device. |
40 | * @param Interface* can be used in determining the icon. | 40 | * @param Interface* can be used in determining the icon. |
41 | * @return QString the icon name (minus .png, .gif etc) | 41 | * @return QString the icon name (minus .png, .gif etc) |
42 | */ | 42 | */ |
43 | virtual QString getPixmapName(Interface *) = 0; | 43 | virtual QString getPixmapName(Interface *) = 0; |
44 | 44 | ||
45 | /** | 45 | /** |
@@ -48,41 +48,41 @@ public: | |||
48 | * @return bool true if i is owned by this module, false otherwise. | 48 | * @return bool true if i is owned by this module, false otherwise. |
49 | */ | 49 | */ |
50 | virtual bool isOwner(Interface *){ return false; }; | 50 | virtual bool isOwner(Interface *){ return false; }; |
51 | 51 | ||
52 | /** | 52 | /** |
53 | * Create and return the WLANConfigure Module | 53 | * Create and return the WLANConfigure Module |
54 | * @param Interface *i the interface to configure. | 54 | * @param Interface *i the interface to configure. |
55 | * @return QWidget* pointer to this modules configure. | 55 | * @return QWidget* pointer to this modules configure. |
56 | */ | 56 | */ |
57 | virtual QWidget *configure(Interface *){ return NULL; } ; | 57 | virtual QWidget *configure(Interface *){ return NULL; } ; |
58 | 58 | ||
59 | /** | 59 | /** |
60 | * Create, and return the Information Module | 60 | * Create, and return the Information Module |
61 | * @param Interface *i the interface to get info on. | 61 | * @param Interface *i the interface to get info on. |
62 | * @return QWidget* pointer to this modules info. | 62 | * @return QWidget* pointer to this modules info. |
63 | */ | 63 | */ |
64 | virtual QWidget *information(Interface *){ return NULL; }; | 64 | virtual QWidget *information(Interface *){ return NULL; }; |
65 | 65 | ||
66 | /** | 66 | /** |
67 | * Get all active (up or down) interfaces | 67 | * Get all active (up or down) interfaces |
68 | * @return QList<Interface> A list of interfaces that exsist that havn't | 68 | * @return QList<Interface> A list of interfaces that exsist that havn't |
69 | * been called by isOwner() | 69 | * been called by isOwner() |
70 | */ | 70 | */ |
71 | virtual QList<Interface> getInterfaces() = 0; | 71 | virtual QList<Interface> getInterfaces() = 0; |
72 | 72 | ||
73 | /** | 73 | /** |
74 | * Adds possible new interfaces to the list (Example: usb(ppp), ir(ppp), | 74 | * Adds possible new interfaces to the list (Example: usb(ppp), ir(ppp), |
75 | * modem ppp) | 75 | * modem ppp) |
76 | */ | 76 | */ |
77 | virtual void possibleNewInterfaces(QMap<QString, QString> &list) = 0; | 77 | virtual void possibleNewInterfaces(QMap<QString, QString> &list) = 0; |
78 | 78 | ||
79 | /** | 79 | /** |
80 | * Attempts to create a new interface from name | 80 | * Attempts to create a new interface from name |
81 | * @return Interface* NULL if it was unable to be created. | 81 | * @return Interface* NULL if it was unable to be created. |
82 | * @param name the type of interface to create | 82 | * @param name the type of interface to create |
83 | */ | 83 | */ |
84 | virtual Interface *addNewInterface(const QString &name) = 0; | 84 | virtual Interface *addNewInterface(const QString &name) = 0; |
85 | 85 | ||
86 | /** | 86 | /** |
87 | * Attempts to remove the interface, doesn't delete i | 87 | * Attempts to remove the interface, doesn't delete i |
88 | * @return bool true if successfull, false otherwise. | 88 | * @return bool true if successfull, false otherwise. |
@@ -90,10 +90,21 @@ public: | |||
90 | virtual bool remove(Interface* i) = 0; | 90 | virtual bool remove(Interface* i) = 0; |
91 | 91 | ||
92 | /** | 92 | /** |
93 | * get dcop calls | 93 | * get dcop calls |
94 | */ | 94 | */ |
95 | virtual void receive(const QCString &msg, const QByteArray &arg) = 0; | 95 | virtual void receive(const QCString &msg, const QByteArray &arg) = 0; |
96 | 96 | ||
97 | QStringList handledInterfaceNames()const { return m_inter; } | ||
98 | protected: | ||
99 | /** | ||
100 | * set which interfaceNames should not be shown cause they're handled | ||
101 | * internally of this module.. An already running ppp link or | ||
102 | * a tunnel... | ||
103 | */ | ||
104 | void setHandledInterfaceNames( const QStringList& in) { m_inter = in; } | ||
105 | |||
106 | private: | ||
107 | QStringList m_inter; | ||
97 | }; | 108 | }; |
98 | 109 | ||
99 | #endif | 110 | #endif |
diff --git a/noncore/settings/networksettings/ppp/TODO b/noncore/settings/networksettings/ppp/TODO index 80fc5a6..14a1b3f 100644 --- a/noncore/settings/networksettings/ppp/TODO +++ b/noncore/settings/networksettings/ppp/TODO | |||
@@ -1,9 +1,3 @@ | |||
1 | - ask for password is non is set | 1 | - impl. PPPData::copyaccount |
2 | |||
3 | - stop pppd, i.e. fix interfaceinformationppp | ||
4 | |||
5 | - update modem attribute inputs when modem has changed | ||
6 | - impl. PPPData::copyaccount & PPPData::deleteAccount | ||
7 | |||
8 | - check if the same interface device combination allready exists | 2 | - check if the same interface device combination allready exists |
9 | - fix layout of edit account, i.e. get it shown maximised | 3 | - check if a deleted account or device exists in a config and ask the user |
diff --git a/noncore/settings/networksettings/ppp/accounts.cpp b/noncore/settings/networksettings/ppp/accounts.cpp index fa1c43b..28d8732 100644 --- a/noncore/settings/networksettings/ppp/accounts.cpp +++ b/noncore/settings/networksettings/ppp/accounts.cpp | |||
@@ -44,102 +44,66 @@ | |||
44 | 44 | ||
45 | void parseargs(char* buf, char** args); | 45 | void parseargs(char* buf, char** args); |
46 | 46 | ||
47 | AccountWidget::AccountWidget( PPPData *pd, QWidget *parent, const char *name ) | 47 | |
48 | : QWidget( parent, name )//, _pppdata(pd) | 48 | AccountWidget::AccountWidget( PPPData *pd, QWidget *parent, const char *name, WFlags f ) |
49 | : ChooserWidget( pd, parent, name, f ) | ||
49 | { | 50 | { |
50 | _pppdata = pd; | ||
51 | QVBoxLayout *l1 = new QVBoxLayout(this, 10, 10); | ||
52 | accountlist_l = new QListBox(this); | ||
53 | |||
54 | connect(accountlist_l, SIGNAL(highlighted(int)), | ||
55 | this, SLOT(slotListBoxSelect(int))); | ||
56 | connect(accountlist_l, SIGNAL(selected(int)), | ||
57 | this, SLOT(editaccount())); | ||
58 | l1->addWidget(accountlist_l, 10); | ||
59 | |||
60 | edit_b = new QPushButton(tr("&Edit..."), this); | ||
61 | connect(edit_b, SIGNAL(clicked()), SLOT(editaccount())); | ||
62 | QWhatsThis::add(edit_b, tr("Allows you to modify the selected account")); | ||
63 | l1->addWidget(edit_b); | ||
64 | 51 | ||
65 | new_b = new QPushButton(tr("&New..."), this); | 52 | QWhatsThis::add(edit_b, tr("Allows you to modify the selected account")); |
66 | connect(new_b, SIGNAL(clicked()), SLOT(newaccount())); | ||
67 | l1->addWidget(new_b); | ||
68 | QWhatsThis::add(new_b, tr("Create a new dialup connection\n" | 53 | QWhatsThis::add(new_b, tr("Create a new dialup connection\n" |
69 | "to the Internet")); | 54 | "to the Internet")); |
70 | |||
71 | copy_b = new QPushButton(tr("Co&py"), this); | ||
72 | connect(copy_b, SIGNAL(clicked()), SLOT(copyaccount())); | ||
73 | l1->addWidget(copy_b); | ||
74 | QWhatsThis::add(copy_b, | 55 | QWhatsThis::add(copy_b, |
75 | tr("Makes a copy of the selected account. All\n" | 56 | tr("Makes a copy of the selected account. All\n" |
76 | "settings of the selected account are copied\n" | 57 | "settings of the selected account are copied\n" |
77 | "to a new account, that you can modify to fit your\n" | 58 | "to a new account, that you can modify to fit your\n" |
78 | "needs")); | 59 | "needs")); |
79 | |||
80 | delete_b = new QPushButton(tr("De&lete"), this); | ||
81 | connect(delete_b, SIGNAL(clicked()), SLOT(deleteaccount())); | ||
82 | l1->addWidget(delete_b); | ||
83 | QWhatsThis::add(delete_b, | 60 | QWhatsThis::add(delete_b, |
84 | tr("<p>Deletes the selected account\n\n" | 61 | tr("<p>Deletes the selected account\n\n" |
85 | "<font color=\"red\"><b>Use with care!</b></font>")); | 62 | "<font color=\"red\"><b>Use with care!</b></font>")); |
86 | 63 | ||
87 | QHBoxLayout *l12 = new QHBoxLayout; | ||
88 | l1->addStretch(1); | ||
89 | l1->addLayout(l12); | ||
90 | 64 | ||
91 | int currAccId = _pppdata->currentAccountID(); | ||
92 | qDebug("currentAccountID %i", currAccId); | ||
93 | 65 | ||
94 | //load up account list from gppdata to the list box | 66 | copy_b->setEnabled( false ); //FIXME |
95 | if(_pppdata->count() > 0) { | 67 | // delete_b->setEnabled( false ); //FIXME |
96 | for(int i=0; i <= _pppdata->count()-1; i++) { | ||
97 | _pppdata->setAccountbyIndex(i); | ||
98 | accountlist_l->insertItem(_pppdata->accname()); | ||
99 | } | ||
100 | } | ||
101 | _pppdata->setAccountbyIndex( currAccId ); | ||
102 | 68 | ||
103 | qDebug("setting listview index to %i",_pppdata->currentAccountID() ); | 69 | listListbox->insertStringList(_pppdata->getAccountList()); |
104 | accountlist_l->setCurrentItem( _pppdata->currentAccountID() ); | ||
105 | slotListBoxSelect( _pppdata->currentAccountID() ); | ||
106 | 70 | ||
107 | l1->activate(); | 71 | for (uint i = 0; i < listListbox->count(); i++){ |
72 | if ( listListbox->text(i) == _pppdata->accname() ) | ||
73 | listListbox->setCurrentItem( i ); | ||
74 | } | ||
108 | } | 75 | } |
109 | 76 | ||
110 | 77 | ||
111 | 78 | ||
112 | void AccountWidget::slotListBoxSelect(int idx) { | 79 | void AccountWidget::slotListBoxSelect(int idx) { |
113 | delete_b->setEnabled((bool)(idx != -1)); | 80 | bool ok = _pppdata->setAccount( listListbox->text(idx) ); |
114 | edit_b->setEnabled((bool)(idx != -1)); | 81 | ok = (bool)(idx != -1); |
115 | copy_b->setEnabled((bool)(idx != -1)); | 82 | delete_b->setEnabled(ok); |
116 | if(idx!=-1) { | 83 | edit_b->setEnabled(ok); |
117 | qDebug("setting account to %i", idx); | 84 | //FIXME copy_b->setEnabled(ok); |
118 | QString account = _pppdata->accname(); | ||
119 | _pppdata->setAccountbyIndex(accountlist_l->currentItem()); | ||
120 | } | ||
121 | } | 85 | } |
122 | 86 | ||
123 | void AccountWidget::editaccount() { | 87 | void AccountWidget::edit() { |
124 | _pppdata->setAccount(accountlist_l->text(accountlist_l->currentItem())); | 88 | _pppdata->setAccount(listListbox->text(listListbox->currentItem())); |
125 | 89 | ||
126 | int result = doTab(); | 90 | int result = doTab(); |
127 | 91 | ||
128 | if(result == QDialog::Accepted) { | 92 | if(result == QDialog::Accepted) { |
129 | accountlist_l->changeItem(_pppdata->accname(),accountlist_l->currentItem()); | 93 | listListbox->changeItem(_pppdata->accname(),listListbox->currentItem()); |
130 | // emit resetaccounts(); | 94 | // emit resetaccounts(); |
131 | _pppdata->save(); | 95 | _pppdata->save(); |
132 | } | 96 | } |
133 | } | 97 | } |
134 | 98 | ||
135 | 99 | ||
136 | void AccountWidget::newaccount() { | 100 | void AccountWidget::create() { |
137 | 101 | ||
138 | if(accountlist_l->count() == MAX_ACCOUNTS) { | 102 | // if(listListbox->count() == MAX_ACCOUNTS) { |
139 | QMessageBox::information(this, "sorry", | 103 | // QMessageBox::information(this, "sorry", |
140 | tr("Maximum number of accounts reached.")); | 104 | // tr("Maximum number of accounts reached.")); |
141 | return; | 105 | // return; |
142 | } | 106 | // } |
143 | 107 | ||
144 | int result; | 108 | int result; |
145 | if (_pppdata->newaccount() == -1){ | 109 | if (_pppdata->newaccount() == -1){ |
@@ -149,8 +113,8 @@ void AccountWidget::newaccount() { | |||
149 | result = doTab(); | 113 | result = doTab(); |
150 | 114 | ||
151 | if(result == QDialog::Accepted) { | 115 | if(result == QDialog::Accepted) { |
152 | accountlist_l->insertItem(_pppdata->accname()); | 116 | listListbox->insertItem(_pppdata->accname()); |
153 | accountlist_l->setSelected(accountlist_l->findItem(_pppdata->accname()),true); | 117 | listListbox->setSelected(listListbox->findItem(_pppdata->accname()),true); |
154 | 118 | ||
155 | _pppdata->save(); | 119 | _pppdata->save(); |
156 | } else | 120 | } else |
@@ -158,53 +122,55 @@ void AccountWidget::newaccount() { | |||
158 | } | 122 | } |
159 | 123 | ||
160 | 124 | ||
161 | void AccountWidget::copyaccount() { | 125 | void AccountWidget::copy() { |
162 | if(accountlist_l->count() == MAX_ACCOUNTS) { | 126 | // if(listListbox->count() == MAX_ACCOUNTS) { |
163 | QMessageBox::information(this, "sorry", tr("Maximum number of accounts reached.")); | 127 | // QMessageBox::information(this, "sorry", tr("Maximum number of accounts reached.")); |
164 | return; | 128 | // return; |
165 | } | 129 | // } |
166 | 130 | ||
167 | if(accountlist_l->currentItem()<0) { | 131 | if(listListbox->currentItem()<0) { |
168 | QMessageBox::information(this, "sorry", tr("No account selected.")); | 132 | QMessageBox::information(this, "sorry", tr("No account selected.")); |
169 | return; | 133 | return; |
170 | } | 134 | } |
171 | 135 | ||
172 | _pppdata->copyaccount(accountlist_l->currentItem()); | 136 | _pppdata->copyaccount(listListbox->currentText()); |
173 | 137 | ||
174 | accountlist_l->insertItem(_pppdata->accname()); | 138 | listListbox->insertItem(_pppdata->accname()); |
175 | // emit resetaccounts(); | 139 | // emit resetaccounts(); |
176 | _pppdata->save(); | 140 | _pppdata->save(); |
177 | } | 141 | } |
178 | 142 | ||
179 | 143 | ||
180 | void AccountWidget::deleteaccount() { | 144 | void AccountWidget::remove() { |
181 | 145 | ||
182 | QString s = tr("Are you sure you want to delete\nthe account \"%1\"?") | 146 | QString s = tr("Are you sure you want to delete\nthe account \"%1\"?") |
183 | .arg(accountlist_l->text(accountlist_l->currentItem())); | 147 | .arg(listListbox->text(listListbox->currentItem())); |
184 | 148 | ||
185 | if(QMessageBox::warning(this,tr("Confirm"),s, | 149 | if(QMessageBox::warning(this,tr("Confirm"),s, |
186 | QMessageBox::Yes,QMessageBox::No | 150 | QMessageBox::Yes,QMessageBox::No |
187 | ) != QMessageBox::Yes) | 151 | ) != QMessageBox::Yes) |
188 | return; | 152 | return; |
189 | 153 | ||
190 | if(_pppdata->deleteAccount(accountlist_l->text(accountlist_l->currentItem()))) | 154 | if(_pppdata->deleteAccount(listListbox->text(listListbox->currentItem()))) |
191 | accountlist_l->removeItem(accountlist_l->currentItem()); | 155 | listListbox->removeItem(listListbox->currentItem()); |
192 | 156 | ||
193 | emit resetaccounts(); | ||
194 | _pppdata->save(); | ||
195 | 157 | ||
196 | slotListBoxSelect(accountlist_l->currentItem()); | 158 | // emit resetaccounts(); |
159 | // _pppdata->save(); | ||
160 | |||
161 | |||
162 | slotListBoxSelect(listListbox->currentItem()); | ||
197 | 163 | ||
198 | } | 164 | } |
199 | 165 | ||
200 | 166 | ||
201 | int AccountWidget::doTab(){ | 167 | int AccountWidget::doTab(){ |
202 | QDialog *dlg = new QDialog( 0, "newAccount", true ); | 168 | QDialog *dlg = new QDialog( 0, "newAccount", true, Qt::WStyle_ContextHelp ); |
203 | QVBoxLayout *layout = new QVBoxLayout( dlg ); | 169 | QVBoxLayout *layout = new QVBoxLayout( dlg ); |
204 | layout->setSpacing( 0 ); | 170 | layout->setSpacing( 0 ); |
205 | layout->setMargin( 1 ); | 171 | layout->setMargin( 1 ); |
206 | 172 | ||
207 | tabWindow = new QTabWidget( dlg, "tabWindow" ); | 173 | QTabWidget *tabWindow = new QTabWidget( dlg, "tabWindow" ); |
208 | layout->addWidget( tabWindow ); | 174 | layout->addWidget( tabWindow ); |
209 | 175 | ||
210 | bool isnewaccount; | 176 | bool isnewaccount; |
@@ -273,25 +239,25 @@ int AccountWidget::doTab(){ | |||
273 | } | 239 | } |
274 | 240 | ||
275 | 241 | ||
276 | QString AccountWidget::prettyPrintVolume(unsigned int n) { | 242 | // QString AccountWidget::prettyPrintVolume(unsigned int n) { |
277 | int idx = 0; | 243 | // int idx = 0; |
278 | const QString quant[] = {tr("Byte"), tr("KB"), | 244 | // const QString quant[] = {tr("Byte"), tr("KB"), |
279 | tr("MB"), tr("GB"), QString::null}; | 245 | // tr("MB"), tr("GB"), QString::null}; |
280 | 246 | ||
281 | float n1 = n; | 247 | // float n1 = n; |
282 | while(n >= 1024 && quant[idx] != QString::null) { | 248 | // while(n >= 1024 && quant[idx] != QString::null) { |
283 | idx++; | 249 | // idx++; |
284 | n /= 1024; | 250 | // n /= 1024; |
285 | } | 251 | // } |
286 | 252 | ||
287 | int i = idx; | 253 | // int i = idx; |
288 | while(i--) | 254 | // while(i--) |
289 | n1 = n1 / 1024.0; | 255 | // n1 = n1 / 1024.0; |
290 | 256 | ||
291 | QString s = QString::number( n1, 'f', idx==0 ? 0 : 1 ); | 257 | // QString s = QString::number( n1, 'f', idx==0 ? 0 : 1 ); |
292 | s += " " + quant[idx]; | 258 | // s += " " + quant[idx]; |
293 | return s; | 259 | // return s; |
294 | } | 260 | // } |
295 | 261 | ||
296 | 262 | ||
297 | ///////////////////////////////////////////////////////////////////////////// | 263 | ///////////////////////////////////////////////////////////////////////////// |
diff --git a/noncore/settings/networksettings/ppp/accounts.h b/noncore/settings/networksettings/ppp/accounts.h index 8c16a7c..7f31513 100644 --- a/noncore/settings/networksettings/ppp/accounts.h +++ b/noncore/settings/networksettings/ppp/accounts.h | |||
@@ -27,16 +27,18 @@ | |||
27 | #ifndef _ACCOUNTS_H_ | 27 | #ifndef _ACCOUNTS_H_ |
28 | #define _ACCOUNTS_H_ | 28 | #define _ACCOUNTS_H_ |
29 | 29 | ||
30 | #include <qwidget.h> | ||
31 | #include <qdialog.h> | 30 | #include <qdialog.h> |
32 | #include <qpushbutton.h> | 31 | #include <qpushbutton.h> |
33 | #include <qlistbox.h> | 32 | #include <qlistbox.h> |
34 | //#include "acctselect.h" | 33 | #include "chooserwidget.h" |
35 | 34 | ||
36 | class QDialog; | ||
37 | class QCheckBox; | 35 | class QCheckBox; |
38 | class QLineEdit; | 36 | class QLineEdit; |
39 | class QTabWidget; | 37 | class QTabWidget; |
38 | class ModemWidget; | ||
39 | class ModemWidget2; | ||
40 | |||
41 | |||
40 | class DialWidget; | 42 | class DialWidget; |
41 | class AuthWidget; | 43 | class AuthWidget; |
42 | class IPWidget; | 44 | class IPWidget; |
@@ -44,41 +46,33 @@ class DNSWidget; | |||
44 | class GatewayWidget; | 46 | class GatewayWidget; |
45 | class PPPData; | 47 | class PPPData; |
46 | 48 | ||
47 | class AccountWidget : public QWidget { | 49 | |
50 | class AccountWidget : public ChooserWidget { | ||
51 | |||
48 | Q_OBJECT | 52 | Q_OBJECT |
49 | public: | 53 | public: |
50 | AccountWidget( PPPData *pd, QWidget *parent=0, const char *name=0 ); | 54 | AccountWidget( PPPData *pd, QWidget *parent=0, const char *name=0, WFlags f=0 ); |
51 | ~AccountWidget() {} | 55 | ~AccountWidget() {} |
52 | 56 | ||
53 | private slots: | ||
54 | void editaccount(); | ||
55 | void copyaccount(); | ||
56 | void newaccount(); | ||
57 | void deleteaccount(); | ||
58 | void slotListBoxSelect(int); | ||
59 | 57 | ||
60 | private: | 58 | private slots: |
59 | virtual void edit(); | ||
60 | virtual void copy(); | ||
61 | virtual void remove(); | ||
62 | virtual void create(); | ||
63 | virtual void slotListBoxSelect(int); | ||
61 | int doTab(); | 64 | int doTab(); |
62 | 65 | ||
63 | signals: | 66 | signals: |
64 | void resetaccounts(); | 67 | void resetaccounts(); |
65 | 68 | ||
66 | private: | 69 | private: |
67 | QString prettyPrintVolume(unsigned int); | ||
68 | |||
69 | PPPData *_pppdata; | ||
70 | QTabWidget *tabWindow; | ||
71 | DialWidget *dial_w; | 70 | DialWidget *dial_w; |
72 | IPWidget *ip_w; | 71 | IPWidget *ip_w; |
73 | DNSWidget *dns_w; | 72 | DNSWidget *dns_w; |
74 | GatewayWidget *gateway_w; | 73 | GatewayWidget *gateway_w; |
75 | AuthWidget *auth_w; | 74 | AuthWidget *auth_w; |
76 | 75 | ||
77 | QListBox *accountlist_l; | ||
78 | QPushButton *edit_b; | ||
79 | QPushButton *copy_b; | ||
80 | QPushButton *new_b; | ||
81 | QPushButton *delete_b; | ||
82 | }; | 76 | }; |
83 | 77 | ||
84 | 78 | ||
diff --git a/noncore/settings/networksettings/ppp/chooserwidget.cpp b/noncore/settings/networksettings/ppp/chooserwidget.cpp new file mode 100644 index 0000000..a32b2b8 --- a/dev/null +++ b/noncore/settings/networksettings/ppp/chooserwidget.cpp | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * kPPP: A pppd front end for the KDE project | ||
3 | * | ||
4 | * $Id$ | ||
5 | * | ||
6 | * Copyright (C) 1997 Bernd Johannes Wuebben | ||
7 | * wuebben@math.cornell.edu | ||
8 | * | ||
9 | * based on EzPPP: | ||
10 | * Copyright (C) 1997 Jay Painter | ||
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., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
25 | */ | ||
26 | |||
27 | #include <qdir.h> | ||
28 | #include <stdlib.h> | ||
29 | #include <qlayout.h> | ||
30 | #include <qtabwidget.h> | ||
31 | #include <qtabdialog.h> | ||
32 | #include <qwhatsthis.h> | ||
33 | #include <qmessagebox.h> | ||
34 | |||
35 | #include <qapplication.h> | ||
36 | #include <qbuttongroup.h> | ||
37 | #include <qmessagebox.h> | ||
38 | #include <qvgroupbox.h> | ||
39 | #include <qwidget.h> | ||
40 | |||
41 | #include "accounts.h" | ||
42 | #include "authwidget.h" | ||
43 | #include "pppdata.h" | ||
44 | #include "edit.h" | ||
45 | |||
46 | void parseargs(char* buf, char** args); | ||
47 | |||
48 | ChooserWidget::ChooserWidget( PPPData *pd, QWidget *parent, const char *name, WFlags f ) | ||
49 | : QWidget( parent, name, f ) | ||
50 | { | ||
51 | _pppdata = pd; | ||
52 | QVBoxLayout *l1 = new QVBoxLayout(this, 10, 10); | ||
53 | listListbox = new QListBox(this); | ||
54 | |||
55 | connect(listListbox, SIGNAL(highlighted(int)), | ||
56 | this, SLOT(slotListBoxSelect(int))); | ||
57 | connect(listListbox, SIGNAL(selected(int)),this, SLOT(edit())); | ||
58 | l1->addWidget(listListbox, 10); | ||
59 | |||
60 | edit_b = new QPushButton(tr("&Edit..."), this); | ||
61 | connect(edit_b, SIGNAL(clicked()), SLOT(edit())); | ||
62 | l1->addWidget(edit_b); | ||
63 | |||
64 | new_b = new QPushButton(tr("&New..."), this); | ||
65 | connect(new_b, SIGNAL(clicked()), SLOT(create())); | ||
66 | l1->addWidget(new_b); | ||
67 | |||
68 | |||
69 | copy_b = new QPushButton(tr("Co&py"), this); | ||
70 | connect(copy_b, SIGNAL(clicked()), SLOT(copy())); | ||
71 | l1->addWidget(copy_b); | ||
72 | |||
73 | delete_b = new QPushButton(tr("De&lete"), this); | ||
74 | connect(delete_b, SIGNAL(clicked()), SLOT(remove())); | ||
75 | l1->addWidget(delete_b); | ||
76 | |||
77 | |||
78 | QHBoxLayout *l12 = new QHBoxLayout; | ||
79 | l1->addStretch(1); | ||
80 | l1->addLayout(l12); | ||
81 | |||
82 | l1->activate(); | ||
83 | |||
84 | } | ||
85 | |||
diff --git a/noncore/settings/networksettings/ppp/chooserwidget.h b/noncore/settings/networksettings/ppp/chooserwidget.h new file mode 100644 index 0000000..ac3f4cb --- a/dev/null +++ b/noncore/settings/networksettings/ppp/chooserwidget.h | |||
@@ -0,0 +1,73 @@ | |||
1 | /* -*- C++ -*- | ||
2 | * kPPP: A pppd front end for the KDE project | ||
3 | * | ||
4 | * $Id$ | ||
5 | * | ||
6 | * Copyright (C) 1997 Bernd Johannes Wuebben | ||
7 | * wuebben@math.cornell.edu | ||
8 | * | ||
9 | * based on EzPPP: | ||
10 | * Copyright (C) 1997 Jay Painter | ||
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., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
25 | */ | ||
26 | |||
27 | #ifndef _CHOOSERWIDGET_H_ | ||
28 | #define _CHOOSERWIDGET_H_ | ||
29 | |||
30 | #include <qwidget.h> | ||
31 | #include <qdialog.h> | ||
32 | #include <qpushbutton.h> | ||
33 | #include <qlistbox.h> | ||
34 | //#include "acctselect.h" | ||
35 | |||
36 | class QDialog; | ||
37 | class QCheckBox; | ||
38 | class QLineEdit; | ||
39 | class QTabWidget; | ||
40 | class DialWidget; | ||
41 | class AuthWidget; | ||
42 | class IPWidget; | ||
43 | class DNSWidget; | ||
44 | class GatewayWidget; | ||
45 | class PPPData; | ||
46 | |||
47 | class ChooserWidget : public QWidget { | ||
48 | Q_OBJECT | ||
49 | public: | ||
50 | ChooserWidget( PPPData *pd, QWidget *parent=0, const char *name=0, WFlags f=0 ); | ||
51 | ~ChooserWidget() {} | ||
52 | |||
53 | private slots: | ||
54 | virtual void edit() = 0; | ||
55 | virtual void copy() = 0; | ||
56 | virtual void create()= 0; | ||
57 | virtual void remove()= 0; | ||
58 | virtual void slotListBoxSelect(int) = 0; | ||
59 | |||
60 | |||
61 | protected: | ||
62 | PPPData *_pppdata; | ||
63 | |||
64 | QListBox *listListbox; | ||
65 | QPushButton *edit_b; | ||
66 | QPushButton *copy_b; | ||
67 | QPushButton *new_b; | ||
68 | QPushButton *delete_b; | ||
69 | }; | ||
70 | |||
71 | |||
72 | #endif | ||
73 | |||
diff --git a/noncore/settings/networksettings/ppp/connect.cpp b/noncore/settings/networksettings/ppp/connect.cpp index 2400d7b..e3fab24 100644 --- a/noncore/settings/networksettings/ppp/connect.cpp +++ b/noncore/settings/networksettings/ppp/connect.cpp | |||
@@ -32,7 +32,6 @@ | |||
32 | #include <qapplication.h> | 32 | #include <qapplication.h> |
33 | //#include <kdebug.h> | 33 | //#include <kdebug.h> |
34 | //#include <klocale.h> | 34 | //#include <klocale.h> |
35 | #define i18n QObject::tr | ||
36 | #include <qmessagebox.h> | 35 | #include <qmessagebox.h> |
37 | #include <qpushbutton.h> | 36 | #include <qpushbutton.h> |
38 | 37 | ||
@@ -99,7 +98,7 @@ ConnectWidget::ConnectWidget(InterfacePPP *ifp, QWidget *parent, const char *nam | |||
99 | modified_hostname = false; | 98 | modified_hostname = false; |
100 | 99 | ||
101 | QVBoxLayout *tl = new QVBoxLayout(this, 8, 10); | 100 | QVBoxLayout *tl = new QVBoxLayout(this, 8, 10); |
102 | QString tit = i18n("Connecting to: "); | 101 | QString tit = QObject::tr("Connecting to: "); |
103 | setCaption(tit); | 102 | setCaption(tit); |
104 | 103 | ||
105 | QHBoxLayout *l0 = new QHBoxLayout(10); | 104 | QHBoxLayout *l0 = new QHBoxLayout(10); |
@@ -108,15 +107,15 @@ ConnectWidget::ConnectWidget(InterfacePPP *ifp, QWidget *parent, const char *nam | |||
108 | messg = new QLabel(this, "messg"); | 107 | messg = new QLabel(this, "messg"); |
109 | messg->setFrameStyle(QFrame::Panel|QFrame::Sunken); | 108 | messg->setFrameStyle(QFrame::Panel|QFrame::Sunken); |
110 | messg->setAlignment(AlignCenter); | 109 | messg->setAlignment(AlignCenter); |
111 | messg->setText(i18n("Unable to create modem lock file.")); | 110 | messg->setText(QObject::tr("Unable to create modem lock file.")); |
112 | messg->setMinimumHeight(messg->sizeHint().height() + 5); | 111 | messg->setMinimumHeight(messg->sizeHint().height() + 5); |
113 | // int messw = (messg->sizeHint().width() * 12) / 10; | 112 | // int messw = (messg->sizeHint().width() * 12) / 10; |
114 | // messw = QMAX(messw,280); | 113 | // messw = QMAX(messw,280); |
115 | // messg->setMinimumWidth(messw); | 114 | // messg->setMinimumWidth(messw); |
116 | if (_ifaceppp->getStatus()) | 115 | if (_ifaceppp->getStatus()) |
117 | messg->setText(i18n("Online")); | 116 | messg->setText(QObject::tr("Online")); |
118 | else | 117 | else |
119 | messg->setText(i18n("Offline")); | 118 | messg->setText(QObject::tr("Offline")); |
120 | l0->addSpacing(10); | 119 | l0->addSpacing(10); |
121 | l0->addWidget(messg); | 120 | l0->addWidget(messg); |
122 | l0->addSpacing(10); | 121 | l0->addSpacing(10); |
@@ -125,12 +124,12 @@ ConnectWidget::ConnectWidget(InterfacePPP *ifp, QWidget *parent, const char *nam | |||
125 | tl->addLayout(l1); | 124 | tl->addLayout(l1); |
126 | l1->addStretch(1); | 125 | l1->addStretch(1); |
127 | 126 | ||
128 | debug = new QPushButton(i18n("Log"), this); | 127 | debug = new QPushButton(QObject::tr("Log"), this); |
129 | debug->setToggleButton(true); | 128 | debug->setToggleButton(true); |
130 | debug->setEnabled( false ); // FIXME: disable the log button | 129 | debug->setEnabled( false ); // FIXME: disable the log button |
131 | connect(debug, SIGNAL(clicked()), SIGNAL(toggleDebugWindow())); | 130 | connect(debug, SIGNAL(clicked()), SIGNAL(toggleDebugWindow())); |
132 | 131 | ||
133 | cancel = new QPushButton(i18n("Cancel"), this); | 132 | cancel = new QPushButton(QObject::tr("Cancel"), this); |
134 | cancel->setFocus(); | 133 | cancel->setFocus(); |
135 | connect(cancel, SIGNAL(clicked()), SLOT(cancelbutton())); | 134 | connect(cancel, SIGNAL(clicked()), SLOT(cancelbutton())); |
136 | 135 | ||
@@ -173,7 +172,7 @@ ConnectWidget::~ConnectWidget() { | |||
173 | void ConnectWidget::preinit() { | 172 | void ConnectWidget::preinit() { |
174 | // this is all just to keep the GUI nice and snappy .... | 173 | // this is all just to keep the GUI nice and snappy .... |
175 | // you have to see to believe ... | 174 | // you have to see to believe ... |
176 | messg->setText(i18n("Looking for modem...")); | 175 | messg->setText(QObject::tr("Looking for modem...")); |
177 | inittimer->start(100); | 176 | inittimer->start(100); |
178 | } | 177 | } |
179 | 178 | ||
@@ -201,15 +200,15 @@ void ConnectWidget::init() { | |||
201 | comlist = &_ifaceppp->data()->scriptType(); | 200 | comlist = &_ifaceppp->data()->scriptType(); |
202 | arglist = &_ifaceppp->data()->script(); | 201 | arglist = &_ifaceppp->data()->script(); |
203 | 202 | ||
204 | QString tit = i18n("Connecting to: %1").arg(_ifaceppp->data()->accname()); | 203 | QString tit = QObject::tr("Connecting to: %1").arg(_ifaceppp->data()->accname()); |
205 | setCaption(tit); | 204 | setCaption(tit); |
206 | 205 | ||
207 | qApp->processEvents(); | 206 | qApp->processEvents(); |
208 | 207 | ||
209 | // run the "before-connect" command | 208 | // run the "before-connect" command |
210 | if (!_ifaceppp->data()->command_before_connect().isEmpty()) { | 209 | if (!_ifaceppp->data()->command_before_connect().isEmpty()) { |
211 | messg->setText(i18n("Running pre-startup command...")); | 210 | messg->setText(QObject::tr("Running pre-startup command...")); |
212 | emit debugMessage(i18n("Running pre-startup command...")); | 211 | emit debugMessage(QObject::tr("Running pre-startup command...")); |
213 | 212 | ||
214 | qApp->processEvents(); | 213 | qApp->processEvents(); |
215 | QApplication::flushX(); | 214 | QApplication::flushX(); |
@@ -226,13 +225,13 @@ void ConnectWidget::init() { | |||
226 | int lock = _ifaceppp->modem()->lockdevice(); | 225 | int lock = _ifaceppp->modem()->lockdevice(); |
227 | 226 | ||
228 | if (lock == 1) { | 227 | if (lock == 1) { |
229 | messg->setText(i18n("Modem device is locked.")); | 228 | messg->setText(QObject::tr("Modem device is locked.")); |
230 | vmain = 20; // wait until cancel is pressed | 229 | vmain = 20; // wait until cancel is pressed |
231 | return; | 230 | return; |
232 | } | 231 | } |
233 | 232 | ||
234 | if (lock == -1) { | 233 | if (lock == -1) { |
235 | messg->setText(i18n("Unable to create modem lock file.")); | 234 | messg->setText(QObject::tr("Unable to create modem lock file.")); |
236 | vmain = 20; // wait until cancel is pressed | 235 | vmain = 20; // wait until cancel is pressed |
237 | return; | 236 | return; |
238 | } | 237 | } |
@@ -279,8 +278,8 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
279 | assert(PPPData::NumInitStrings > 0); | 278 | assert(PPPData::NumInitStrings > 0); |
280 | // first init string ? | 279 | // first init string ? |
281 | if(substate == -1) { | 280 | if(substate == -1) { |
282 | messg->setText(i18n("Initializing modem...")); | 281 | messg->setText(QObject::tr("Initializing modem...")); |
283 | emit debugMessage(i18n("Initializing modem...")); | 282 | emit debugMessage(QObject::tr("Initializing modem...")); |
284 | substate = 0; | 283 | substate = 0; |
285 | } | 284 | } |
286 | 285 | ||
@@ -317,7 +316,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
317 | if (vmain == 5) { | 316 | if (vmain == 5) { |
318 | if(!expecting) { | 317 | if(!expecting) { |
319 | QString sToneDuration = "ATS11=" + QString::number(_ifaceppp->data()->modemToneDuration()); | 318 | QString sToneDuration = "ATS11=" + QString::number(_ifaceppp->data()->modemToneDuration()); |
320 | QString msg = i18n("Setting ") + sToneDuration; | 319 | QString msg = QObject::tr("Setting ") + sToneDuration; |
321 | messg->setText(msg); | 320 | messg->setText(msg); |
322 | emit debugMessage(msg); | 321 | emit debugMessage(msg); |
323 | setExpect(_ifaceppp->data()->modemInitResp()); | 322 | setExpect(_ifaceppp->data()->modemInitResp()); |
@@ -340,8 +339,8 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
340 | vmain = 4; | 339 | vmain = 4; |
341 | return; | 340 | return; |
342 | } | 341 | } |
343 | messg->setText(i18n("Setting speaker volume...")); | 342 | messg->setText(QObject::tr("Setting speaker volume...")); |
344 | emit debugMessage(i18n("Setting speaker volume...")); | 343 | emit debugMessage(QObject::tr("Setting speaker volume...")); |
345 | 344 | ||
346 | setExpect(_ifaceppp->data()->modemInitResp()); | 345 | setExpect(_ifaceppp->data()->modemInitResp()); |
347 | QString vol("AT"); | 346 | QString vol("AT"); |
@@ -356,7 +355,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
356 | if(vmain == 4) { | 355 | if(vmain == 4) { |
357 | if(!expecting) { | 356 | if(!expecting) { |
358 | if(!_ifaceppp->data()->waitForDialTone()) { | 357 | if(!_ifaceppp->data()->waitForDialTone()) { |
359 | QString msg = i18n("Turning off dial tone waiting..."); | 358 | QString msg = QObject::tr("Turning off dial tone waiting..."); |
360 | messg->setText(msg); | 359 | messg->setText(msg); |
361 | emit debugMessage(msg); | 360 | emit debugMessage(msg); |
362 | setExpect(_ifaceppp->data()->modemInitResp()); | 361 | setExpect(_ifaceppp->data()->modemInitResp()); |
@@ -377,7 +376,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
377 | QStringList &plist = _ifaceppp->data()->phonenumbers(); | 376 | QStringList &plist = _ifaceppp->data()->phonenumbers(); |
378 | QString bmarg= _ifaceppp->data()->dialPrefix(); | 377 | QString bmarg= _ifaceppp->data()->dialPrefix(); |
379 | bmarg += *plist.at(dialnumber); | 378 | bmarg += *plist.at(dialnumber); |
380 | QString bm = i18n("Dialing %1").arg(bmarg); | 379 | QString bm = QObject::tr("Dialing %1").arg(bmarg); |
381 | messg->setText(bm); | 380 | messg->setText(bm); |
382 | emit debugMessage(bm); | 381 | emit debugMessage(bm); |
383 | 382 | ||
@@ -408,12 +407,12 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
408 | timeout_timer->stop(); | 407 | timeout_timer->stop(); |
409 | timeout_timer->start(_ifaceppp->data()->modemTimeout()*1000); | 408 | timeout_timer->start(_ifaceppp->data()->modemTimeout()*1000); |
410 | 409 | ||
411 | messg->setText(i18n("Line busy. Hanging up...")); | 410 | messg->setText(QObject::tr("Line busy. Hanging up...")); |
412 | emit debugPutChar('\n'); | 411 | emit debugPutChar('\n'); |
413 | _ifaceppp->modem()->hangup(); | 412 | _ifaceppp->modem()->hangup(); |
414 | 413 | ||
415 | if(_ifaceppp->data()->busyWait() > 0) { | 414 | if(_ifaceppp->data()->busyWait() > 0) { |
416 | QString bm = i18n("Line busy. Waiting: %1 seconds").arg(_ifaceppp->data()->busyWait()); | 415 | QString bm = QObject::tr("Line busy. Waiting: %1 seconds").arg(_ifaceppp->data()->busyWait()); |
417 | messg->setText(bm); | 416 | messg->setText(bm); |
418 | emit debugMessage(bm); | 417 | emit debugMessage(bm); |
419 | 418 | ||
@@ -432,7 +431,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
432 | if(readbuffer.contains(_ifaceppp->data()->modemNoDialtoneResp())) { | 431 | if(readbuffer.contains(_ifaceppp->data()->modemNoDialtoneResp())) { |
433 | timeout_timer->stop(); | 432 | timeout_timer->stop(); |
434 | 433 | ||
435 | messg->setText(i18n("No Dialtone")); | 434 | messg->setText(QObject::tr("No Dialtone")); |
436 | vmain = 20; | 435 | vmain = 20; |
437 | _ifaceppp->modem()->unlockdevice(); | 436 | _ifaceppp->modem()->unlockdevice(); |
438 | return; | 437 | return; |
@@ -441,7 +440,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
441 | if(readbuffer.contains(_ifaceppp->data()->modemNoCarrierResp())) { | 440 | if(readbuffer.contains(_ifaceppp->data()->modemNoCarrierResp())) { |
442 | timeout_timer->stop(); | 441 | timeout_timer->stop(); |
443 | 442 | ||
444 | messg->setText(i18n("No Carrier")); | 443 | messg->setText(QObject::tr("No Carrier")); |
445 | vmain = 20; | 444 | vmain = 20; |
446 | _ifaceppp->modem()->unlockdevice(); | 445 | _ifaceppp->modem()->unlockdevice(); |
447 | return; | 446 | return; |
@@ -479,7 +478,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
479 | } | 478 | } |
480 | 479 | ||
481 | if (scriptCommand == "Scan") { | 480 | if (scriptCommand == "Scan") { |
482 | QString bm = i18n("Scanning %1").arg(scriptArgument); | 481 | QString bm = QObject::tr("Scanning %1").arg(scriptArgument); |
483 | messg->setText(bm); | 482 | messg->setText(bm); |
484 | emit debugMessage(bm); | 483 | emit debugMessage(bm); |
485 | 484 | ||
@@ -489,7 +488,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
489 | } | 488 | } |
490 | 489 | ||
491 | if (scriptCommand == "Save") { | 490 | if (scriptCommand == "Save") { |
492 | QString bm = i18n("Saving %1").arg(scriptArgument); | 491 | QString bm = QObject::tr("Saving %1").arg(scriptArgument); |
493 | messg->setText(bm); | 492 | messg->setText(bm); |
494 | emit debugMessage(bm); | 493 | emit debugMessage(bm); |
495 | 494 | ||
@@ -507,7 +506,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
507 | 506 | ||
508 | 507 | ||
509 | if (scriptCommand == "Send" || scriptCommand == "SendNoEcho") { | 508 | if (scriptCommand == "Send" || scriptCommand == "SendNoEcho") { |
510 | QString bm = i18n("Sending %1"); | 509 | QString bm = QObject::tr("Sending %1"); |
511 | 510 | ||
512 | // replace %USERNAME% and %PASSWORD% | 511 | // replace %USERNAME% and %PASSWORD% |
513 | QString arg = scriptArgument; | 512 | QString arg = scriptArgument; |
@@ -532,7 +531,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
532 | } | 531 | } |
533 | 532 | ||
534 | if (scriptCommand == "Expect") { | 533 | if (scriptCommand == "Expect") { |
535 | QString bm = i18n("Expecting %1").arg(scriptArgument); | 534 | QString bm = QObject::tr("Expecting %1").arg(scriptArgument); |
536 | messg->setText(bm); | 535 | messg->setText(bm); |
537 | emit debugMessage(bm); | 536 | emit debugMessage(bm); |
538 | 537 | ||
@@ -546,7 +545,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
546 | 545 | ||
547 | 546 | ||
548 | if (scriptCommand == "Pause") { | 547 | if (scriptCommand == "Pause") { |
549 | QString bm = i18n("Pause %1 seconds").arg(scriptArgument); | 548 | QString bm = QObject::tr("Pause %1 seconds").arg(scriptArgument); |
550 | messg->setText(bm); | 549 | messg->setText(bm); |
551 | emit debugMessage(bm); | 550 | emit debugMessage(bm); |
552 | 551 | ||
@@ -563,7 +562,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
563 | 562 | ||
564 | timeout_timer->stop(); | 563 | timeout_timer->stop(); |
565 | 564 | ||
566 | QString bm = i18n("Timeout %1 seconds").arg(scriptArgument); | 565 | QString bm = QObject::tr("Timeout %1 seconds").arg(scriptArgument); |
567 | messg->setText(bm); | 566 | messg->setText(bm); |
568 | emit debugMessage(bm); | 567 | emit debugMessage(bm); |
569 | 568 | ||
@@ -575,8 +574,8 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
575 | } | 574 | } |
576 | 575 | ||
577 | if (scriptCommand == "Hangup") { | 576 | if (scriptCommand == "Hangup") { |
578 | messg->setText(i18n("Hangup")); | 577 | messg->setText(QObject::tr("Hangup")); |
579 | emit debugMessage(i18n("Hangup")); | 578 | emit debugMessage(QObject::tr("Hangup")); |
580 | 579 | ||
581 | writeline(_ifaceppp->data()->modemHangupStr()); | 580 | writeline(_ifaceppp->data()->modemHangupStr()); |
582 | setExpect(_ifaceppp->data()->modemHangupResp()); | 581 | setExpect(_ifaceppp->data()->modemHangupResp()); |
@@ -589,8 +588,8 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
589 | 588 | ||
590 | timeout_timer->stop(); | 589 | timeout_timer->stop(); |
591 | 590 | ||
592 | messg->setText(i18n("Answer")); | 591 | messg->setText(QObject::tr("Answer")); |
593 | emit debugMessage(i18n("Answer")); | 592 | emit debugMessage(QObject::tr("Answer")); |
594 | 593 | ||
595 | setExpect(_ifaceppp->data()->modemRingResp()); | 594 | setExpect(_ifaceppp->data()->modemRingResp()); |
596 | vmain = 150; | 595 | vmain = 150; |
@@ -598,7 +597,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
598 | } | 597 | } |
599 | 598 | ||
600 | if (scriptCommand == "ID") { | 599 | if (scriptCommand == "ID") { |
601 | QString bm = i18n("ID %1").arg(scriptArgument); | 600 | QString bm = QObject::tr("ID %1").arg(scriptArgument); |
602 | messg->setText(bm); | 601 | messg->setText(bm); |
603 | emit debugMessage(bm); | 602 | emit debugMessage(bm); |
604 | 603 | ||
@@ -634,7 +633,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
634 | } | 633 | } |
635 | 634 | ||
636 | if (scriptCommand == "Password") { | 635 | if (scriptCommand == "Password") { |
637 | QString bm = i18n("Password %1").arg(scriptArgument); | 636 | QString bm = QObject::tr("Password %1").arg(scriptArgument); |
638 | messg->setText(bm); | 637 | messg->setText(bm); |
639 | emit debugMessage(bm); | 638 | emit debugMessage(bm); |
640 | 639 | ||
@@ -671,7 +670,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
671 | } | 670 | } |
672 | 671 | ||
673 | if (scriptCommand == "Prompt") { | 672 | if (scriptCommand == "Prompt") { |
674 | QString bm = i18n("Prompting %1"); | 673 | QString bm = QObject::tr("Prompting %1"); |
675 | 674 | ||
676 | // if the scriptindex (aka the prompt text) includes a ## marker | 675 | // if the scriptindex (aka the prompt text) includes a ## marker |
677 | // this marker should get substituted with the contents of our stored | 676 | // this marker should get substituted with the contents of our stored |
@@ -708,7 +707,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
708 | } | 707 | } |
709 | 708 | ||
710 | if (scriptCommand == "PWPrompt") { | 709 | if (scriptCommand == "PWPrompt") { |
711 | QString bm = i18n("PW Prompt %1").arg(scriptArgument); | 710 | QString bm = QObject::tr("PW Prompt %1").arg(scriptArgument); |
712 | messg->setText(bm); | 711 | messg->setText(bm); |
713 | emit debugMessage(bm); | 712 | emit debugMessage(bm); |
714 | 713 | ||
@@ -733,7 +732,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
733 | 732 | ||
734 | if (scriptCommand == "LoopStart") { | 733 | if (scriptCommand == "LoopStart") { |
735 | 734 | ||
736 | QString bm = i18n("Loop Start %1").arg(scriptArgument); | 735 | QString bm = QObject::tr("Loop Start %1").arg(scriptArgument); |
737 | 736 | ||
738 | // The incrementing of the scriptindex MUST be before the | 737 | // The incrementing of the scriptindex MUST be before the |
739 | // call to setExpect otherwise the expect will miss a string that is | 738 | // call to setExpect otherwise the expect will miss a string that is |
@@ -741,10 +740,10 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
741 | scriptindex++; | 740 | scriptindex++; |
742 | 741 | ||
743 | if ( loopnest > (MAXLOOPNEST-2) ) { | 742 | if ( loopnest > (MAXLOOPNEST-2) ) { |
744 | bm += i18n("ERROR: Nested too deep, ignored."); | 743 | bm += QObject::tr("ERROR: Nested too deep, ignored."); |
745 | vmain=20; | 744 | vmain=20; |
746 | cancelbutton(); | 745 | cancelbutton(); |
747 | QMessageBox::critical(0, "error", i18n("Loops nested too deeply!")); | 746 | QMessageBox::critical(0, "error", QObject::tr("Loops nested too deeply!")); |
748 | } else { | 747 | } else { |
749 | setExpect(scriptArgument); | 748 | setExpect(scriptArgument); |
750 | loopstartindex[loopnest] = scriptindex; | 749 | loopstartindex[loopnest] = scriptindex; |
@@ -758,9 +757,9 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
758 | } | 757 | } |
759 | 758 | ||
760 | if (scriptCommand == "LoopEnd") { | 759 | if (scriptCommand == "LoopEnd") { |
761 | QString bm = i18n("Loop End %1").arg(scriptArgument); | 760 | QString bm = QObject::tr("Loop End %1").arg(scriptArgument); |
762 | if ( loopnest <= 0 ) { | 761 | if ( loopnest <= 0 ) { |
763 | bm = i18n("LoopEnd without matching Start! Line: %1").arg(bm); | 762 | bm = QObject::tr("LoopEnd without matching Start! Line: %1").arg(bm); |
764 | vmain=20; | 763 | vmain=20; |
765 | cancelbutton(); | 764 | cancelbutton(); |
766 | QMessageBox::critical(0, "error", bm); | 765 | QMessageBox::critical(0, "error", bm); |
@@ -848,7 +847,7 @@ void ConnectWidget::timerEvent(QTimerEvent *) { | |||
848 | semaphore = true; | 847 | semaphore = true; |
849 | result = execppp(); | 848 | result = execppp(); |
850 | 849 | ||
851 | emit debugMessage(i18n("Starting pppd...")); | 850 | emit debugMessage(QObject::tr("Starting pppd...")); |
852 | qDebug("execppp() returned with return-code %i", result ); | 851 | qDebug("execppp() returned with return-code %i", result ); |
853 | 852 | ||
854 | if(result) { | 853 | if(result) { |
@@ -930,7 +929,7 @@ void ConnectWidget::checkBuffers() { | |||
930 | scanvar = scanvar.stripWhiteSpace(); | 929 | scanvar = scanvar.stripWhiteSpace(); |
931 | 930 | ||
932 | // Show the Variabel content in the debug window | 931 | // Show the Variabel content in the debug window |
933 | QString sv = i18n("Scan Var: %1").arg(scanvar); | 932 | QString sv = QObject::tr("Scan Var: %1").arg(scanvar); |
934 | emit debugMessage(sv); | 933 | emit debugMessage(sv); |
935 | } | 934 | } |
936 | 935 | ||
@@ -940,7 +939,7 @@ void ConnectWidget::checkBuffers() { | |||
940 | // keep everything after the expected string | 939 | // keep everything after the expected string |
941 | readbuffer.remove(0, readbuffer.find(expectstr) + expectstr.length()); | 940 | readbuffer.remove(0, readbuffer.find(expectstr) + expectstr.length()); |
942 | 941 | ||
943 | QString ts = i18n("Found: %1").arg(expectstr); | 942 | QString ts = QObject::tr("Found: %1").arg(expectstr); |
944 | emit debugMessage(ts); | 943 | emit debugMessage(ts); |
945 | 944 | ||
946 | if (loopend) { | 945 | if (loopend) { |
@@ -951,7 +950,7 @@ void ConnectWidget::checkBuffers() { | |||
951 | if (loopend && readbuffer.contains(loopstr[loopnest])) { | 950 | if (loopend && readbuffer.contains(loopstr[loopnest])) { |
952 | expecting = false; | 951 | expecting = false; |
953 | readbuffer = ""; | 952 | readbuffer = ""; |
954 | QString ts = i18n("Looping: %1").arg(loopstr[loopnest]); | 953 | QString ts = QObject::tr("Looping: %1").arg(loopstr[loopnest]); |
955 | emit debugMessage(ts); | 954 | emit debugMessage(ts); |
956 | scriptindex = loopstartindex[loopnest]; | 955 | scriptindex = loopstartindex[loopnest]; |
957 | loopend = false; | 956 | loopend = false; |
@@ -984,7 +983,7 @@ void ConnectWidget::cancelbutton() { | |||
984 | // this->show(); | 983 | // this->show(); |
985 | // } | 984 | // } |
986 | 985 | ||
987 | messg->setText(i18n("One moment please...")); | 986 | messg->setText(QObject::tr("One moment please...")); |
988 | 987 | ||
989 | // just to be sure | 988 | // just to be sure |
990 | _ifaceppp->modem()->removeSecret(AUTH_PAP); | 989 | _ifaceppp->modem()->removeSecret(AUTH_PAP); |
@@ -1006,11 +1005,14 @@ void ConnectWidget::cancelbutton() { | |||
1006 | 1005 | ||
1007 | //abort prompt window... | 1006 | //abort prompt window... |
1008 | if (prompt->isVisible()) { | 1007 | if (prompt->isVisible()) { |
1009 | prompt->hide(); | 1008 | prompt->hide(); |
1010 | } | 1009 | } |
1011 | prompt->setConsumed(); | 1010 | prompt->setConsumed(); |
1012 | 1011 | ||
1013 | messg->setText(tr("offline")); | 1012 | _ifaceppp->setStatus( false ); |
1013 | _ifaceppp->refresh(); | ||
1014 | // messg->setText(tr("offline")); | ||
1015 | refresh(); | ||
1014 | } | 1016 | } |
1015 | 1017 | ||
1016 | 1018 | ||
@@ -1026,7 +1028,7 @@ void ConnectWidget::script_timed_out() { | |||
1026 | prompt->hide(); | 1028 | prompt->hide(); |
1027 | 1029 | ||
1028 | prompt->setConsumed(); | 1030 | prompt->setConsumed(); |
1029 | messg->setText(i18n("Script timed out!")); | 1031 | messg->setText(QObject::tr("Script timed out!")); |
1030 | _ifaceppp->modem()->hangup(); | 1032 | _ifaceppp->modem()->hangup(); |
1031 | emit stopAccounting(); | 1033 | emit stopAccounting(); |
1032 | // p_kppp->con_win->stopClock(); | 1034 | // p_kppp->con_win->stopClock(); |
@@ -1041,7 +1043,7 @@ void ConnectWidget::setScan(const QString &n) { | |||
1041 | scanstr = n; | 1043 | scanstr = n; |
1042 | scanbuffer = ""; | 1044 | scanbuffer = ""; |
1043 | 1045 | ||
1044 | QString ts = i18n("Scanning: %1").arg(n); | 1046 | QString ts = QObject::tr("Scanning: %1").arg(n); |
1045 | emit debugMessage(ts); | 1047 | emit debugMessage(ts); |
1046 | } | 1048 | } |
1047 | 1049 | ||
@@ -1050,7 +1052,7 @@ void ConnectWidget::setExpect(const QString &n) { | |||
1050 | expecting = true; | 1052 | expecting = true; |
1051 | expectstr = n; | 1053 | expectstr = n; |
1052 | 1054 | ||
1053 | QString ts = i18n("Expecting: %1").arg(n); | 1055 | QString ts = QObject::tr("Expecting: %1").arg(n); |
1054 | ts.replace(QRegExp("\n"), "<LF>"); | 1056 | ts.replace(QRegExp("\n"), "<LF>"); |
1055 | emit debugMessage(ts); | 1057 | emit debugMessage(ts); |
1056 | 1058 | ||
@@ -1085,7 +1087,7 @@ void ConnectWidget::pppdDied() | |||
1085 | } | 1087 | } |
1086 | 1088 | ||
1087 | void ConnectWidget::if_waiting_slot() { | 1089 | void ConnectWidget::if_waiting_slot() { |
1088 | messg->setText(i18n("Logging on to network...")); | 1090 | messg->setText(QObject::tr("Logging on to network...")); |
1089 | 1091 | ||
1090 | // if(!stats->ifIsUp()) { | 1092 | // if(!stats->ifIsUp()) { |
1091 | 1093 | ||
@@ -1116,26 +1118,31 @@ void ConnectWidget::if_waiting_slot() { | |||
1116 | auto_hostname(_ifaceppp); | 1118 | auto_hostname(_ifaceppp); |
1117 | 1119 | ||
1118 | if(!_ifaceppp->data()->command_on_connect().isEmpty()) { | 1120 | if(!_ifaceppp->data()->command_on_connect().isEmpty()) { |
1119 | messg->setText(i18n("Running startup command...")); | 1121 | messg->setText(QObject::tr("Running startup command...")); |
1120 | 1122 | ||
1121 | // make sure that we don't get any async errors | 1123 | // make sure that we don't get any async errors |
1122 | qApp->flushX(); | 1124 | qApp->flushX(); |
1123 | execute_command(_ifaceppp->data()->command_on_connect()); | 1125 | execute_command(_ifaceppp->data()->command_on_connect()); |
1124 | messg->setText(i18n("Done")); | 1126 | messg->setText(QObject::tr("Done")); |
1125 | } | 1127 | } |
1126 | 1128 | ||
1127 | // remove the authentication file | 1129 | // remove the authentication file |
1128 | _ifaceppp->modem()->removeSecret(AUTH_PAP); | 1130 | _ifaceppp->modem()->removeSecret(AUTH_PAP); |
1129 | _ifaceppp->modem()->removeSecret(AUTH_CHAP); | 1131 | _ifaceppp->modem()->removeSecret(AUTH_CHAP); |
1130 | 1132 | ||
1131 | emit debugMessage(i18n("Done")); | 1133 | emit debugMessage(QObject::tr("Done")); |
1132 | set_con_speed_string(); | 1134 | set_con_speed_string(); |
1133 | 1135 | ||
1134 | // p_kppp->con_win->setConnectionSpeed(p_kppp->con_speed); | 1136 | // p_kppp->con_win->setConnectionSpeed(p_kppp->con_speed); |
1135 | this->hide(); | 1137 | // this->hide(); |
1136 | messg->setText(""); | 1138 | // messg->setText(""); |
1137 | 1139 | ||
1138 | _ifaceppp->setStatus( true ); | 1140 | _ifaceppp->setStatus( true ); |
1141 | |||
1142 | m_refreshTimer = new QTimer( this ); | ||
1143 | connect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) ); | ||
1144 | m_refreshTimer->start( 3000 ); | ||
1145 | //_ifaceppp->refresh(); | ||
1139 | // emit _ifaceppp->updateInterface(_ifaceppp); | 1146 | // emit _ifaceppp->updateInterface(_ifaceppp); |
1140 | 1147 | ||
1141 | // prepare the con_win so as to have the right size for | 1148 | // prepare the con_win so as to have the right size for |
@@ -1161,6 +1168,15 @@ void ConnectWidget::if_waiting_slot() { | |||
1161 | _ifaceppp->modem()->closetty(); | 1168 | _ifaceppp->modem()->closetty(); |
1162 | } | 1169 | } |
1163 | 1170 | ||
1171 | void ConnectWidget::refresh() { | ||
1172 | _ifaceppp->refresh(); | ||
1173 | if ( _ifaceppp->getStatus() ) { | ||
1174 | messg->setText(QObject::tr("Online")); | ||
1175 | } else { | ||
1176 | messg->setText(QObject::tr("Offline")); | ||
1177 | } | ||
1178 | } | ||
1179 | |||
1164 | 1180 | ||
1165 | bool ConnectWidget::execppp() { | 1181 | bool ConnectWidget::execppp() { |
1166 | QString command; | 1182 | QString command; |
@@ -1210,38 +1226,44 @@ bool ConnectWidget::execppp() { | |||
1210 | if(_ifaceppp->data()->autoDNS()) | 1226 | if(_ifaceppp->data()->autoDNS()) |
1211 | command += " usepeerdns"; | 1227 | command += " usepeerdns"; |
1212 | 1228 | ||
1213 | QStringList &arglist = _ifaceppp->data()->pppdArgument(); | ||
1214 | for ( QStringList::Iterator it = arglist.begin(); | ||
1215 | it != arglist.end(); | ||
1216 | ++it ) | ||
1217 | { | ||
1218 | command += " " + *it; | ||
1219 | } | ||
1220 | 1229 | ||
1221 | // PAP settings | 1230 | // PAP settings |
1222 | if(_ifaceppp->data()->authMethod() == AUTH_PAP) { | 1231 | if(_ifaceppp->data()->authMethod() == AUTH_PAP) { |
1223 | command += " -chap user "; | 1232 | command += " -chap user "; |
1224 | command = command + "\"" + _ifaceppp->data()->storedUsername() + "\""; | 1233 | command = command + _ifaceppp->data()->storedUsername(); |
1225 | } | 1234 | } |
1226 | 1235 | ||
1227 | // CHAP settings | 1236 | // CHAP settings |
1228 | if(_ifaceppp->data()->authMethod() == AUTH_CHAP) { | 1237 | if(_ifaceppp->data()->authMethod() == AUTH_CHAP) { |
1229 | command += " -pap user "; | 1238 | command += " -pap user "; |
1230 | command = command + "\"" + _ifaceppp->data()->storedUsername() + "\""; | 1239 | command = command + _ifaceppp->data()->storedUsername(); |
1231 | } | 1240 | } |
1232 | 1241 | ||
1233 | // PAP/CHAP settings | 1242 | // PAP/CHAP settings |
1234 | if(_ifaceppp->data()->authMethod() == AUTH_PAPCHAP) { | 1243 | if(_ifaceppp->data()->authMethod() == AUTH_PAPCHAP) { |
1235 | command += " user "; | 1244 | QString tmpName = _ifaceppp->data()->storedUsername(); |
1236 | command = command + "\"" + _ifaceppp->data()->storedUsername() + "\""; | 1245 | if ( !tmpName.isEmpty() ) { |
1246 | command += " user "; | ||
1247 | command = command + tmpName; | ||
1248 | } | ||
1237 | } | 1249 | } |
1238 | 1250 | ||
1239 | // check for debug | 1251 | // check for debug |
1240 | if(_ifaceppp->data()->getPPPDebug()) | 1252 | if(_ifaceppp->data()->getPPPDebug()) |
1241 | command += " debug"; | 1253 | command += " debug"; |
1242 | 1254 | ||
1255 | QStringList &arglist = _ifaceppp->data()->pppdArgument(); | ||
1256 | for ( QStringList::Iterator it = arglist.begin(); | ||
1257 | it != arglist.end(); | ||
1258 | ++it ) | ||
1259 | { | ||
1260 | command += " " + *it; | ||
1261 | } | ||
1262 | |||
1263 | command += " call opie-kppp logfd 11"; | ||
1264 | |||
1243 | if (command.length() > MAX_CMDLEN) { | 1265 | if (command.length() > MAX_CMDLEN) { |
1244 | QMessageBox::critical(this, "error", i18n( | 1266 | QMessageBox::critical(this, "error", QObject::tr( |
1245 | "pppd command + command-line arguments exceed " | 1267 | "pppd command + command-line arguments exceed " |
1246 | "2024 characters in length." | 1268 | "2024 characters in length." |
1247 | )); | 1269 | )); |
@@ -1249,6 +1271,8 @@ bool ConnectWidget::execppp() { | |||
1249 | return false; // nonsensically long command which would bust my buffer buf. | 1271 | return false; // nonsensically long command which would bust my buffer buf. |
1250 | } | 1272 | } |
1251 | 1273 | ||
1274 | qWarning("Command IS: %s",command.latin1() ); | ||
1275 | |||
1252 | qApp->flushX(); | 1276 | qApp->flushX(); |
1253 | 1277 | ||
1254 | return _ifaceppp->modem()->execPPPDaemon(command); | 1278 | return _ifaceppp->modem()->execPPPDaemon(command); |
diff --git a/noncore/settings/networksettings/ppp/connect.h b/noncore/settings/networksettings/ppp/connect.h index e7ae5e0..b225ff5 100644 --- a/noncore/settings/networksettings/ppp/connect.h +++ b/noncore/settings/networksettings/ppp/connect.h | |||
@@ -62,6 +62,7 @@ private slots: | |||
62 | void readChar(unsigned char); | 62 | void readChar(unsigned char); |
63 | void pause(); | 63 | void pause(); |
64 | void if_waiting_slot(); | 64 | void if_waiting_slot(); |
65 | void refresh(); | ||
65 | 66 | ||
66 | public slots: | 67 | public slots: |
67 | void init(); | 68 | void init(); |
@@ -127,6 +128,7 @@ private: | |||
127 | QTimer *pausetimer; | 128 | QTimer *pausetimer; |
128 | QTimer *if_timer; | 129 | QTimer *if_timer; |
129 | QTimer *if_timeout_timer; | 130 | QTimer *if_timeout_timer; |
131 | QTimer *m_refreshTimer; | ||
130 | 132 | ||
131 | QLabel *messg; | 133 | QLabel *messg; |
132 | QPushButton *cancel; | 134 | QPushButton *cancel; |
diff --git a/noncore/settings/networksettings/ppp/conwindow.cpp b/noncore/settings/networksettings/ppp/conwindow.cpp index 9136ca0..7641bbe 100644 --- a/noncore/settings/networksettings/ppp/conwindow.cpp +++ b/noncore/settings/networksettings/ppp/conwindow.cpp | |||
@@ -24,12 +24,7 @@ | |||
24 | #include <qtooltip.h> | 24 | #include <qtooltip.h> |
25 | #include <qdialog.h> | 25 | #include <qdialog.h> |
26 | #include "conwindow.h" | 26 | #include "conwindow.h" |
27 | //#include "docking.h" | ||
28 | #include "pppdata.h" | 27 | #include "pppdata.h" |
29 | // #include "pppstats.h" | ||
30 | // #include <klocale.h> | ||
31 | #define i18n QObject::tr | ||
32 | // #include <kglobal.h> | ||
33 | 28 | ||
34 | 29 | ||
35 | ConWindow::ConWindow(PPPData *pd, QWidget *parent, const char *name, | 30 | ConWindow::ConWindow(PPPData *pd, QWidget *parent, const char *name, |
@@ -42,29 +37,29 @@ ConWindow::ConWindow(PPPData *pd, QWidget *parent, const char *name, | |||
42 | tl1(0), | 37 | tl1(0), |
43 | _pppdata(pd) | 38 | _pppdata(pd) |
44 | { | 39 | { |
45 | info1 = new QLabel(i18n("Connected at:"), this); | 40 | info1 = new QLabel(QObject::tr("Connected at:"), this); |
46 | info2 = new QLabel("", this); | 41 | info2 = new QLabel("", this); |
47 | 42 | ||
48 | timelabel1 = new QLabel(i18n("Time connected:"), this); | 43 | timelabel1 = new QLabel(QObject::tr("Time connected:"), this); |
49 | timelabel2 = new QLabel("000:00:00", this); | 44 | timelabel2 = new QLabel("000:00:00", this); |
50 | 45 | ||
51 | vollabel = new QLabel(i18n("Volume:"), this); | 46 | vollabel = new QLabel(QObject::tr("Volume:"), this); |
52 | volinfo = new QLabel("", this); | 47 | volinfo = new QLabel("", this); |
53 | 48 | ||
54 | // now the stuff for accounting | 49 | // now the stuff for accounting |
55 | session_bill_l = new QLabel(i18n("Session Bill:"), this); | 50 | session_bill_l = new QLabel(QObject::tr("Session Bill:"), this); |
56 | session_bill = new QLabel("", this); | 51 | session_bill = new QLabel("", this); |
57 | total_bill_l = new QLabel(i18n("Total Bill:"), this); | 52 | total_bill_l = new QLabel(QObject::tr("Total Bill:"), this); |
58 | total_bill = new QLabel("", this); | 53 | total_bill = new QLabel("", this); |
59 | 54 | ||
60 | this->setCaption("kppp"); | 55 | this->setCaption("kppp"); |
61 | 56 | ||
62 | cancelbutton = new QPushButton(this); | 57 | cancelbutton = new QPushButton(this); |
63 | cancelbutton->setText(i18n("Disconnect")); | 58 | cancelbutton->setText(QObject::tr("Disconnect")); |
64 | connect(cancelbutton, SIGNAL(clicked()), mainwidget, SLOT(disconnect())); | 59 | connect(cancelbutton, SIGNAL(clicked()), mainwidget, SLOT(disconnect())); |
65 | 60 | ||
66 | // statsbutton = new QPushButton(this); | 61 | // statsbutton = new QPushButton(this); |
67 | // statsbutton->setText(i18n("Details")); | 62 | // statsbutton->setText(QObject::tr("Details")); |
68 | // statsbutton->setFocus(); | 63 | // statsbutton->setFocus(); |
69 | // connect(statsbutton, SIGNAL(clicked()), mainwidget, SLOT(showStats())); | 64 | // connect(statsbutton, SIGNAL(clicked()), mainwidget, SLOT(showStats())); |
70 | 65 | ||
@@ -94,8 +89,8 @@ bool ConWindow::event(QEvent *e) { | |||
94 | 89 | ||
95 | QString ConWindow::prettyPrintVolume(unsigned int n) { | 90 | QString ConWindow::prettyPrintVolume(unsigned int n) { |
96 | int idx = 0; | 91 | int idx = 0; |
97 | const QString quant[] = {i18n("Byte"), i18n("KB"), | 92 | const QString quant[] = {QObject::tr("Byte"), QObject::tr("KB"), |
98 | i18n("MB"), i18n("GB"), QString::null}; | 93 | QObject::tr("MB"), QObject::tr("GB"), QString::null}; |
99 | 94 | ||
100 | float n1 = n; | 95 | float n1 = n; |
101 | while(n >= 1024 && quant[idx] != QString::null) { | 96 | while(n >= 1024 && quant[idx] != QString::null) { |
@@ -259,14 +254,14 @@ void ConWindow::stopClock() { | |||
259 | 254 | ||
260 | 255 | ||
261 | void ConWindow::timeclick() { | 256 | void ConWindow::timeclick() { |
262 | // QString tooltip = i18n("Connection: %1\n" | 257 | // QString tooltip = QObject::tr("Connection: %1\n" |
263 | // "Connected at: %2\n" | 258 | // "Connected at: %2\n" |
264 | // "Time connected: %3") | 259 | // "Time connected: %3") |
265 | // .arg(_pppdata->accname()).arg(info2->text()) | 260 | // .arg(_pppdata->accname()).arg(info2->text()) |
266 | // .arg(time_string2); | 261 | // .arg(time_string2); |
267 | 262 | ||
268 | // if(accountingEnabled) | 263 | // if(accountingEnabled) |
269 | // tooltip += i18n("\nSession Bill: %1\nTotal Bill: %2") | 264 | // tooltip += QObject::tr("\nSession Bill: %1\nTotal Bill: %2") |
270 | // .arg(session_bill->text()).arg(total_bill->text()); | 265 | // .arg(session_bill->text()).arg(total_bill->text()); |
271 | // // volume accounting | 266 | // // volume accounting |
272 | // if(volumeAccountingEnabled) { | 267 | // if(volumeAccountingEnabled) { |
diff --git a/noncore/settings/networksettings/ppp/devices.cpp b/noncore/settings/networksettings/ppp/devices.cpp new file mode 100644 index 0000000..e94904b --- a/dev/null +++ b/noncore/settings/networksettings/ppp/devices.cpp | |||
@@ -0,0 +1,212 @@ | |||
1 | /* | ||
2 | * kPPP: A pppd front end for the KDE project | ||
3 | * | ||
4 | * $Id$ | ||
5 | * | ||
6 | * Copyright (C) 1997 Bernd Johannes Wuebben | ||
7 | * wuebben@math.cornell.edu | ||
8 | * | ||
9 | * based on EzPPP: | ||
10 | * Copyright (C) 1997 Jay Painter | ||
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., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
25 | */ | ||
26 | |||
27 | #include <qdir.h> | ||
28 | #include <stdlib.h> | ||
29 | #include <qlayout.h> | ||
30 | #include <qtabwidget.h> | ||
31 | #include <qtabdialog.h> | ||
32 | #include <qwhatsthis.h> | ||
33 | #include <qmessagebox.h> | ||
34 | |||
35 | #include <qapplication.h> | ||
36 | #include <qbuttongroup.h> | ||
37 | #include <qmessagebox.h> | ||
38 | #include <qvgroupbox.h> | ||
39 | |||
40 | #include "interfaceppp.h" | ||
41 | #include "devices.h" | ||
42 | #include "authwidget.h" | ||
43 | #include "pppdata.h" | ||
44 | #include "edit.h" | ||
45 | #include "general.h" | ||
46 | |||
47 | void parseargs(char* buf, char** args); | ||
48 | |||
49 | DevicesWidget::DevicesWidget( InterfacePPP* ip, QWidget *parent, const char *name, WFlags f ) | ||
50 | : ChooserWidget(ip->data(), parent, name, f) | ||
51 | { | ||
52 | _ifaceppp = ip; | ||
53 | QWhatsThis::add(edit_b, tr("Allows you to modify the selected device")); | ||
54 | QWhatsThis::add(new_b, tr("Create a new device") ); | ||
55 | |||
56 | QWhatsThis::add(copy_b, | ||
57 | tr("Makes a copy of the selected device. All\n" | ||
58 | "settings of the selected device are copied\n" | ||
59 | "to a new device, that you can modify to fit your\n" | ||
60 | "needs")); | ||
61 | QWhatsThis::add(delete_b, | ||
62 | tr("<p>Deletes the selected device\n\n" | ||
63 | "<font color=\"red\"><b>Use with care!</b></font>")); | ||
64 | |||
65 | copy_b->setEnabled( false ); //FIXME | ||
66 | // delete_b->setEnabled( false ); //FIXME | ||
67 | |||
68 | QStringList tmp = _pppdata->getDevicesNamesList(); | ||
69 | qDebug("DevicesWidget::DevicesWidget got devices %s",tmp.join("--").latin1()); | ||
70 | listListbox->insertStringList(tmp); | ||
71 | |||
72 | for (uint i = 0; i < listListbox->count(); i++){ | ||
73 | qDebug("listListbox->text(i) %s == _pppdata->devname() %s",listListbox->text(i).latin1(), _pppdata->devname().latin1()); | ||
74 | if ( listListbox->text(i) == _pppdata->devname() ) | ||
75 | listListbox->setCurrentItem( i ); | ||
76 | } | ||
77 | } | ||
78 | |||
79 | |||
80 | |||
81 | void DevicesWidget::slotListBoxSelect(int idx) { | ||
82 | bool ok = _pppdata->setDevice( listListbox->text(idx) ); | ||
83 | delete_b->setEnabled((bool)(idx != -1)); | ||
84 | edit_b->setEnabled((bool)(idx != -1)); | ||
85 | //FIXME copy_b->setEnabled((bool)(idx != -1)); | ||
86 | } | ||
87 | |||
88 | void DevicesWidget::edit() { | ||
89 | _pppdata->setDevice(listListbox->text(listListbox->currentItem())); | ||
90 | |||
91 | int result = doTab(); | ||
92 | |||
93 | if(result == QDialog::Accepted) { | ||
94 | listListbox->changeItem(_pppdata->devname(),listListbox->currentItem()); | ||
95 | _pppdata->save(); | ||
96 | } | ||
97 | } | ||
98 | |||
99 | |||
100 | void DevicesWidget::create() { | ||
101 | |||
102 | // if(listListbox->count() == MAX_ACCOUNTS) { | ||
103 | // QMessageBox::information(this, "sorry", | ||
104 | // tr("Maximum number of accounts reached.")); | ||
105 | // return; | ||
106 | // } | ||
107 | |||
108 | int result; | ||
109 | if (_pppdata->newdevice() == -1){ | ||
110 | return; | ||
111 | } | ||
112 | result = doTab(); | ||
113 | |||
114 | if(result == QDialog::Accepted) { | ||
115 | listListbox->insertItem(_pppdata->devname()); | ||
116 | listListbox->setSelected(listListbox->findItem(_pppdata->devname()),true ); | ||
117 | |||
118 | _pppdata->save(); | ||
119 | } else | ||
120 | _pppdata->deleteDevice(); | ||
121 | } | ||
122 | |||
123 | |||
124 | void DevicesWidget::copy() { | ||
125 | // if(listListbox->count() == MAX_ACCOUNTS) { | ||
126 | // QMessageBox::information(this, "sorry", tr("Maximum number of accounts reached.")); | ||
127 | // return; | ||
128 | // } | ||
129 | |||
130 | if(listListbox->currentItem()<0) { | ||
131 | QMessageBox::information(this, "sorry", tr("No devices selected.")); | ||
132 | return; | ||
133 | } | ||
134 | |||
135 | _pppdata->copydevice(listListbox->currentText()); | ||
136 | |||
137 | listListbox->insertItem(_pppdata->devname()); | ||
138 | _pppdata->save(); | ||
139 | } | ||
140 | |||
141 | |||
142 | void DevicesWidget::remove() { | ||
143 | |||
144 | QString s = tr("Are you sure you want to delete\nthe device \"%1\"?") | ||
145 | .arg(listListbox->text(listListbox->currentItem())); | ||
146 | |||
147 | if(QMessageBox::warning(this,tr("Confirm"),s, | ||
148 | QMessageBox::Yes,QMessageBox::No | ||
149 | ) != QMessageBox::Yes) | ||
150 | return; | ||
151 | |||
152 | if(_pppdata->deleteDevice(listListbox->text(listListbox->currentItem()))) | ||
153 | listListbox->removeItem(listListbox->currentItem()); | ||
154 | |||
155 | |||
156 | // _pppdata->save(); | ||
157 | |||
158 | |||
159 | slotListBoxSelect(listListbox->currentItem()); | ||
160 | |||
161 | } | ||
162 | |||
163 | |||
164 | int DevicesWidget::doTab(){ | ||
165 | QDialog *dlg = new QDialog( 0, "newDevice", true, Qt::WStyle_ContextHelp ); | ||
166 | QVBoxLayout *layout = new QVBoxLayout( dlg ); | ||
167 | layout->setSpacing( 0 ); | ||
168 | layout->setMargin( 1 ); | ||
169 | |||
170 | QTabWidget *tabWindow = new QTabWidget( dlg, "tabWindow" ); | ||
171 | layout->addWidget( tabWindow ); | ||
172 | |||
173 | bool isnew; | ||
174 | |||
175 | if(_pppdata->devname().isEmpty()) { | ||
176 | dlg->setCaption(tr("New Device")); | ||
177 | isnew = true; | ||
178 | } else { | ||
179 | QString tit = tr("Edit Device: "); | ||
180 | tit += _pppdata->devname(); | ||
181 | dlg->setCaption(tit); | ||
182 | isnew = false; | ||
183 | } | ||
184 | |||
185 | modem1 = new ModemWidget( _pppdata, tabWindow, "modem1" ); | ||
186 | tabWindow->addTab( modem1, tr("&Device") ); | ||
187 | modem2 = new ModemWidget2( _pppdata, _ifaceppp, tabWindow, "modem2" ); | ||
188 | tabWindow->addTab( modem2, tr("&Modem") ); | ||
189 | |||
190 | int result = 0; | ||
191 | bool ok = false; | ||
192 | |||
193 | while (!ok){ | ||
194 | dlg->showMaximized(); | ||
195 | result = dlg->exec(); | ||
196 | ok = true; | ||
197 | |||
198 | if(result == QDialog::Accepted) { | ||
199 | if (!modem1->save()){ | ||
200 | QMessageBox::critical(this, "error", tr( "You must enter a unique device name")); | ||
201 | ok = false; | ||
202 | }else{ | ||
203 | modem2->save(); | ||
204 | } | ||
205 | } | ||
206 | } | ||
207 | |||
208 | delete dlg; | ||
209 | |||
210 | return result; | ||
211 | } | ||
212 | |||
diff --git a/noncore/settings/networksettings/ppp/devices.h b/noncore/settings/networksettings/ppp/devices.h index d46d5b4..c2679c8 100644 --- a/noncore/settings/networksettings/ppp/devices.h +++ b/noncore/settings/networksettings/ppp/devices.h | |||
@@ -3,58 +3,49 @@ | |||
3 | 3 | ||
4 | #include "kpppconfig.h" | 4 | #include "kpppconfig.h" |
5 | 5 | ||
6 | static const char *devices[] = { | 6 | #include <qwidget.h> |
7 | #ifdef __FreeBSD__ | 7 | #include <qdialog.h> |
8 | "/dev/cuaa0", | 8 | #include <qpushbutton.h> |
9 | "/dev/cuaa1", | 9 | #include <qlistbox.h> |
10 | "/dev/cuaa2", | 10 | #include "chooserwidget.h" |
11 | "/dev/cuaa3", | 11 | |
12 | "/dev/cuaa4", | 12 | class QCheckBox; |
13 | #elif defined(__NetBSD__) | 13 | class QLineEdit; |
14 | "/dev/tty00", /* "normal" modem lines */ | 14 | class QTabWidget; |
15 | "/dev/tty01", | 15 | class DialWidget; |
16 | "/dev/tty02", | 16 | class AuthWidget; |
17 | "/dev/tty03", | 17 | class IPWidget; |
18 | "/dev/dty00", /* Dial out devices */ | 18 | class DNSWidget; |
19 | "/dev/dty01", | 19 | class GatewayWidget; |
20 | "/dev/dty02", | 20 | class InterfacePPP; |
21 | "/dev/dty03", | 21 | class PPPData; |
22 | "/dev/ttyU0", /* USB stuff modems */ | 22 | class ModemWidget; |
23 | "/dev/ttyU1", | 23 | class ModemWidget2; |
24 | "/dev/ttyU2", | 24 | |
25 | "/dev/ttyU3", | 25 | class DevicesWidget : public ChooserWidget { |
26 | "/dev/dtyU0", /* USB stuff, too (dial out device) */ | 26 | Q_OBJECT |
27 | "/dev/dtyU1", | 27 | public: |
28 | "/dev/dtyU2", | 28 | DevicesWidget( InterfacePPP* ip, QWidget *parent=0, const char *name=0, WFlags f=0 ); |
29 | "/dev/dtyU3", | 29 | ~DevicesWidget() {} |
30 | #elif defined (__linux__) | 30 | |
31 | "/dev/modem", | 31 | |
32 | "/dev/ttyS0", | 32 | private slots: |
33 | "/dev/ttyS1", | 33 | virtual void edit(); |
34 | "/dev/ttyS2", | 34 | virtual void copy(); |
35 | "/dev/ttyS3", | 35 | virtual void remove(); |
36 | #ifdef ISDNSUPPORT | 36 | virtual void create(); |
37 | "/dev/ttyI0", | 37 | virtual void slotListBoxSelect(int); |
38 | "/dev/ttyI1", | 38 | int doTab(); |
39 | "/dev/ttyI2", | 39 | |
40 | "/dev/ttyI3", | 40 | // signals: |
41 | #endif | 41 | // void resetaccounts(); |
42 | "/dev/usb/ttyACM0", /* USB stuff modems */ | 42 | |
43 | "/dev/usb/ttyACM1", | 43 | private: |
44 | "/dev/usb/ttyACM2", | 44 | ModemWidget *modem1; |
45 | "/dev/usb/ttyACM3", | 45 | ModemWidget2 *modem2; |
46 | "/dev/ircomm0", | 46 | InterfacePPP *_ifaceppp; |
47 | "/dev/rfcomm0", | 47 | |
48 | "/dev/rfcomm1", | 48 | }; |
49 | #elif defined(__svr4__) | ||
50 | "/dev/cua/a", | ||
51 | "/dev/cua/b", | ||
52 | "/dev/ttya", | ||
53 | "/dev/ttyb", | ||
54 | #endif | ||
55 | 0}; | ||
56 | 49 | ||
57 | // default device number from the list above | ||
58 | const int DEV_DEFAULT = 0; | ||
59 | 50 | ||
60 | #endif | 51 | #endif |
diff --git a/noncore/settings/networksettings/ppp/edit.cpp b/noncore/settings/networksettings/ppp/edit.cpp index 0c96253..ceac90c 100644 --- a/noncore/settings/networksettings/ppp/edit.cpp +++ b/noncore/settings/networksettings/ppp/edit.cpp | |||
@@ -76,9 +76,9 @@ DialWidget::DialWidget( PPPData *pd, QWidget *parent, bool isnewaccount | |||
76 | del = new QPushButton(tr("&Remove"), this); | 76 | del = new QPushButton(tr("&Remove"), this); |
77 | 77 | ||
78 | up = new QPushButton(this); | 78 | up = new QPushButton(this); |
79 | up->setPixmap( Resource::loadPixmap("inline/up") ); | 79 | up->setPixmap( Resource::loadPixmap("up") ); |
80 | down = new QPushButton(this); | 80 | down = new QPushButton(this); |
81 | down->setPixmap( Resource::loadPixmap("inline/down") ); | 81 | down->setPixmap( Resource::loadPixmap("down") ); |
82 | lpn1->addWidget(add); | 82 | lpn1->addWidget(add); |
83 | lpn1->addWidget(del); | 83 | lpn1->addWidget(del); |
84 | lpn1->addStretch(1); | 84 | lpn1->addStretch(1); |
diff --git a/noncore/settings/networksettings/ppp/general.cpp b/noncore/settings/networksettings/ppp/general.cpp index f735e49..5540946 100644 --- a/noncore/settings/networksettings/ppp/general.cpp +++ b/noncore/settings/networksettings/ppp/general.cpp | |||
@@ -35,42 +35,61 @@ | |||
35 | #include <qslider.h> | 35 | #include <qslider.h> |
36 | #include <qspinbox.h> | 36 | #include <qspinbox.h> |
37 | #include <qwhatsthis.h> | 37 | #include <qwhatsthis.h> |
38 | 38 | #include <qpe/config.h> | |
39 | // #include <qgroupbox.h> | 39 | // #include <qgroupbox.h> |
40 | 40 | ||
41 | |||
41 | #include "general.h" | 42 | #include "general.h" |
42 | #include "interfaceppp.h" | 43 | #include "interfaceppp.h" |
43 | //#include "miniterm.h" | 44 | //#include "miniterm.h" |
44 | #include "modeminfo.h" | 45 | #include "modeminfo.h" |
45 | #include "modemcmds.h" | 46 | #include "modemcmds.h" |
46 | #include "devices.h" | 47 | //#include "devices.h" |
47 | #include "pppdata.h" | 48 | #include "pppdata.h" |
48 | //#include <klocale.h> | 49 | //#include <klocale.h> |
49 | #define i18n QObject::tr | ||
50 | 50 | ||
51 | 51 | ||
52 | 52 | ||
53 | ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name ) | 53 | |
54 | : QWidget(parent, name), _ifaceppp(ifppp) | 54 | ModemWidget::ModemWidget( PPPData *pd, QWidget *parent, const char *name ) |
55 | : QWidget(parent, name), _pppdata(pd) | ||
55 | { | 56 | { |
56 | int k; | 57 | int k; |
57 | 58 | ||
58 | QGridLayout *tl = new QGridLayout(this, 8, 2, 0 );//, KDialog::spacingHint()); | 59 | QGridLayout *tl = new QGridLayout(this, 8, 2, 0 );//, KDialog::spacingHint()); |
59 | 60 | ||
60 | QLabel *label1; | 61 | QLabel *label1; |
61 | label1 = new QLabel(i18n("Modem de&vice:"), this); | 62 | |
63 | label1 = new QLabel(tr("Modem &name:"), this); | ||
62 | tl->addWidget(label1, 0, 0); | 64 | tl->addWidget(label1, 0, 0); |
63 | 65 | ||
66 | modemname = new QLineEdit(this, "modemName"); | ||
67 | modemname->setText( _pppdata->devname() ); | ||
68 | label1->setBuddy(modemname); | ||
69 | tl->addWidget(modemname, 0, 1); | ||
70 | |||
71 | label1 = new QLabel(tr("Modem de&vice:"), this); | ||
72 | tl->addWidget(label1, 1, 0); | ||
73 | |||
64 | modemdevice = new QComboBox(false, this); | 74 | modemdevice = new QComboBox(false, this); |
75 | modemdevice->setEditable( true ); | ||
76 | modemdevice->setDuplicatesEnabled ( false ); | ||
77 | modemdevice->setInsertionPolicy( QComboBox::AtTop ); | ||
65 | label1->setBuddy(modemdevice); | 78 | label1->setBuddy(modemdevice); |
66 | 79 | ||
67 | for(k = 0; devices[k]; k++) | 80 | Config cfg("NetworkSetupPPP"); |
68 | modemdevice->insertItem(devices[k]); | 81 | cfg.setGroup("Devices_General"); |
82 | QStringList devs = cfg.readListEntry("devices",','); | ||
83 | if (devs.isEmpty()) devs << "/dev/modem" << "/dev/ircomm0" << "/dev/ttyS0"; | ||
84 | modemdevice->insertStringList( devs ); | ||
85 | tl->addWidget(modemdevice, 1, 1); | ||
86 | |||
87 | // connect(modemdevice, SIGNAL(activated(int)), | ||
88 | // SLOT(setmodemdc(int))); | ||
89 | // connect(modemdevice, SIGNAL(textChanged( const QString & ) ), | ||
90 | // SLOT( setmodemdc( const QString &) ) ); | ||
69 | 91 | ||
70 | tl->addWidget(modemdevice, 0, 1); | 92 | QString tmp = tr("This specifies the serial port your modem is attached \n" |
71 | connect(modemdevice, SIGNAL(activated(int)), | ||
72 | SLOT(setmodemdc(int))); | ||
73 | QString tmp = i18n("This specifies the serial port your modem is attached \n" | ||
74 | "to. On Linux/x86, typically this is either /dev/ttyS0 \n" | 93 | "to. On Linux/x86, typically this is either /dev/ttyS0 \n" |
75 | "(COM1 under DOS) or /dev/ttyS1 (COM2 under DOS).\n" | 94 | "(COM1 under DOS) or /dev/ttyS1 (COM2 under DOS).\n" |
76 | "\n" | 95 | "\n" |
@@ -82,19 +101,19 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name | |||
82 | QWhatsThis::add(modemdevice,tmp); | 101 | QWhatsThis::add(modemdevice,tmp); |
83 | 102 | ||
84 | 103 | ||
85 | label1 = new QLabel(i18n("&Flow control:"), this); | 104 | label1 = new QLabel(tr("&Flow control:"), this); |
86 | tl->addWidget(label1, 1, 0); | 105 | tl->addWidget(label1, 2, 0); |
87 | 106 | ||
88 | flowcontrol = new QComboBox(false, this); | 107 | flowcontrol = new QComboBox(false, this); |
89 | label1->setBuddy(flowcontrol); | 108 | label1->setBuddy(flowcontrol); |
90 | flowcontrol->insertItem(i18n("Hardware [CRTSCTS]")); | 109 | flowcontrol->insertItem(tr("Hardware [CRTSCTS]")); |
91 | flowcontrol->insertItem(i18n("Software [XON/XOFF]")); | 110 | flowcontrol->insertItem(tr("Software [XON/XOFF]")); |
92 | flowcontrol->insertItem(i18n("None")); | 111 | flowcontrol->insertItem(tr("None")); |
93 | tl->addWidget(flowcontrol, 1, 1); | 112 | tl->addWidget(flowcontrol, 2, 1); |
94 | connect(flowcontrol, SIGNAL(activated(int)), | 113 | // connect(flowcontrol, SIGNAL(activated(int)), |
95 | SLOT(setflowcontrol(int))); | 114 | // SLOT(setflowcontrol(int))); |
96 | 115 | ||
97 | tmp = i18n("<p>Specifies how the serial port and modem\n" | 116 | tmp = tr("<p>Specifies how the serial port and modem\n" |
98 | "communicate. You should not change this unless\n" | 117 | "communicate. You should not change this unless\n" |
99 | "you know what you are doing.\n" | 118 | "you know what you are doing.\n" |
100 | "\n" | 119 | "\n" |
@@ -103,17 +122,17 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name | |||
103 | QWhatsThis::add(label1,tmp); | 122 | QWhatsThis::add(label1,tmp); |
104 | QWhatsThis::add(flowcontrol,tmp); | 123 | QWhatsThis::add(flowcontrol,tmp); |
105 | 124 | ||
106 | QLabel *labelenter = new QLabel(i18n("&Line termination:"), this); | 125 | QLabel *labelenter = new QLabel(tr("&Line termination:"), this); |
107 | tl->addWidget(labelenter, 2, 0); | 126 | tl->addWidget(labelenter, 3, 0); |
108 | 127 | ||
109 | enter = new QComboBox(false, this); | 128 | enter = new QComboBox(false, this); |
110 | labelenter->setBuddy(enter); | 129 | labelenter->setBuddy(enter); |
111 | enter->insertItem("CR"); | 130 | enter->insertItem("CR"); |
112 | enter->insertItem("LF"); | 131 | enter->insertItem("LF"); |
113 | enter->insertItem("CR/LF"); | 132 | enter->insertItem("CR/LF"); |
114 | tl->addWidget(enter, 2, 1); | 133 | tl->addWidget(enter, 3, 1); |
115 | connect(enter, SIGNAL(activated(int)), SLOT(setenter(int))); | 134 | // connect(enter, SIGNAL(activated(int)), SLOT(setenter(int))); |
116 | tmp = i18n("<p>Specifies how AT commands are sent to your\n" | 135 | tmp = tr("<p>Specifies how AT commands are sent to your\n" |
117 | "modem. Most modems will work fine with the\n" | 136 | "modem. Most modems will work fine with the\n" |
118 | "default <i>CR/LF</i>. If your modem does not react\n" | 137 | "default <i>CR/LF</i>. If your modem does not react\n" |
119 | "to the init string, you should try different\n" | 138 | "to the init string, you should try different\n" |
@@ -124,8 +143,8 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name | |||
124 | QWhatsThis::add(labelenter,tmp); | 143 | QWhatsThis::add(labelenter,tmp); |
125 | QWhatsThis::add(enter, tmp); | 144 | QWhatsThis::add(enter, tmp); |
126 | 145 | ||
127 | QLabel *baud_label = new QLabel(i18n("Co&nnection speed:"), this); | 146 | QLabel *baud_label = new QLabel(tr("Co&nnection speed:"), this); |
128 | tl->addWidget(baud_label, 3, 0); | 147 | tl->addWidget(baud_label, 4, 0); |
129 | baud_c = new QComboBox(this); | 148 | baud_c = new QComboBox(this); |
130 | baud_label->setBuddy(baud_c); | 149 | baud_label->setBuddy(baud_c); |
131 | 150 | ||
@@ -157,11 +176,11 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name | |||
157 | baud_c->insertItem(baudrates[k]); | 176 | baud_c->insertItem(baudrates[k]); |
158 | 177 | ||
159 | baud_c->setCurrentItem(3); | 178 | baud_c->setCurrentItem(3); |
160 | connect(baud_c, SIGNAL(activated(int)), | 179 | // connect(baud_c, SIGNAL(activated(int)), |
161 | this, SLOT(speed_selection(int))); | 180 | // this, SLOT(speed_selection(int))); |
162 | tl->addWidget(baud_c, 3, 1); | 181 | tl->addWidget(baud_c, 4, 1); |
163 | 182 | ||
164 | tmp = i18n("Specifies the speed your modem and the serial\n" | 183 | tmp = tr("Specifies the speed your modem and the serial\n" |
165 | "port talk to each other. You should begin with\n" | 184 | "port talk to each other. You should begin with\n" |
166 | "the default of 38400 bits/sec. If everything\n" | 185 | "the default of 38400 bits/sec. If everything\n" |
167 | "works you can try to increase this value, but to\n" | 186 | "works you can try to increase this value, but to\n" |
@@ -172,22 +191,22 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name | |||
172 | QWhatsThis::add(baud_c,tmp); | 191 | QWhatsThis::add(baud_c,tmp); |
173 | 192 | ||
174 | for(int i=0; i <= enter->count()-1; i++) { | 193 | for(int i=0; i <= enter->count()-1; i++) { |
175 | if(_ifaceppp->data()->enter() == enter->text(i)) | 194 | if(_pppdata->enter() == enter->text(i)) |
176 | enter->setCurrentItem(i); | 195 | enter->setCurrentItem(i); |
177 | } | 196 | } |
178 | 197 | ||
179 | tl->addRowSpacing(4, 10); | 198 | tl->addRowSpacing(5, 10); |
180 | 199 | ||
181 | //Modem Lock File | 200 | //Modem Lock File |
182 | modemlockfile = new QCheckBox(i18n("&Use lock file"), this); | 201 | modemlockfile = new QCheckBox(tr("&Use lock file"), this); |
183 | 202 | ||
184 | modemlockfile->setChecked(_ifaceppp->data()->modemLockFile()); | 203 | modemlockfile->setChecked(_pppdata->modemLockFile()); |
185 | connect(modemlockfile, SIGNAL(toggled(bool)), | 204 | // connect(modemlockfile, SIGNAL(toggled(bool)), |
186 | SLOT(modemlockfilechanged(bool))); | 205 | // SLOT(modemlockfilechanged(bool))); |
187 | tl->addMultiCellWidget(modemlockfile, 5, 5, 0, 1); | 206 | tl->addMultiCellWidget(modemlockfile, 6, 6, 0, 1); |
188 | // l12->addStretch(1); | 207 | // l12->addStretch(1); |
189 | QWhatsThis::add(modemlockfile, | 208 | QWhatsThis::add(modemlockfile, |
190 | i18n("<p>To prevent other programs from accessing the\n" | 209 | tr("<p>To prevent other programs from accessing the\n" |
191 | "modem while a connection is established, a\n" | 210 | "modem while a connection is established, a\n" |
192 | "file can be created to indicate that the modem\n" | 211 | "file can be created to indicate that the modem\n" |
193 | "is in use. On Linux an example file would be\n" | 212 | "is in use. On Linux an example file would be\n" |
@@ -202,89 +221,139 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name | |||
202 | QLabel *timeoutlabel = new QLabel( tr("Modem timeout:") ,this, "timeout" ); | 221 | QLabel *timeoutlabel = new QLabel( tr("Modem timeout:") ,this, "timeout" ); |
203 | modemtimeout = new QSpinBox( 1, 120, 1, this, "modemTimeout" ); | 222 | modemtimeout = new QSpinBox( 1, 120, 1, this, "modemTimeout" ); |
204 | // modemtimeout = new KIntNumInput(_pppdata->modemTimeout(), this); | 223 | // modemtimeout = new KIntNumInput(_pppdata->modemTimeout(), this); |
205 | // modemtimeout->setLabel(i18n("Modem &timeout:")); | 224 | // modemtimeout->setLabel(tr("Modem &timeout:")); |
206 | // modemtimeout->setRange(1, 120, 1); | 225 | // modemtimeout->setRange(1, 120, 1); |
207 | modemtimeout->setSuffix(i18n(" sec")); | 226 | modemtimeout->setSuffix(tr(" sec")); |
208 | modemtimeout->setValue( _ifaceppp->data()->modemTimeout() ); | 227 | modemtimeout->setValue( _pppdata->modemTimeout() ); |
209 | connect(modemtimeout, SIGNAL(valueChanged(int)), | 228 | // connect(modemtimeout, SIGNAL(valueChanged(int)), |
210 | SLOT(modemtimeoutchanged(int))); | 229 | // SLOT(modemtimeoutchanged(int))); |
211 | timeoutLayout->addWidget(timeoutlabel); | 230 | timeoutLayout->addWidget(timeoutlabel); |
212 | timeoutLayout->addWidget(modemtimeout); | 231 | timeoutLayout->addWidget(modemtimeout); |
213 | tl->addMultiCellLayout(timeoutLayout, 6, 6, 0, 1); | 232 | tl->addMultiCellLayout(timeoutLayout, 7, 7, 0, 1); |
214 | 233 | ||
215 | QWhatsThis::add(modemtimeout, | 234 | QWhatsThis::add(modemtimeout, |
216 | i18n("This specifies how long <i>kppp</i> waits for a\n" | 235 | tr("This specifies how long <i>kppp</i> waits for a\n" |
217 | "<i>CONNECT</i> response from your modem. The\n" | 236 | "<i>CONNECT</i> response from your modem. The\n" |
218 | "recommended value is 30 seconds.")); | 237 | "recommended value is 30 seconds.")); |
219 | 238 | ||
220 | //set stuff from gpppdata | 239 | //set stuff from gpppdata |
221 | for(int i=0; i <= enter->count()-1; i++) { | 240 | for(int i=0; i <= enter->count()-1; i++) { |
222 | if(_ifaceppp->data()->enter() == enter->text(i)) | 241 | if(_pppdata->enter() == enter->text(i)) |
223 | enter->setCurrentItem(i); | 242 | enter->setCurrentItem(i); |
224 | } | 243 | } |
225 | 244 | ||
226 | for(int i=0; i <= modemdevice->count()-1; i++) { | 245 | for(int i=0; i <= modemdevice->count()-1; i++) { |
227 | if(_ifaceppp->data()->modemDevice() == modemdevice->text(i)) | 246 | if(_pppdata->modemDevice() == modemdevice->text(i)) |
228 | modemdevice->setCurrentItem(i); | 247 | modemdevice->setCurrentItem(i); |
229 | } | 248 | } |
230 | 249 | ||
231 | for(int i=0; i <= flowcontrol->count()-1; i++) { | 250 | for(int i=0; i <= flowcontrol->count()-1; i++) { |
232 | if(_ifaceppp->data()->flowcontrol() == flowcontrol->text(i)) | 251 | if(_pppdata->flowcontrol() == flowcontrol->text(i)) |
233 | flowcontrol->setCurrentItem(i); | 252 | flowcontrol->setCurrentItem(i); |
234 | } | 253 | } |
235 | 254 | ||
236 | //set the modem speed | 255 | //set the modem speed |
237 | for(int i=0; i < baud_c->count(); i++) | 256 | for(int i=0; i < baud_c->count(); i++) |
238 | if(baud_c->text(i) == _ifaceppp->data()->speed()) | 257 | if(baud_c->text(i) == _pppdata->speed()) |
239 | baud_c->setCurrentItem(i); | 258 | baud_c->setCurrentItem(i); |
240 | 259 | ||
241 | tl->setRowStretch(7, 1); | 260 | tl->setRowStretch(1, 1); |
242 | } | 261 | } |
243 | 262 | ||
263 | ModemWidget::~ModemWidget() | ||
264 | { | ||
265 | QStringList devs; | ||
244 | 266 | ||
245 | void ModemWidget::speed_selection(int) { | 267 | for (int i=0;i<modemdevice->count();i++) |
246 | _ifaceppp->data()->setSpeed(baud_c->text(baud_c->currentItem())); | 268 | { |
247 | } | 269 | QString s = modemdevice->text(i); |
270 | s.simplifyWhiteSpace(); | ||
271 | if (! s.isEmpty() ) devs << s; | ||
272 | } | ||
248 | 273 | ||
249 | 274 | ||
250 | void ModemWidget::setenter(int ) { | 275 | QString edited = modemdevice->currentText(); |
251 | _ifaceppp->data()->setEnter(enter->text(enter->currentItem())); | 276 | if ( !( edited ).isEmpty() ) { |
252 | } | 277 | edited.simplifyWhiteSpace(); |
278 | if ( devs.contains( edited ) == 0 ) { | ||
279 | devs << edited; | ||
280 | } | ||
281 | _pppdata->setModemDevice( edited ); | ||
282 | } | ||
283 | |||
253 | 284 | ||
285 | Config cfg("NetworkSetupPPP"); | ||
286 | cfg.setGroup("Devices_General"); | ||
287 | cfg.writeEntry("devices",devs,','); | ||
254 | 288 | ||
255 | void ModemWidget::setmodemdc(int i) { | ||
256 | _ifaceppp->data()->setModemDevice(modemdevice->text(i)); | ||
257 | } | 289 | } |
258 | 290 | ||
291 | // void ModemWidget::speed_selection(int) { | ||
292 | // _pppdata->setSpeed(baud_c->text(baud_c->currentItem())); | ||
293 | // } | ||
259 | 294 | ||
260 | void ModemWidget::setflowcontrol(int i) { | ||
261 | _ifaceppp->data()->setFlowcontrol(flowcontrol->text(i)); | ||
262 | } | ||
263 | 295 | ||
296 | // void ModemWidget::setenter(int ) { | ||
297 | // _pppdata->setEnter(enter->text(enter->currentItem())); | ||
298 | // } | ||
264 | 299 | ||
265 | void ModemWidget::modemlockfilechanged(bool set) { | ||
266 | _ifaceppp->data()->setModemLockFile(set); | ||
267 | } | ||
268 | 300 | ||
301 | // void ModemWidget::setmodemdc(int i) { | ||
302 | // _pppdata->setModemDevice(modemdevice->text(i)); | ||
303 | // } | ||
269 | 304 | ||
270 | void ModemWidget::modemtimeoutchanged(int n) { | 305 | // void ModemWidget::setmodemdc( const QString &string ) { |
271 | _ifaceppp->data()->setModemTimeout(n); | 306 | // _pppdata->setModemDevice( string ); |
272 | } | 307 | // } |
308 | |||
309 | // void ModemWidget::setflowcontrol(int i) { | ||
310 | // _pppdata->setFlowcontrol(flowcontrol->text(i)); | ||
311 | // } | ||
273 | 312 | ||
274 | 313 | ||
275 | ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, | 314 | // void ModemWidget::modemlockfilechanged(bool set) { |
315 | // _pppdata->setModemLockFile(set); | ||
316 | // } | ||
317 | |||
318 | |||
319 | // void ModemWidget::modemtimeoutchanged(int n) { | ||
320 | // _pppdata->setModemTimeout(n); | ||
321 | // } | ||
322 | |||
323 | |||
324 | |||
325 | bool ModemWidget::save() | ||
326 | { | ||
327 | //first check to make sure that the device name is unique! | ||
328 | if(modemname->text().isEmpty() || | ||
329 | !_pppdata->isUniqueDevname(modemname->text())) | ||
330 | return false; | ||
331 | |||
332 | qDebug("ModemWidget::save saving modem1 data"); | ||
333 | _pppdata->setDevname( modemname->text() ); | ||
334 | _pppdata->setModemDevice( modemdevice->currentText() ); | ||
335 | _pppdata->setFlowcontrol(flowcontrol->currentText()); | ||
336 | _pppdata->setFlowcontrol(flowcontrol->currentText()); | ||
337 | _pppdata->setSpeed(baud_c->currentText()); | ||
338 | _pppdata->setModemLockFile( modemlockfile->isChecked()); | ||
339 | _pppdata->setModemTimeout( modemtimeout->value() ); | ||
340 | return true; | ||
341 | |||
342 | } | ||
343 | |||
344 | ModemWidget2::ModemWidget2( PPPData *pd, InterfacePPP *ip, QWidget *parent, | ||
276 | const char *name) | 345 | const char *name) |
277 | : QWidget(parent, name), _ifaceppp(ifp) | 346 | : QWidget(parent, name), _pppdata(pd), _ifaceppp(ip) |
278 | { | 347 | { |
279 | QVBoxLayout *l1 = new QVBoxLayout(this, 0 );//, KDialog::spacingHint()); | 348 | QVBoxLayout *l1 = new QVBoxLayout(this, 0 );//, KDialog::spacingHint()); |
280 | 349 | ||
281 | 350 | ||
282 | waitfordt = new QCheckBox(i18n("&Wait for dial tone before dialing"), this); | 351 | waitfordt = new QCheckBox(tr("&Wait for dial tone before dialing"), this); |
283 | waitfordt->setChecked(_ifaceppp->data()->waitForDialTone()); | 352 | waitfordt->setChecked(_pppdata->waitForDialTone()); |
284 | connect(waitfordt, SIGNAL(toggled(bool)), SLOT(waitfordtchanged(bool))); | 353 | // connect(waitfordt, SIGNAL(toggled(bool)), SLOT(waitfordtchanged(bool))); |
285 | l1->addWidget(waitfordt); | 354 | l1->addWidget(waitfordt); |
286 | QWhatsThis::add(waitfordt, | 355 | QWhatsThis::add(waitfordt, |
287 | i18n("<p>Normally the modem waits for a dial tone\n" | 356 | tr("<p>Normally the modem waits for a dial tone\n" |
288 | "from your phone line, indicating that it can\n" | 357 | "from your phone line, indicating that it can\n" |
289 | "start to dial a number. If your modem does not\n" | 358 | "start to dial a number. If your modem does not\n" |
290 | "recognize this sound, or your local phone system\n" | 359 | "recognize this sound, or your local phone system\n" |
@@ -296,16 +365,16 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, | |||
296 | QLabel *waitLabel = new QLabel( tr("Busy wait:"), this, "busyWait" ); | 365 | QLabel *waitLabel = new QLabel( tr("Busy wait:"), this, "busyWait" ); |
297 | busywait = new QSpinBox( 0, 300, 5, this, "busyWait" ); | 366 | busywait = new QSpinBox( 0, 300, 5, this, "busyWait" ); |
298 | // busywait = new KIntNumInput(_pppdata->busyWait(), this); | 367 | // busywait = new KIntNumInput(_pppdata->busyWait(), this); |
299 | // busywait->setLabel(i18n("B&usy wait:")); | 368 | // busywait->setLabel(tr("B&usy wait:")); |
300 | // busywait->setRange(0, 300, 5, true); | 369 | // busywait->setRange(0, 300, 5, true); |
301 | busywait->setSuffix(i18n(" sec")); | 370 | busywait->setSuffix(tr(" sec")); |
302 | connect(busywait, SIGNAL(valueChanged(int)), SLOT(busywaitchanged(int))); | 371 | // connect(busywait, SIGNAL(valueChanged(int)), SLOT(busywaitchanged(int))); |
303 | waitLayout->addWidget(waitLabel); | 372 | waitLayout->addWidget(waitLabel); |
304 | waitLayout->addWidget(busywait); | 373 | waitLayout->addWidget(busywait); |
305 | l1->addLayout( waitLayout ); | 374 | l1->addLayout( waitLayout ); |
306 | 375 | ||
307 | QWhatsThis::add(busywait, | 376 | QWhatsThis::add(busywait, |
308 | i18n("Specifies the number of seconds to wait before\n" | 377 | tr("Specifies the number of seconds to wait before\n" |
309 | "redial if all dialed numbers are busy. This is\n" | 378 | "redial if all dialed numbers are busy. This is\n" |
310 | "necessary because some modems get stuck if the\n" | 379 | "necessary because some modems get stuck if the\n" |
311 | "same number is busy too often.\n" | 380 | "same number is busy too often.\n" |
@@ -318,9 +387,9 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, | |||
318 | QHBoxLayout *hbl = new QHBoxLayout; | 387 | QHBoxLayout *hbl = new QHBoxLayout; |
319 | hbl->setSpacing(2);//KDialog::spacingHint()); | 388 | hbl->setSpacing(2);//KDialog::spacingHint()); |
320 | 389 | ||
321 | QLabel *volumeLabel = new QLabel(i18n("Modem &volume:"), this); | 390 | QLabel *volumeLabel = new QLabel(tr("Modem &volume:"), this); |
322 | hbl->addWidget(volumeLabel); | 391 | hbl->addWidget(volumeLabel); |
323 | volume = new QSlider(0, 2, 1, _ifaceppp->data()->volume(), | 392 | volume = new QSlider(0, 2, 1, _pppdata->volume(), |
324 | QSlider::Horizontal, this); | 393 | QSlider::Horizontal, this); |
325 | volumeLabel->setBuddy(volume); | 394 | volumeLabel->setBuddy(volume); |
326 | volume->setTickmarks(QSlider::Below); | 395 | volume->setTickmarks(QSlider::Below); |
@@ -328,9 +397,9 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, | |||
328 | 397 | ||
329 | l1->addLayout(hbl); | 398 | l1->addLayout(hbl); |
330 | 399 | ||
331 | connect(volume, SIGNAL(valueChanged(int)), | 400 | // connect(volume, SIGNAL(valueChanged(int)), |
332 | this, SLOT(volumeChanged(int))); | 401 | // this, SLOT(volumeChanged(int))); |
333 | QString tmp = i18n("Most modems have a speaker which makes\n" | 402 | QString tmp = tr("Most modems have a speaker which makes\n" |
334 | "a lot of noise when dialing. Here you can\n" | 403 | "a lot of noise when dialing. Here you can\n" |
335 | "either turn this completely off or select a\n" | 404 | "either turn this completely off or select a\n" |
336 | "lower volume.\n" | 405 | "lower volume.\n" |
@@ -344,38 +413,38 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, | |||
344 | l1->addSpacing(20); | 413 | l1->addSpacing(20); |
345 | 414 | ||
346 | #if 0 | 415 | #if 0 |
347 | chkbox1 = new QCheckBox(i18n("Modem asserts CD line"), this); | 416 | chkbox1 = new QCheckBox(tr("Modem asserts CD line"), this); |
348 | chkbox1->setChecked(_ifaceppp->data()->UseCDLine()); | 417 | chkbox1->setChecked(_pppdata->UseCDLine()); |
349 | connect(chkbox1,SIGNAL(toggled(bool)), | 418 | connect(chkbox1,SIGNAL(toggled(bool)), |
350 | this,SLOT(use_cdline_toggled(bool))); | 419 | this,SLOT(use_cdline_toggled(bool))); |
351 | l12->addWidget(chkbox1); | 420 | l12->addWidget(chkbox1); |
352 | l12->addStretch(1); | 421 | l12->addStretch(1); |
353 | l1->addStretch(1); | 422 | l1->addStretch(1); |
354 | QWhatsThis::add(chkbox1, | 423 | QWhatsThis::add(chkbox1, |
355 | i18n("This controls how <i>kppp</i> detects that the modem\n" | 424 | tr("This controls how <i>kppp</i> detects that the modem\n" |
356 | "is not responding. Unless you are having\n" | 425 | "is not responding. Unless you are having\n" |
357 | "problems with this, do not modify this setting.\n" | 426 | "problems with this, do not modify this setting.\n" |
358 | "\n" | 427 | "\n" |
359 | "<b>Default</b>: Off")); | 428 | "<b>Default</b>: Off")); |
360 | #endif | 429 | #endif |
361 | 430 | ||
362 | modemcmds = new QPushButton(i18n("Mod&em Commands..."), this); | 431 | modemcmds = new QPushButton(tr("Mod&em Commands..."), this); |
363 | QWhatsThis::add(modemcmds, | 432 | QWhatsThis::add(modemcmds, |
364 | i18n("Allows you to change the AT command for\n" | 433 | tr("Allows you to change the AT command for\n" |
365 | "your modem.")); | 434 | "your modem.")); |
366 | 435 | ||
367 | modeminfo_button = new QPushButton(i18n("&Query Modem..."), this); | 436 | modeminfo_button = new QPushButton(tr("&Query Modem..."), this); |
368 | QWhatsThis::add(modeminfo_button, | 437 | QWhatsThis::add(modeminfo_button, |
369 | i18n("Most modems support the ATI command set to\n" | 438 | tr("Most modems support the ATI command set to\n" |
370 | "find out vendor and revision of your modem.\n" | 439 | "find out vendor and revision of your modem.\n" |
371 | "\n" | 440 | "\n" |
372 | "Press this button to query your modem for\n" | 441 | "Press this button to query your modem for\n" |
373 | "this information. It can be useful to help\n" | 442 | "this information. It can be useful to help\n" |
374 | "you setup the modem")); | 443 | "you setup the modem")); |
375 | 444 | ||
376 | // terminal_button = new QPushButton(i18n("&Terminal..."), this); | 445 | // terminal_button = new QPushButton(tr("&Terminal..."), this); |
377 | // QWhatsThis::add(terminal_button, | 446 | // QWhatsThis::add(terminal_button, |
378 | // i18n("Opens the built-in terminal program. You\n" | 447 | // tr("Opens the built-in terminal program. You\n" |
379 | // "can use this if you want to play around\n" | 448 | // "can use this if you want to play around\n" |
380 | // "with your modem's AT command set")); | 449 | // "with your modem's AT command set")); |
381 | 450 | ||
@@ -402,7 +471,7 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, | |||
402 | 471 | ||
403 | 472 | ||
404 | void ModemWidget2::modemcmdsbutton() { | 473 | void ModemWidget2::modemcmdsbutton() { |
405 | ModemCommands mc(_ifaceppp->data(), this); | 474 | ModemCommands mc(_ifaceppp->data(), this, "commands" , true, Qt::WStyle_ContextHelp); |
406 | mc.showMaximized(); | 475 | mc.showMaximized(); |
407 | mc.exec(); | 476 | mc.exec(); |
408 | } | 477 | } |
@@ -420,22 +489,30 @@ void ModemWidget2::query_modem() { | |||
420 | // } | 489 | // } |
421 | 490 | ||
422 | 491 | ||
423 | #if 0 | 492 | // #if 0 |
424 | void ModemWidget2::use_cdline_toggled(bool on) { | 493 | // void ModemWidget2::use_cdline_toggled(bool on) { |
425 | _ifaceppp->data()->setUseCDLine(on); | 494 | // _pppdata->setUseCDLine(on); |
426 | } | 495 | // } |
427 | #endif | 496 | // #endif |
428 | 497 | ||
429 | void ModemWidget2::waitfordtchanged(bool b) { | 498 | // void ModemWidget2::waitfordtchanged(bool b) { |
430 | _ifaceppp->data()->setWaitForDialTone((int)b); | 499 | // _pppdata->setWaitForDialTone((int)b); |
431 | } | 500 | // } |
432 | 501 | ||
433 | void ModemWidget2::busywaitchanged(int n) { | 502 | // void ModemWidget2::busywaitchanged(int n) { |
434 | _ifaceppp->data()->setbusyWait(n); | 503 | // _pppdata->setbusyWait(n); |
435 | } | 504 | // } |
436 | 505 | ||
437 | 506 | ||
438 | void ModemWidget2::volumeChanged(int v) { | 507 | // void ModemWidget2::volumeChanged(int v) { |
439 | _ifaceppp->data()->setVolume(v); | 508 | // _pppdata->setVolume(v); |
509 | // } | ||
510 | |||
511 | bool ModemWidget2::save() | ||
512 | { | ||
513 | _pppdata->setWaitForDialTone(waitfordt->isChecked()); | ||
514 | _pppdata->setbusyWait(busywait->value()); | ||
515 | _pppdata->setVolume(volume->value()); | ||
516 | return true; | ||
440 | } | 517 | } |
441 | 518 | ||
diff --git a/noncore/settings/networksettings/ppp/general.h b/noncore/settings/networksettings/ppp/general.h index 3e59b46..f43f241 100644 --- a/noncore/settings/networksettings/ppp/general.h +++ b/noncore/settings/networksettings/ppp/general.h | |||
@@ -36,19 +36,24 @@ class QCheckBox; | |||
36 | class QComboBox; | 36 | class QComboBox; |
37 | class PPPData; | 37 | class PPPData; |
38 | class InterfacePPP; | 38 | class InterfacePPP; |
39 | class QLineEdit; | ||
39 | 40 | ||
40 | class ModemWidget : public QWidget { | 41 | class ModemWidget : public QWidget { |
41 | Q_OBJECT | 42 | Q_OBJECT |
42 | public: | 43 | public: |
43 | ModemWidget( InterfacePPP*, QWidget *parent=0, const char *name=0 ); | 44 | ModemWidget(PPPData*, QWidget *parent=0, const char *name=0 ); |
45 | ~ModemWidget(); | ||
44 | 46 | ||
45 | private slots: | 47 | bool save(); |
46 | void setmodemdc(int); | 48 | |
47 | void setflowcontrol(int); | 49 | /* private slots: */ |
48 | void modemtimeoutchanged(int); | 50 | /* void setmodemdc(int); */ |
49 | void modemlockfilechanged(bool); | 51 | /* void setmodemdc(const QString &); */ |
50 | void setenter(int); | 52 | /* void setflowcontrol(int); */ |
51 | void speed_selection(int); | 53 | /* void modemtimeoutchanged(int); */ |
54 | /* void modemlockfilechanged(bool); */ | ||
55 | /* void setenter(int); */ | ||
56 | /* void speed_selection(int); */ | ||
52 | 57 | ||
53 | private: | 58 | private: |
54 | QComboBox *enter; | 59 | QComboBox *enter; |
@@ -56,6 +61,7 @@ private: | |||
56 | /* QLabel *label2; */ | 61 | /* QLabel *label2; */ |
57 | /* QLabel *labeltmp; */ | 62 | /* QLabel *labeltmp; */ |
58 | /* QLabel *labelenter; */ | 63 | /* QLabel *labelenter; */ |
64 | QLineEdit *modemname; | ||
59 | QComboBox *modemdevice; | 65 | QComboBox *modemdevice; |
60 | QComboBox *flowcontrol; | 66 | QComboBox *flowcontrol; |
61 | 67 | ||
@@ -64,23 +70,24 @@ private: | |||
64 | 70 | ||
65 | QSpinBox *modemtimeout; | 71 | QSpinBox *modemtimeout; |
66 | QCheckBox *modemlockfile; | 72 | QCheckBox *modemlockfile; |
67 | InterfacePPP *_ifaceppp; | 73 | PPPData *_pppdata; |
68 | }; | 74 | }; |
69 | 75 | ||
70 | 76 | ||
71 | class ModemWidget2 : public QWidget { | 77 | class ModemWidget2 : public QWidget { |
72 | Q_OBJECT | 78 | Q_OBJECT |
73 | public: | 79 | public: |
74 | ModemWidget2( InterfacePPP*, QWidget *parent=0, const char *name=0 ); | 80 | ModemWidget2( PPPData*, InterfacePPP*, QWidget *parent=0, const char *name=0 ); |
81 | bool save(); | ||
75 | 82 | ||
76 | private slots: | 83 | private slots: |
77 | void waitfordtchanged(bool); | 84 | /* void waitfordtchanged(bool); */ |
78 | void busywaitchanged(int); | 85 | /* void busywaitchanged(int); */ |
79 | // void use_cdline_toggled(bool); | 86 | // void use_cdline_toggled(bool); |
80 | void modemcmdsbutton(); | 87 | void modemcmdsbutton(); |
81 | // void terminal(); | 88 | // void terminal(); |
82 | void query_modem(); | 89 | void query_modem(); |
83 | void volumeChanged(int); | 90 | // void volumeChanged(int); |
84 | 91 | ||
85 | private: | 92 | private: |
86 | QLabel *labeltmp; | 93 | QLabel *labeltmp; |
@@ -92,6 +99,7 @@ private: | |||
92 | QSpinBox *busywait; | 99 | QSpinBox *busywait; |
93 | QCheckBox *chkbox1; | 100 | QCheckBox *chkbox1; |
94 | QSlider *volume; | 101 | QSlider *volume; |
102 | PPPData *_pppdata; | ||
95 | InterfacePPP *_ifaceppp; | 103 | InterfacePPP *_ifaceppp; |
96 | }; | 104 | }; |
97 | 105 | ||
diff --git a/noncore/settings/networksettings/ppp/interfaceinformationppp.cpp b/noncore/settings/networksettings/ppp/interfaceinformationppp.cpp index 553daa2..6b158b9 100644 --- a/noncore/settings/networksettings/ppp/interfaceinformationppp.cpp +++ b/noncore/settings/networksettings/ppp/interfaceinformationppp.cpp | |||
@@ -1,9 +1,7 @@ | |||
1 | #include "interfaceinformationppp.h" | 1 | #include "interfaceinformationppp.h" |
2 | 2 | ||
3 | |||
4 | #include <qpushbutton.h> | 3 | #include <qpushbutton.h> |
5 | #include <qlabel.h> | 4 | #include <qlabel.h> |
6 | //#include <qgroupbox.h> | ||
7 | #include <qmessagebox.h> | 5 | #include <qmessagebox.h> |
8 | #include <qabstractlayout.h> | 6 | #include <qabstractlayout.h> |
9 | 7 | ||
@@ -20,17 +18,23 @@ | |||
20 | * just display's information about the interface that is passed to it. | 18 | * just display's information about the interface that is passed to it. |
21 | */ | 19 | */ |
22 | InterfaceInformationPPP::InterfaceInformationPPP(QWidget *parent, const char *name, Interface *i, WFlags f) | 20 | InterfaceInformationPPP::InterfaceInformationPPP(QWidget *parent, const char *name, Interface *i, WFlags f) |
23 | :InterfaceInformationImp(parent, name, i, f) | 21 | :InterfaceInformationImp(parent, name, i, Qt::WStyle_ContextHelp) |
24 | { | 22 | { |
25 | qDebug("InterfaceInformationPPP::InterfaceInformationPPP"); | 23 | qDebug("InterfaceInformationPPP::InterfaceInformationPPP %s", name); |
26 | con = new ConnectWidget( (InterfacePPP*)i, this, "con" ); | 24 | con = new ConnectWidget( (InterfacePPP*)i, this, "con" ); |
27 | con->setSizePolicy( QSizePolicy(QSizePolicy::MinimumExpanding, | 25 | con->setSizePolicy( QSizePolicy(QSizePolicy::MinimumExpanding, |
28 | QSizePolicy::Fixed) ); | 26 | QSizePolicy::Fixed) ); |
29 | QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); | 27 | |
30 | InterfaceInformationLayout->addItem( spacer, 7, 0 ); | 28 | macAddressLabel->hide(); |
31 | InterfaceInformationLayout->addMultiCellWidget( con, 8, 8, 0, 1 ); | 29 | subnetMaskLabel->hide(); |
32 | // InterfaceInformationLayout->addWidget( con, 7, 0 ); | 30 | broadcastLabel->hide(); |
31 | TextLabel23->hide(); | ||
32 | TextLabel21->hide(); | ||
33 | TextLabel24->hide(); | ||
34 | |||
35 | InterfaceInformationLayout->addWidget( con, 1, 0 ); | ||
33 | connect(i, SIGNAL(begin_connect()),con, SLOT(preinit())); | 36 | connect(i, SIGNAL(begin_connect()),con, SLOT(preinit())); |
37 | connect(i, SIGNAL(hangup_now() ), con, SLOT(cancelbutton() ) ); | ||
34 | } | 38 | } |
35 | 39 | ||
36 | 40 | ||
diff --git a/noncore/settings/networksettings/ppp/interfaceppp.cpp b/noncore/settings/networksettings/ppp/interfaceppp.cpp index 9ec30bc..f443f3c 100644 --- a/noncore/settings/networksettings/ppp/interfaceppp.cpp +++ b/noncore/settings/networksettings/ppp/interfaceppp.cpp | |||
@@ -1,6 +1,8 @@ | |||
1 | 1 | ||
2 | #include <qmessagebox.h> | 2 | #include <qmessagebox.h> |
3 | #define i18n QObject::tr | 3 | #include <qlayout.h> |
4 | #include <qlineedit.h> | ||
5 | #include <qlabel.h> | ||
4 | 6 | ||
5 | #include "auth.h" | 7 | #include "auth.h" |
6 | #include "interfaceppp.h" | 8 | #include "interfaceppp.h" |
@@ -15,18 +17,18 @@ InterfacePPP::InterfacePPP(QObject *parent, const char *name, bool status) | |||
15 | qDebug("InterfacePPP::InterfacePPP("); | 17 | qDebug("InterfacePPP::InterfacePPP("); |
16 | } | 18 | } |
17 | 19 | ||
18 | PPPData* InterfacePPP::data() | 20 | PPPData* InterfacePPP::data()const |
19 | { | 21 | { |
20 | if (!_dataPtr){ | 22 | if (!_dataPtr){ |
21 | qDebug("creating new Data obj"); | 23 | qDebug("creating new Data obj"); |
22 | _dataPtr = new PPPData(); | 24 | _dataPtr = new PPPData(); |
23 | _dataPtr->setModemDevice( getInterfaceName() ); | 25 | _dataPtr->setDevice( getInterfaceName() ); |
24 | _dataPtr->setAccount( getHardwareName() ); | 26 | _dataPtr->setAccount( getHardwareName() ); |
25 | } | 27 | } |
26 | return _dataPtr; | 28 | return _dataPtr; |
27 | } | 29 | } |
28 | 30 | ||
29 | Modem* InterfacePPP::modem() | 31 | Modem* InterfacePPP::modem()const |
30 | { | 32 | { |
31 | if (!_modemPtr){ | 33 | if (!_modemPtr){ |
32 | qDebug("creating new modem obj"); | 34 | qDebug("creating new modem obj"); |
@@ -38,27 +40,42 @@ Modem* InterfacePPP::modem() | |||
38 | bool InterfacePPP::refresh() | 40 | bool InterfacePPP::refresh() |
39 | { | 41 | { |
40 | qDebug("InterfacePPP::refresh()"); | 42 | qDebug("InterfacePPP::refresh()"); |
41 | updateInterface(this); | 43 | QString old = getInterfaceName(); |
42 | QMessageBox::information(0,"Not Implemented","This feature is not yet implemneted... ;-("); | 44 | setInterfaceName( modem()->pppDevice() ); |
43 | return false; | 45 | |
46 | (void)Interface::refresh(); | ||
47 | |||
48 | setInterfaceName( old ); | ||
49 | emit updateInterface(this); | ||
50 | |||
51 | return true; | ||
44 | } | 52 | } |
45 | 53 | ||
46 | void InterfacePPP::start() | 54 | void InterfacePPP::start() |
47 | { | 55 | { |
48 | qDebug("InterfacePPP::start"); | 56 | qDebug("InterfacePPP::start"); |
49 | // should work... | ||
50 | // if (data()->password().isEmpty() ){ | ||
51 | // //FIXME: ask for password | ||
52 | // qDebug("using dummy password"); | ||
53 | // QMessageBox::critical( 0, "no password", "you should be prompted for a password, but you are not! ;-)"); | ||
54 | // } | ||
55 | 57 | ||
58 | if (data()->password().isEmpty() && !data()->storedUsername().isEmpty() ) { | ||
59 | |||
60 | QDialog mb( 0, "Dialog", true ); | ||
61 | mb.setCaption( tr( "No password" ) ); | ||
62 | QVBoxLayout layout( &mb ); | ||
63 | QLabel text ( &mb ); | ||
64 | text.setText( tr("Username defined but no password\n Please enter a password") ); | ||
65 | QLineEdit lineedit( &mb ); | ||
66 | lineedit.setEchoMode( QLineEdit::Password ); | ||
67 | layout.addWidget( &text ); | ||
68 | layout.addWidget( &lineedit ); | ||
69 | if ( mb.exec() == QDialog::Accepted ) { | ||
70 | data()->setPassword( lineedit.text() ); | ||
71 | } | ||
72 | } | ||
56 | 73 | ||
57 | QFileInfo info(pppdPath()); | 74 | QFileInfo info(pppdPath()); |
58 | 75 | ||
59 | if(!info.exists()){ | 76 | if(!info.exists()){ |
60 | QMessageBox::warning(0, tr("Error"), | 77 | QMessageBox::warning(0, tr("Error"), |
61 | i18n("<qt>Cannot find the PPP daemon!<br>" | 78 | QObject::tr("<qt>Cannot find the PPP daemon!<br>" |
62 | "Make sure that pppd is installed and " | 79 | "Make sure that pppd is installed and " |
63 | "that you have entered the correct path.</qt>")); | 80 | "that you have entered the correct path.</qt>")); |
64 | return; | 81 | return; |
@@ -67,7 +84,7 @@ void InterfacePPP::start() | |||
67 | if(!info.isExecutable()){ | 84 | if(!info.isExecutable()){ |
68 | 85 | ||
69 | QString string; | 86 | QString string; |
70 | string = i18n( "<qt>Cannot execute:<br> %1<br>" | 87 | string = QObject::tr( "<qt>Cannot execute:<br> %1<br>" |
71 | "Please make sure that you have given " | 88 | "Please make sure that you have given " |
72 | "setuid permission and that " | 89 | "setuid permission and that " |
73 | "pppd is executable.<br>").arg(pppdPath()); | 90 | "pppd is executable.<br>").arg(pppdPath()); |
@@ -81,7 +98,7 @@ void InterfacePPP::start() | |||
81 | 98 | ||
82 | if(!info2.exists()){ | 99 | if(!info2.exists()){ |
83 | QString string; | 100 | QString string; |
84 | string = i18n( "<qt>Cannot find:<br> %1<br>" | 101 | string = QObject::tr( "<qt>Cannot find:<br> %1<br>" |
85 | "Please make sure you have setup " | 102 | "Please make sure you have setup " |
86 | "your modem device properly " | 103 | "your modem device properly " |
87 | "and/or adjust the location of the modem device on " | 104 | "and/or adjust the location of the modem device on " |
@@ -98,7 +115,7 @@ void InterfacePPP::start() | |||
98 | data()->authMethod() == AUTH_PAPCHAP ) { | 115 | data()->authMethod() == AUTH_PAPCHAP ) { |
99 | if(false){ //FIXME: ID_Edit->text().isEmpty()) { | 116 | if(false){ //FIXME: ID_Edit->text().isEmpty()) { |
100 | QMessageBox::warning(0,tr("Error"), | 117 | QMessageBox::warning(0,tr("Error"), |
101 | i18n("<qt>You have selected the authentication method PAP or CHAP. This requires that you supply a username and a password!</qt>")); | 118 | QObject::tr("<qt>You have selected the authentication method PAP or CHAP. This requires that you supply a username and a password!</qt>")); |
102 | // FIXME: return; | 119 | // FIXME: return; |
103 | } else { | 120 | } else { |
104 | if(!modem()->setSecret(data()->authMethod(), | 121 | if(!modem()->setSecret(data()->authMethod(), |
@@ -106,7 +123,7 @@ void InterfacePPP::start() | |||
106 | PPPData::encodeWord(data()->password())) | 123 | PPPData::encodeWord(data()->password())) |
107 | ) { | 124 | ) { |
108 | QString s; | 125 | QString s; |
109 | s = i18n("<qt>Cannot create PAP/CHAP authentication<br>" | 126 | s = QObject::tr("<qt>Cannot create PAP/CHAP authentication<br>" |
110 | "file \"%1\"</qt>").arg(PAP_AUTH_FILE); | 127 | "file \"%1\"</qt>").arg(PAP_AUTH_FILE); |
111 | QMessageBox::warning(0, tr("Error"), s); | 128 | QMessageBox::warning(0, tr("Error"), s); |
112 | return; | 129 | return; |
@@ -115,7 +132,7 @@ void InterfacePPP::start() | |||
115 | } | 132 | } |
116 | 133 | ||
117 | if (data()->phonenumber().isEmpty()) { | 134 | if (data()->phonenumber().isEmpty()) { |
118 | QString s = i18n("You must specify a telephone number!"); | 135 | QString s = QObject::tr("You must specify a telephone number!"); |
119 | QMessageBox::warning(0, tr("Error"), s); | 136 | QMessageBox::warning(0, tr("Error"), s); |
120 | return; | 137 | return; |
121 | } | 138 | } |
@@ -132,6 +149,11 @@ void InterfacePPP::start() | |||
132 | void InterfacePPP::stop() | 149 | void InterfacePPP::stop() |
133 | { | 150 | { |
134 | qDebug("InterfacePPP::stop"); | 151 | qDebug("InterfacePPP::stop"); |
152 | // emit hangup_now(); | ||
153 | status = false; // not connected | ||
154 | setStatus( false ); | ||
155 | emit hangup_now(); | ||
156 | refresh(); | ||
135 | 157 | ||
136 | } | 158 | } |
137 | 159 | ||
@@ -140,3 +162,13 @@ void InterfacePPP::save() | |||
140 | data()->save(); | 162 | data()->save(); |
141 | emit updateInterface((Interface*) this); | 163 | emit updateInterface((Interface*) this); |
142 | } | 164 | } |
165 | QString InterfacePPP::pppDev()const { | ||
166 | return modem()->pppDevice(); | ||
167 | } | ||
168 | pid_t InterfacePPP::pppPID()const{ | ||
169 | return modem()->pppPID(); | ||
170 | } | ||
171 | void InterfacePPP::setPPPDpid( pid_t pid) { | ||
172 | setStatus( true ); | ||
173 | modem()->setPPPDPid( pid ); | ||
174 | } | ||
diff --git a/noncore/settings/networksettings/ppp/interfaceppp.h b/noncore/settings/networksettings/ppp/interfaceppp.h index 6eb6a69..39495c2 100644 --- a/noncore/settings/networksettings/ppp/interfaceppp.h +++ b/noncore/settings/networksettings/ppp/interfaceppp.h | |||
@@ -1,6 +1,8 @@ | |||
1 | #ifndef INTERFACEPPP_H | 1 | #ifndef INTERFACEPPP_H |
2 | #define INTERFACEPPP_H | 2 | #define INTERFACEPPP_H |
3 | 3 | ||
4 | #include <sys/types.h> | ||
5 | |||
4 | #include "interface.h" | 6 | #include "interface.h" |
5 | 7 | ||
6 | class PPPData; | 8 | class PPPData; |
@@ -13,21 +15,25 @@ class InterfacePPP : public Interface | |||
13 | public: | 15 | public: |
14 | InterfacePPP(QObject *parent=0, const char *name="PPP", bool status=false); | 16 | InterfacePPP(QObject *parent=0, const char *name="PPP", bool status=false); |
15 | 17 | ||
16 | PPPData* data(); | 18 | PPPData* data()const; |
17 | Modem* modem(); | 19 | Modem* modem()const; |
20 | QString pppDev()const; // returns the ppp device.... /dev/ppp0... | ||
21 | pid_t pppPID()const; | ||
18 | 22 | ||
19 | signals: | 23 | signals: |
20 | void begin_connect(); | 24 | void begin_connect(); |
25 | void hangup_now(); | ||
21 | 26 | ||
22 | public slots: | 27 | public slots: |
23 | virtual bool refresh(); | 28 | virtual bool refresh(); |
24 | virtual void start(); | 29 | virtual void start(); |
25 | virtual void stop(); | 30 | virtual void stop(); |
26 | void save(); | 31 | void save(); |
32 | void setPPPDpid( pid_t ); // sets the pppd pid for modem... | ||
27 | 33 | ||
28 | private: | 34 | private: |
29 | Modem *_modemPtr; | 35 | mutable Modem *_modemPtr; |
30 | PPPData *_dataPtr; | 36 | mutable PPPData *_dataPtr; |
31 | }; | 37 | }; |
32 | 38 | ||
33 | 39 | ||
diff --git a/noncore/settings/networksettings/ppp/kpppwidget.cpp b/noncore/settings/networksettings/ppp/kpppwidget.cpp index 7b5c74d..e466358 100644 --- a/noncore/settings/networksettings/ppp/kpppwidget.cpp +++ b/noncore/settings/networksettings/ppp/kpppwidget.cpp | |||
@@ -42,19 +42,8 @@ | |||
42 | // #include <kaboutdata.h> | 42 | // #include <kaboutdata.h> |
43 | // #include <kapplication.h> | 43 | // #include <kapplication.h> |
44 | #include <qbuttongroup.h> | 44 | #include <qbuttongroup.h> |
45 | //#include <kcmdlineargs.h> | ||
46 | //#include <kconfig.h> | ||
47 | //#include <kdebug.h> | ||
48 | #define i18n QObject::tr | ||
49 | //#include <kiconloader.h> // For BarIcon | ||
50 | //#include <klocale.h> | ||
51 | #include <qmessagebox.h> | 45 | #include <qmessagebox.h> |
52 | // #include <kseparator.h> | ||
53 | // #include <kstandarddirs.h> | ||
54 | // #include <kwin.h> | ||
55 | // #include <khelpmenu.h> | ||
56 | #include <qpushbutton.h> | 46 | #include <qpushbutton.h> |
57 | //#include <kguiitem.h> | ||
58 | 47 | ||
59 | #include <stdlib.h> | 48 | #include <stdlib.h> |
60 | #include <errno.h> | 49 | #include <errno.h> |
@@ -78,7 +67,7 @@ | |||
78 | KPPPWidget *p_kppp = 0; | 67 | KPPPWidget *p_kppp = 0; |
79 | 68 | ||
80 | KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *name, bool modal, WFlags fl ) | 69 | KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *name, bool modal, WFlags fl ) |
81 | : QDialog(parent, name, modal, fl), _pppdata(pd) | 70 | : QDialog(parent, name, modal, Qt::WStyle_ContextHelp ), _pppdata(pd) |
82 | { | 71 | { |
83 | // tabWindow = 0; | 72 | // tabWindow = 0; |
84 | p_kppp = this; | 73 | p_kppp = this; |
@@ -108,7 +97,7 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na | |||
108 | l1->setColStretch(1, 3); | 97 | l1->setColStretch(1, 3); |
109 | l1->setColStretch(2, 4); | 98 | l1->setColStretch(2, 4); |
110 | 99 | ||
111 | label1 = new QLabel(i18n("C&onnect to: "), this); | 100 | label1 = new QLabel(QObject::tr("C&onnect to: "), this); |
112 | l1->addWidget(label1, 0, 1); | 101 | l1->addWidget(label1, 0, 1); |
113 | 102 | ||
114 | connectto_c = new QComboBox(false, this); | 103 | connectto_c = new QComboBox(false, this); |
@@ -118,7 +107,7 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na | |||
118 | SLOT(newdefaultaccount(int))); | 107 | SLOT(newdefaultaccount(int))); |
119 | l1->addWidget(connectto_c, 0, 2); | 108 | l1->addWidget(connectto_c, 0, 2); |
120 | 109 | ||
121 | ID_Label = new QLabel(i18n("&Login ID:"), this); | 110 | ID_Label = new QLabel(QObject::tr("&Login ID:"), this); |
122 | l1->addWidget(ID_Label, 1, 1); | 111 | l1->addWidget(ID_Label, 1, 1); |
123 | 112 | ||
124 | // the entry line for usernames | 113 | // the entry line for usernames |
@@ -127,7 +116,7 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na | |||
127 | l1->addWidget(ID_Edit, 1, 2); | 116 | l1->addWidget(ID_Edit, 1, 2); |
128 | connect(ID_Edit, SIGNAL(returnPressed()), | 117 | connect(ID_Edit, SIGNAL(returnPressed()), |
129 | this, SLOT(enterPressedInID())); | 118 | this, SLOT(enterPressedInID())); |
130 | QString tmp = i18n("<p>Type in the username that you got from your\n" | 119 | QString tmp = QObject::tr("<p>Type in the username that you got from your\n" |
131 | "ISP. This is especially important for PAP\n" | 120 | "ISP. This is especially important for PAP\n" |
132 | "and CHAP. You may omit this when you use\n" | 121 | "and CHAP. You may omit this when you use\n" |
133 | "terminal-based or script-based authentication.\n" | 122 | "terminal-based or script-based authentication.\n" |
@@ -138,7 +127,7 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na | |||
138 | QWhatsThis::add(ID_Label,tmp); | 127 | QWhatsThis::add(ID_Label,tmp); |
139 | QWhatsThis::add(ID_Edit,tmp); | 128 | QWhatsThis::add(ID_Edit,tmp); |
140 | 129 | ||
141 | PW_Label = new QLabel(i18n("&Password:"), this); | 130 | PW_Label = new QLabel(QObject::tr("&Password:"), this); |
142 | l1->addWidget(PW_Label, 2, 1); | 131 | l1->addWidget(PW_Label, 2, 1); |
143 | 132 | ||
144 | PW_Edit= new QLineEdit(this); | 133 | PW_Edit= new QLineEdit(this); |
@@ -148,7 +137,7 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na | |||
148 | connect(PW_Edit, SIGNAL(returnPressed()), | 137 | connect(PW_Edit, SIGNAL(returnPressed()), |
149 | this, SLOT(enterPressedInPW())); | 138 | this, SLOT(enterPressedInPW())); |
150 | 139 | ||
151 | tmp = i18n("<p>Type in the password that you got from your\n" | 140 | tmp = QObject::tr("<p>Type in the password that you got from your\n" |
152 | "ISP. This is especially important for PAP\n" | 141 | "ISP. This is especially important for PAP\n" |
153 | "and CHAP. You may omit this when you use\n" | 142 | "and CHAP. You may omit this when you use\n" |
154 | "terminal-based or script-based authentication.\n" | 143 | "terminal-based or script-based authentication.\n" |
@@ -164,14 +153,14 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na | |||
164 | tl->addLayout(l3); | 153 | tl->addLayout(l3); |
165 | tl->addSpacing(5); | 154 | tl->addSpacing(5); |
166 | l3->addSpacing(10); | 155 | l3->addSpacing(10); |
167 | log = new QCheckBox(i18n("Show lo&g window"), this); | 156 | log = new QCheckBox(QObject::tr("Show lo&g window"), this); |
168 | connect(log, SIGNAL(toggled(bool)), | 157 | connect(log, SIGNAL(toggled(bool)), |
169 | this, SLOT(log_window_toggled(bool))); | 158 | this, SLOT(log_window_toggled(bool))); |
170 | log->setChecked(_pppdata->get_show_log_window()); | 159 | log->setChecked(_pppdata->get_show_log_window()); |
171 | l3->addWidget(log); | 160 | l3->addWidget(log); |
172 | 161 | ||
173 | QWhatsThis::add(log, | 162 | QWhatsThis::add(log, |
174 | i18n("<p>This controls whether a log window is shown.\n" | 163 | QObject::tr("<p>This controls whether a log window is shown.\n" |
175 | "A log window shows the communication between\n" | 164 | "A log window shows the communication between\n" |
176 | "<i>kppp</i> and your modem. This will help you\n" | 165 | "<i>kppp</i> and your modem. This will help you\n" |
177 | "in tracking down problems.\n" | 166 | "in tracking down problems.\n" |
@@ -186,14 +175,14 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na | |||
186 | tl->addLayout(l2); | 175 | tl->addLayout(l2); |
187 | 176 | ||
188 | int minw = 0; | 177 | int minw = 0; |
189 | quit_b = new QPushButton(i18n("&Quit"), this); | 178 | quit_b = new QPushButton(QObject::tr("&Quit"), this); |
190 | // quit_b-> setGuiItem (KGuiItem(i18n("&Quit"), "exit" ) ); | 179 | // quit_b-> setGuiItem (KGuiItem(QObject::tr("&Quit"), "exit" ) ); |
191 | connect( quit_b, SIGNAL(clicked()), SLOT(quitbutton())); | 180 | connect( quit_b, SIGNAL(clicked()), SLOT(quitbutton())); |
192 | if(quit_b->sizeHint().width() > minw) | 181 | if(quit_b->sizeHint().width() > minw) |
193 | minw = quit_b->sizeHint().width(); | 182 | minw = quit_b->sizeHint().width(); |
194 | 183 | ||
195 | setup_b = new QPushButton(i18n("&Setup..."), this); | 184 | setup_b = new QPushButton(QObject::tr("&Setup..."), this); |
196 | // setup_b->setGuiItem (KGuiItem(i18n("&Setup...")) ); | 185 | // setup_b->setGuiItem (KGuiItem(QObject::tr("&Setup...")) ); |
197 | connect( setup_b, SIGNAL(clicked()), SLOT(expandbutton())); | 186 | connect( setup_b, SIGNAL(clicked()), SLOT(expandbutton())); |
198 | if(setup_b->sizeHint().width() > minw) | 187 | if(setup_b->sizeHint().width() > minw) |
199 | minw = setup_b->sizeHint().width(); | 188 | minw = setup_b->sizeHint().width(); |
@@ -203,17 +192,17 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na | |||
203 | // if(_pppdata->access() != KConfig::ReadWrite) | 192 | // if(_pppdata->access() != KConfig::ReadWrite) |
204 | // setup_b->setEnabled(false); | 193 | // setup_b->setEnabled(false); |
205 | 194 | ||
206 | // help_b = new QPushButton(i18n("&Help"), this); | 195 | // help_b = new QPushButton(QObject::tr("&Help"), this); |
207 | // connect( help_b, SIGNAL(clicked()), SLOT(helpbutton())); | 196 | // connect( help_b, SIGNAL(clicked()), SLOT(helpbutton())); |
208 | 197 | ||
209 | // KHelpMenu *helpMenu = new KHelpMenu(this, KGlobal::instance()->aboutData(), true); | 198 | // KHelpMenu *helpMenu = new KHelpMenu(this, KGlobal::instance()->aboutData(), true); |
210 | // help_b->setPopup((QPopupMenu*)helpMenu->menu()); | 199 | // help_b->setPopup((QPopupMenu*)helpMenu->menu()); |
211 | // help_b->setGuiItem (KGuiItem(i18n("&Help"), "help" ) ); | 200 | // help_b->setGuiItem (KGuiItem(QObject::tr("&Help"), "help" ) ); |
212 | 201 | ||
213 | // if(help_b->sizeHint().width() > minw) | 202 | // if(help_b->sizeHint().width() > minw) |
214 | // minw = help_b->sizeHint().width(); | 203 | // minw = help_b->sizeHint().width(); |
215 | 204 | ||
216 | connect_b = new QPushButton(i18n("&Connect"), this); | 205 | connect_b = new QPushButton(QObject::tr("&Connect"), this); |
217 | connect_b->setDefault(true); | 206 | connect_b->setDefault(true); |
218 | connect_b->setFocus(); | 207 | connect_b->setFocus(); |
219 | connect(connect_b, SIGNAL(clicked()), SLOT(beginConnect())); | 208 | connect(connect_b, SIGNAL(clicked()), SLOT(beginConnect())); |
@@ -286,7 +275,7 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na | |||
286 | // bool result = _pppdata->setAccount(m_strCmdlAccount); | 275 | // bool result = _pppdata->setAccount(m_strCmdlAccount); |
287 | // if (!result){ | 276 | // if (!result){ |
288 | // QString string; | 277 | // QString string; |
289 | // string = i18n("No such Account:\n%1").arg(m_strCmdlAccount); | 278 | // string = QObject::tr("No such Account:\n%1").arg(m_strCmdlAccount); |
290 | // KMessageBox::error(this, string); | 279 | // KMessageBox::error(this, string); |
291 | // m_bCmdlAccount = false; | 280 | // m_bCmdlAccount = false; |
292 | // this->show(); | 281 | // this->show(); |
@@ -482,21 +471,21 @@ void KPPPWidget::sigPPPDDied() { | |||
482 | // // not in a signal handler !!! KNotifyClient::beep(); | 471 | // // not in a signal handler !!! KNotifyClient::beep(); |
483 | QString msg; | 472 | QString msg; |
484 | if (_pppdata->pppdError() == E_IF_TIMEOUT) | 473 | if (_pppdata->pppdError() == E_IF_TIMEOUT) |
485 | msg = i18n("Timeout expired while waiting for the PPP interface " | 474 | msg = QObject::tr("Timeout expired while waiting for the PPP interface " |
486 | "to come up!"); | 475 | "to come up!"); |
487 | else { | 476 | else { |
488 | msg = i18n("<p>The pppd daemon died unexpectedly!</p>"); | 477 | msg = QObject::tr("<p>The pppd daemon died unexpectedly!</p>"); |
489 | Modem::modem->pppdExitStatus(); | 478 | Modem::modem->pppdExitStatus(); |
490 | if (Modem::modem->lastStatus != 99) {// more recent pppds only | 479 | if (Modem::modem->lastStatus != 99) {// more recent pppds only |
491 | msg += i18n("<p>Exit status: %1").arg(Modem::modem->lastStatus); | 480 | msg += QObject::tr("<p>Exit status: %1").arg(Modem::modem->lastStatus); |
492 | msg += i18n("</p><p>See 'man pppd' for an explanation of the error " | 481 | msg += QObject::tr("</p><p>See 'man pppd' for an explanation of the error " |
493 | "codes or take a look at the kppp FAQ on " | 482 | "codes or take a look at the kppp FAQ on " |
494 | " <a href=http://devel-home.kde.org/~kppp/index.html>" | 483 | " <a href=http://devel-home.kde.org/~kppp/index.html>" |
495 | "http://devel-home.kde.org/~kppp/index.html</a></p>"); | 484 | "http://devel-home.kde.org/~kppp/index.html</a></p>"); |
496 | } | 485 | } |
497 | } | 486 | } |
498 | 487 | ||
499 | // if(QMessageBox::warning(0, msg, i18n("Error"), i18n("&OK"), i18n("&Details...")) == QMessageBox::No) | 488 | // if(QMessageBox::warning(0, msg, QObject::tr("Error"), QObject::tr("&OK"), QObject::tr("&Details...")) == QMessageBox::No) |
500 | // // PPPL_ShowLog(); | 489 | // // PPPL_ShowLog(); |
501 | // } else { /* reconnect on disconnect */ | 490 | // } else { /* reconnect on disconnect */ |
502 | if (false){ | 491 | if (false){ |
@@ -527,7 +516,7 @@ void KPPPWidget::sigPPPDDied() { | |||
527 | // // if(id == helperPid && helperPid != -1) { | 516 | // // if(id == helperPid && helperPid != -1) { |
528 | // // kdDebug(5002) << "It was the setuid child that died" << endl; | 517 | // // kdDebug(5002) << "It was the setuid child that died" << endl; |
529 | // // helperPid = -1; | 518 | // // helperPid = -1; |
530 | // QString msg = i18n("kppp's helper process just died.\n" | 519 | // QString msg = QObject::tr("kppp's helper process just died.\n" |
531 | // "Since a further execution would be pointless, " | 520 | // "Since a further execution would be pointless, " |
532 | // "kppp will shut down now."); | 521 | // "kppp will shut down now."); |
533 | // QMessageBox::warning(0L,"error", msg); | 522 | // QMessageBox::warning(0L,"error", msg); |
@@ -560,7 +549,7 @@ void KPPPWidget::beginConnect() { | |||
560 | QFileInfo info(pppdPath()); | 549 | QFileInfo info(pppdPath()); |
561 | 550 | ||
562 | if(!info.exists()){ | 551 | if(!info.exists()){ |
563 | QMessageBox::warning(this, "error", i18n("Cannot find the PPP daemon!\n" | 552 | QMessageBox::warning(this, "error", QObject::tr("Cannot find the PPP daemon!\n" |
564 | "Make sure that pppd is installed and " | 553 | "Make sure that pppd is installed and " |
565 | "that you have entered the correct path.")); | 554 | "that you have entered the correct path.")); |
566 | return; | 555 | return; |
@@ -569,7 +558,7 @@ void KPPPWidget::beginConnect() { | |||
569 | if(!info.isExecutable()){ | 558 | if(!info.isExecutable()){ |
570 | 559 | ||
571 | QString string; | 560 | QString string; |
572 | string = i18n("kppp cannot execute:\n %1\n" | 561 | string = QObject::tr("kppp cannot execute:\n %1\n" |
573 | "Please make sure that you have given kppp " | 562 | "Please make sure that you have given kppp " |
574 | "setuid permission and that " | 563 | "setuid permission and that " |
575 | "pppd is executable.").arg(_pppdata->pppdPath()); | 564 | "pppd is executable.").arg(_pppdata->pppdPath()); |
@@ -583,7 +572,7 @@ void KPPPWidget::beginConnect() { | |||
583 | 572 | ||
584 | if(!info2.exists()){ | 573 | if(!info2.exists()){ |
585 | QString string; | 574 | QString string; |
586 | string = i18n("kppp can not find:\n %1\nPlease make sure you have setup " | 575 | string = QObject::tr("kppp can not find:\n %1\nPlease make sure you have setup " |
587 | "your modem device properly " | 576 | "your modem device properly " |
588 | "and/or adjust the location of the modem device on " | 577 | "and/or adjust the location of the modem device on " |
589 | "the modem tab of " | 578 | "the modem tab of " |
@@ -599,14 +588,14 @@ void KPPPWidget::beginConnect() { | |||
599 | _pppdata->authMethod() == AUTH_PAPCHAP ) { | 588 | _pppdata->authMethod() == AUTH_PAPCHAP ) { |
600 | if(ID_Edit->text().isEmpty()) { | 589 | if(ID_Edit->text().isEmpty()) { |
601 | QMessageBox::warning(this,"error", | 590 | QMessageBox::warning(this,"error", |
602 | i18n("You have selected the authentication method PAP or CHAP. This requires that you supply a username and a password!")); | 591 | QObject::tr("You have selected the authentication method PAP or CHAP. This requires that you supply a username and a password!")); |
603 | return; | 592 | return; |
604 | } else { | 593 | } else { |
605 | if(!Modem::modem->setSecret(_pppdata->authMethod(), | 594 | if(!Modem::modem->setSecret(_pppdata->authMethod(), |
606 | encodeWord(_pppdata->storedUsername()), | 595 | encodeWord(_pppdata->storedUsername()), |
607 | encodeWord(_pppdata->password()))) { | 596 | encodeWord(_pppdata->password()))) { |
608 | QString s; | 597 | QString s; |
609 | s = i18n("Cannot create PAP/CHAP authentication\n" | 598 | s = QObject::tr("Cannot create PAP/CHAP authentication\n" |
610 | "file \"%1\"").arg(PAP_AUTH_FILE); | 599 | "file \"%1\"").arg(PAP_AUTH_FILE); |
611 | QMessageBox::warning(this, "error", s); | 600 | QMessageBox::warning(this, "error", s); |
612 | return; | 601 | return; |
@@ -615,14 +604,14 @@ void KPPPWidget::beginConnect() { | |||
615 | } | 604 | } |
616 | 605 | ||
617 | if (_pppdata->phonenumber().isEmpty()) { | 606 | if (_pppdata->phonenumber().isEmpty()) { |
618 | QString s = i18n("You must specify a telephone number!"); | 607 | QString s = QObject::tr("You must specify a telephone number!"); |
619 | QMessageBox::warning(this, "error", s); | 608 | QMessageBox::warning(this, "error", s); |
620 | return; | 609 | return; |
621 | } | 610 | } |
622 | 611 | ||
623 | this->hide(); | 612 | this->hide(); |
624 | 613 | ||
625 | QString tit = i18n("Connecting to: %1").arg(_pppdata->accname()); | 614 | QString tit = QObject::tr("Connecting to: %1").arg(_pppdata->accname()); |
626 | // con->setCaption(tit); | 615 | // con->setCaption(tit); |
627 | 616 | ||
628 | // con->show(); | 617 | // con->show(); |
@@ -636,8 +625,8 @@ void KPPPWidget::disconnect() { | |||
636 | if (!_pppdata->command_before_disconnect().isEmpty()) { | 625 | if (!_pppdata->command_before_disconnect().isEmpty()) { |
637 | con_win->hide(); | 626 | con_win->hide(); |
638 | con->show(); | 627 | con->show(); |
639 | con->setCaption(i18n("Disconnecting...")); | 628 | con->setCaption(QObject::tr("Disconnecting...")); |
640 | con->setMsg(i18n("Executing command before disconnection.")); | 629 | con->setMsg(QObject::tr("Executing command before disconnection.")); |
641 | 630 | ||
642 | qApp->processEvents(); | 631 | qApp->processEvents(); |
643 | QApplication::flushX(); | 632 | QApplication::flushX(); |
@@ -692,8 +681,8 @@ void KPPPWidget::disconnect() { | |||
692 | void KPPPWidget::quitbutton() { | 681 | void KPPPWidget::quitbutton() { |
693 | if(_pppdata->pppdRunning()) { | 682 | if(_pppdata->pppdRunning()) { |
694 | int ok = QMessageBox::warning(this, | 683 | int ok = QMessageBox::warning(this, |
695 | i18n("Exiting kPPP will close your PPP Session."), | 684 | QObject::tr("Exiting kPPP will close your PPP Session."), |
696 | i18n("Quit kPPP?")); | 685 | QObject::tr("Quit kPPP?")); |
697 | if(ok == QMessageBox::Yes) { | 686 | if(ok == QMessageBox::Yes) { |
698 | Modem::modem->killPPPDaemon(); | 687 | Modem::modem->killPPPDaemon(); |
699 | QApplication::flushX(); | 688 | QApplication::flushX(); |
@@ -736,7 +725,7 @@ void KPPPWidget::quitbutton() { | |||
736 | // con_win, SLOT(slotAccounting(QString, QString))); | 725 | // con_win, SLOT(slotAccounting(QString, QString))); |
737 | 726 | ||
738 | // // if(!acct->loadRuleSet(_pppdata->accountingFile())) { | 727 | // // if(!acct->loadRuleSet(_pppdata->accountingFile())) { |
739 | // // QString s= i18n("Can not load the accounting " | 728 | // // QString s= QObject::tr("Can not load the accounting " |
740 | // // "ruleset \"%1\"!").arg(_pppdata->accountingFile()); | 729 | // // "ruleset \"%1\"!").arg(_pppdata->accountingFile()); |
741 | 730 | ||
742 | // // starting the messagebox with a timer will prevent us | 731 | // // starting the messagebox with a timer will prevent us |
@@ -826,7 +815,7 @@ void KPPPWidget::showNews() { | |||
826 | #define QUICKHELP_HINT "Hint_QuickHelp" | 815 | #define QUICKHELP_HINT "Hint_QuickHelp" |
827 | if(_pppdata->readNumConfig(GENERAL_GRP, QUICKHELP_HINT, 0) == 0) { | 816 | if(_pppdata->readNumConfig(GENERAL_GRP, QUICKHELP_HINT, 0) == 0) { |
828 | QDialog dlg(0, 0, true); | 817 | QDialog dlg(0, 0, true); |
829 | dlg.setCaption(i18n("Recent Changes in KPPP")); | 818 | dlg.setCaption(QObject::tr("Recent Changes in KPPP")); |
830 | 819 | ||
831 | QVBoxLayout *tl = new QVBoxLayout(&dlg, 10, 10); | 820 | QVBoxLayout *tl = new QVBoxLayout(&dlg, 10, 10); |
832 | QHBoxLayout *l1 = new QHBoxLayout(10); | 821 | QHBoxLayout *l1 = new QHBoxLayout(10); |
@@ -839,7 +828,7 @@ void KPPPWidget::showNews() { | |||
839 | l1->addWidget(icon); | 828 | l1->addWidget(icon); |
840 | l1->addLayout(l2); | 829 | l1->addLayout(l2); |
841 | 830 | ||
842 | QLabel *l = new QLabel(i18n("From version 1.4.8 on, kppp has a new feature\n" | 831 | QLabel *l = new QLabel(QObject::tr("From version 1.4.8 on, kppp has a new feature\n" |
843 | "called \"Quickhelp\". It's similar to a tooltip,\n" | 832 | "called \"Quickhelp\". It's similar to a tooltip,\n" |
844 | "but you can activate it whenever you want.\n" | 833 | "but you can activate it whenever you want.\n" |
845 | "\n" | 834 | "\n" |
@@ -851,12 +840,12 @@ void KPPPWidget::showNews() { | |||
851 | "To test it, right-click somewhere in this text."), | 840 | "To test it, right-click somewhere in this text."), |
852 | &dlg); | 841 | &dlg); |
853 | 842 | ||
854 | QCheckBox *cb = new QCheckBox(i18n("Don't show this hint again"), &dlg); | 843 | QCheckBox *cb = new QCheckBox(QObject::tr("Don't show this hint again"), &dlg); |
855 | cb->setFixedSize(cb->sizeHint()); | 844 | cb->setFixedSize(cb->sizeHint()); |
856 | 845 | ||
857 | KButtonBox *bbox = new KButtonBox(&dlg); | 846 | KButtonBox *bbox = new KButtonBox(&dlg); |
858 | bbox->addStretch(1); | 847 | bbox->addStretch(1); |
859 | QPushButton *ok = bbox->addButton(i18n("OK")); | 848 | QPushButton *ok = bbox->addButton(QObject::tr("OK")); |
860 | ok->setDefault(true); | 849 | ok->setDefault(true); |
861 | dlg.connect(ok, SIGNAL(clicked()), | 850 | dlg.connect(ok, SIGNAL(clicked()), |
862 | &dlg, SLOT(accept())); | 851 | &dlg, SLOT(accept())); |
@@ -867,7 +856,7 @@ void KPPPWidget::showNews() { | |||
867 | l2->addWidget(cb); | 856 | l2->addWidget(cb); |
868 | tl->addWidget(bbox); | 857 | tl->addWidget(bbox); |
869 | 858 | ||
870 | QString tmp = i18n("This is an example of <b>QuickHelp</b>.\n" | 859 | QString tmp = QObject::tr("This is an example of <b>QuickHelp</b>.\n" |
871 | "This window will stay open until you\n" | 860 | "This window will stay open until you\n" |
872 | "click a mouse button or a press a key.\n"); | 861 | "click a mouse button or a press a key.\n"); |
873 | 862 | ||
diff --git a/noncore/settings/networksettings/ppp/modem.cpp b/noncore/settings/networksettings/ppp/modem.cpp index d23fee4..3dbc8c3 100644 --- a/noncore/settings/networksettings/ppp/modem.cpp +++ b/noncore/settings/networksettings/ppp/modem.cpp | |||
@@ -51,11 +51,8 @@ | |||
51 | #include "auth.h" | 51 | #include "auth.h" |
52 | #include "modem.h" | 52 | #include "modem.h" |
53 | #include "pppdata.h" | 53 | #include "pppdata.h" |
54 | //#include <klocale.h> | ||
55 | #define i18n QObject::tr | ||
56 | #define qError qDebug | 54 | #define qError qDebug |
57 | //#include <kdebug.h> | 55 | |
58 | //#include <config.h> | ||
59 | 56 | ||
60 | #define MY_ASSERT(x) if (!(x)) { \ | 57 | #define MY_ASSERT(x) if (!(x)) { \ |
61 | qFatal( "ASSERT: \"%s\" in %s (%d)\n",#x,__FILE__,__LINE__); \ | 58 | qFatal( "ASSERT: \"%s\" in %s (%d)\n",#x,__FILE__,__LINE__); \ |
@@ -99,7 +96,7 @@ Modem::Modem( PPPData* pd ) | |||
99 | modemfd = -1; | 96 | modemfd = -1; |
100 | _pppdExitStatus = -1; | 97 | _pppdExitStatus = -1; |
101 | pppdPid = -1; | 98 | pppdPid = -1; |
102 | sn = 0L; | 99 | sn = m_modemDebug = 0L; |
103 | data_mode = false; | 100 | data_mode = false; |
104 | modem_is_locked = false; | 101 | modem_is_locked = false; |
105 | lockfile[0] = '\0'; | 102 | lockfile[0] = '\0'; |
@@ -169,7 +166,7 @@ bool Modem::opentty() { | |||
169 | device = _pppdata->modemDevice(); | 166 | device = _pppdata->modemDevice(); |
170 | if ((modemfd = open(device, O_RDWR|O_NDELAY|O_NOCTTY)) == -1) { | 167 | if ((modemfd = open(device, O_RDWR|O_NDELAY|O_NOCTTY)) == -1) { |
171 | qDebug("error opening modem device !"); | 168 | qDebug("error opening modem device !"); |
172 | errmsg = i18n("Unable to open modem."); | 169 | errmsg = QObject::tr("Unable to open modem."); |
173 | return false; | 170 | return false; |
174 | } | 171 | } |
175 | //bend if((modemfd = Requester::rq->openModem(gpppdata.modemDevice()))<0) { | 172 | //bend if((modemfd = Requester::rq->openModem(gpppdata.modemDevice()))<0) { |
@@ -178,13 +175,13 @@ bool Modem::opentty() { | |||
178 | #if 0 | 175 | #if 0 |
179 | if(_pppdata->UseCDLine()) { | 176 | if(_pppdata->UseCDLine()) { |
180 | if(ioctl(modemfd, TIOCMGET, &flags) == -1) { | 177 | if(ioctl(modemfd, TIOCMGET, &flags) == -1) { |
181 | errmsg = i18n("Unable to detect state of CD line."); | 178 | errmsg = QObject::tr("Unable to detect state of CD line."); |
182 | ::close(modemfd); | 179 | ::close(modemfd); |
183 | modemfd = -1; | 180 | modemfd = -1; |
184 | return false; | 181 | return false; |
185 | } | 182 | } |
186 | if ((flags&TIOCM_CD) == 0) { | 183 | if ((flags&TIOCM_CD) == 0) { |
187 | errmsg = i18n("The modem is not ready."); | 184 | errmsg = QObject::tr("The modem is not ready."); |
188 | ::close(modemfd); | 185 | ::close(modemfd); |
189 | modemfd = -1; | 186 | modemfd = -1; |
190 | return false; | 187 | return false; |
@@ -200,7 +197,7 @@ bool Modem::opentty() { | |||
200 | tcsendbreak(modemfd, 0); | 197 | tcsendbreak(modemfd, 0); |
201 | sleep(1); | 198 | sleep(1); |
202 | if(tcgetattr(modemfd, &tty) < 0){ | 199 | if(tcgetattr(modemfd, &tty) < 0){ |
203 | errmsg = i18n("The modem is busy."); | 200 | errmsg = QObject::tr("The modem is busy."); |
204 | ::close(modemfd); | 201 | ::close(modemfd); |
205 | modemfd = -1; | 202 | modemfd = -1; |
206 | return false; | 203 | return false; |
@@ -245,13 +242,13 @@ bool Modem::opentty() { | |||
245 | tcdrain(modemfd); | 242 | tcdrain(modemfd); |
246 | 243 | ||
247 | if(tcsetattr(modemfd, TCSANOW, &tty) < 0){ | 244 | if(tcsetattr(modemfd, TCSANOW, &tty) < 0){ |
248 | errmsg = i18n("The modem is busy."); | 245 | errmsg = QObject::tr("The modem is busy."); |
249 | ::close(modemfd); | 246 | ::close(modemfd); |
250 | modemfd=-1; | 247 | modemfd=-1; |
251 | return false; | 248 | return false; |
252 | } | 249 | } |
253 | 250 | ||
254 | errmsg = i18n("Modem Ready."); | 251 | errmsg = QObject::tr("Modem Ready."); |
255 | return true; | 252 | return true; |
256 | } | 253 | } |
257 | 254 | ||
@@ -263,7 +260,7 @@ bool Modem::closetty() { | |||
263 | tcflush(modemfd, TCIOFLUSH); | 260 | tcflush(modemfd, TCIOFLUSH); |
264 | 261 | ||
265 | if(tcsetattr(modemfd, TCSANOW, &initial_tty) < 0){ | 262 | if(tcsetattr(modemfd, TCSANOW, &initial_tty) < 0){ |
266 | errmsg = i18n("Can't restore tty settings: tcsetattr()\n"); | 263 | errmsg = QObject::tr("Can't restore tty settings: tcsetattr()\n"); |
267 | ::close(modemfd); | 264 | ::close(modemfd); |
268 | modemfd = -1; | 265 | modemfd = -1; |
269 | return false; | 266 | return false; |
@@ -413,7 +410,7 @@ bool Modem::hangup() { | |||
413 | closetty(); | 410 | closetty(); |
414 | close(modemfd); | 411 | close(modemfd); |
415 | modemfd = -1; | 412 | modemfd = -1; |
416 | errmsg = i18n("The modem does not respond."); | 413 | errmsg = QObject::tr("The modem does not respond."); |
417 | return false; | 414 | return false; |
418 | } | 415 | } |
419 | 416 | ||
@@ -555,7 +552,7 @@ QString Modem::parseModemSpeed(const QString &s) { | |||
555 | } | 552 | } |
556 | 553 | ||
557 | if(rx == -1 && tx == -1) | 554 | if(rx == -1 && tx == -1) |
558 | result = i18n("Unknown speed"); | 555 | result = QObject::tr("Unknown speed"); |
559 | else if(tx == -1) | 556 | else if(tx == -1) |
560 | result.setNum(rx); | 557 | result.setNum(rx); |
561 | else if(rx == -1) // should not happen | 558 | else if(rx == -1) // should not happen |
@@ -877,10 +874,14 @@ bool Modem::execpppd(const char *arguments) { | |||
877 | 874 | ||
878 | _pppdExitStatus = -1; | 875 | _pppdExitStatus = -1; |
879 | 876 | ||
877 | (void)::pipe( m_pppdLOG ); | ||
878 | |||
880 | switch(pppdPid = fork()) | 879 | switch(pppdPid = fork()) |
881 | { | 880 | { |
882 | case -1: | 881 | case -1: |
883 | fprintf(stderr,"In parent: fork() failed\n"); | 882 | fprintf(stderr,"In parent: fork() failed\n"); |
883 | ::close( m_pppdLOG[0] ); | ||
884 | ::close( m_pppdLOG[1] ); | ||
884 | return false; | 885 | return false; |
885 | break; | 886 | break; |
886 | 887 | ||
@@ -902,9 +903,13 @@ bool Modem::execpppd(const char *arguments) { | |||
902 | if(tcsetpgrp(modemfd, pgrpid)<0) | 903 | if(tcsetpgrp(modemfd, pgrpid)<0) |
903 | fprintf(stderr, "tcsetpgrp() failed.\n"); | 904 | fprintf(stderr, "tcsetpgrp() failed.\n"); |
904 | 905 | ||
906 | ::close( m_pppdLOG[0] ); | ||
907 | ::setenv( "LANG", "C", 1 ); // overwrite | ||
908 | dup2(m_pppdLOG[1], 11 ); // for logfd 11 | ||
905 | dup2(modemfd, 0); | 909 | dup2(modemfd, 0); |
906 | dup2(modemfd, 1); | 910 | dup2(modemfd, 1); |
907 | 911 | ||
912 | |||
908 | switch (checkForInterface()) { | 913 | switch (checkForInterface()) { |
909 | case 1: | 914 | case 1: |
910 | fprintf(stderr, "Cannot determine if kernel supports ppp.\n"); | 915 | fprintf(stderr, "Cannot determine if kernel supports ppp.\n"); |
@@ -924,7 +929,24 @@ bool Modem::execpppd(const char *arguments) { | |||
924 | default: | 929 | default: |
925 | qDebug("In parent: pppd pid %d\n",pppdPid); | 930 | qDebug("In parent: pppd pid %d\n",pppdPid); |
926 | close(modemfd); | 931 | close(modemfd); |
932 | |||
933 | ::close( m_pppdLOG[1] ); | ||
934 | // set it to nonblocking io | ||
935 | int flag = ::fcntl( m_pppdLOG[0], F_GETFL ); | ||
936 | |||
937 | if ( !(flag & O_NONBLOCK) ) { | ||
938 | qDebug("Setting nonblocking io"); | ||
939 | flag |= O_NONBLOCK; | ||
940 | ::fcntl(m_pppdLOG[0], F_SETFL, flag ); | ||
941 | } | ||
942 | |||
943 | delete m_modemDebug; | ||
944 | m_modemDebug = new QSocketNotifier(m_pppdLOG[0], QSocketNotifier::Read, this ); | ||
945 | connect(m_modemDebug, SIGNAL(activated(int) ), | ||
946 | this, SLOT(slotModemDebug(int) ) ); | ||
947 | |||
927 | modemfd = -1; | 948 | modemfd = -1; |
949 | m_pppdDev = QString::fromLatin1("ppp0"); | ||
928 | return true; | 950 | return true; |
929 | break; | 951 | break; |
930 | } | 952 | } |
@@ -932,7 +954,10 @@ bool Modem::execpppd(const char *arguments) { | |||
932 | 954 | ||
933 | 955 | ||
934 | bool Modem::killpppd() { | 956 | bool Modem::killpppd() { |
957 | qDebug("In killpppd and pid is %d", pppdPid ); | ||
935 | if(pppdPid > 0) { | 958 | if(pppdPid > 0) { |
959 | delete m_modemDebug; | ||
960 | m_modemDebug = 0; | ||
936 | qDebug("In killpppd(): Sending SIGTERM to %d\n", pppdPid); | 961 | qDebug("In killpppd(): Sending SIGTERM to %d\n", pppdPid); |
937 | if(kill(pppdPid, SIGTERM) < 0) { | 962 | if(kill(pppdPid, SIGTERM) < 0) { |
938 | qDebug("Error terminating %d. Sending SIGKILL\n", pppdPid); | 963 | qDebug("Error terminating %d. Sending SIGKILL\n", pppdPid); |
@@ -1021,3 +1046,35 @@ bool Modem::setHostname(const QString & name) | |||
1021 | return sethostname(name, name.length()) == 0; | 1046 | return sethostname(name, name.length()) == 0; |
1022 | } | 1047 | } |
1023 | 1048 | ||
1049 | QString Modem::pppDevice()const { | ||
1050 | return m_pppdDev; | ||
1051 | } | ||
1052 | void Modem::setPPPDevice( const QString& dev ) { | ||
1053 | m_pppdDev = dev; | ||
1054 | } | ||
1055 | pid_t Modem::pppPID()const { | ||
1056 | return pppdPid; | ||
1057 | } | ||
1058 | void Modem::setPPPDPid( pid_t pid ) { | ||
1059 | qDebug("Modem setting pid"); | ||
1060 | _pppdExitStatus = -1; | ||
1061 | pppdPid = pid; | ||
1062 | modemfd = -1; | ||
1063 | } | ||
1064 | void Modem::slotModemDebug(int fd) { | ||
1065 | char buf[2049]; | ||
1066 | int len; | ||
1067 | |||
1068 | // read in pppd data look for Using interface | ||
1069 | // then read the interface | ||
1070 | // we limit to 10 device now 0-9 | ||
1071 | if((len = ::read(fd, buf, 2048)) > 0) { | ||
1072 | buf[len+1] = '\0'; | ||
1073 | char *found; | ||
1074 | if ( (found = ::strstr(buf, "Using interface ") ) ) { | ||
1075 | found += 16; | ||
1076 | m_pppdDev = QString::fromLatin1(found, 5 ); | ||
1077 | m_pppdDev = m_pppdDev.simplifyWhiteSpace(); | ||
1078 | } | ||
1079 | } | ||
1080 | } | ||
diff --git a/noncore/settings/networksettings/ppp/modem.h b/noncore/settings/networksettings/ppp/modem.h index 103cbeb..8ecc354 100644 --- a/noncore/settings/networksettings/ppp/modem.h +++ b/noncore/settings/networksettings/ppp/modem.h | |||
@@ -5,7 +5,7 @@ | |||
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 | * This file was added by Harri Porten <porten@tu-harburg.de> | 9 | * This file was added by Harri Porten <porten@tu-harburg.de> |
10 | * | 10 | * |
11 | * | 11 | * |
@@ -47,7 +47,9 @@ public: | |||
47 | ~Modem(); | 47 | ~Modem(); |
48 | 48 | ||
49 | const QString getDevice() {return device;}; | 49 | const QString getDevice() {return device;}; |
50 | void setDevice(const QString dev) {device = dev;}; | 50 | void setDevice(const QString dev) {device = dev;}; |
51 | |||
52 | void save(); | ||
51 | 53 | ||
52 | bool opentty(); | 54 | bool opentty(); |
53 | bool closetty(); | 55 | bool closetty(); |
@@ -56,7 +58,7 @@ public: | |||
56 | bool writeLine(const char *); | 58 | bool writeLine(const char *); |
57 | bool dataMode() const { return data_mode; } | 59 | bool dataMode() const { return data_mode; } |
58 | void setDataMode(bool set) { data_mode = set; } | 60 | void setDataMode(bool set) { data_mode = set; } |
59 | const QString modemMessage(); | 61 | const QString modemMessage(); |
60 | speed_t modemspeed(); | 62 | speed_t modemspeed(); |
61 | static QString parseModemSpeed(const QString &); | 63 | static QString parseModemSpeed(const QString &); |
62 | void notify(const QObject *, const char *); | 64 | void notify(const QObject *, const char *); |
@@ -73,7 +75,12 @@ public: | |||
73 | bool execPPPDaemon(const QString & arguments); | 75 | bool execPPPDaemon(const QString & arguments); |
74 | int openResolv(int flags); | 76 | int openResolv(int flags); |
75 | bool setHostname(const QString & name); | 77 | bool setHostname(const QString & name); |
76 | 78 | ||
79 | QString pppDevice()const; | ||
80 | void setPPPDevice( const QString& ); | ||
81 | pid_t pppPID()const; | ||
82 | void setPPPDPid( pid_t ); | ||
83 | |||
77 | public: | 84 | public: |
78 | enum Auth { PAP = 1, CHAP }; | 85 | enum Auth { PAP = 1, CHAP }; |
79 | // static Modem *modem; | 86 | // static Modem *modem; |
@@ -85,7 +92,8 @@ signals: | |||
85 | private slots: | 92 | private slots: |
86 | void startNotifier(); | 93 | void startNotifier(); |
87 | void stopNotifier(); | 94 | void stopNotifier(); |
88 | void readtty(int); | 95 | void readtty(int); |
96 | void slotModemDebug(int); | ||
89 | 97 | ||
90 | private: | 98 | private: |
91 | enum { MaxPathLen = 30, MaxStrLen = 40, MaxArgs = 100 }; | 99 | enum { MaxPathLen = 30, MaxStrLen = 40, MaxArgs = 100 }; |
@@ -102,17 +110,20 @@ private: | |||
102 | 110 | ||
103 | private: | 111 | private: |
104 | QString device; | 112 | QString device; |
105 | QString lockfile; | 113 | QString lockfile; |
106 | int modemfd; | 114 | int modemfd; |
107 | int pppdPid; | 115 | int pppdPid; |
108 | int _pppdExitStatus; | 116 | int _pppdExitStatus; |
109 | QSocketNotifier *sn; | 117 | QSocketNotifier *sn; |
118 | QSocketNotifier *m_modemDebug; | ||
110 | bool data_mode; | 119 | bool data_mode; |
111 | QString errmsg; | 120 | QString errmsg; |
112 | struct termios initial_tty; | 121 | struct termios initial_tty; |
113 | struct termios tty; | 122 | struct termios tty; |
114 | bool modem_is_locked; | 123 | bool modem_is_locked; |
115 | PPPData *_pppdata; | 124 | PPPData *_pppdata; |
125 | int m_pppdLOG[2]; | ||
126 | QString m_pppdDev; | ||
116 | }; | 127 | }; |
117 | 128 | ||
118 | #endif | 129 | #endif |
diff --git a/noncore/settings/networksettings/ppp/modemcmds.cpp b/noncore/settings/networksettings/ppp/modemcmds.cpp index 1d9db6e..e797795 100644 --- a/noncore/settings/networksettings/ppp/modemcmds.cpp +++ b/noncore/settings/networksettings/ppp/modemcmds.cpp | |||
@@ -27,57 +27,67 @@ | |||
27 | #include <qlayout.h> | 27 | #include <qlayout.h> |
28 | #include <qslider.h> | 28 | #include <qslider.h> |
29 | #include <qbuttongroup.h> | 29 | #include <qbuttongroup.h> |
30 | #include <qscrollview.h> | ||
31 | #include <qapplication.h> | ||
30 | #include <stdlib.h> | 32 | #include <stdlib.h> |
31 | //#include <kapplication.h> // for getMiniIcon() | ||
32 | //#include <klocale.h> | ||
33 | #define i18n QObject::tr | ||
34 | #include "modemcmds.h" | 33 | #include "modemcmds.h" |
35 | #include "pppdata.h" | 34 | #include "pppdata.h" |
36 | //#include <kwin.h> | ||
37 | 35 | ||
38 | #define ADJUSTEDIT(e) //e->setText("XXXXXXXXqy"); e->setMinimumSize(e->sizeHint()); /*e->setFixedHeight(e->sizeHint().height());*/ e->setText(""); e->setMaxLength(MODEMSTR_SIZE); | 36 | #define ADJUSTEDIT(e) //e->setText("XXXXXXXXqy"); e->setMinimumSize(e->sizeHint()); /*e->setFixedHeight(e->sizeHint().height());*/ e->setText(""); e->setMaxLength(MODEMSTR_SIZE); |
39 | 37 | ||
40 | // a little trick to make the label look like a disabled lineedit | 38 | // a little trick to make the label look like a disabled lineedit |
41 | #define FORMATSLIDERLABEL(l) //l->setFixedWidth(l->sizeHint().width()); l->setFixedHeight(QLineEdit(dummyWidget).sizeHint().height()); l->setAlignment(AlignCenter); l->setFrameStyle(QFrame::WinPanel|QFrame::Sunken); l->setLineWidth(2); | 39 | #define FORMATSLIDERLABEL(l) //l->setFixedWidth(l->sizeHint().width()); l->setFixedHeight(QLineEdit(dummyWidget).sizeHint().height()); l->setAlignment(AlignCenter); l->setFrameStyle(QFrame::WinPanel|QFrame::Sunken); l->setLineWidth(2); |
42 | 40 | ||
43 | ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) | 41 | ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name , bool modal, WFlags f) |
44 | : QDialog(parent, name, true ), _pppdata(pd) | 42 | : QDialog( parent, name, modal, f ), _pppdata(pd) |
45 | { | 43 | { |
46 | setCaption(i18n("Edit Modem Commands")); | 44 | setCaption(QObject::tr("Edit Modem Commands")); |
47 | 45 | ||
48 | const int GRIDROWS = 22; | 46 | const int GRIDROWS = 22; |
49 | int row = 0; | 47 | int row = 0; |
50 | 48 | ||
49 | QVBoxLayout *main = new QVBoxLayout( this ); | ||
50 | QScrollView *sv = new QScrollView( this ); | ||
51 | QWidget *mainW = new QWidget( sv->viewport() ); | ||
52 | sv->setResizePolicy( QScrollView::AutoOneFit ); | ||
53 | sv->setHScrollBarMode( QScrollView::AlwaysOff ); | ||
54 | sv->setFrameShape( QFrame::NoFrame ); | ||
55 | sv->addChild( mainW ); | ||
56 | main->addWidget( sv ); | ||
57 | // evil hack | ||
58 | mainW->setMaximumWidth( QApplication::desktop()->width() - 10 ); | ||
59 | |||
51 | // toplevel layout | 60 | // toplevel layout |
52 | QVBoxLayout *tl = new QVBoxLayout(this, 10, 4); | 61 | QVBoxLayout *tl = new QVBoxLayout( mainW, 10, 4); |
53 | 62 | ||
54 | // add grid + frame | 63 | // add grid + frame |
55 | QGridLayout *l1 = new QGridLayout(GRIDROWS, 4); | 64 | QGridLayout *l1 = new QGridLayout(GRIDROWS, 4); |
56 | tl->addLayout(l1); | 65 | tl->addLayout(l1); |
57 | box = new QGroupBox(this, "box"); | 66 | box = new QGroupBox(mainW, "box"); |
67 | box->setMargin( 0 ); | ||
58 | l1->addMultiCellWidget(box, row++, GRIDROWS, 0, 3); | 68 | l1->addMultiCellWidget(box, row++, GRIDROWS, 0, 3); |
59 | 69 | ||
60 | // put slider and label into a separate H-Box | 70 | // put slider and label into a separate H-Box |
61 | QHBoxLayout *l2 = new QHBoxLayout; | 71 | QHBoxLayout *l2 = new QHBoxLayout; |
62 | l1->addLayout(l2, row, 2); | 72 | l1->addLayout(l2, row, 2); |
63 | lpreinitslider = new QLabel("MMMM", this); | 73 | lpreinitslider = new QLabel("MMMM", mainW); |
64 | FORMATSLIDERLABEL(lpreinitslider); | 74 | FORMATSLIDERLABEL(lpreinitslider); |
65 | 75 | ||
66 | QSlider *preinitslider = new QSlider(0, 300, 1, 0, | 76 | QSlider *preinitslider = new QSlider(0, 300, 1, 0, |
67 | QSlider::Horizontal, this); | 77 | QSlider::Horizontal, mainW); |
68 | // preinitslider->setFixedHeight(preinitslider->sizeHint().height()); | 78 | // preinitslider->setFixedHeight(preinitslider->sizeHint().height()); |
69 | connect(preinitslider, SIGNAL(valueChanged(int)), | 79 | connect(preinitslider, SIGNAL(valueChanged(int)), |
70 | lpreinitslider, SLOT(setNum(int))); | 80 | lpreinitslider, SLOT(setNum(int))); |
71 | l2->addWidget(lpreinitslider, 0); | 81 | l2->addWidget(lpreinitslider, 0); |
72 | l2->addWidget(preinitslider, 1); | 82 | l2->addWidget(preinitslider, 1); |
73 | 83 | ||
74 | lpreinit = new QLabel(i18n("Pre-init delay (sec/100):"), this); | 84 | lpreinit = new QLabel(QObject::tr("Pre-init delay (sec/100):"), mainW); |
75 | l1->addWidget(lpreinit, row++, 1); | 85 | l1->addWidget(lpreinit, row++, 1); |
76 | 86 | ||
77 | for(int i = 0; i < PPPData::NumInitStrings; i++) { | 87 | for(int i = 0; i < PPPData::NumInitStrings; i++) { |
78 | initstr[i] = new QLineEdit(this); | 88 | initstr[i] = new QLineEdit(mainW); |
79 | QLabel *initLabel = new QLabel(i18n("Initialization string %1:").arg(i + 1), | 89 | QLabel *initLabel = new QLabel(QObject::tr("Initialization string %1:").arg(i + 1), |
80 | this); | 90 | mainW); |
81 | ADJUSTEDIT(initstr[i]); | 91 | ADJUSTEDIT(initstr[i]); |
82 | l1->addWidget(initLabel, row, 1); | 92 | l1->addWidget(initLabel, row, 1); |
83 | l1->addWidget(initstr[i], row++, 2); | 93 | l1->addWidget(initstr[i], row++, 2); |
@@ -85,147 +95,147 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) | |||
85 | 95 | ||
86 | QHBoxLayout *l3 = new QHBoxLayout; | 96 | QHBoxLayout *l3 = new QHBoxLayout; |
87 | l1->addLayout(l3, row, 2); | 97 | l1->addLayout(l3, row, 2); |
88 | linitslider = new QLabel("MMMM", this); | 98 | linitslider = new QLabel("MMMM", mainW); |
89 | FORMATSLIDERLABEL(linitslider); | 99 | FORMATSLIDERLABEL(linitslider); |
90 | QSlider *initslider = new QSlider(1, 300, 1, 0, | 100 | QSlider *initslider = new QSlider(1, 300, 1, 0, |
91 | QSlider::Horizontal, this); | 101 | QSlider::Horizontal, mainW); |
92 | // initslider->setFixedHeight(initslider->sizeHint().height()); | 102 | // initslider->setFixedHeight(initslider->sizeHint().height()); |
93 | connect(initslider, SIGNAL(valueChanged(int)), | 103 | connect(initslider, SIGNAL(valueChanged(int)), |
94 | linitslider, SLOT(setNum(int))); | 104 | linitslider, SLOT(setNum(int))); |
95 | l3->addWidget(linitslider, 0); | 105 | l3->addWidget(linitslider, 0); |
96 | l3->addWidget(initslider, 1); | 106 | l3->addWidget(initslider, 1); |
97 | 107 | ||
98 | label3 = new QLabel(i18n("Post-init delay (sec/100):"), this); | 108 | label3 = new QLabel(QObject::tr("Post-init delay (sec/100):"), mainW); |
99 | l1->addWidget(label3, row++, 1); | 109 | l1->addWidget(label3, row++, 1); |
100 | 110 | ||
101 | /* Set ATS11 (Dial tone duration) between 0-255 (Default ~ 70) */ | 111 | /* Set ATS11 (Dial tone duration) between 0-255 (Default ~ 70) */ |
102 | QHBoxLayout *l4 = new QHBoxLayout; | 112 | QHBoxLayout *l4 = new QHBoxLayout; |
103 | l1->addLayout(l4, row, 2); | 113 | l1->addLayout(l4, row, 2); |
104 | ldurationslider = new QLabel("MMMM", this); | 114 | ldurationslider = new QLabel("MMMM", mainW); |
105 | FORMATSLIDERLABEL(ldurationslider); | 115 | FORMATSLIDERLABEL(ldurationslider); |
106 | QSlider *durationslider = new QSlider(1, 255, 1, 0, | 116 | QSlider *durationslider = new QSlider(1, 255, 1, 0, |
107 | QSlider::Horizontal, this); | 117 | QSlider::Horizontal, mainW); |
108 | // durationslider->setFixedHeight(durationslider->sizeHint().height()); | 118 | // durationslider->setFixedHeight(durationslider->sizeHint().height()); |
109 | connect(durationslider, SIGNAL(valueChanged(int)), | 119 | connect(durationslider, SIGNAL(valueChanged(int)), |
110 | ldurationslider, SLOT(setNum(int))); | 120 | ldurationslider, SLOT(setNum(int))); |
111 | l4->addWidget(ldurationslider, 0); | 121 | l4->addWidget(ldurationslider, 0); |
112 | l4->addWidget(durationslider, 1); | 122 | l4->addWidget(durationslider, 1); |
113 | 123 | ||
114 | lduration = new QLabel(i18n("Dialing speed (sec/100):"), this); | 124 | lduration = new QLabel(QObject::tr("Dialing speed (sec/100):"), mainW); |
115 | l1->addWidget(lduration, row++, 1); | 125 | l1->addWidget(lduration, row++, 1); |
116 | 126 | ||
117 | 127 | ||
118 | initresp = new QLineEdit(this); | 128 | initresp = new QLineEdit(mainW); |
119 | label2 = new QLabel(i18n("Init response:"), this); | 129 | label2 = new QLabel(QObject::tr("Init response:"), mainW); |
120 | ADJUSTEDIT(initresp); | 130 | ADJUSTEDIT(initresp); |
121 | l1->addWidget(label2, row, 1); | 131 | l1->addWidget(label2, row, 1); |
122 | l1->addWidget(initresp, row++, 2); | 132 | l1->addWidget(initresp, row++, 2); |
123 | 133 | ||
124 | nodetectdialtone = new QLineEdit(this); | 134 | nodetectdialtone = new QLineEdit(mainW); |
125 | lnodetectdialtone = new QLabel(i18n("No dial tone detection:"), this); | 135 | lnodetectdialtone = new QLabel(QObject::tr("No dial tone detection:"), mainW); |
126 | ADJUSTEDIT(nodetectdialtone); | 136 | ADJUSTEDIT(nodetectdialtone); |
127 | l1->addWidget(lnodetectdialtone, row, 1); | 137 | l1->addWidget(lnodetectdialtone, row, 1); |
128 | l1->addWidget(nodetectdialtone, row++, 2); | 138 | l1->addWidget(nodetectdialtone, row++, 2); |
129 | 139 | ||
130 | dialstr = new QLineEdit(this); | 140 | dialstr = new QLineEdit(mainW); |
131 | label4 = new QLabel(i18n("Dial string:"),this); | 141 | label4 = new QLabel(QObject::tr("Dial string:"),mainW); |
132 | ADJUSTEDIT(dialstr); | 142 | ADJUSTEDIT(dialstr); |
133 | l1->addWidget(label4, row, 1); | 143 | l1->addWidget(label4, row, 1); |
134 | l1->addWidget(dialstr, row++, 2); | 144 | l1->addWidget(dialstr, row++, 2); |
135 | 145 | ||
136 | connectresp = new QLineEdit(this); | 146 | connectresp = new QLineEdit(mainW); |
137 | label5 = new QLabel(i18n("Connect response:"), this); | 147 | label5 = new QLabel(QObject::tr("Connect response:"), mainW); |
138 | ADJUSTEDIT(connectresp); | 148 | ADJUSTEDIT(connectresp); |
139 | l1->addWidget(label5, row, 1); | 149 | l1->addWidget(label5, row, 1); |
140 | l1->addWidget(connectresp, row++, 2); | 150 | l1->addWidget(connectresp, row++, 2); |
141 | 151 | ||
142 | busyresp = new QLineEdit(this); | 152 | busyresp = new QLineEdit(mainW); |
143 | label6 = new QLabel(i18n("Busy response:"), this); | 153 | label6 = new QLabel(QObject::tr("Busy response:"), mainW); |
144 | ADJUSTEDIT(busyresp); | 154 | ADJUSTEDIT(busyresp); |
145 | l1->addWidget(label6, row, 1); | 155 | l1->addWidget(label6, row, 1); |
146 | l1->addWidget(busyresp, row++, 2); | 156 | l1->addWidget(busyresp, row++, 2); |
147 | 157 | ||
148 | nocarrierresp = new QLineEdit(this); | 158 | nocarrierresp = new QLineEdit(mainW); |
149 | label7 = new QLabel(i18n("No carrier response:"), this); | 159 | label7 = new QLabel(QObject::tr("No carrier response:"), mainW); |
150 | ADJUSTEDIT(nocarrierresp); | 160 | ADJUSTEDIT(nocarrierresp); |
151 | l1->addWidget(label7, row, 1); | 161 | l1->addWidget(label7, row, 1); |
152 | l1->addWidget(nocarrierresp, row++, 2); | 162 | l1->addWidget(nocarrierresp, row++, 2); |
153 | 163 | ||
154 | nodialtoneresp = new QLineEdit(this); | 164 | nodialtoneresp = new QLineEdit(mainW); |
155 | label8 = new QLabel(i18n("No dial tone response:"), this); | 165 | label8 = new QLabel(QObject::tr("No dial tone response:"), mainW); |
156 | ADJUSTEDIT(nodialtoneresp); | 166 | ADJUSTEDIT(nodialtoneresp); |
157 | l1->addWidget(label8, row, 1); | 167 | l1->addWidget(label8, row, 1); |
158 | l1->addWidget(nodialtoneresp, row++, 2); | 168 | l1->addWidget(nodialtoneresp, row++, 2); |
159 | 169 | ||
160 | hangupstr = new QLineEdit(this); | 170 | hangupstr = new QLineEdit(mainW); |
161 | label9 = new QLabel(i18n("Hangup string:"), this); | 171 | label9 = new QLabel(QObject::tr("Hangup string:"), mainW); |
162 | ADJUSTEDIT(hangupstr); | 172 | ADJUSTEDIT(hangupstr); |
163 | l1->addWidget(label9, row, 1); | 173 | l1->addWidget(label9, row, 1); |
164 | l1->addWidget(hangupstr, row++, 2); | 174 | l1->addWidget(hangupstr, row++, 2); |
165 | 175 | ||
166 | hangupresp = new QLineEdit(this); | 176 | hangupresp = new QLineEdit(mainW); |
167 | label10 = new QLabel(i18n("Hangup response:"), this); | 177 | label10 = new QLabel(QObject::tr("Hangup response:"), mainW); |
168 | ADJUSTEDIT(hangupresp); | 178 | ADJUSTEDIT(hangupresp); |
169 | l1->addWidget(label10, row, 1); | 179 | l1->addWidget(label10, row, 1); |
170 | l1->addWidget(hangupresp, row++, 2); | 180 | l1->addWidget(hangupresp, row++, 2); |
171 | 181 | ||
172 | answerstr = new QLineEdit(this); | 182 | answerstr = new QLineEdit(mainW); |
173 | label11 = new QLabel(i18n("Answer string:"), this); | 183 | label11 = new QLabel(QObject::tr("Answer string:"), mainW); |
174 | ADJUSTEDIT(answerstr); | 184 | ADJUSTEDIT(answerstr); |
175 | l1->addWidget(label11, row, 1); | 185 | l1->addWidget(label11, row, 1); |
176 | l1->addWidget(answerstr, row++, 2); | 186 | l1->addWidget(answerstr, row++, 2); |
177 | 187 | ||
178 | ringresp = new QLineEdit(this); | 188 | ringresp = new QLineEdit(mainW); |
179 | label12 = new QLabel(i18n("Ring response:"), this); | 189 | label12 = new QLabel(QObject::tr("Ring response:"), mainW); |
180 | ADJUSTEDIT(ringresp); | 190 | ADJUSTEDIT(ringresp); |
181 | l1->addWidget(label12, row, 1); | 191 | l1->addWidget(label12, row, 1); |
182 | l1->addWidget(ringresp, row++, 2); | 192 | l1->addWidget(ringresp, row++, 2); |
183 | 193 | ||
184 | answerresp = new QLineEdit(this); | 194 | answerresp = new QLineEdit(mainW); |
185 | label13 = new QLabel(i18n("Answer response:"), this); | 195 | label13 = new QLabel(QObject::tr("Answer response:"), mainW); |
186 | ADJUSTEDIT(answerresp); | 196 | ADJUSTEDIT(answerresp); |
187 | l1->addWidget(label13, row, 1); | 197 | l1->addWidget(label13, row, 1); |
188 | l1->addWidget(answerresp, row++, 2); | 198 | l1->addWidget(answerresp, row++, 2); |
189 | 199 | ||
190 | escapestr = new QLineEdit(this); | 200 | escapestr = new QLineEdit(mainW); |
191 | label14 = new QLabel(i18n("Escape string:"), this); | 201 | label14 = new QLabel(QObject::tr("Escape string:"), mainW); |
192 | ADJUSTEDIT(escapestr); | 202 | ADJUSTEDIT(escapestr); |
193 | l1->addWidget(label14, row, 1); | 203 | l1->addWidget(label14, row, 1); |
194 | l1->addWidget(escapestr, row++, 2); | 204 | l1->addWidget(escapestr, row++, 2); |
195 | 205 | ||
196 | escaperesp = new QLineEdit(this); | 206 | escaperesp = new QLineEdit(mainW); |
197 | label15 = new QLabel(i18n("Escape response:"), this); | 207 | label15 = new QLabel(QObject::tr("Escape response:"), mainW); |
198 | ADJUSTEDIT(escaperesp); | 208 | ADJUSTEDIT(escaperesp); |
199 | l1->addWidget(label15, row, 1); | 209 | l1->addWidget(label15, row, 1); |
200 | l1->addWidget(escaperesp, row++, 2); | 210 | l1->addWidget(escaperesp, row++, 2); |
201 | 211 | ||
202 | QHBoxLayout *l5 = new QHBoxLayout; | 212 | QHBoxLayout *l5 = new QHBoxLayout; |
203 | l1->addLayout(l5, row, 2); | 213 | l1->addLayout(l5, row, 2); |
204 | lslider = new QLabel("MMMM", this); | 214 | lslider = new QLabel("MMMM", mainW); |
205 | FORMATSLIDERLABEL(lslider); | 215 | FORMATSLIDERLABEL(lslider); |
206 | 216 | ||
207 | QSlider *slider = new QSlider(0, 255, 1, 0, | 217 | QSlider *slider = new QSlider(0, 255, 1, 0, |
208 | QSlider::Horizontal, this); | 218 | QSlider::Horizontal, mainW); |
209 | // slider->setFixedHeight(slider->sizeHint().height()); | 219 | // slider->setFixedHeight(slider->sizeHint().height()); |
210 | connect(slider, SIGNAL(valueChanged(int)), | 220 | connect(slider, SIGNAL(valueChanged(int)), |
211 | lslider, SLOT(setNum(int))); | 221 | lslider, SLOT(setNum(int))); |
212 | l5->addWidget(lslider, 0); | 222 | l5->addWidget(lslider, 0); |
213 | l5->addWidget(slider, 1); | 223 | l5->addWidget(slider, 1); |
214 | 224 | ||
215 | label16 = new QLabel(i18n("Guard time (sec/50):"), this); | 225 | label16 = new QLabel(QObject::tr("Guard time (sec/50):"), mainW); |
216 | l1->addWidget(label16, row++, 1); | 226 | l1->addWidget(label16, row++, 1); |
217 | 227 | ||
218 | QLabel *l = new QLabel(i18n("Volume off/low/high:"), this); | 228 | QLabel *l = new QLabel(QObject::tr("Volume off/low/high:"), mainW); |
219 | l1->addWidget(l, row, 1); | 229 | l1->addWidget(l, row, 1); |
220 | QHBoxLayout *l6 = new QHBoxLayout; | 230 | QHBoxLayout *l6 = new QHBoxLayout; |
221 | l1->addLayout(l6, row++, 2); | 231 | l1->addLayout(l6, row++, 2); |
222 | volume_off = new QLineEdit(this); | 232 | volume_off = new QLineEdit(mainW); |
223 | // volume_off->setFixedHeight(volume_off->sizeHint().height()); | 233 | // volume_off->setFixedHeight(volume_off->sizeHint().height()); |
224 | // volume_off->setMinimumWidth((int)(volume_off->sizeHint().width() / 2)); | 234 | // volume_off->setMinimumWidth((int)(volume_off->sizeHint().width() / 2)); |
225 | volume_medium = new QLineEdit(this); | 235 | volume_medium = new QLineEdit(mainW); |
226 | // volume_medium->setFixedHeight(volume_medium->sizeHint().height()); | 236 | // volume_medium->setFixedHeight(volume_medium->sizeHint().height()); |
227 | // volume_medium->setMinimumWidth((int)(volume_medium->sizeHint().width() / 2)); | 237 | // volume_medium->setMinimumWidth((int)(volume_medium->sizeHint().width() / 2)); |
228 | volume_high = new QLineEdit(this); | 238 | volume_high = new QLineEdit(mainW); |
229 | // volume_high->setFixedHeight(volume_high->sizeHint().height()); | 239 | // volume_high->setFixedHeight(volume_high->sizeHint().height()); |
230 | // volume_high->setMinimumWidth((int)(volume_high->sizeHint().width() / 2)); | 240 | // volume_high->setMinimumWidth((int)(volume_high->sizeHint().width() / 2)); |
231 | l6->addWidget(volume_off); | 241 | l6->addWidget(volume_off); |
@@ -307,7 +317,12 @@ void ModemCommands::slotOk() { | |||
307 | _pppdata->setVolumeOff(volume_off->text()); | 317 | _pppdata->setVolumeOff(volume_off->text()); |
308 | 318 | ||
309 | _pppdata->save(); | 319 | _pppdata->save(); |
310 | accept(); | 320 | QDialog::accept(); |
321 | } | ||
322 | |||
323 | void ModemCommands::accept() | ||
324 | { | ||
325 | slotOk(); | ||
311 | } | 326 | } |
312 | 327 | ||
313 | 328 | ||
diff --git a/noncore/settings/networksettings/ppp/modemcmds.h b/noncore/settings/networksettings/ppp/modemcmds.h index ef69fec..81d67f4 100644 --- a/noncore/settings/networksettings/ppp/modemcmds.h +++ b/noncore/settings/networksettings/ppp/modemcmds.h | |||
@@ -44,10 +44,11 @@ Q_OBJECT | |||
44 | 44 | ||
45 | public: | 45 | public: |
46 | 46 | ||
47 | ModemCommands(PPPData*, QWidget *parent=0, const char *name=0); | 47 | ModemCommands(PPPData*, QWidget *parent=0, const char *name=0, bool modal=0, WFlags f = 0); |
48 | ~ModemCommands() {} | 48 | ~ModemCommands() {} |
49 | 49 | ||
50 | private slots: | 50 | private slots: |
51 | virtual void accept(); | ||
51 | void slotCancel(); | 52 | void slotCancel(); |
52 | void slotOk(); | 53 | void slotOk(); |
53 | 54 | ||
diff --git a/noncore/settings/networksettings/ppp/modeminfo.cpp b/noncore/settings/networksettings/ppp/modeminfo.cpp index 0bec186..dbb26db 100644 --- a/noncore/settings/networksettings/ppp/modeminfo.cpp +++ b/noncore/settings/networksettings/ppp/modeminfo.cpp | |||
@@ -34,14 +34,12 @@ | |||
34 | #include <qapplication.h> | 34 | #include <qapplication.h> |
35 | #include "modeminfo.h" | 35 | #include "modeminfo.h" |
36 | #include "modem.h" | 36 | #include "modem.h" |
37 | //#include <klocale.h> | ||
38 | #define i18n QObject::tr | ||
39 | 37 | ||
40 | ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name) | 38 | ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name) |
41 | : QDialog(parent, name,TRUE, WStyle_Customize|WStyle_NormalBorder), | 39 | : QDialog(parent, name,TRUE, WStyle_Customize|WStyle_NormalBorder), |
42 | _modem(mo) | 40 | _modem(mo) |
43 | { | 41 | { |
44 | setCaption(i18n("ATI Query")); | 42 | setCaption(QObject::tr("ATI Query")); |
45 | // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); | 43 | // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); |
46 | 44 | ||
47 | QVBoxLayout *tl = new QVBoxLayout(this, 10, 10); | 45 | QVBoxLayout *tl = new QVBoxLayout(this, 10, 10); |
@@ -58,17 +56,17 @@ ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name) | |||
58 | // search all these messages. This is a little overkill, so I take | 56 | // search all these messages. This is a little overkill, so I take |
59 | // the longest english message, translate it and give it additional | 57 | // the longest english message, translate it and give it additional |
60 | // 20 percent space. Hope this is enough. | 58 | // 20 percent space. Hope this is enough. |
61 | statusBar->setText(i18n("Unable to create modem lock file.")); | 59 | statusBar->setText(QObject::tr("Unable to create modem lock file.")); |
62 | statusBar->setFixedWidth((statusBar->sizeHint().width() * 12) / 10); | 60 | statusBar->setFixedWidth((statusBar->sizeHint().width() * 12) / 10); |
63 | statusBar->setFixedHeight(statusBar->sizeHint().height() + 4); | 61 | statusBar->setFixedHeight(statusBar->sizeHint().height() + 4); |
64 | 62 | ||
65 | // set original text | 63 | // set original text |
66 | statusBar->setText(i18n("Looking for modem...")); | 64 | statusBar->setText(QObject::tr("Looking for modem...")); |
67 | progressBar->setFixedHeight(statusBar->minimumSize().height()); | 65 | progressBar->setFixedHeight(statusBar->minimumSize().height()); |
68 | tl->addWidget(progressBar); | 66 | tl->addWidget(progressBar); |
69 | tl->addWidget(statusBar); | 67 | tl->addWidget(statusBar); |
70 | 68 | ||
71 | cancel = new QPushButton(i18n("Cancel"), this); | 69 | cancel = new QPushButton(QObject::tr("Cancel"), this); |
72 | cancel->setFocus(); | 70 | cancel->setFocus(); |
73 | connect(cancel, SIGNAL(clicked()), SLOT(cancelbutton())); | 71 | connect(cancel, SIGNAL(clicked()), SLOT(cancelbutton())); |
74 | 72 | ||
@@ -118,7 +116,7 @@ void ModemTransfer::time_out_slot() { | |||
118 | timeout_timer->stop(); | 116 | timeout_timer->stop(); |
119 | scripttimer->stop(); | 117 | scripttimer->stop(); |
120 | 118 | ||
121 | QMessageBox::warning(this, tr("Error"), i18n("Modem Query timed out.")); | 119 | QMessageBox::warning(this, tr("Error"), QObject::tr("Modem Query timed out.")); |
122 | reject(); | 120 | reject(); |
123 | } | 121 | } |
124 | 122 | ||
@@ -130,13 +128,13 @@ void ModemTransfer::init() { | |||
130 | int lock = _modem->lockdevice(); | 128 | int lock = _modem->lockdevice(); |
131 | if (lock == 1) { | 129 | if (lock == 1) { |
132 | 130 | ||
133 | statusBar->setText(i18n("Modem device is locked.")); | 131 | statusBar->setText(QObject::tr("Modem device is locked.")); |
134 | return; | 132 | return; |
135 | } | 133 | } |
136 | 134 | ||
137 | if (lock == -1) { | 135 | if (lock == -1) { |
138 | 136 | ||
139 | statusBar->setText(i18n("Unable to create modem lock file.")); | 137 | statusBar->setText(QObject::tr("Unable to create modem lock file.")); |
140 | return; | 138 | return; |
141 | } | 139 | } |
142 | 140 | ||
@@ -146,7 +144,7 @@ void ModemTransfer::init() { | |||
146 | usleep(100000); // wait 0.1 secs | 144 | usleep(100000); // wait 0.1 secs |
147 | _modem->writeLine("ATE0Q1V1"); // E0 don't echo the commands I send ... | 145 | _modem->writeLine("ATE0Q1V1"); // E0 don't echo the commands I send ... |
148 | 146 | ||
149 | statusBar->setText(i18n("Modem Ready")); | 147 | statusBar->setText(QObject::tr("Modem Ready")); |
150 | qApp->processEvents(); | 148 | qApp->processEvents(); |
151 | usleep(100000); // wait 0.1 secs | 149 | usleep(100000); // wait 0.1 secs |
152 | qApp->processEvents(); | 150 | qApp->processEvents(); |
@@ -227,7 +225,7 @@ void ModemTransfer::cancelbutton() { | |||
227 | _modem->stop(); | 225 | _modem->stop(); |
228 | timeout_timer->stop(); | 226 | timeout_timer->stop(); |
229 | 227 | ||
230 | statusBar->setText(i18n("One moment please...")); | 228 | statusBar->setText(QObject::tr("One moment please...")); |
231 | qApp->processEvents(); | 229 | qApp->processEvents(); |
232 | 230 | ||
233 | _modem->hangup(); | 231 | _modem->hangup(); |
@@ -249,7 +247,7 @@ ModemInfo::ModemInfo(QWidget *parent, const char* name) | |||
249 | { | 247 | { |
250 | QString label_text; | 248 | QString label_text; |
251 | 249 | ||
252 | setCaption(i18n("Modem Query Results")); | 250 | setCaption(QObject::tr("Modem Query Results")); |
253 | // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); | 251 | // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); |
254 | 252 | ||
255 | QVBoxLayout *tl = new QVBoxLayout(this, 10, 10); | 253 | QVBoxLayout *tl = new QVBoxLayout(this, 10, 10); |
@@ -274,7 +272,7 @@ ModemInfo::ModemInfo(QWidget *parent, const char* name) | |||
274 | //tl->addSpacing(1); | 272 | //tl->addSpacing(1); |
275 | 273 | ||
276 | QHBoxLayout *l2 = new QHBoxLayout; | 274 | QHBoxLayout *l2 = new QHBoxLayout; |
277 | QPushButton *ok = new QPushButton(i18n("Close"), this); | 275 | QPushButton *ok = new QPushButton(QObject::tr("Close"), this); |
278 | ok->setDefault(TRUE); | 276 | ok->setDefault(TRUE); |
279 | ok->setFocus(); | 277 | ok->setFocus(); |
280 | 278 | ||
diff --git a/noncore/settings/networksettings/ppp/ppp.pro b/noncore/settings/networksettings/ppp/ppp.pro index fc89f35..84acd0e 100644 --- a/noncore/settings/networksettings/ppp/ppp.pro +++ b/noncore/settings/networksettings/ppp/ppp.pro | |||
@@ -4,12 +4,11 @@ TEMPLATE = lib | |||
4 | #CONFIG += qt warn_on release | 4 | #CONFIG += qt warn_on release |
5 | CONFIG += qt warn_on debug | 5 | CONFIG += qt warn_on debug |
6 | DESTDIR = $(OPIEDIR)/plugins/networksettings | 6 | DESTDIR = $(OPIEDIR)/plugins/networksettings |
7 | HEADERS = pppmodule.h devices.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h conwindow.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h interfaceinformationppp.h interfaceppp.h authwidget.h | 7 | HEADERS = pppmodule.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h conwindow.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h interfaceinformationppp.h interfaceppp.h authwidget.h chooserwidget.h devices.h |
8 | SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp conwindow.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp interfaceinformationppp.cpp interfaceppp.cpp authwidget.cpp | 8 | SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp conwindow.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp interfaceinformationppp.cpp interfaceppp.cpp authwidget.cpp chooserwidget.cpp devices.cpp |
9 | INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/ | 9 | INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/ |
10 | DEPENDPATH+= $(OPIEDIR)/include | 10 | DEPENDPATH+= $(OPIEDIR)/include |
11 | LIBS += -lqpe -L../interfaces/ -linterfaces | 11 | LIBS += -lqpe -L../interfaces/ -linterfaces |
12 | INTERFACES= | ||
13 | TARGET = kppp | 12 | TARGET = kppp |
14 | VERSION = 1.0.0 | 13 | VERSION = 1.0.0 |
15 | 14 | ||
diff --git a/noncore/settings/networksettings/ppp/pppconfig.cpp b/noncore/settings/networksettings/ppp/pppconfig.cpp index 5fa7d3f..97baf31 100644 --- a/noncore/settings/networksettings/ppp/pppconfig.cpp +++ b/noncore/settings/networksettings/ppp/pppconfig.cpp | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <qtabwidget.h> | 4 | #include <qtabwidget.h> |
5 | 5 | ||
6 | #include "accounts.h" | 6 | #include "accounts.h" |
7 | #include "devices.h" | ||
7 | #include "general.h" | 8 | #include "general.h" |
8 | #include "interfaceppp.h" | 9 | #include "interfaceppp.h" |
9 | #include "modem.h" | 10 | #include "modem.h" |
@@ -28,7 +29,7 @@ PPPConfigWidget::PPPConfigWidget( InterfacePPP* iface, QWidget *parent, | |||
28 | qDebug(" interface->getHardwareName >%s<", interface->getHardwareName().latin1()); | 29 | qDebug(" interface->getHardwareName >%s<", interface->getHardwareName().latin1()); |
29 | 30 | ||
30 | qDebug(" _pppdata->accname >%s<",interface->data()->accname().latin1()); | 31 | qDebug(" _pppdata->accname >%s<",interface->data()->accname().latin1()); |
31 | qDebug(" _pppdata->currentAccountID() >%i<",interface->data()->currentAccountID()); | 32 | |
32 | 33 | ||
33 | QVBoxLayout *layout = new QVBoxLayout( this ); | 34 | QVBoxLayout *layout = new QVBoxLayout( this ); |
34 | layout->setSpacing( 0 ); | 35 | layout->setSpacing( 0 ); |
@@ -36,12 +37,16 @@ PPPConfigWidget::PPPConfigWidget( InterfacePPP* iface, QWidget *parent, | |||
36 | tabWindow = new QTabWidget( this, "tabWidget" ); | 37 | tabWindow = new QTabWidget( this, "tabWidget" ); |
37 | layout->addWidget( tabWindow ); | 38 | layout->addWidget( tabWindow ); |
38 | 39 | ||
39 | accounts = new AccountWidget( interface->data(), tabWindow, "accounts" ); | 40 | accounts = new AccountWidget( interface->data(), tabWindow, "accounts", Qt::WStyle_ContextHelp ); |
40 | tabWindow->addTab( accounts, tr("&Accounts") ); | 41 | tabWindow->addTab( accounts, tr("&Accounts") ); |
41 | modem1 = new ModemWidget( interface, tabWindow, "modem1" ); | 42 | devices = new DevicesWidget( interface, tabWindow, "devices", Qt::WStyle_ContextHelp ); |
42 | tabWindow->addTab( modem1, tr("&Device") ); | 43 | tabWindow->addTab( devices, tr("&Devices") ); |
43 | modem2 = new ModemWidget2( interface, tabWindow, "modem2" ); | 44 | |
44 | tabWindow->addTab( modem2, tr("&Modem") ); | 45 | //OLD: |
46 | // modem1 = new ModemWidget( interface, tabWindow, "modem1" ); | ||
47 | // tabWindow->addTab( modem1, tr("&Device") ); | ||
48 | // modem2 = new ModemWidget2( interface, tabWindow, "modem2" ); | ||
49 | // tabWindow->addTab( modem2, tr("&Modem") ); | ||
45 | 50 | ||
46 | } | 51 | } |
47 | 52 | ||
@@ -56,7 +61,7 @@ void PPPConfigWidget::accept() | |||
56 | qDebug("PPPConfigWidget::accept"); | 61 | qDebug("PPPConfigWidget::accept"); |
57 | qDebug(" _pppdata->accname >%s<",interface->data()->accname().latin1()); | 62 | qDebug(" _pppdata->accname >%s<",interface->data()->accname().latin1()); |
58 | qDebug(" interface->getHardwareName >%s<", interface->getHardwareName().latin1()); | 63 | qDebug(" interface->getHardwareName >%s<", interface->getHardwareName().latin1()); |
59 | interface->setInterfaceName( interface->data()->modemDevice() ); | 64 | interface->setInterfaceName( interface->data()->devname() ); |
60 | interface->setHardwareName( interface->data()->accname() ); | 65 | interface->setHardwareName( interface->data()->accname() ); |
61 | interface->save(); | 66 | interface->save(); |
62 | QDialog::accept(); | 67 | QDialog::accept(); |
diff --git a/noncore/settings/networksettings/ppp/pppconfig.h b/noncore/settings/networksettings/ppp/pppconfig.h index 9bab6fe..4d7912f 100644 --- a/noncore/settings/networksettings/ppp/pppconfig.h +++ b/noncore/settings/networksettings/ppp/pppconfig.h | |||
@@ -8,6 +8,9 @@ class QTabWidget; | |||
8 | class InterfacePPP; | 8 | class InterfacePPP; |
9 | class AccountWidget; | 9 | class AccountWidget; |
10 | class GeneralWidget; | 10 | class GeneralWidget; |
11 | class DevicesWidget; | ||
12 | |||
13 | //OLD: | ||
11 | class ModemWidget; | 14 | class ModemWidget; |
12 | class ModemWidget2; | 15 | class ModemWidget2; |
13 | 16 | ||
@@ -29,6 +32,9 @@ protected slots: | |||
29 | QTabWidget *tabWindow; | 32 | QTabWidget *tabWindow; |
30 | AccountWidget *accounts; | 33 | AccountWidget *accounts; |
31 | GeneralWidget *general; | 34 | GeneralWidget *general; |
35 | DevicesWidget* devices; | ||
36 | |||
37 | //OLD: | ||
32 | ModemWidget *modem1; | 38 | ModemWidget *modem1; |
33 | ModemWidget2 *modem2; | 39 | ModemWidget2 *modem2; |
34 | }; | 40 | }; |
diff --git a/noncore/settings/networksettings/ppp/pppdata.cpp b/noncore/settings/networksettings/ppp/pppdata.cpp index 8f45e54..f4727c1 100644 --- a/noncore/settings/networksettings/ppp/pppdata.cpp +++ b/noncore/settings/networksettings/ppp/pppdata.cpp | |||
@@ -26,9 +26,8 @@ | |||
26 | 26 | ||
27 | #include "pppdata.h" | 27 | #include "pppdata.h" |
28 | #include "runtests.h" | 28 | #include "runtests.h" |
29 | #include "devices.h" | 29 | //#include "devices.h" |
30 | //#include <klocale.h> | 30 | //#include <klocale.h> |
31 | #define i18n QObject::tr | ||
32 | #include <qpe/config.h> | 31 | #include <qpe/config.h> |
33 | #include <qmessagebox.h> | 32 | #include <qmessagebox.h> |
34 | #include <qapplication.h> | 33 | #include <qapplication.h> |
@@ -42,24 +41,32 @@ | |||
42 | #define SEP QString("%1SEPARATOR%1") | 41 | #define SEP QString("%1SEPARATOR%1") |
43 | 42 | ||
44 | PPPData::PPPData() | 43 | PPPData::PPPData() |
45 | : modemDeviceGroup(-1), | 44 | : passwd(""), |
46 | passwd(""), | 45 | _modemName(""), |
47 | highcount(-1), // start out with no entries | 46 | highcount(-1), // start out with no entries |
48 | caccount(-1), // set the current account index also | 47 | highcountdev(-1), // start out with no entries |
48 | // caccount(-1), // set the current account index also | ||
49 | suidprocessid(-1), // process ID of setuid child | 49 | suidprocessid(-1), // process ID of setuid child |
50 | pppdisrunning(false), | 50 | pppdisrunning(false), |
51 | pppderror(0) | 51 | pppderror(0) |
52 | { | 52 | { |
53 | highcount = readNumConfig(GENERAL_GRP, NUMACCOUNTS_KEY, 0) - 1; | 53 | highcount = readNumConfig(GENERAL_GRP, NUMACCOUNTS_KEY, 0) - 1; |
54 | highcountdev = readNumConfig(GENERAL_GRP, NUMDEVICES_KEY, 0) - 1; | ||
55 | Config cfg = config(); | ||
56 | cfg.setGroup(GENERAL_GRP); | ||
57 | accountList = cfg.readListEntry(ACCOUNT_LIST, ',' ); | ||
58 | deviceList = cfg.readListEntry(DEVICESNAMES_LIST, ',' ); | ||
59 | qDebug("PPPData::PPPData has a accountList %s", accountList.join("---").latin1()); | ||
60 | qDebug("PPPData::PPPData has a deviceList %s", deviceList.join("---").latin1()); | ||
54 | 61 | ||
55 | if (highcount > MAX_ACCOUNTS) | 62 | // if (highcount > MAX_ACCOUNTS) |
56 | highcount = MAX_ACCOUNTS; | 63 | // highcount = MAX_ACCOUNTS; |
57 | 64 | ||
58 | if(highcount >= 0 && defaultAccount().isEmpty()) { | 65 | // if(highcount >= 0 && defaultAccount().isEmpty()) { |
59 | setAccountbyIndex(0); | 66 | // setAccountbyIndex(0); |
60 | setDefaultAccount(accname()); | 67 | // setDefaultAccount(accname()); |
61 | } else if(!setAccount(defaultAccount())) | 68 | // } else if(!setAccount(defaultAccount())) |
62 | setDefaultAccount(accname()); | 69 | setDefaultAccount(accname()); |
63 | 70 | ||
64 | // start out with internal debugging disabled | 71 | // start out with internal debugging disabled |
65 | // the user is still free to specify `debug' on his own | 72 | // the user is still free to specify `debug' on his own |
@@ -81,29 +88,34 @@ void PPPData::save() | |||
81 | { | 88 | { |
82 | qDebug("PPPData saving data"); | 89 | qDebug("PPPData saving data"); |
83 | writeConfig(GENERAL_GRP, NUMACCOUNTS_KEY, count()); | 90 | writeConfig(GENERAL_GRP, NUMACCOUNTS_KEY, count()); |
91 | writeConfig(GENERAL_GRP, NUMDEVICES_KEY, highcountdev + 1); | ||
84 | QString key; | 92 | QString key; |
85 | QStringList keys; | 93 | QStringList keys; |
86 | Config cfg = config(); | 94 | Config cfg = config(); |
95 | cfg.setGroup(GENERAL_GRP); | ||
96 | cfg.writeEntry(ACCOUNT_LIST, accountList, ',' ); | ||
97 | cfg.writeEntry(DEVICESNAMES_LIST, deviceList, ',' ); | ||
98 | |||
87 | for( QMap<QString,QString>::Iterator it = stringEntries.begin(); | 99 | for( QMap<QString,QString>::Iterator it = stringEntries.begin(); |
88 | it != stringEntries.end(); ++it ){ | 100 | it != stringEntries.end(); ++it ){ |
89 | QString val = it.data(); | 101 | QString val = it.data(); |
90 | key = it.key(); | 102 | key = it.key(); |
91 | // qDebug("saving %s -> %s", key.latin1(), val.latin1() ); | 103 | // qDebug("saving %s -> %s", key.latin1(), val.latin1() ); |
92 | keys = QStringList::split( "SEPARATOR", key ); | 104 | keys = QStringList::split( "SEPARATOR", key ); |
93 | qDebug("group >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); | 105 | //qDebug("group >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); |
94 | cfg.setGroup(keys[0]); | 106 | cfg.setGroup(keys[0]); |
95 | cfg.writeEntry(keys[1], val); | 107 | cfg.writeEntry(keys[1], val); |
96 | } | 108 | } |
97 | for( QMap<QString,int>::Iterator it = intEntries.begin(); | 109 | for( QMap<QString,int>::Iterator it = intEntries.begin(); |
98 | it != intEntries.end(); ++it ){ | 110 | it != intEntries.end(); ++it ){ |
99 | int val = it.data(); | 111 | int val = it.data(); |
100 | key = it.key(); | 112 | key = it.key(); |
101 | // qDebug("saving %s -> %i", key.latin1(), val ); | 113 | // qDebug("saving %s -> %i", key.latin1(), val ); |
102 | keys = QStringList::split( "SEPARATOR", key ); | 114 | keys = QStringList::split( "SEPARATOR", key ); |
103 | qDebug("group >%s< key >%s< val %i", keys[0].latin1(), keys[1].latin1(), val ); | 115 | //qDebug("group >%s< key >%s< val %i", keys[0].latin1(), keys[1].latin1(), val ); |
104 | cfg.setGroup(keys[0]); | 116 | cfg.setGroup(keys[0]); |
105 | cfg.writeEntry(keys[1], val); | 117 | cfg.writeEntry(keys[1], val); |
106 | } | 118 | } |
107 | for( QMap<QString,QStringList>::Iterator it = listEntries.begin(); | 119 | for( QMap<QString,QStringList>::Iterator it = listEntries.begin(); |
108 | it != listEntries.end(); ++it ){ | 120 | it != listEntries.end(); ++it ){ |
109 | QStringList val = it.data(); | 121 | QStringList val = it.data(); |
@@ -111,10 +123,9 @@ void PPPData::save() | |||
111 | QChar sep = sepEntries[key]; | 123 | QChar sep = sepEntries[key]; |
112 | // qDebug("saving %s -> %s", key.latin1(), val.join(sep).latin1() ); | 124 | // qDebug("saving %s -> %s", key.latin1(), val.join(sep).latin1() ); |
113 | keys = QStringList::split( "SEPARATOR", key ); | 125 | keys = QStringList::split( "SEPARATOR", key ); |
114 | qDebug("group >%s< key >%s<values >%s<", keys[0].latin1(), keys[1].latin1(), val.join(sep).latin1() ); | ||
115 | cfg.setGroup(keys[0]); | 126 | cfg.setGroup(keys[0]); |
116 | cfg.writeEntry(keys[1], val, sep); | 127 | cfg.writeEntry(keys[1], val, sep); |
117 | } | 128 | } |
118 | } | 129 | } |
119 | 130 | ||
120 | 131 | ||
@@ -344,21 +355,33 @@ void PPPData::setpppdTimeout(int n) { | |||
344 | 355 | ||
345 | 356 | ||
346 | const QString PPPData::modemDevice() { | 357 | const QString PPPData::modemDevice() { |
347 | return readConfig (modemGroup(), MODEMDEV_KEY, devices[DEV_DEFAULT]); | 358 | return readConfig (modemGroup(), MODEMDEV_KEY, "/dev/modem" ); |
348 | } | 359 | } |
349 | 360 | ||
350 | 361 | ||
362 | // const QString PPPData::modemName() | ||
363 | // { | ||
364 | // return readConfig(modemGroup(), MODEMNAME_KEY); | ||
365 | // } | ||
366 | |||
367 | // bool PPPData::setModemName(const QString &n) { | ||
368 | // qDebug("Setting modem name to >%s<", n.latin1()); | ||
369 | // _modemName = n; | ||
370 | // writeConfig(cgroup, MODEMNAME_KEY, n); | ||
371 | // return true; //FIXME | ||
372 | // } | ||
373 | |||
374 | // bool PPPData::changeModemName(const QString &n) { | ||
375 | // qDebug("Setting modem name to >%s<", n.latin1()); | ||
376 | // _modemName = n; | ||
377 | // writeConfig(modemGroup(), MODEMNAME_KEY, n); | ||
378 | // return true; //FIXME | ||
379 | // } | ||
380 | |||
351 | bool PPPData::setModemDevice(const QString &n) { | 381 | bool PPPData::setModemDevice(const QString &n) { |
352 | qDebug("Setting modem dev to >%s<", n.latin1()); | 382 | qDebug("Setting modem dev to >%s<", n.latin1()); |
353 | bool ret = false; | 383 | writeConfig(modemGroup(), MODEMDEV_KEY, n); |
354 | for (int i = 0; devices[i]; i++) | 384 | return true; //FIXME |
355 | if (devices[i] == n){ | ||
356 | modemDeviceGroup = i; | ||
357 | writeConfig(modemGroup(), MODEMDEV_KEY, n); | ||
358 | ret = true; | ||
359 | } | ||
360 | qDebug(ret?"SUCCESS":"FAILURE"); | ||
361 | return ret; | ||
362 | } | 385 | } |
363 | 386 | ||
364 | 387 | ||
@@ -717,89 +740,111 @@ int PPPData::count() const { | |||
717 | 740 | ||
718 | bool PPPData::setAccount(const QString &aname) { | 741 | bool PPPData::setAccount(const QString &aname) { |
719 | qDebug("setting account to >%s<", aname.latin1()); | 742 | qDebug("setting account to >%s<", aname.latin1()); |
720 | for(int i = 0; i <= highcount; i++) { | 743 | for ( QStringList::Iterator it = accountList.begin(); it != accountList.end(); ++it ) { |
721 | setAccountbyIndex(i); | 744 | cgroup = *it; |
722 | if(accname() == aname) { | 745 | qDebug("PPPData::setAccount %s", cgroup.latin1()); |
723 | caccount = i; | 746 | qDebug( "iterator %s", (*it).latin1() ); |
724 | qDebug("SUCCESS"); | 747 | if(accname() == aname) { |
725 | return true; | 748 | qDebug("SUCCESS"); |
749 | return true; | ||
750 | } | ||
751 | |||
726 | } | 752 | } |
727 | } | 753 | qDebug("FAILURE"); |
728 | qDebug("FAILURE"); | 754 | return false; |
729 | return false; | ||
730 | } | 755 | } |
731 | 756 | ||
732 | 757 | /* | |
733 | bool PPPData::setAccountbyIndex(int i) { | 758 | bool PPPData::setAccountbyIndex(int i) { |
734 | if(i >= 0 && i <= highcount) { | 759 | if(i >= 0 && i <= highcount) { |
760 | QString tmp; | ||
761 | tmp.sprintf("%s%i", ACCOUNT_GRP, i); | ||
762 | if (_deleted.find(tmp)!=_deleted.end()) return false; | ||
735 | caccount = i; | 763 | caccount = i; |
736 | cgroup.sprintf("%s%i", ACCOUNT_GRP, i); | 764 | cgroup = tmp; |
737 | return true; | 765 | return true; |
738 | } | 766 | } |
739 | return false; | 767 | return false; |
740 | } | 768 | } |
741 | 769 | */ | |
742 | 770 | ||
743 | bool PPPData::isUniqueAccname(const QString &n) { | 771 | bool PPPData::isUniqueAccname(const QString &n) { |
744 | int current = caccount; | 772 | QString save_cgroup = cgroup; |
745 | for(int i=0; i <= highcount; i++) { | 773 | for ( QStringList::Iterator it = accountList.begin(); it != accountList.end(); ++it ) { |
746 | setAccountbyIndex(i); | 774 | cgroup = *it; |
747 | if(accname() == n && i != current) { | 775 | qDebug("PPPData::setAccount %s", cgroup.latin1()); |
748 | setAccountbyIndex(current); | 776 | qDebug( "%s \n", (*it).latin1() ); |
749 | return false; | 777 | if(accname() == n && cgroup != save_cgroup) { |
750 | } | 778 | cgroup = save_cgroup; |
779 | qDebug("SUCCESS"); | ||
780 | return false; | ||
781 | } | ||
782 | |||
751 | } | 783 | } |
752 | setAccountbyIndex(current); | 784 | cgroup = save_cgroup; |
753 | return true; | 785 | return true; |
754 | } | 786 | } |
755 | 787 | ||
756 | 788 | ||
757 | bool PPPData::deleteAccount() { | 789 | bool PPPData::isUniqueDevname(const QString &n) { |
758 | //FIXME: PPPData::deleteAccount | 790 | QString save_mName = _modemName; |
759 | // if(caccount < 0) | 791 | qDebug("PPPData::isUniqueDevname checking if %s is unique", n.latin1()); |
760 | return false; | 792 | for ( QStringList::Iterator it = deviceList.begin(); it != deviceList.end(); ++it ) { |
761 | 793 | _modemName = *it; | |
762 | // QMap <QString, QString> map; | 794 | qDebug("PPPData::isUniqueDevname %s == %s", n.latin1() , devname().latin1()); |
763 | // QMap <QString, QString>::Iterator it; | 795 | if(devname() == n && _modemName != save_mName) { |
764 | 796 | _modemName = save_mName; | |
765 | // // set all entries of the current account to "" | 797 | qDebug("NOT UNIQUE"); |
766 | // map = config->entryMap(cgroup); | 798 | return false; |
767 | // it = map.begin(); | 799 | } |
768 | // while (it != map.end()) { | ||
769 | // config->writeEntry(it.key(), ""); | ||
770 | // it++; | ||
771 | // } | ||
772 | 800 | ||
773 | // // shift the succeeding accounts | 801 | } |
774 | // for(int i = caccount+1; i <= highcount; i++) { | 802 | _modemName = save_mName; |
775 | // setAccountbyIndex(i); | 803 | return true; |
776 | // map = config->entryMap(cgroup); | 804 | } |
777 | // it = map.begin(); | ||
778 | // setAccountbyIndex(i-1); | ||
779 | // config->setGroup(cgroup); | ||
780 | // while (it != map.end()) { | ||
781 | // config->writeEntry(it.key(), *it); | ||
782 | // it++; | ||
783 | // } | ||
784 | // } | ||
785 | 805 | ||
786 | // // make sure the top account is cleared | ||
787 | // setAccountbyIndex(highcount); | ||
788 | // map = config->entryMap(cgroup); | ||
789 | // it = map.begin(); | ||
790 | // config->setGroup(cgroup); | ||
791 | // while (it.key() != QString::null) { | ||
792 | // config->writeEntry(it.key(), ""); | ||
793 | // it++; | ||
794 | // } | ||
795 | 806 | ||
796 | // highcount--; | 807 | bool PPPData::deleteAccount() { |
797 | // if(caccount > highcount) | 808 | // FIXME: check if this account exists in a config... |
798 | // caccount = highcount; | 809 | Config cfg = PPPData::config(); |
810 | cfg.setGroup(cgroup); | ||
811 | cfg.clearGroup(); | ||
812 | accountList.remove(cgroup); | ||
799 | 813 | ||
800 | // setAccountbyIndex(caccount); | 814 | QString key; |
815 | QStringList keys; | ||
816 | for( QMap<QString,QString>::Iterator it = stringEntries.begin(); | ||
817 | it != stringEntries.end(); ++it ){ | ||
818 | QString val = it.data(); | ||
819 | key = it.key(); | ||
820 | keys = QStringList::split( "SEPARATOR", key ); | ||
821 | if(keys[0]==cgroup){ | ||
822 | stringEntries.remove( it ); | ||
823 | qDebug("deleting >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); | ||
824 | } | ||
825 | } | ||
826 | for( QMap<QString,int>::Iterator it = intEntries.begin(); | ||
827 | it != intEntries.end(); ++it ){ | ||
828 | int val = it.data(); | ||
829 | key = it.key(); | ||
830 | keys = QStringList::split( "SEPARATOR", key ); | ||
831 | if(keys[0]==cgroup){ | ||
832 | intEntries.remove( it ); | ||
833 | qDebug("deleting >%s< key >%s< value >%i<", keys[0].latin1(), keys[1].latin1(), val ); | ||
834 | } | ||
835 | } | ||
836 | for( QMap<QString,QStringList>::Iterator it = listEntries.begin(); | ||
837 | it != listEntries.end(); ++it ){ | ||
838 | QStringList val = it.data(); | ||
839 | key = it.key(); | ||
840 | if(keys[0]==cgroup){ | ||
841 | listEntries.remove( it ); | ||
842 | sepEntries.remove( key ); | ||
843 | qDebug("deleting >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.join("").latin1() ); | ||
844 | } | ||
845 | } | ||
801 | 846 | ||
802 | // return true; | 847 | return true; |
803 | } | 848 | } |
804 | 849 | ||
805 | 850 | ||
@@ -817,17 +862,19 @@ int PPPData::newaccount() { | |||
817 | 862 | ||
818 | qDebug("PPPData::newaccount highcount %i/%i",highcount,MAX_ACCOUNTS); | 863 | qDebug("PPPData::newaccount highcount %i/%i",highcount,MAX_ACCOUNTS); |
819 | // if(!config) open(); | 864 | // if(!config) open(); |
820 | if (highcount >= MAX_ACCOUNTS) return -1; | 865 | // if (highcount >= MAX_ACCOUNTS) return -1; |
821 | 866 | ||
822 | highcount++; | ||
823 | setAccountbyIndex(highcount); | ||
824 | 867 | ||
868 | QString tmp; | ||
869 | tmp.sprintf("%s%i", ACCOUNT_GRP, ++highcount); | ||
870 | cgroup = QString(tmp); | ||
871 | accountList << tmp; | ||
872 | qDebug("PPPData::newaccount() Group: >%s<",cgroup.latin1()); | ||
825 | setpppdArgumentDefaults(); | 873 | setpppdArgumentDefaults(); |
826 | qDebug("PPPData::newaccount -> %i",caccount); | 874 | return highcount; |
827 | return caccount; | ||
828 | } | 875 | } |
829 | 876 | ||
830 | int PPPData::copyaccount(int i) { | 877 | int PPPData::copyaccount(const QString&) { |
831 | // FIXME: PPPData::copyaccount | 878 | // FIXME: PPPData::copyaccount |
832 | // if(highcount >= MAX_ACCOUNTS) | 879 | // if(highcount >= MAX_ACCOUNTS) |
833 | return -1; | 880 | return -1; |
@@ -837,7 +884,7 @@ int PPPData::copyaccount(int i) { | |||
837 | // QMap <QString, QString> map = config->entryMap(cgroup); | 884 | // QMap <QString, QString> map = config->entryMap(cgroup); |
838 | // QMap <QString, QString>::ConstIterator it = map.begin(); | 885 | // QMap <QString, QString>::ConstIterator it = map.begin(); |
839 | 886 | ||
840 | // QString newname = i18n("%1_copy").arg(accname()); | 887 | // QString newname = QObject::tr("%1_copy").arg(accname()); |
841 | 888 | ||
842 | // newaccount(); | 889 | // newaccount(); |
843 | 890 | ||
@@ -864,6 +911,7 @@ void PPPData::setAccname(const QString &n) { | |||
864 | if (def) | 911 | if (def) |
865 | setDefaultAccount(n); | 912 | setDefaultAccount(n); |
866 | } | 913 | } |
914 | writeConfig(cgroup, NAME_KEY, n); | ||
867 | } | 915 | } |
868 | 916 | ||
869 | 917 | ||
@@ -1176,6 +1224,7 @@ void PPPData::setpppdArgument(QStringList &args) { | |||
1176 | 1224 | ||
1177 | void PPPData::setpppdArgumentDefaults() { | 1225 | void PPPData::setpppdArgumentDefaults() { |
1178 | QStringList arg; | 1226 | QStringList arg; |
1227 | arg << "lcp-echo-failure 0"; | ||
1179 | setpppdArgument(arg); | 1228 | setpppdArgument(arg); |
1180 | } | 1229 | } |
1181 | 1230 | ||
@@ -1247,11 +1296,9 @@ void PPPData::setpppdError(int err) { | |||
1247 | 1296 | ||
1248 | QString PPPData::modemGroup() | 1297 | QString PPPData::modemGroup() |
1249 | { | 1298 | { |
1250 | if (modemDeviceGroup<0){ | 1299 | if (_modemName.isEmpty()) |
1251 | qDebug("wrong modem %i\n using 0",modemDeviceGroup); | 1300 | _modemName = deviceList[0]; |
1252 | modemDeviceGroup = 0; //FIXME! | 1301 | return _modemName; |
1253 | } | ||
1254 | return QString("%1_%1").arg(MODEM_GRP).arg(modemDeviceGroup); | ||
1255 | } | 1302 | } |
1256 | 1303 | ||
1257 | 1304 | ||
@@ -1300,3 +1347,149 @@ QString PPPData::encodeWord(const QString &s) { | |||
1300 | r.replace(QRegExp("\\"), "\\\\"); | 1347 | r.replace(QRegExp("\\"), "\\\\"); |
1301 | return r; | 1348 | return r; |
1302 | } | 1349 | } |
1350 | |||
1351 | QStringList PPPData::getDevicesList() | ||
1352 | { | ||
1353 | Config cfg("NetworkSetupPPP"); | ||
1354 | cfg.setGroup("Devices_General"); | ||
1355 | return cfg.readListEntry(DEVICES_LIST,DEVICES_LIST_SEP); | ||
1356 | } | ||
1357 | |||
1358 | QStringList PPPData::getAccountList() | ||
1359 | { | ||
1360 | QStringList list; | ||
1361 | QString save_cgroup; | ||
1362 | save_cgroup = cgroup; | ||
1363 | for ( QStringList::Iterator it = accountList.begin(); it != accountList.end(); ++it ) { | ||
1364 | cgroup = *it; | ||
1365 | list << accname(); | ||
1366 | } | ||
1367 | cgroup = save_cgroup; | ||
1368 | return list; | ||
1369 | }; | ||
1370 | |||
1371 | |||
1372 | const QString PPPData::devname() | ||
1373 | { | ||
1374 | QString tmp = readConfig(modemGroup(), MODEMNAME_KEY ); | ||
1375 | qDebug("PPPData::devname() of %s is %s", modemGroup().latin1(), tmp.latin1()); | ||
1376 | return tmp; | ||
1377 | } | ||
1378 | |||
1379 | void PPPData::setDevname(const QString &n) { | ||
1380 | // if(!cgroup.isNull()) { | ||
1381 | // // are we manipulating the default account's name ? then change it, too. | ||
1382 | // bool def = accname() == defaultAccount(); | ||
1383 | // writeConfig(cgroup, NAME_KEY, n); | ||
1384 | // if (def) | ||
1385 | // setDefaultAccount(n); | ||
1386 | // } | ||
1387 | writeConfig(modemGroup(), MODEMNAME_KEY, n ); | ||
1388 | } | ||
1389 | |||
1390 | |||
1391 | bool PPPData::setDevice(const QString &dev ) | ||
1392 | { | ||
1393 | qDebug("setting device to >%s<", dev.latin1()); | ||
1394 | QString save_mName = _modemName; | ||
1395 | for ( QStringList::Iterator it = deviceList.begin(); it != deviceList.end(); ++it ) { | ||
1396 | _modemName = *it; | ||
1397 | qDebug("PPPData::setDevice %s is named %s", _modemName.latin1(), devname().latin1() ); | ||
1398 | qDebug( "iterator %s", (*it).latin1() ); | ||
1399 | if(devname() == dev) { | ||
1400 | qDebug("SUCCESS"); | ||
1401 | return true; | ||
1402 | } | ||
1403 | |||
1404 | } | ||
1405 | _modemName = save_mName; | ||
1406 | qDebug("FAILURE"); | ||
1407 | return false; | ||
1408 | } | ||
1409 | |||
1410 | bool PPPData::deleteDevice() | ||
1411 | { | ||
1412 | // FIXME: check if this account exists in a config... | ||
1413 | Config cfg = PPPData::config(); | ||
1414 | cfg.setGroup(modemGroup()); | ||
1415 | cfg.clearGroup(); | ||
1416 | deviceList.remove(modemGroup()); | ||
1417 | |||
1418 | QString key; | ||
1419 | QStringList keys; | ||
1420 | for( QMap<QString,QString>::Iterator it = stringEntries.begin(); | ||
1421 | it != stringEntries.end(); ++it ){ | ||
1422 | QString val = it.data(); | ||
1423 | key = it.key(); | ||
1424 | keys = QStringList::split( "SEPARATOR", key ); | ||
1425 | if(keys[0]==modemGroup()){ | ||
1426 | stringEntries.remove( it ); | ||
1427 | qDebug("deleting >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); | ||
1428 | } | ||
1429 | } | ||
1430 | for( QMap<QString,int>::Iterator it = intEntries.begin(); | ||
1431 | it != intEntries.end(); ++it ){ | ||
1432 | int val = it.data(); | ||
1433 | key = it.key(); | ||
1434 | keys = QStringList::split( "SEPARATOR", key ); | ||
1435 | if(keys[0]==modemGroup()){ | ||
1436 | intEntries.remove( it ); | ||
1437 | qDebug("deleting >%s< key >%s< value >%i<", keys[0].latin1(), keys[1].latin1(), val ); | ||
1438 | } | ||
1439 | } | ||
1440 | for( QMap<QString,QStringList>::Iterator it = listEntries.begin(); | ||
1441 | it != listEntries.end(); ++it ){ | ||
1442 | QStringList val = it.data(); | ||
1443 | key = it.key(); | ||
1444 | if(keys[0]==modemGroup()){ | ||
1445 | listEntries.remove( it ); | ||
1446 | sepEntries.remove( key ); | ||
1447 | qDebug("deleting >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.join("").latin1() ); | ||
1448 | } | ||
1449 | } | ||
1450 | |||
1451 | return true; | ||
1452 | |||
1453 | } | ||
1454 | |||
1455 | bool PPPData::deleteDevice(const QString &dev) | ||
1456 | { | ||
1457 | if(!setDevice(dev)) | ||
1458 | return false; | ||
1459 | |||
1460 | return deleteDevice(); | ||
1461 | } | ||
1462 | |||
1463 | int PPPData::newdevice() | ||
1464 | { | ||
1465 | |||
1466 | qDebug("PPPData::newdevice highcount %i",highcountdev); | ||
1467 | |||
1468 | |||
1469 | QString tmp; | ||
1470 | tmp.sprintf("%s%i", MODEM_GRP, ++highcountdev); | ||
1471 | _modemName = QString(tmp); | ||
1472 | deviceList << tmp; | ||
1473 | qDebug("PPPData::newdevice() Group: >%s<",cgroup.latin1()); | ||
1474 | return highcountdev; | ||
1475 | } | ||
1476 | |||
1477 | int PPPData::copydevice(const QString&) | ||
1478 | { | ||
1479 | return false; | ||
1480 | } | ||
1481 | |||
1482 | |||
1483 | QStringList PPPData::getDevicesNamesList() | ||
1484 | { | ||
1485 | QStringList list; | ||
1486 | QString save_mName = _modemName; | ||
1487 | qDebug("PPPData::getDevicesNamesList has %s", deviceList.join("---").latin1()); | ||
1488 | for ( QStringList::Iterator it = deviceList.begin(); it != deviceList.end(); ++it ) { | ||
1489 | _modemName = *it; | ||
1490 | qDebug("PPPData::getDevicesNamesList adding %s as %s",_modemName.latin1(), devname().latin1()); | ||
1491 | list << devname(); | ||
1492 | } | ||
1493 | _modemName = save_mName; | ||
1494 | return list; | ||
1495 | }; | ||
diff --git a/noncore/settings/networksettings/ppp/pppdata.h b/noncore/settings/networksettings/ppp/pppdata.h index 6e1379d..d1cbeb5 100644 --- a/noncore/settings/networksettings/ppp/pppdata.h +++ b/noncore/settings/networksettings/ppp/pppdata.h | |||
@@ -64,6 +64,8 @@ class Config; | |||
64 | //#define WINPOS_GRP "WindowPosition" | 64 | //#define WINPOS_GRP "WindowPosition" |
65 | 65 | ||
66 | // general | 66 | // general |
67 | #define ACCOUNT_LIST "AccountList" | ||
68 | #define DEVICE_LIST "DeviceList" | ||
67 | #define DEFAULTACCOUNT_KEY "DefaultAccount" | 69 | #define DEFAULTACCOUNT_KEY "DefaultAccount" |
68 | #define PPPDVERSION_KEY "pppdVersion" | 70 | #define PPPDVERSION_KEY "pppdVersion" |
69 | #define PPPDTIMEOUT_KEY "pppdTimeout" | 71 | #define PPPDTIMEOUT_KEY "pppdTimeout" |
@@ -72,10 +74,12 @@ class Config; | |||
72 | #define AUTOREDIAL_KEY "AutomaticRedial" | 74 | #define AUTOREDIAL_KEY "AutomaticRedial" |
73 | #define DISCONNECT_KEY "DisconnectOnXServerExit" | 75 | #define DISCONNECT_KEY "DisconnectOnXServerExit" |
74 | #define QUITONDISCONNECT_KEY "QuitOnDisconnect" | 76 | #define QUITONDISCONNECT_KEY "QuitOnDisconnect" |
75 | #define NUMACCOUNTS_KEY "NumberOfAccounts" | 77 | #define NUMACCOUNTS_KEY "HighcountAccounts" |
78 | #define NUMDEVICES_KEY "HighcountDevices" | ||
76 | #define ID_KEY "ID" | 79 | #define ID_KEY "ID" |
77 | 80 | ||
78 | // modem | 81 | // modem |
82 | #define MODEMNAME_KEY "Modem_Name" | ||
79 | #define MODEMDEV_KEY "Device" | 83 | #define MODEMDEV_KEY "Device" |
80 | #define LOCKFILE_KEY "UseLockFile" | 84 | #define LOCKFILE_KEY "UseLockFile" |
81 | #define FLOWCONTROL_KEY "FlowControl" | 85 | #define FLOWCONTROL_KEY "FlowControl" |
@@ -151,6 +155,10 @@ class Config; | |||
151 | #define ACOUNTS_DEV "Accounts_Modem" | 155 | #define ACOUNTS_DEV "Accounts_Modem" |
152 | #define ACOUNTS_ACC "Accounts_Account" | 156 | #define ACOUNTS_ACC "Accounts_Account" |
153 | 157 | ||
158 | #define DEVICESNAMES_LIST "DevicesNames_List" | ||
159 | #define DEVICES_LIST "Devices_List" | ||
160 | #define DEVICES_LIST_SEP ',' | ||
161 | |||
154 | class PPPData { | 162 | class PPPData { |
155 | public: | 163 | public: |
156 | PPPData(); | 164 | PPPData(); |
@@ -162,6 +170,8 @@ public: | |||
162 | void save(); | 170 | void save(); |
163 | void cancel(); | 171 | void cancel(); |
164 | 172 | ||
173 | QStringList getAccountList(); | ||
174 | |||
165 | static QMap<QString,QString> getConfiguredInterfaces(); | 175 | static QMap<QString,QString> getConfiguredInterfaces(); |
166 | static void setConfiguredInterfaces( QMap<QString,QString> ); | 176 | static void setConfiguredInterfaces( QMap<QString,QString> ); |
167 | 177 | ||
@@ -184,7 +194,7 @@ public: | |||
184 | QString password(); | 194 | QString password(); |
185 | void setPassword(const QString &); | 195 | void setPassword(const QString &); |
186 | 196 | ||
187 | int currentAccountID() { return caccount; }; | 197 | // int currentAccountID() { return caccount; }; |
188 | const QString defaultAccount(); | 198 | const QString defaultAccount(); |
189 | void setDefaultAccount(const QString &); | 199 | void setDefaultAccount(const QString &); |
190 | 200 | ||
@@ -236,8 +246,12 @@ public: | |||
236 | void setModemEscapeResp(const QString &); | 246 | void setModemEscapeResp(const QString &); |
237 | const QString modemEscapeResp(); | 247 | const QString modemEscapeResp(); |
238 | 248 | ||
239 | const QString modemDevice(); | 249 | // const QString modemName(); |
240 | bool setModemDevice(const QString &); | 250 | // bool setModemName(const QString &); |
251 | // bool changeModemName(const QString &); | ||
252 | |||
253 | const QString modemDevice(); | ||
254 | bool setModemDevice(const QString &); | ||
241 | 255 | ||
242 | const QString flowcontrol(); | 256 | const QString flowcontrol(); |
243 | void setFlowcontrol(const QString &); | 257 | void setFlowcontrol(const QString &); |
@@ -313,14 +327,15 @@ public: | |||
313 | // functions to set/get account information | 327 | // functions to set/get account information |
314 | int count() const; | 328 | int count() const; |
315 | bool setAccount(const QString &); | 329 | bool setAccount(const QString &); |
316 | bool setAccountbyIndex(int); | 330 | // bool setAccountbyIndex(int); |
317 | 331 | ||
318 | bool isUniqueAccname(const QString &); | 332 | bool isUniqueAccname(const QString &); |
333 | bool isUniqueDevname(const QString &); | ||
319 | 334 | ||
320 | bool deleteAccount(); | 335 | bool deleteAccount(); |
321 | bool deleteAccount(const QString &); | 336 | bool deleteAccount(const QString &); |
322 | int newaccount(); | 337 | int newaccount(); |
323 | int copyaccount(int i); | 338 | int copyaccount(const QString&); |
324 | 339 | ||
325 | const QString accname(); | 340 | const QString accname(); |
326 | void setAccname(const QString &); | 341 | void setAccname(const QString &); |
@@ -409,17 +424,28 @@ public: | |||
409 | int pppdError() const; | 424 | int pppdError() const; |
410 | void setpppdError(int err); | 425 | void setpppdError(int err); |
411 | 426 | ||
427 | QStringList getDevicesList(); | ||
412 | 428 | ||
413 | static QString encodeWord(const QString &s); | 429 | static QString encodeWord(const QString &s); |
414 | 430 | ||
431 | const QString devname(); | ||
432 | void setDevname(const QString &); | ||
433 | bool setDevice(const QString& ); | ||
434 | bool deleteDevice(); | ||
435 | bool deleteDevice(const QString &); | ||
436 | int newdevice(); | ||
437 | int copydevice(const QString&); | ||
438 | QStringList getDevicesNamesList(); | ||
439 | |||
415 | private: | 440 | private: |
416 | 441 | ||
417 | //static PPPData *_data; | 442 | //static PPPData *_data; |
418 | int modemDeviceGroup; | 443 | // int modemDeviceGroup; |
419 | QString passwd; | 444 | QString passwd; |
420 | // static Config* config; // configuration object | 445 | QString _modemName; |
421 | int highcount; // index of highest account | 446 | int highcount; // index of highest account |
422 | int caccount; // index of the current account | 447 | int highcountdev; // index of highest device |
448 | // int caccount; // index of the current account | ||
423 | QString cgroup; // name of current config group | 449 | QString cgroup; // name of current config group |
424 | pid_t suidprocessid; // process ID of setuid child | 450 | pid_t suidprocessid; // process ID of setuid child |
425 | bool pppdisrunning; // pppd process | 451 | bool pppdisrunning; // pppd process |
@@ -427,7 +453,10 @@ private: | |||
427 | int pppderror; // error encounterd running pppd | 453 | int pppderror; // error encounterd running pppd |
428 | int pppdVer, pppdMod, pppdPatch; // pppd version | 454 | int pppdVer, pppdMod, pppdPatch; // pppd version |
429 | 455 | ||
456 | |||
430 | QStringList phonelist; | 457 | QStringList phonelist; |
458 | QStringList accountList; | ||
459 | QStringList deviceList; | ||
431 | QMap<QString,QString> stringEntries; | 460 | QMap<QString,QString> stringEntries; |
432 | QMap<QString,int> intEntries; | 461 | QMap<QString,int> intEntries; |
433 | QMap<QString,QStringList> listEntries; | 462 | QMap<QString,QStringList> listEntries; |
diff --git a/noncore/settings/networksettings/ppp/pppmodule.cpp b/noncore/settings/networksettings/ppp/pppmodule.cpp index d4c137b..af05eb7 100644 --- a/noncore/settings/networksettings/ppp/pppmodule.cpp +++ b/noncore/settings/networksettings/ppp/pppmodule.cpp | |||
@@ -1,35 +1,93 @@ | |||
1 | #include <errno.h> | ||
2 | #include <signal.h> | ||
1 | 3 | ||
4 | |||
5 | #include <qpe/config.h> | ||
6 | |||
7 | #include "modem.h" | ||
2 | #include "pppconfig.h" | 8 | #include "pppconfig.h" |
3 | #include "pppmodule.h" | 9 | #include "pppmodule.h" |
4 | #include "pppdata.h" | 10 | #include "pppdata.h" |
5 | #include "interfaceinformationppp.h" | 11 | #include "interfaceinformationppp.h" |
6 | #include "interfaceppp.h" | 12 | #include "interfaceppp.h" |
7 | 13 | ||
14 | // don't polute global namespace | ||
15 | namespace { | ||
16 | /* | ||
17 | * If network settings is qutting and we've ppp | ||
18 | * devices open we need to save the pid_t the PPData | ||
19 | * and the interface number | ||
20 | */ | ||
21 | struct Connection { | ||
22 | pid_t pid; | ||
23 | QString device; | ||
24 | QString name; | ||
25 | }; | ||
26 | class InterfaceKeeper { | ||
27 | public: | ||
28 | InterfaceKeeper(); | ||
29 | ~InterfaceKeeper(); | ||
30 | |||
31 | void addInterface( pid_t, const QString& pppDev, const QString& name ); | ||
32 | QMap<QString, Connection> interfaces()const; // will check if still available | ||
33 | private: | ||
34 | bool isAvailable( pid_t )const; | ||
35 | QMap<QString, Connection> m_interfaces; | ||
36 | }; | ||
37 | } | ||
38 | |||
8 | 39 | ||
9 | /** | 40 | /** |
10 | * Constructor, find all of the possible interfaces | 41 | * Constructor, find all of the possible interfaces |
42 | * We also need to restore the state.. it could be that | ||
43 | * an interface was up while closing the application | ||
44 | * we need to be able to shut it down... | ||
11 | */ | 45 | */ |
12 | PPPModule::PPPModule() : Module() | 46 | PPPModule::PPPModule() : Module() |
13 | { | 47 | { |
48 | InterfaceKeeper inFace; | ||
49 | QMap<QString,Connection> running = inFace.interfaces(); | ||
50 | QStringList handledInterfaceNames; | ||
51 | |||
14 | QMap<QString,QString> ifaces = PPPData::getConfiguredInterfaces(); | 52 | QMap<QString,QString> ifaces = PPPData::getConfiguredInterfaces(); |
15 | QMap<QString,QString>::Iterator it; | 53 | QMap<QString,QString>::Iterator it; |
16 | InterfacePPP *iface; | 54 | InterfacePPP *iface; |
17 | qDebug("getting interfaces"); | 55 | qDebug("getting interfaces"); |
18 | for( it = ifaces.begin(); it != ifaces.end(); ++it ){ | 56 | for( it = ifaces.begin(); it != ifaces.end(); ++it ){ |
19 | qDebug("ifaces %s", it.key().latin1()); | 57 | qDebug("ifaces %s %s", it.key().latin1(), it.data().latin1() ); |
20 | iface = new InterfacePPP( 0, it.key() ); | 58 | iface = new InterfacePPP( 0, it.key() ); |
21 | iface->setHardwareName( it.data() ); | 59 | iface->setHardwareName( it.data() ); |
22 | list.append( (Interface*)iface ); | 60 | list.append( (Interface*)iface ); |
61 | |||
62 | // check if (*it) is one of the running ifaces | ||
63 | if ( running.contains( it.data() ) ) { | ||
64 | qDebug("iface is running %s", it.key().latin1() ); | ||
65 | handledInterfaceNames << running[it.data()].device; | ||
66 | iface->setStatus( true ); | ||
67 | iface->setPPPDpid( running[it.data()].pid ); | ||
68 | iface->modem()->setPPPDevice( running[it.data()].device ); | ||
69 | iface->refresh(); | ||
70 | } | ||
23 | } | 71 | } |
72 | |||
73 | setHandledInterfaceNames( handledInterfaceNames ); | ||
24 | } | 74 | } |
25 | 75 | ||
26 | /** | 76 | /** |
27 | * Delete any interfaces that we own. | 77 | * Delete any interfaces that we own. |
28 | */ | 78 | */ |
29 | PPPModule::~PPPModule(){ | 79 | PPPModule::~PPPModule(){ |
80 | qDebug("PPPModule::~PPPModule() " ); | ||
30 | QMap<QString,QString> ifaces; | 81 | QMap<QString,QString> ifaces; |
82 | InterfaceKeeper keeper; | ||
31 | Interface *i; | 83 | Interface *i; |
32 | for ( i=list.first(); i != 0; i=list.next() ){ | 84 | for ( i=list.first(); i != 0; i=list.next() ){ |
85 | /* if online save the state */ | ||
86 | if ( i->getStatus() ) { | ||
87 | qDebug("Iface %s is still up", i->getHardwareName().latin1() ); | ||
88 | InterfacePPP* ppp = static_cast<InterfacePPP*>(i); | ||
89 | keeper.addInterface( ppp->pppPID(), ppp->pppDev(), ppp->getHardwareName() ); | ||
90 | } | ||
33 | ifaces.insert( i->getInterfaceName(), i->getHardwareName() ); | 91 | ifaces.insert( i->getInterfaceName(), i->getHardwareName() ); |
34 | delete i; | 92 | delete i; |
35 | } | 93 | } |
@@ -69,7 +127,7 @@ QWidget *PPPModule::configure(Interface *i){ | |||
69 | qDebug("return ModemWidget"); | 127 | qDebug("return ModemWidget"); |
70 | PPPConfigWidget *pppconfig = new PPPConfigWidget( (InterfacePPP*)i, | 128 | PPPConfigWidget *pppconfig = new PPPConfigWidget( (InterfacePPP*)i, |
71 | 0, "PPPConfig", false, | 129 | 0, "PPPConfig", false, |
72 | Qt::WDestructiveClose ); | 130 | Qt::WDestructiveClose | Qt::WStyle_ContextHelp); |
73 | return pppconfig; | 131 | return pppconfig; |
74 | } | 132 | } |
75 | 133 | ||
@@ -135,3 +193,58 @@ void PPPModule::possibleNewInterfaces(QMap<QString, QString> &newIfaces) | |||
135 | } | 193 | } |
136 | 194 | ||
137 | 195 | ||
196 | |||
197 | namespace { | ||
198 | InterfaceKeeper::InterfaceKeeper( ) { | ||
199 | } | ||
200 | InterfaceKeeper::~InterfaceKeeper() { | ||
201 | Config cfg("ppp_plugin_keeper"); | ||
202 | QStringList lst = cfg.groupList(); | ||
203 | for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { | ||
204 | Connection con; | ||
205 | cfg.setGroup( (*it) ); | ||
206 | cfg.clearGroup(); | ||
207 | } | ||
208 | |||
209 | for (QMap<QString, Connection>::Iterator it = m_interfaces.begin(); it != m_interfaces.end(); ++it ) { | ||
210 | Connection con = it.data(); | ||
211 | cfg.setGroup( con.name ); | ||
212 | cfg.writeEntry( "pid", con.pid ); | ||
213 | cfg.writeEntry( "device", con.device ); | ||
214 | } | ||
215 | } | ||
216 | void InterfaceKeeper::addInterface(pid_t pid, const QString& dev, const QString& name ) { | ||
217 | Connection con; | ||
218 | con.pid = pid; | ||
219 | con.device = dev; | ||
220 | con.name = name; | ||
221 | m_interfaces.insert( name, con ); | ||
222 | } | ||
223 | QMap<QString, Connection> InterfaceKeeper::interfaces()const { | ||
224 | Config cfg("ppp_plugin_keeper"); | ||
225 | QMap<QString, Connection> ifaces; | ||
226 | QStringList lst = cfg.groupList(); | ||
227 | for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { | ||
228 | Connection con; | ||
229 | cfg.setGroup( (*it) ); | ||
230 | con.name = (*it); | ||
231 | con.pid = cfg.readNumEntry("pid"); | ||
232 | con.device = cfg.readEntry("device"); | ||
233 | qDebug(" %s %s %d", con.name.latin1(), con.device.latin1(), con.pid ); | ||
234 | |||
235 | if ( con.pid != -1 && isAvailable( con.pid ) ) | ||
236 | ifaces.insert( con.name, con ); | ||
237 | } | ||
238 | return ifaces; | ||
239 | } | ||
240 | bool InterfaceKeeper::isAvailable( pid_t p)const { | ||
241 | if (::kill(p, 0 ) == 0 || errno != ESRCH ) { | ||
242 | qDebug("isAvailable %d", p); | ||
243 | return true; | ||
244 | } | ||
245 | |||
246 | qDebug("notAvailable %d", p); | ||
247 | return false; | ||
248 | } | ||
249 | |||
250 | } | ||
diff --git a/noncore/settings/networksettings/ppp/runtests.cpp b/noncore/settings/networksettings/ppp/runtests.cpp index 83ef2ea..5548601 100644 --- a/noncore/settings/networksettings/ppp/runtests.cpp +++ b/noncore/settings/networksettings/ppp/runtests.cpp | |||
@@ -44,8 +44,6 @@ | |||
44 | #define _PATH_RESCONF "/etc/resolv.conf" | 44 | #define _PATH_RESCONF "/etc/resolv.conf" |
45 | #endif | 45 | #endif |
46 | 46 | ||
47 | //#include <klocale.h> | ||
48 | #define i18n QObject::tr | ||
49 | #include "pppdata.h" | 47 | #include "pppdata.h" |
50 | 48 | ||
51 | // initial effective uid (main.cpp) | 49 | // initial effective uid (main.cpp) |
@@ -217,7 +215,7 @@ int runTests() { | |||
217 | 215 | ||
218 | if(!access) { | 216 | if(!access) { |
219 | QMessageBox::warning(0,"error", | 217 | QMessageBox::warning(0,"error", |
220 | i18n("You're not allowed to dial out with " | 218 | QObject::tr("You're not allowed to dial out with " |
221 | "kppp.\nContact your system administrator.")); | 219 | "kppp.\nContact your system administrator.")); |
222 | return TEST_CRITICAL; | 220 | return TEST_CRITICAL; |
223 | } | 221 | } |
@@ -228,7 +226,7 @@ int runTests() { | |||
228 | 226 | ||
229 | if(!f) { | 227 | if(!f) { |
230 | QMessageBox::warning(0,"error", | 228 | QMessageBox::warning(0,"error", |
231 | i18n("Cannot find the PPP daemon!\n" | 229 | QObject::tr("Cannot find the PPP daemon!\n" |
232 | "Make sure that pppd is installed.")); | 230 | "Make sure that pppd is installed.")); |
233 | warning++; | 231 | warning++; |
234 | } | 232 | } |
@@ -238,7 +236,7 @@ int runTests() { | |||
238 | #if 0 | 236 | #if 0 |
239 | if(access(f, X_OK) != 0 /* && geteuid() != 0 */) { | 237 | if(access(f, X_OK) != 0 /* && geteuid() != 0 */) { |
240 | KMessageBox::warning(0, | 238 | KMessageBox::warning(0, |
241 | i18n("You do not have the permission " | 239 | QObject::tr("You do not have the permission " |
242 | "to start pppd!\n" | 240 | "to start pppd!\n" |
243 | "Contact your system administrator " | 241 | "Contact your system administrator " |
244 | "and ask to get access to pppd.")); | 242 | "and ask to get access to pppd.")); |
@@ -251,7 +249,7 @@ int runTests() { | |||
251 | stat(f, &st); | 249 | stat(f, &st); |
252 | if(st.st_uid != 0 || (st.st_mode & S_ISUID) == 0) { | 250 | if(st.st_uid != 0 || (st.st_mode & S_ISUID) == 0) { |
253 | QMessageBox::warning(0,"error", | 251 | QMessageBox::warning(0,"error", |
254 | i18n("You don't have sufficient permission to run\n" | 252 | QObject::tr("You don't have sufficient permission to run\n" |
255 | "%1\n" | 253 | "%1\n" |
256 | "Please make sure that kppp is owned by root " | 254 | "Please make sure that kppp is owned by root " |
257 | "and has the SUID bit set.").arg(f)); | 255 | "and has the SUID bit set.").arg(f)); |
@@ -263,7 +261,7 @@ int runTests() { | |||
263 | // Test 5: check for existence of /etc/resolv.conf | 261 | // Test 5: check for existence of /etc/resolv.conf |
264 | if (access(_PATH_RESCONF, R_OK) != 0) { | 262 | if (access(_PATH_RESCONF, R_OK) != 0) { |
265 | QString file = _PATH_RESCONF" "; | 263 | QString file = _PATH_RESCONF" "; |
266 | QString msgstr = i18n("%1 is missing or can't be read!\n" | 264 | QString msgstr = QObject::tr("%1 is missing or can't be read!\n" |
267 | "Ask your system administrator to create " | 265 | "Ask your system administrator to create " |
268 | "this file (can be empty) with appropriate " | 266 | "this file (can be empty) with appropriate " |
269 | "read and write permissions.").arg(file); | 267 | "read and write permissions.").arg(file); |
diff --git a/noncore/settings/networksettings/wlan/keyedit.cpp b/noncore/settings/networksettings/wlan/keyedit.cpp index ad9ecae..13a1c3b 100644 --- a/noncore/settings/networksettings/wlan/keyedit.cpp +++ b/noncore/settings/networksettings/wlan/keyedit.cpp | |||
@@ -4,6 +4,7 @@ | |||
4 | KeyEdit::KeyEdit(QWidget* parent, const char* name) : | 4 | KeyEdit::KeyEdit(QWidget* parent, const char* name) : |
5 | QLineEdit(parent, name) | 5 | QLineEdit(parent, name) |
6 | { | 6 | { |
7 | setEchoMode(Password); | ||
7 | } | 8 | } |
8 | 9 | ||
9 | KeyEdit::~KeyEdit() | 10 | KeyEdit::~KeyEdit() |
diff --git a/noncore/settings/networksettings/wlan/wlan.ui b/noncore/settings/networksettings/wlan/wlan.ui index 7932445..7e39e23 100644 --- a/noncore/settings/networksettings/wlan/wlan.ui +++ b/noncore/settings/networksettings/wlan/wlan.ui | |||
@@ -11,7 +11,7 @@ | |||
11 | <rect> | 11 | <rect> |
12 | <x>0</x> | 12 | <x>0</x> |
13 | <y>0</y> | 13 | <y>0</y> |
14 | <width>251</width> | 14 | <width>247</width> |
15 | <height>299</height> | 15 | <height>299</height> |
16 | </rect> | 16 | </rect> |
17 | </property> | 17 | </property> |
@@ -287,34 +287,18 @@ | |||
287 | <item> | 287 | <item> |
288 | <property> | 288 | <property> |
289 | <name>text</name> | 289 | <name>text</name> |
290 | <string>Auto</string> | 290 | <string>any</string> |
291 | </property> | ||
292 | </item> | ||
293 | <item> | ||
294 | <property> | ||
295 | <name>text</name> | ||
296 | <string>Managed</string> | ||
297 | </property> | ||
298 | </item> | ||
299 | <item> | ||
300 | <property> | ||
301 | <name>text</name> | ||
302 | <string>Ad-Hoc</string> | ||
303 | </property> | 291 | </property> |
304 | </item> | 292 | </item> |
305 | <property stdset="1"> | 293 | <property stdset="1"> |
306 | <name>name</name> | 294 | <name>name</name> |
307 | <cstring>mode</cstring> | 295 | <cstring>essid</cstring> |
308 | </property> | ||
309 | <property stdset="1"> | ||
310 | <name>enabled</name> | ||
311 | <bool>true</bool> | ||
312 | </property> | 296 | </property> |
313 | <property stdset="1"> | 297 | <property stdset="1"> |
314 | <name>geometry</name> | 298 | <name>geometry</name> |
315 | <rect> | 299 | <rect> |
316 | <x>101</x> | 300 | <x>101</x> |
317 | <y>11</y> | 301 | <y>46</y> |
318 | <width>103</width> | 302 | <width>103</width> |
319 | <height>29</height> | 303 | <height>29</height> |
320 | </rect> | 304 | </rect> |
@@ -322,28 +306,70 @@ | |||
322 | <property stdset="1"> | 306 | <property stdset="1"> |
323 | <name>sizePolicy</name> | 307 | <name>sizePolicy</name> |
324 | <sizepolicy> | 308 | <sizepolicy> |
325 | <hsizetype>1</hsizetype> | 309 | <hsizetype>7</hsizetype> |
326 | <vsizetype>0</vsizetype> | 310 | <vsizetype>0</vsizetype> |
327 | </sizepolicy> | 311 | </sizepolicy> |
328 | </property> | 312 | </property> |
313 | <property stdset="1"> | ||
314 | <name>editable</name> | ||
315 | <bool>true</bool> | ||
316 | </property> | ||
317 | <property stdset="1"> | ||
318 | <name>currentItem</name> | ||
319 | <number>0</number> | ||
320 | </property> | ||
321 | <property stdset="1"> | ||
322 | <name>sizeLimit</name> | ||
323 | <number>5</number> | ||
324 | </property> | ||
325 | <property stdset="1"> | ||
326 | <name>autoCompletion</name> | ||
327 | <bool>true</bool> | ||
328 | </property> | ||
329 | <property stdset="1"> | ||
330 | <name>duplicatesEnabled</name> | ||
331 | <bool>false</bool> | ||
332 | </property> | ||
329 | </widget> | 333 | </widget> |
330 | <widget> | 334 | <widget> |
331 | <class>QComboBox</class> | 335 | <class>QComboBox</class> |
332 | <item> | 336 | <item> |
333 | <property> | 337 | <property> |
334 | <name>text</name> | 338 | <name>text</name> |
335 | <string>any</string> | 339 | <string>Infrastructure</string> |
340 | </property> | ||
341 | </item> | ||
342 | <item> | ||
343 | <property> | ||
344 | <name>text</name> | ||
345 | <string>Auto</string> | ||
346 | </property> | ||
347 | </item> | ||
348 | <item> | ||
349 | <property> | ||
350 | <name>text</name> | ||
351 | <string>Managed</string> | ||
352 | </property> | ||
353 | </item> | ||
354 | <item> | ||
355 | <property> | ||
356 | <name>text</name> | ||
357 | <string>Ad-Hoc</string> | ||
336 | </property> | 358 | </property> |
337 | </item> | 359 | </item> |
338 | <property stdset="1"> | 360 | <property stdset="1"> |
339 | <name>name</name> | 361 | <name>name</name> |
340 | <cstring>essid</cstring> | 362 | <cstring>mode</cstring> |
363 | </property> | ||
364 | <property stdset="1"> | ||
365 | <name>enabled</name> | ||
366 | <bool>true</bool> | ||
341 | </property> | 367 | </property> |
342 | <property stdset="1"> | 368 | <property stdset="1"> |
343 | <name>geometry</name> | 369 | <name>geometry</name> |
344 | <rect> | 370 | <rect> |
345 | <x>101</x> | 371 | <x>101</x> |
346 | <y>46</y> | 372 | <y>11</y> |
347 | <width>103</width> | 373 | <width>103</width> |
348 | <height>29</height> | 374 | <height>29</height> |
349 | </rect> | 375 | </rect> |
@@ -351,30 +377,10 @@ | |||
351 | <property stdset="1"> | 377 | <property stdset="1"> |
352 | <name>sizePolicy</name> | 378 | <name>sizePolicy</name> |
353 | <sizepolicy> | 379 | <sizepolicy> |
354 | <hsizetype>7</hsizetype> | 380 | <hsizetype>1</hsizetype> |
355 | <vsizetype>0</vsizetype> | 381 | <vsizetype>0</vsizetype> |
356 | </sizepolicy> | 382 | </sizepolicy> |
357 | </property> | 383 | </property> |
358 | <property stdset="1"> | ||
359 | <name>editable</name> | ||
360 | <bool>true</bool> | ||
361 | </property> | ||
362 | <property stdset="1"> | ||
363 | <name>currentItem</name> | ||
364 | <number>0</number> | ||
365 | </property> | ||
366 | <property stdset="1"> | ||
367 | <name>sizeLimit</name> | ||
368 | <number>5</number> | ||
369 | </property> | ||
370 | <property stdset="1"> | ||
371 | <name>autoCompletion</name> | ||
372 | <bool>true</bool> | ||
373 | </property> | ||
374 | <property stdset="1"> | ||
375 | <name>duplicatesEnabled</name> | ||
376 | <bool>false</bool> | ||
377 | </property> | ||
378 | </widget> | 384 | </widget> |
379 | </widget> | 385 | </widget> |
380 | <widget> | 386 | <widget> |
diff --git a/noncore/settings/networksettings/wlan/wlanimp2.cpp b/noncore/settings/networksettings/wlan/wlanimp2.cpp index cdafb4d..26e3aa9 100644 --- a/noncore/settings/networksettings/wlan/wlanimp2.cpp +++ b/noncore/settings/networksettings/wlan/wlanimp2.cpp | |||
@@ -27,7 +27,7 @@ | |||
27 | /** | 27 | /** |
28 | * Constructor, read in the wireless.opts file for parsing later. | 28 | * Constructor, read in the wireless.opts file for parsing later. |
29 | */ | 29 | */ |
30 | WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl) : WLAN(parent, name, modal, fl), currentProfile("*"), interface(i) { | 30 | WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl) : WLAN(parent, name, modal, fl), interface(i), currentProfile("*") { |
31 | interfaces = new Interfaces(); | 31 | interfaces = new Interfaces(); |
32 | interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, interfaces); | 32 | interfaceSetup = new InterfaceSetupImp(tabWidget, "InterfaceSetupImp", i, interfaces); |
33 | tabWidget->insertTab(interfaceSetup, "TCP/IP"); | 33 | tabWidget->insertTab(interfaceSetup, "TCP/IP"); |
@@ -67,14 +67,9 @@ void WLANImp::parseOpts() { | |||
67 | } | 67 | } |
68 | 68 | ||
69 | opt = interfaces->getInterfaceOption("wireless_mode", error).simplifyWhiteSpace(); | 69 | opt = interfaces->getInterfaceOption("wireless_mode", error).simplifyWhiteSpace(); |
70 | if (opt == "Auto") { | 70 | |
71 | mode->setCurrentItem(0); | 71 | for ( int i = 0; i < mode->count(); i++) |
72 | } else if (opt == "Ad-Hoc") { | 72 | if ( mode->text( i ) == opt ) mode->setCurrentItem( i ); |
73 | mode->setCurrentItem(2); | ||
74 | } else { | ||
75 | // Managed/Infrastructure mode | ||
76 | mode->setCurrentItem(1); | ||
77 | } | ||
78 | 73 | ||
79 | opt = interfaces->getInterfaceOption("wireless_ap", error).simplifyWhiteSpace(); | 74 | opt = interfaces->getInterfaceOption("wireless_ap", error).simplifyWhiteSpace(); |
80 | if (! opt.isNull()) { | 75 | if (! opt.isNull()) { |
@@ -203,11 +198,20 @@ void WLANImp::accept() { | |||
203 | writeOpts(); | 198 | writeOpts(); |
204 | 199 | ||
205 | // Close out the dialog | 200 | // Close out the dialog |
206 | QDialog::accept(); | 201 | // FIXME: QDialog::accept(); |
207 | } | 202 | } |
208 | 203 | ||
209 | void WLANImp::writeOpts() { | 204 | void WLANImp::writeOpts() { |
210 | bool error = false; | 205 | // eh can't really do anything about it other then return. :-D |
206 | if(!interfaces->isInterfaceSet()){ | ||
207 | QMessageBox::warning(0,"Inface not set","should not happen!!!"); | ||
208 | return; | ||
209 | } | ||
210 | bool error = false; | ||
211 | |||
212 | qDebug("setting wlan interface %s", interfaces->getInterfaceName( error ).latin1() ); | ||
213 | |||
214 | if (error) QMessageBox::warning(0,"Inface not set","should not happen!!!"); | ||
211 | 215 | ||
212 | interfaces->setInterfaceOption(QString("wireless_mode"), mode->currentText()); | 216 | interfaces->setInterfaceOption(QString("wireless_mode"), mode->currentText()); |
213 | interfaces->setInterfaceOption(QString("wireless_essid"), essid->currentText()); | 217 | interfaces->setInterfaceOption(QString("wireless_essid"), essid->currentText()); |
@@ -230,13 +234,16 @@ void WLANImp::writeOpts() { | |||
230 | if (! keyLineEdit0->text().isNull()) { | 234 | if (! keyLineEdit0->text().isNull()) { |
231 | keyList += keyLineEdit0->text(); | 235 | keyList += keyLineEdit0->text(); |
232 | keyList += "[1]"; | 236 | keyList += "[1]"; |
233 | } else if (! keyLineEdit1->text().isNull()) { | 237 | } //else |
238 | if (! keyLineEdit1->text().isNull()) { | ||
234 | keyList += keyLineEdit1->text(); | 239 | keyList += keyLineEdit1->text(); |
235 | keyList += "[2]"; | 240 | keyList += "[2]"; |
236 | } else if (! keyLineEdit2->text().isNull()) { | 241 | } //else |
242 | if (! keyLineEdit2->text().isNull()) { | ||
237 | keyList += keyLineEdit2->text(); | 243 | keyList += keyLineEdit2->text(); |
238 | keyList += "[3]"; | 244 | keyList += "[3]"; |
239 | } else if (! keyLineEdit3->text().isNull()) { | 245 | } //else |
246 | if (! keyLineEdit3->text().isNull()) { | ||
240 | keyList += keyLineEdit3->text(); | 247 | keyList += keyLineEdit3->text(); |
241 | keyList += "[4]"; | 248 | keyList += "[4]"; |
242 | } | 249 | } |
diff --git a/noncore/settings/networksettings/wlan/wlanmodule.cpp b/noncore/settings/networksettings/wlan/wlanmodule.cpp index a4488f9..b4c3509 100644 --- a/noncore/settings/networksettings/wlan/wlanmodule.cpp +++ b/noncore/settings/networksettings/wlan/wlanmodule.cpp | |||
@@ -1,5 +1,5 @@ | |||
1 | #include "wlanmodule.h" | 1 | #include "wlanmodule.h" |
2 | #include "wlanimp.h" | 2 | #include "wlanimp2.h" |
3 | #include "infoimp.h" | 3 | #include "infoimp.h" |
4 | #include "wextensions.h" | 4 | #include "wextensions.h" |
5 | #include "interfaceinformationimp.h" | 5 | #include "interfaceinformationimp.h" |
diff --git a/noncore/settings/usermanager/userdialog.cpp b/noncore/settings/usermanager/userdialog.cpp index c06f639..19b0e84 100644 --- a/noncore/settings/usermanager/userdialog.cpp +++ b/noncore/settings/usermanager/userdialog.cpp | |||
@@ -425,7 +425,7 @@ void UserDialog::accept() { | |||
425 | * | 425 | * |
426 | */ | 426 | */ |
427 | void UserDialog::clickedPicture() { | 427 | void UserDialog::clickedPicture() { |
428 | QString filename=OFileDialog::getOpenFileName(OFileSelector::EXTENDED,"/opt/QtPalmtop/pics"); | 428 | QString filename=OFileDialog::getOpenFileName(OFileSelector::EXTENDED, QString::null); |
429 | if(!(filename.isEmpty())) { | 429 | if(!(filename.isEmpty())) { |
430 | userImage.reset(); | 430 | userImage.reset(); |
431 | if(!(userImage.load(filename))) { | 431 | if(!(userImage.load(filename))) { |
diff --git a/noncore/settings/usermanager/userdialog.h b/noncore/settings/usermanager/userdialog.h index b7b925d..3272afc 100644 --- a/noncore/settings/usermanager/userdialog.h +++ b/noncore/settings/usermanager/userdialog.h | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <qtabwidget.h> | 16 | #include <qtabwidget.h> |
17 | #include <qpushbutton.h> | 17 | #include <qpushbutton.h> |
18 | #include <qcheckbox.h> | 18 | #include <qcheckbox.h> |
19 | #include <qlabel.h> | ||
19 | 20 | ||
20 | #include <qpe/resource.h> | 21 | #include <qpe/resource.h> |
21 | 22 | ||
diff --git a/noncore/settings/usermanager/usermanager.cpp b/noncore/settings/usermanager/usermanager.cpp index 1946013..65bbd8b 100644 --- a/noncore/settings/usermanager/usermanager.cpp +++ b/noncore/settings/usermanager/usermanager.cpp | |||
@@ -27,7 +27,7 @@ | |||
27 | * | 27 | * |
28 | */ | 28 | */ |
29 | UserConfig::UserConfig(QWidget* parent, const char* name, WFlags fl) : QMainWindow(parent, name, fl) { | 29 | UserConfig::UserConfig(QWidget* parent, const char* name, WFlags fl) : QMainWindow(parent, name, fl) { |
30 | setCaption(tr("OPIE User Manager")); | 30 | setCaption(tr("Opie User Manager")); |
31 | 31 | ||
32 | // Create an instance of the global object 'accounts'. This holds all user/group info, and functions to modify them. | 32 | // Create an instance of the global object 'accounts'. This holds all user/group info, and functions to modify them. |
33 | accounts=new Passwd(); | 33 | accounts=new Passwd(); |
diff --git a/noncore/settings/usermanager/usermanager.pro b/noncore/settings/usermanager/usermanager.pro index 576a233..1baccb6 100644 --- a/noncore/settings/usermanager/usermanager.pro +++ b/noncore/settings/usermanager/usermanager.pro | |||
@@ -2,7 +2,7 @@ TEMPLATE = app | |||
2 | #CONFIG = qt warn_on debug | 2 | #CONFIG = qt warn_on debug |
3 | CONFIG = qt warn_on release | 3 | CONFIG = qt warn_on release |
4 | HEADERS = usermanager.h userdialog.h groupdialog.h passwd.h | 4 | HEADERS = usermanager.h userdialog.h groupdialog.h passwd.h |
5 | SOURCES = usermanager.cpp userdialog.cpp groupdialog.cpp passwd.cpp main.cpp | 5 | SOURCES = usermanager.cpp userdialog.cpp groupdialog.cpp passwd.h main.cpp |
6 | INCLUDEPATH+= $(OPIEDIR)/include | 6 | INCLUDEPATH+= $(OPIEDIR)/include |
7 | DEPENDPATH+= $(OPIEDIR)/include | 7 | DEPENDPATH+= $(OPIEDIR)/include |
8 | LIBS += -lqpe -lopie -lcrypt | 8 | LIBS += -lqpe -lopie -lcrypt |
diff --git a/noncore/styles/flat/flat.cpp b/noncore/styles/flat/flat.cpp index b6635c5..24366f6 100644 --- a/noncore/styles/flat/flat.cpp +++ b/noncore/styles/flat/flat.cpp | |||
@@ -18,8 +18,7 @@ | |||
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include "flat.h" | 21 | #include <qtopia/qpeapplication.h> |
22 | #include <qpe/qpeapplication.h> | ||
23 | #include <qpushbutton.h> | 22 | #include <qpushbutton.h> |
24 | #include <qtoolbutton.h> | 23 | #include <qtoolbutton.h> |
25 | #include <qpainter.h> | 24 | #include <qpainter.h> |
@@ -32,9 +31,13 @@ | |||
32 | #include <qtabbar.h> | 31 | #include <qtabbar.h> |
33 | #include <qspinbox.h> | 32 | #include <qspinbox.h> |
34 | #include <qlineedit.h> | 33 | #include <qlineedit.h> |
34 | #include <qmap.h> | ||
35 | 35 | ||
36 | #define INCLUDE_MENUITEM_DEF | 36 | #define INCLUDE_MENUITEM_DEF |
37 | #include <qmenudata.h> | 37 | #include <qmenudata.h> |
38 | #include <qpopupmenu.h> | ||
39 | |||
40 | #include "flat.h" | ||
38 | 41 | ||
39 | #define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2) | 42 | #define QCOORDARRLEN(x) sizeof(x)/(sizeof(QCOORD)*2) |
40 | 43 | ||
@@ -54,23 +57,37 @@ public: | |||
54 | FlatStylePrivate() : QObject() {} | 57 | FlatStylePrivate() : QObject() {} |
55 | 58 | ||
56 | bool eventFilter( QObject *o, QEvent *e ) { | 59 | bool eventFilter( QObject *o, QEvent *e ) { |
57 | if ( e->type() == QEvent::ParentPaletteChange && o->inherits( "QMenuBar" ) ) { | 60 | if ( e->type() == QEvent::ParentPaletteChange ) { |
58 | QWidget *w = (QWidget *)o; | 61 | if ( o->inherits( "QMenuBar" ) ) { |
59 | if ( w->parentWidget() ) { | 62 | QWidget *w = (QWidget *)o; |
60 | QPalette p = w->parentWidget()->palette(); | 63 | if ( w->parentWidget() ) { |
61 | QColorGroup a = p.active(); | 64 | QPalette p = w->parentWidget()->palette(); |
62 | a.setColor( QColorGroup::Light, a.foreground() ); | 65 | QColorGroup a = p.active(); |
63 | a.setColor( QColorGroup::Dark, a.foreground() ); | 66 | a.setColor( QColorGroup::Light, a.foreground() ); |
64 | p.setActive( a ); | 67 | a.setColor( QColorGroup::Dark, a.foreground() ); |
65 | p.setInactive( a ); | 68 | p.setActive( a ); |
66 | w->setPalette( p ); | 69 | p.setInactive( a ); |
70 | w->setPalette( p ); | ||
71 | } | ||
72 | } else if ( o->inherits( "QHeader" ) ) { | ||
73 | QWidget *w = (QWidget *)o; | ||
74 | if ( w->parentWidget() ) { | ||
75 | QPalette p = w->parentWidget()->palette(); | ||
76 | QColorGroup a = p.active(); | ||
77 | a.setColor( QColorGroup::Light, a.button() ); | ||
78 | p.setActive( a ); | ||
79 | p.setInactive( a ); | ||
80 | w->setPalette( p ); | ||
81 | } | ||
67 | } | 82 | } |
68 | } | 83 | } |
69 | return FALSE; | 84 | return FALSE; |
70 | } | 85 | } |
86 | |||
87 | QMap<QFrame *,int> frameStyles; | ||
71 | }; | 88 | }; |
72 | 89 | ||
73 | FlatStyle::FlatStyle() : revItem(FALSE) | 90 | FlatStyle::FlatStyle() : revItem(FALSE), fillBtnBorder(FALSE) |
74 | { | 91 | { |
75 | setButtonMargin(3); | 92 | setButtonMargin(3); |
76 | setScrollBarExtent(13,13); | 93 | setScrollBarExtent(13,13); |
@@ -101,7 +118,9 @@ void FlatStyle::polish( QWidget *w ) | |||
101 | { | 118 | { |
102 | if ( w->inherits( "QFrame" ) ) { | 119 | if ( w->inherits( "QFrame" ) ) { |
103 | QFrame *f = (QFrame *)w; | 120 | QFrame *f = (QFrame *)w; |
104 | if ( f->frameShape() != QFrame::NoFrame ) | 121 | if ( f->frameShape() == QFrame::HLine || f->frameShape() == QFrame::VLine ) |
122 | f->setFrameShadow( QFrame::Plain ); | ||
123 | else if ( f->frameShape() != QFrame::NoFrame ) | ||
105 | f->setFrameShape( QFrame::StyledPanel ); | 124 | f->setFrameShape( QFrame::StyledPanel ); |
106 | f->setLineWidth( 1 ); | 125 | f->setLineWidth( 1 ); |
107 | } | 126 | } |
@@ -117,20 +136,32 @@ void FlatStyle::polish( QWidget *w ) | |||
117 | p.setInactive( a ); | 136 | p.setInactive( a ); |
118 | w->setPalette( p ); | 137 | w->setPalette( p ); |
119 | w->installEventFilter( d ); | 138 | w->installEventFilter( d ); |
139 | } else if ( w->inherits( "QHeader" ) ) { | ||
140 | // make headers look flat | ||
141 | QPalette p = w->palette(); | ||
142 | QColorGroup a = p.active(); | ||
143 | a.setColor( QColorGroup::Light, a.button() ); | ||
144 | p.setActive( a ); | ||
145 | p.setInactive( a ); | ||
146 | w->setPalette( p ); | ||
147 | w->installEventFilter( d ); | ||
120 | } | 148 | } |
121 | } | 149 | } |
122 | 150 | ||
123 | void FlatStyle::unPolish( QWidget *w ) | 151 | void FlatStyle::unPolish( QWidget *w ) |
124 | { | 152 | { |
125 | if ( w->inherits( "QFrame" ) ) { | 153 | if ( w->inherits("QFrame") ) { |
126 | QFrame *f = (QFrame *)w; | 154 | QFrame *f = (QFrame *)w; |
127 | if ( f->frameShape() != QFrame::NoFrame ) | 155 | if ( f->frameShape() == QFrame::HLine || f->frameShape() == QFrame::VLine ) { |
156 | f->setFrameShadow( QFrame::Sunken ); | ||
157 | } else if ( f->frameShape() != QFrame::NoFrame ) { | ||
128 | f->setFrameShape( QFrame::StyledPanel ); | 158 | f->setFrameShape( QFrame::StyledPanel ); |
129 | f->setLineWidth( 2 ); | 159 | f->setLineWidth( 2 ); |
160 | } | ||
130 | } | 161 | } |
131 | if ( w->inherits( "QSpinBox" ) ) | 162 | if ( w->inherits("QSpinBox") ) |
132 | ((SpinBoxHack*)w)->setFlatButtons( FALSE ); | 163 | ((SpinBoxHack*)w)->setFlatButtons( FALSE ); |
133 | if ( w->inherits( "QMenuBar" ) ) { | 164 | if ( w->inherits("QMenuBar") || w->inherits("QHeader") ) { |
134 | w->unsetPalette(); | 165 | w->unsetPalette(); |
135 | w->removeEventFilter( d ); | 166 | w->removeEventFilter( d ); |
136 | } | 167 | } |
@@ -138,7 +169,7 @@ void FlatStyle::unPolish( QWidget *w ) | |||
138 | 169 | ||
139 | int FlatStyle::defaultFrameWidth() const | 170 | int FlatStyle::defaultFrameWidth() const |
140 | { | 171 | { |
141 | return 1; | 172 | return 2; |
142 | } | 173 | } |
143 | 174 | ||
144 | void FlatStyle::drawItem( QPainter *p, int x, int y, int w, int h, | 175 | void FlatStyle::drawItem( QPainter *p, int x, int y, int w, int h, |
@@ -171,16 +202,30 @@ void FlatStyle::drawButton( QPainter *p, int x, int y, int w, int h, | |||
171 | { | 202 | { |
172 | QPen oldPen = p->pen(); | 203 | QPen oldPen = p->pen(); |
173 | 204 | ||
205 | int x2 = x+w-1; | ||
206 | int y2 = y+h-1; | ||
207 | |||
208 | if ( fillBtnBorder && btnBg != cg.color(QColorGroup::Button) ) { | ||
209 | p->setPen( btnBg ); | ||
210 | p->drawLine( x, y, x2, y ); | ||
211 | p->drawLine( x, y2, x2, y2 ); | ||
212 | p->drawLine( x, y+1, x, y2-1 ); | ||
213 | p->drawLine( x2, y+1, x2, y2-1 ); | ||
214 | p->fillRect( x+1, y+1, 3, 3, btnBg ); | ||
215 | p->fillRect( x+1, y2-3, 3, 3, btnBg ); | ||
216 | p->fillRect( x2-3, y2-3, 3, 3, btnBg ); | ||
217 | p->fillRect( x2-3, y+1, 3, 3, btnBg ); | ||
218 | p->fillRect( x+2, y+2, w-4, h-4, fill?(*fill):cg.brush(QColorGroup::Button) ); | ||
219 | } else { | ||
220 | p->fillRect( x+1, y+1, w-2, h-2, fill?(*fill):cg.brush(QColorGroup::Button) ); | ||
221 | } | ||
222 | |||
174 | if ( h >= 10 ) { | 223 | if ( h >= 10 ) { |
175 | x++; y++; | 224 | x++; y++; |
225 | x2--; y2--; | ||
176 | w -= 2; h -= 2; | 226 | w -= 2; h -= 2; |
177 | } | 227 | } |
178 | 228 | ||
179 | p->fillRect( x+1, y+1, w-2, h-2, fill?(*fill):cg.brush(QColorGroup::Button) ); | ||
180 | |||
181 | int x2 = x+w-1; | ||
182 | int y2 = y+h-1; | ||
183 | |||
184 | p->setPen( cg.foreground() ); | 229 | p->setPen( cg.foreground() ); |
185 | 230 | ||
186 | if ( h < 10 ) { | 231 | if ( h < 10 ) { |
@@ -225,12 +270,23 @@ void FlatStyle::drawBevelButton( QPainter *p, int x, int y, int w, int h, | |||
225 | void FlatStyle::drawToolButton( QPainter *p, int x, int y, int w, int h, | 270 | void FlatStyle::drawToolButton( QPainter *p, int x, int y, int w, int h, |
226 | const QColorGroup &g, bool sunken, const QBrush* fill ) | 271 | const QColorGroup &g, bool sunken, const QBrush* fill ) |
227 | { | 272 | { |
273 | if ( p->device()->devType() == QInternal::Widget ) { | ||
274 | QWidget *w = (QWidget *)p->device(); | ||
275 | if ( w->isA("QToolButton") ) { | ||
276 | QToolButton *btn = (QToolButton *)w; | ||
277 | if ( btn->parentWidget() ) { | ||
278 | btnBg = btn->parentWidget()->backgroundColor(); | ||
279 | fillBtnBorder = TRUE; | ||
280 | } | ||
281 | } | ||
282 | } | ||
228 | QBrush fb( fill ? *fill : g.button() ); | 283 | QBrush fb( fill ? *fill : g.button() ); |
229 | if ( sunken && fb == g.brush( QColorGroup::Button ) ) { | 284 | if ( sunken && fb == g.brush( QColorGroup::Button ) ) { |
230 | fb = g.buttonText(); | 285 | fb = g.buttonText(); |
231 | revItem = TRUE;// ugh | 286 | revItem = TRUE;// ugh |
232 | } | 287 | } |
233 | drawButton( p, x, y, w, h, g, sunken, &fb ); | 288 | drawButton( p, x, y, w, h, g, sunken, &fb ); |
289 | fillBtnBorder = FALSE; | ||
234 | } | 290 | } |
235 | 291 | ||
236 | void FlatStyle::drawPushButton( QPushButton *btn, QPainter *p ) | 292 | void FlatStyle::drawPushButton( QPushButton *btn, QPainter *p ) |
@@ -257,6 +313,11 @@ void FlatStyle::drawPushButton( QPushButton *btn, QPainter *p ) | |||
257 | } | 313 | } |
258 | */ | 314 | */ |
259 | 315 | ||
316 | if ( btn->parentWidget() ) { | ||
317 | btnBg = btn->parentWidget()->backgroundColor(); | ||
318 | fillBtnBorder = TRUE; | ||
319 | } | ||
320 | |||
260 | bool clearButton = TRUE; | 321 | bool clearButton = TRUE; |
261 | if ( btn->isDown() ) { | 322 | if ( btn->isDown() ) { |
262 | drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, TRUE, | 323 | drawButton( p, x1, y1, x2-x1+1, y2-y1+1, g, TRUE, |
@@ -283,6 +344,7 @@ void FlatStyle::drawPushButton( QPushButton *btn, QPainter *p ) | |||
283 | } | 344 | } |
284 | */ | 345 | */ |
285 | 346 | ||
347 | fillBtnBorder = FALSE; | ||
286 | if ( p->brush().style() != NoBrush ) | 348 | if ( p->brush().style() != NoBrush ) |
287 | p->setBrush( NoBrush ); | 349 | p->setBrush( NoBrush ); |
288 | } | 350 | } |
@@ -589,7 +651,8 @@ void FlatStyle::drawScrollBarControls( QPainter* p, const QScrollBar* sb, int sl | |||
589 | p->setBrush( g.brush( QColorGroup::Mid ) ); | 651 | p->setBrush( g.brush( QColorGroup::Mid ) ); |
590 | if ( controls & SubPage ) | 652 | if ( controls & SubPage ) |
591 | p->drawRect( subPageR.x(), subPageR.y(), subPageR.width(), subPageR.height() ); | 653 | p->drawRect( subPageR.x(), subPageR.y(), subPageR.width(), subPageR.height() ); |
592 | if ( controls & AddPage && addPageR.y() < addPageR.bottom() ) | 654 | if ( controls & AddPage && addPageR.y() < addPageR.bottom() && |
655 | addPageR.x() < addPageR.right() ) | ||
593 | p->drawRect( addPageR.x(), addPageR.y(), addPageR.width(), addPageR.height() ); | 656 | p->drawRect( addPageR.x(), addPageR.y(), addPageR.width(), addPageR.height() ); |
594 | if ( controls & Slider ) { | 657 | if ( controls & Slider ) { |
595 | QPoint bo = p->brushOrigin(); | 658 | QPoint bo = p->brushOrigin(); |
@@ -784,6 +847,12 @@ static const int motifCheckMarkHMargin = 1; // horiz. margins of check mark | |||
784 | static const int windowsRightBorder= 8; // right border on windows | 847 | static const int windowsRightBorder= 8; // right border on windows |
785 | static const int windowsCheckMarkWidth = 2; // checkmarks width on windows | 848 | static const int windowsCheckMarkWidth = 2; // checkmarks width on windows |
786 | 849 | ||
850 | void FlatStyle::polishPopupMenu ( QPopupMenu *m ) | ||
851 | { | ||
852 | QWindowsStyle::polishPopupMenu( m ); | ||
853 | m->setLineWidth( 1 ); | ||
854 | } | ||
855 | |||
787 | /*! \reimp | 856 | /*! \reimp |
788 | */ | 857 | */ |
789 | int FlatStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem* mi, const QFontMetrics& /*fm*/ ) | 858 | int FlatStyle::extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem* mi, const QFontMetrics& /*fm*/ ) |
@@ -1008,7 +1077,7 @@ QStyle *FlatStyleImpl::style() | |||
1008 | 1077 | ||
1009 | QString FlatStyleImpl::name() const | 1078 | QString FlatStyleImpl::name() const |
1010 | { | 1079 | { |
1011 | return QString("Flat"); | 1080 | return qApp->translate("FlatStyle", "Flat", "Name of the style Flat"); |
1012 | } | 1081 | } |
1013 | 1082 | ||
1014 | QRESULT FlatStyleImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) | 1083 | QRESULT FlatStyleImpl::queryInterface( const QUuid &uuid, QUnknownInterface **iface ) |
@@ -1018,9 +1087,10 @@ QRESULT FlatStyleImpl::queryInterface( const QUuid &uuid, QUnknownInterface **if | |||
1018 | *iface = this; | 1087 | *iface = this; |
1019 | else if ( uuid == IID_Style ) | 1088 | else if ( uuid == IID_Style ) |
1020 | *iface = this; | 1089 | *iface = this; |
1090 | else | ||
1091 | return QS_FALSE; | ||
1021 | 1092 | ||
1022 | if ( *iface ) | 1093 | (*iface)->addRef(); |
1023 | (*iface)->addRef(); | ||
1024 | return QS_OK; | 1094 | return QS_OK; |
1025 | } | 1095 | } |
1026 | 1096 | ||
diff --git a/noncore/styles/flat/flat.h b/noncore/styles/flat/flat.h index e446800..ebea95b 100644 --- a/noncore/styles/flat/flat.h +++ b/noncore/styles/flat/flat.h | |||
@@ -21,12 +21,13 @@ | |||
21 | #ifndef FLATSTYLE_H | 21 | #ifndef FLATSTYLE_H |
22 | #define FLATSTYLE_H | 22 | #define FLATSTYLE_H |
23 | 23 | ||
24 | #include <qcolor.h> | ||
24 | #include <qwindowsstyle.h> | 25 | #include <qwindowsstyle.h> |
25 | #include <qpe/styleinterface.h> | 26 | #include <qpe/styleinterface.h> |
26 | 27 | ||
27 | class FlatStylePrivate; | 28 | class FlatStylePrivate; |
28 | 29 | ||
29 | class Q_EXPORT FlatStyle : public QWindowsStyle | 30 | class FlatStyle : public QWindowsStyle |
30 | { | 31 | { |
31 | public: | 32 | public: |
32 | FlatStyle(); | 33 | FlatStyle(); |
@@ -73,6 +74,7 @@ public: | |||
73 | const QColorGroup& , QCOORD c, Orientation orient ); | 74 | const QColorGroup& , QCOORD c, Orientation orient ); |
74 | void drawSliderGroove ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, QCOORD c, Orientation ); | 75 | void drawSliderGroove ( QPainter * p, int x, int y, int w, int h, const QColorGroup & g, QCOORD c, Orientation ); |
75 | void drawTab( QPainter *, const QTabBar *, QTab *, bool selected ); | 76 | void drawTab( QPainter *, const QTabBar *, QTab *, bool selected ); |
77 | void polishPopupMenu ( QPopupMenu * ); | ||
76 | int extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*, const QFontMetrics& ); | 78 | int extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*, const QFontMetrics& ); |
77 | int popupMenuItemHeight( bool checkable, QMenuItem*, const QFontMetrics& ); | 79 | int popupMenuItemHeight( bool checkable, QMenuItem*, const QFontMetrics& ); |
78 | void drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, | 80 | void drawPopupMenuItem( QPainter* p, bool checkable, int maxpmw, int tab, QMenuItem* mi, |
@@ -86,6 +88,8 @@ public: | |||
86 | private: | 88 | private: |
87 | FlatStylePrivate *d; | 89 | FlatStylePrivate *d; |
88 | bool revItem; | 90 | bool revItem; |
91 | bool fillBtnBorder; | ||
92 | QColor btnBg; | ||
89 | // Disabled copy constructor and operator= | 93 | // Disabled copy constructor and operator= |
90 | #if defined(Q_DISABLE_COPY) | 94 | #if defined(Q_DISABLE_COPY) |
91 | FlatStyle( const FlatStyle & ); | 95 | FlatStyle( const FlatStyle & ); |
diff --git a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp index 71dd7eb..73f8bb3 100644 --- a/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp +++ b/noncore/todayplugins/stockticker/stockticker/inputDialog.cpp | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <qpushbutton.h> | 9 | #include <qpushbutton.h> |
10 | #include <qwhatsthis.h> | 10 | #include <qwhatsthis.h> |
11 | #include <qlabel.h> | 11 | #include <qlabel.h> |
12 | #include <qlayout.h> | ||
12 | #include <qpe/config.h> | 13 | #include <qpe/config.h> |
13 | #include <qstringlist.h> | 14 | #include <qstringlist.h> |
14 | #include <qmainwindow.h> | 15 | #include <qmainwindow.h> |
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp index d740b6f..915233a 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.cpp | |||
@@ -121,7 +121,7 @@ StocktickerPluginConfig::StocktickerPluginConfig( QWidget *parent, const char* | |||
121 | timerDelaySpin->setMaxValue( 60); | 121 | timerDelaySpin->setMaxValue( 60); |
122 | 122 | ||
123 | cfg.setGroup("Timer"); | 123 | cfg.setGroup("Timer"); |
124 | timerDelaySpin->setValue( cfg.readNumEntry("Delay",0)); | 124 | timerDelaySpin->setValue( cfg.readNumEntry("Delay",15)); |
125 | layout->addMultiCellWidget( timerDelaySpin , 6, 6, 0, 0); | 125 | layout->addMultiCellWidget( timerDelaySpin , 6, 6, 0, 0); |
126 | 126 | ||
127 | QLabel *label2; | 127 | QLabel *label2; |
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h index 2b67a8b..10f9678 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerconfig.h | |||
@@ -28,7 +28,7 @@ class QCheckBox; | |||
28 | class QSpinBox; | 28 | class QSpinBox; |
29 | 29 | ||
30 | class StocktickerPluginConfig : public TodayConfigWidget { | 30 | class StocktickerPluginConfig : public TodayConfigWidget { |
31 | //Q_OBJECT | 31 | Q_OBJECT |
32 | public: | 32 | public: |
33 | StocktickerPluginConfig( QWidget *parent, const char *name ); | 33 | StocktickerPluginConfig( QWidget *parent, const char *name ); |
34 | ~StocktickerPluginConfig(); | 34 | ~StocktickerPluginConfig(); |
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp index c3ca52d..fedc79c 100644 --- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp +++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerpluginwidget.cpp | |||
@@ -1,301 +1,327 @@ | |||
1 | /* | 1 | /* |
2 | * stocktickerpluginwidget.cpp | 2 | * stocktickerpluginwidget.cpp |
3 | * | 3 | * |
4 | * copyright : (c) 2002 by L.J. Potter | 4 | * copyright : (c) 2002 by L.J. Potter |
5 | * email : llornkcor@handhelds.org | 5 | * email : llornkcor@handhelds.org |
6 | * | 6 | * |
7 | */ | 7 | */ |
8 | /*************************************************************************** | 8 | /*************************************************************************** |
9 | * * | 9 | * * |
10 | * This program is free software; you can redistribute it and/or modify * | 10 | * This program is free software; you can redistribute it and/or modify * |
11 | * it under the terms of the GNU General Public License as published by * | 11 | * it under the terms of the GNU General Public License as published by * |
12 | * the Free Software Foundation; either version 2 of the License, or * | 12 | * the Free Software Foundation; either version 2 of the License, or * |
13 | * (at your option) any later version. * | 13 | * (at your option) any later version. * |
14 | * * | 14 | * * |
15 | ***************************************************************************/ | 15 | ***************************************************************************/ |
16 | 16 | ||
17 | #include <qlayout.h> | 17 | #include <qlayout.h> |
18 | 18 | ||
19 | #include <qpe/config.h> | 19 | #include <qpe/config.h> |
20 | 20 | ||
21 | #include <opie/oticker.h> | 21 | #include <opie/oticker.h> |
22 | 22 | ||
23 | extern "C" { | 23 | extern "C" { |
24 | #include "libstocks/stocks.h" | 24 | #include "libstocks/stocks.h" |
25 | } | 25 | } |
26 | 26 | ||
27 | #include <pthread.h> | 27 | #include <pthread.h> |
28 | 28 | ||
29 | #include "stocktickerpluginwidget.h" | 29 | #include "stocktickerpluginwidget.h" |
30 | 30 | ||
31 | QString output; | 31 | QString output; |
32 | OTicker *stocktickerTicker; | 32 | OTicker *stocktickerTicker; |
33 | QCString stock_liste; | ||
34 | bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; | ||
35 | bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; | ||
36 | bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; | ||
33 | 37 | ||
34 | void getStocks(char *blah) { | 38 | void getStocks(char *blah) { |
35 | 39 | ||
36 | // stocktickerTicker->setText( "Downloading stock data."); | 40 | // stocktickerTicker->setText( "Downloading stock data."); |
37 | stock *stocks_quotes=NULL; | 41 | stock *stocks_quotes=NULL; |
38 | stock *stocks_tmp; | 42 | stock *stocks_tmp; |
39 | QCString stock_liste = blah; | 43 | stock_liste = blah; |
40 | ::free ( blah ); | 44 | ::free ( blah ); |
41 | // char *stock_liste = (char *)blah->latin1(); | 45 | // char *stock_liste = (char *)blah->latin1(); |
42 | qDebug("%s", stock_liste.data() ); | 46 | // qDebug("%s", stock_liste.data() ); |
43 | QString tempString; | 47 | output = ""; |
44 | output = ""; | 48 | QString tempString; |
45 | 49 | libstocks_return_code error; | |
46 | libstocks_return_code error; | 50 | |
47 | 51 | // Config cfg( "stockticker"); | |
48 | Config cfg( "stockticker"); | 52 | // cfg.setGroup( "Fields" ); |
49 | cfg.setGroup( "Fields" ); | 53 | // bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; |
50 | bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; | 54 | // bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; |
51 | bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; | 55 | // bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; |
52 | bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; | 56 | |
53 | 57 | dotimeCheck=dodateCheck=dosymbolCheck=donameCheck= docurrentPriceCheck=dolastPriceCheck=doopenPriceCheck=dominPriceCheck=domaxPriceCheck=dovariationCheck=dovolumeCheck=false; | |
54 | dotimeCheck=dodateCheck=dosymbolCheck=donameCheck= docurrentPriceCheck=dolastPriceCheck=doopenPriceCheck=dominPriceCheck=domaxPriceCheck=dovariationCheck=dovolumeCheck=false; | 58 | |
55 | 59 | dotimeCheck=1; | |
56 | dotimeCheck=cfg.readBoolEntry("timeCheck",1); | 60 | dodateCheck=1; |
57 | dodateCheck=cfg.readBoolEntry("dateCheck",1); | 61 | dosymbolCheck=1; |
58 | dosymbolCheck=cfg.readBoolEntry("symbolCheck",1); | 62 | donameCheck=1; |
59 | donameCheck=cfg.readBoolEntry("nameCheck",1); | 63 | docurrentPriceCheck=1; |
60 | docurrentPriceCheck=cfg.readBoolEntry("currentPriceCheck",1); | 64 | dolastPriceCheck=1; |
61 | dolastPriceCheck=cfg.readBoolEntry("lastPriceCheck",1); | 65 | doopenPriceCheck=1; |
62 | doopenPriceCheck=cfg.readBoolEntry("openPriceCheck",1); | 66 | dominPriceCheck=1; |
63 | dominPriceCheck=cfg.readBoolEntry("minPriceCheck",1); | 67 | domaxPriceCheck=1; |
64 | domaxPriceCheck=cfg.readBoolEntry("maxPriceCheck",1); | 68 | dovariationCheck=1; |
65 | dovariationCheck=cfg.readBoolEntry("variationCheck",1); | 69 | dovolumeCheck=1; |
66 | dovolumeCheck=cfg.readBoolEntry("volumeCheck",1); | 70 | |
67 | 71 | // dotimeCheck=cfg.readBoolEntry("timeCheck",1); | |
68 | // DefProxy(); | 72 | // dodateCheck=cfg.readBoolEntry("dateCheck",1); |
69 | { | 73 | // dosymbolCheck=cfg.readBoolEntry("symbolCheck",1); |
70 | char *proxy; | 74 | // donameCheck=cfg.readBoolEntry("nameCheck",1); |
71 | libstocks_return_code error; | 75 | // docurrentPriceCheck=cfg.readBoolEntry("currentPriceCheck",1); |
72 | 76 | // dolastPriceCheck=cfg.readBoolEntry("lastPriceCheck",1); | |
73 | /* Proxy support */ | 77 | // doopenPriceCheck=cfg.readBoolEntry("openPriceCheck",1); |
74 | /* Checks for "http_proxy" environment variable */ | 78 | // dominPriceCheck=cfg.readBoolEntry("minPriceCheck",1); |
75 | proxy = getenv("http_proxy"); | 79 | // domaxPriceCheck=cfg.readBoolEntry("maxPriceCheck",1); |
76 | if(proxy) { | 80 | // dovariationCheck=cfg.readBoolEntry("variationCheck",1); |
77 | /* printf("proxy set\n"); */ | 81 | // dovolumeCheck=cfg.readBoolEntry("volumeCheck",1); |
78 | error = set_proxy(proxy); | 82 | |
79 | if (error) { | 83 | // DefProxy(); |
80 | printf("Proxy error (%d)\n", error); | 84 | // { |
81 | QString tempString; | 85 | char *proxy; |
82 | tempString.sprintf("Proxy error (%d)\n", error); | 86 | // libstocks_return_code error; |
83 | output = tempString; | 87 | |
84 | return; | 88 | /* Proxy support */ |
85 | // exit(1); | 89 | /* Checks for "http_proxy" environment variable */ |
86 | } | 90 | proxy = getenv("http_proxy"); |
87 | } | 91 | if(proxy) { |
88 | } | 92 | /* printf("proxy set\n"); */ |
89 | // char *stock_liste = (char *)blah; | 93 | error = set_proxy(proxy); |
90 | /* Get the stocks and process errors */ | 94 | if (error) { |
91 | error = get_stocks( stock_liste.data(), &stocks_quotes); | 95 | // printf("Proxy error (%d)\n", error); |
92 | 96 | // QString tempString2; | |
93 | if (error) { | 97 | // tempString2.sprintf("Proxy error (%d)\n", error); |
94 | printf("Error in getting stocks (%d)\n", error); | 98 | // output = tempString2; |
95 | tempString.sprintf("Error in getting stocks (%d)\n", error); | 99 | // delete tempString2; |
96 | output =tempString; | 100 | return; |
97 | return; | 101 | // exit(1); |
98 | // exit(1); | 102 | } |
99 | } | 103 | } |
100 | 104 | ::free(proxy); | |
101 | stocks_tmp = stocks_quotes; | 105 | // } |
102 | 106 | /* Get the stocks and process errors */ | |
103 | /* Displays the stocks */ | 107 | error = get_stocks( stock_liste.data(), &stocks_quotes); |
104 | while(stocks_tmp!=0){ | 108 | |
105 | 109 | if (error) { | |
106 | if (stocks_tmp->Time) { | 110 | printf("Error in getting stocks (%d)\n", error); |
107 | // printf("%s ", stocks_tmp->Time); | 111 | tempString.sprintf("Error in getting stocks (%d)\n", error); |
108 | tempString.sprintf("| %s ", stocks_tmp->Time); | 112 | output =tempString; |
109 | tempString.replace(QRegExp("\""),""); | 113 | return; |
110 | if( dotimeCheck) | 114 | } |
111 | output +=tempString; | 115 | |
112 | } | 116 | stocks_tmp = stocks_quotes; |
113 | if (stocks_tmp->Date) { | 117 | |
114 | // printf("%s ", stocks_tmp->Date); | 118 | /* Displays the stocks */ |
115 | tempString.sprintf("| %s ", stocks_tmp->Date); | 119 | while(stocks_tmp!=0){ |
116 | tempString.replace(QRegExp("\""),""); | 120 | |
117 | if(dodateCheck) | 121 | if (stocks_tmp->Time) { |
118 | output +=tempString; | 122 | // printf("%s ", stocks_tmp->Time); |
119 | } | 123 | tempString.sprintf("| %s ", stocks_tmp->Time); |
120 | // printf("\n"); | 124 | tempString.replace(QRegExp("\""),""); |
121 | 125 | if( dotimeCheck) | |
122 | // printf("----------------------------------------\n"); | 126 | output +=tempString; |
123 | 127 | } | |
124 | if ( strlen(stocks_tmp->Symbol) > 20 ) { | 128 | if (stocks_tmp->Date) { |
125 | // printf("| Symbol | %.20s |\n",stocks_tmp->Symbol); | 129 | // printf("%s ", stocks_tmp->Date); |
126 | tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); | 130 | tempString.sprintf("| %s ", stocks_tmp->Date); |
127 | if(dosymbolCheck) | 131 | tempString.replace(QRegExp("\""),""); |
128 | output +=tempString; | 132 | if(dodateCheck) |
129 | } | 133 | output +=tempString; |
130 | else { | 134 | } |
131 | // printf("| Symbol | %-20s |\n",stocks_tmp->Symbol); | 135 | // printf("\n"); |
132 | tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); | 136 | |
133 | if(dosymbolCheck) | 137 | // printf("----------------------------------------\n"); |
134 | output +=tempString; | 138 | |
135 | } | 139 | if ( strlen(stocks_tmp->Symbol) > 20 ) { |
136 | 140 | // printf("| Symbol | %.20s |\n",stocks_tmp->Symbol); | |
137 | if (stocks_tmp->Name) { | 141 | tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); |
138 | if ( strlen(stocks_tmp->Name) > 20 ) { | 142 | if(dosymbolCheck) |
139 | // printf("| Name %.20s |\n",stocks_tmp->Name); | 143 | output +=tempString; |
140 | tempString.sprintf("| Name %s ",stocks_tmp->Name); | 144 | } |
141 | tempString.stripWhiteSpace(); | 145 | else { |
142 | if(donameCheck) | 146 | // printf("| Symbol | %-20s |\n",stocks_tmp->Symbol); |
143 | output +=tempString; | 147 | tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); |
144 | } else { | 148 | if(dosymbolCheck) |
145 | // printf("| Name | %-20s |\n",stocks_tmp->Name); | 149 | output +=tempString; |
146 | tempString.sprintf("| Name %s ",stocks_tmp->Name); | 150 | } |
147 | tempString.stripWhiteSpace(); | 151 | |
148 | if(donameCheck) | 152 | if (stocks_tmp->Name) { |
149 | output +=tempString; | 153 | if ( strlen(stocks_tmp->Name) > 20 ) { |
150 | } | 154 | // printf("| Name %.20s |\n",stocks_tmp->Name); |
151 | } | 155 | tempString.sprintf("| Name %s ",stocks_tmp->Name); |
152 | else { | 156 | tempString.stripWhiteSpace(); |
153 | // printf("| Name | |\n"); | 157 | if(donameCheck) |
154 | tempString.sprintf("| Name | |"); | 158 | output +=tempString; |
155 | if(donameCheck) | 159 | } else { |
156 | output +=tempString; | 160 | // printf("| Name | %-20s |\n",stocks_tmp->Name); |
157 | } | 161 | tempString.sprintf("| Name %s ",stocks_tmp->Name); |
158 | 162 | tempString.stripWhiteSpace(); | |
159 | // printf("| Price | %-7.2f |\n", stocks_tmp->CurrentPrice); | 163 | if(donameCheck) |
160 | tempString.sprintf("| Price %-7.2f ", stocks_tmp->CurrentPrice); | 164 | output +=tempString; |
161 | if(docurrentPriceCheck) | 165 | } |
162 | output +=tempString; | 166 | } |
163 | 167 | else { | |
164 | // printf("| Yesterday | %-7.2f |\n",stocks_tmp->LastPrice); | 168 | // printf("| Name | |\n"); |
165 | tempString.sprintf("| Yesterday %-7.2f ",stocks_tmp->LastPrice); | 169 | tempString.sprintf("| Name | |"); |
166 | if(dolastPriceCheck) | 170 | if(donameCheck) |
167 | output +=tempString; | 171 | output +=tempString; |
168 | 172 | } | |
169 | // printf("| Open | %-7.2f |\n",stocks_tmp->OpenPrice); | 173 | |
170 | tempString.sprintf("| Open %-7.2f ",stocks_tmp->OpenPrice); | 174 | // printf("| Price | %-7.2f |\n", stocks_tmp->CurrentPrice); |
171 | if(doopenPriceCheck) | 175 | tempString.sprintf("| Price %-7.2f ", stocks_tmp->CurrentPrice); |
172 | output +=tempString; | 176 | if(docurrentPriceCheck) |
173 | 177 | output +=tempString; | |
174 | // printf("| Min | %-7.2f |\n", stocks_tmp->MinPrice); | 178 | |
175 | tempString.sprintf("| Min %-7.2f ", stocks_tmp->MinPrice); | 179 | // printf("| Yesterday | %-7.2f |\n",stocks_tmp->LastPrice); |
176 | if(dominPriceCheck) | 180 | tempString.sprintf("| Yesterday %-7.2f ",stocks_tmp->LastPrice); |
177 | output +=tempString; | 181 | if(dolastPriceCheck) |
178 | 182 | output +=tempString; | |
179 | // printf("| Max | %-7.2f |\n",stocks_tmp->MaxPrice); | 183 | |
180 | tempString.sprintf("| Max %-7.2f ",stocks_tmp->MaxPrice); | 184 | // printf("| Open | %-7.2f |\n",stocks_tmp->OpenPrice); |
181 | if(domaxPriceCheck) | 185 | tempString.sprintf("| Open %-7.2f ",stocks_tmp->OpenPrice); |
182 | output +=tempString; | 186 | if(doopenPriceCheck) |
183 | 187 | output +=tempString; | |
184 | // printf("| Var | %-6.2f (%5.2f %%) |\n", stocks_tmp->Variation, stocks_tmp->Pourcentage); | 188 | |
185 | tempString.sprintf("| Var %-6.2f (%5.2f %%) ", stocks_tmp->Variation, stocks_tmp->Pourcentage); | 189 | // printf("| Min | %-7.2f |\n", stocks_tmp->MinPrice); |
186 | if(dovariationCheck) | 190 | tempString.sprintf("| Min %-7.2f ", stocks_tmp->MinPrice); |
187 | output +=tempString; | 191 | if(dominPriceCheck) |
188 | 192 | output +=tempString; | |
189 | // printf("| Volume | %-9d |\n", stocks_tmp->Volume); | 193 | |
190 | tempString.sprintf("| Volume %-9d ", stocks_tmp->Volume); | 194 | // printf("| Max | %-7.2f |\n",stocks_tmp->MaxPrice); |
191 | if(dovolumeCheck) | 195 | tempString.sprintf("| Max %-7.2f ",stocks_tmp->MaxPrice); |
192 | output +=tempString; | 196 | if(domaxPriceCheck) |
193 | 197 | output +=tempString; | |
194 | // printf("----------------------------------------\n\n"); | 198 | |
195 | tempString.sprintf("||==++==|"); | 199 | // printf("| Var | %-6.2f (%5.2f %%) |\n", stocks_tmp->Variation, stocks_tmp->Pourcentage); |
196 | output +=tempString; | 200 | tempString.sprintf("| Var %-6.2f (%5.2f %%) ", stocks_tmp->Variation, stocks_tmp->Pourcentage); |
197 | 201 | if(dovariationCheck) | |
198 | /* Simple function which help to browse in the stocks list */ | 202 | output +=tempString; |
199 | stocks_tmp = next_stock(stocks_tmp); | 203 | |
200 | } | 204 | // printf("| Volume | %-9d |\n", stocks_tmp->Volume); |
201 | 205 | tempString.sprintf("| Volume %-9d ", stocks_tmp->Volume); | |
202 | /* frees stocks */ | 206 | if(dovolumeCheck) |
203 | free_stocks(stocks_quotes); | 207 | output +=tempString; |
204 | stocktickerTicker->setText( output.latin1() ); | 208 | |
205 | 209 | // printf("----------------------------------------\n\n"); | |
206 | } | 210 | tempString.sprintf("||==++==|"); |
207 | 211 | output +=tempString; | |
208 | StockTickerPluginWidget::StockTickerPluginWidget( QWidget *parent, const char* name) | 212 | |
209 | : QWidget(parent, name ) { | 213 | /* Simple function which help to browse in the stocks list */ |
210 | init(); | 214 | stocks_tmp = next_stock(stocks_tmp); |
211 | startTimer(1000); | 215 | } |
212 | 216 | ||
213 | stocktickerTicker->setTextFormat(Qt::RichText); | 217 | stocktickerTicker->setText( output.latin1() ); |
214 | // checkConnection(); | 218 | |
215 | } | 219 | /* frees stocks */ |
216 | 220 | free_stocks(stocks_quotes); | |
217 | StockTickerPluginWidget::~StockTickerPluginWidget() { | 221 | free_stocks(stocks_tmp); |
218 | } | 222 | |
219 | 223 | stock_liste=""; | |
220 | void StockTickerPluginWidget::init() { | 224 | //delete stock_liste; |
221 | 225 | tempString=""; | |
222 | QHBoxLayout* layout = new QHBoxLayout( this ); | 226 | output=""; |
223 | stocktickerTicker = new OTicker(this); | 227 | } |
224 | // stocktickerTicker->setMinimumHeight(15); | 228 | |
225 | connect( stocktickerTicker, SIGNAL( mousePressed()), this, SLOT( checkConnection() )); | 229 | StockTickerPluginWidget::StockTickerPluginWidget( QWidget *parent, const char* name) |
226 | layout->addWidget( stocktickerTicker); | 230 | : QWidget(parent, name ) { |
227 | wasError = true; | 231 | init(); |
228 | } | 232 | startTimer(1000); |
229 | 233 | ||
230 | void StockTickerPluginWidget::doStocks() { | 234 | stocktickerTicker->setTextFormat(Qt::RichText); |
231 | Config cfg( "stockticker"); | 235 | // checkConnection(); |
232 | cfg.setGroup( "Symbols" ); | 236 | } |
233 | symbollist=""; | 237 | |
234 | symbollist = cfg.readEntry("Symbols", ""); | 238 | StockTickerPluginWidget::~StockTickerPluginWidget() { |
235 | symbollist.replace(QRegExp(" "),"+");//seperated by + | 239 | } |
236 | 240 | ||
237 | cfg.setGroup("Timer"); | 241 | void StockTickerPluginWidget::init() { |
238 | stocktickerTicker->setUpdateTime( cfg.readNumEntry("ScrollSpeed",50)); | 242 | |
239 | stocktickerTicker->setScrollLength( cfg.readNumEntry("ScrollLength",10)); | 243 | QHBoxLayout* layout = new QHBoxLayout( this ); |
240 | 244 | stocktickerTicker = new OTicker(this); | |
241 | if (!symbollist.isEmpty()) { | 245 | // stocktickerTicker->setMinimumHeight(15); |
242 | pthread_t thread1; | 246 | connect( stocktickerTicker, SIGNAL( mousePressed()), this, SLOT( checkConnection() )); |
243 | char *blah = ::strdup(symbollist.latin1()); | 247 | layout->addWidget( stocktickerTicker); |
244 | pthread_create(&thread1,NULL, (void * (*)(void *))getStocks, (void *) blah); | 248 | wasError = true; |
245 | } | 249 | } |
246 | } | 250 | |
247 | 251 | void StockTickerPluginWidget::doStocks() { | |
248 | void StockTickerPluginWidget::timerEvent( QTimerEvent *e ) { | 252 | Config cfg( "stockticker"); |
249 | killTimer(e->timerId()); | 253 | cfg.setGroup( "Symbols" ); |
250 | checkConnection(); | 254 | symbollist=""; |
251 | } | 255 | symbollist = cfg.readEntry("Symbols", ""); |
252 | 256 | symbollist.replace(QRegExp(" "),"+");//seperated by + | |
253 | void StockTickerPluginWidget::checkConnection() { | 257 | |
254 | // qDebug("checking connection"); | 258 | cfg.setGroup("Timer"); |
255 | // Sock = new QSocket( this ); | 259 | stocktickerTicker->setUpdateTime( cfg.readNumEntry("ScrollSpeed",50)); |
256 | 260 | stocktickerTicker->setScrollLength( cfg.readNumEntry("ScrollLength",10)); | |
257 | // if( wasError) | 261 | |
258 | // stocktickerTicker->setText("Checking connection"); | 262 | if (!symbollist.isEmpty()) { |
259 | 263 | pthread_t thread1; | |
260 | // if(Sock->state() == QSocket::Idle) { | 264 | char *blah = ::strdup(symbollist.latin1()); |
261 | // Sock->connectToHost("finance.yahoo.com", 80); | 265 | pthread_create( &thread1, NULL, (void * (*)(void *))getStocks, (void *) blah); |
262 | // connect( Sock, SIGNAL( error(int) ), SLOT(socketError(int)) ); | 266 | pthread_detach( thread1); |
263 | // connect( Sock, SIGNAL( hostFound() ), SLOT(isConnected()) ); | 267 | |
264 | // } else { | 268 | //::free((void*)thread1); |
265 | // qDebug("State is not Idle"); | 269 | //getStocks(blah); |
266 | isConnected(); | 270 | } |
267 | // } | 271 | } |
268 | } | 272 | |
269 | 273 | void StockTickerPluginWidget::timerEvent( QTimerEvent *e ) { | |
270 | void StockTickerPluginWidget::isConnected() { | 274 | killTimer(e->timerId()); |
271 | // qDebug("We connect, so ok to grab stocks"); | 275 | checkConnection(); |
272 | doStocks(); | 276 | } |
273 | 277 | ||
274 | Config cfg( "stockticker"); | 278 | void StockTickerPluginWidget::checkConnection() { |
275 | cfg.setGroup("Timer"); | 279 | // qDebug("checking connection"); |
276 | timerDelay= cfg.readNumEntry("Delay",0); | 280 | // Sock = new QSocket( this ); |
277 | if(timerDelay > 0) | 281 | |
278 | startTimer(timerDelay*60000); | 282 | // if( wasError) |
279 | qDebug("timer set for %d",(timerDelay*60000)/60000); | 283 | // stocktickerTicker->setText("Checking connection"); |
280 | wasError = false; | 284 | |
281 | 285 | // if(Sock->state() == QSocket::Idle) { | |
282 | // Sock->close(); | 286 | // Sock->connectToHost("finance.yahoo.com", 80); |
283 | } | 287 | // connect( Sock, SIGNAL( error(int) ), SLOT(socketError(int)) ); |
284 | 288 | // connect( Sock, SIGNAL( hostFound() ), SLOT(isConnected()) ); | |
285 | void StockTickerPluginWidget::socketError(int errcode) { | 289 | // } else { |
286 | switch(errcode) { | 290 | // qDebug("State is not Idle"); |
287 | case QSocket::ErrConnectionRefused: | 291 | isConnected(); |
288 | output = tr("Connection refused."); | 292 | // } |
289 | break; | 293 | } |
290 | case QSocket::ErrHostNotFound: | 294 | |
291 | output = tr("Could not find server."); | 295 | void StockTickerPluginWidget::isConnected() { |
292 | break; | 296 | // qDebug("We connect, so ok to grab stocks"); |
293 | case QSocket::ErrSocketRead : | 297 | if(this->isVisible()) |
294 | output = tr("Socket read error."); | 298 | doStocks(); |
295 | break; | 299 | |
296 | }; | 300 | Config cfg( "stockticker"); |
297 | stocktickerTicker->setText( output ); | 301 | cfg.setGroup("Timer"); |
298 | wasError = true; | 302 | timerDelay= cfg.readNumEntry("Delay",0); |
299 | // Sock->close(); | 303 | if(timerDelay > 0) |
300 | 304 | startTimer(timerDelay*60000); | |
301 | } | 305 | // qDebug("timer set for %d",(timerDelay*60000)/60000); |
306 | wasError = false; | ||
307 | |||
308 | // Sock->close(); | ||
309 | } | ||
310 | |||
311 | void StockTickerPluginWidget::socketError(int errcode) { | ||
312 | switch(errcode) { | ||
313 | case QSocket::ErrConnectionRefused: | ||
314 | output = tr("Connection refused."); | ||
315 | break; | ||
316 | case QSocket::ErrHostNotFound: | ||
317 | output = tr("Could not find server."); | ||
318 | break; | ||
319 | case QSocket::ErrSocketRead : | ||
320 | output = tr("Socket read error."); | ||
321 | break; | ||
322 | }; | ||
323 | stocktickerTicker->setText( output ); | ||
324 | wasError = true; | ||
325 | // Sock->close(); | ||
326 | |||
327 | } | ||
diff --git a/noncore/todayplugins/weather/weatherconfig.h b/noncore/todayplugins/weather/weatherconfig.h index 3877818..d9ffec2 100644 --- a/noncore/todayplugins/weather/weatherconfig.h +++ b/noncore/todayplugins/weather/weatherconfig.h | |||
@@ -41,6 +41,7 @@ class QSpinBox; | |||
41 | 41 | ||
42 | class WeatherPluginConfig : public TodayConfigWidget | 42 | class WeatherPluginConfig : public TodayConfigWidget |
43 | { | 43 | { |
44 | Q_OBJECT | ||
44 | public: | 45 | public: |
45 | WeatherPluginConfig( QWidget *parent, const char *name ); | 46 | WeatherPluginConfig( QWidget *parent, const char *name ); |
46 | ~WeatherPluginConfig(); | 47 | ~WeatherPluginConfig(); |
diff --git a/noncore/tools/clock/clock.cpp b/noncore/tools/clock/clock.cpp index 41c99a8..ecbf12f 100644 --- a/noncore/tools/clock/clock.cpp +++ b/noncore/tools/clock/clock.cpp | |||
@@ -433,7 +433,8 @@ void Clock::alarmOn() | |||
433 | AlarmServer::addAlarm( when, | 433 | AlarmServer::addAlarm( when, |
434 | "QPE/Application/clock", | 434 | "QPE/Application/clock", |
435 | "alarm(QDateTime,int)", warn ); | 435 | "alarm(QDateTime,int)", warn ); |
436 | setCaption( "Alarm set: " + whenl.toString() ); | 436 | // setCaption( "Alarm set: " + whenl.toString() ); |
437 | setCaption( tr("Alarm set: %1" ).arg(whenl.toString()) ); | ||
437 | } | 438 | } |
438 | 439 | ||
439 | void Clock::alarmOff() | 440 | void Clock::alarmOff() |
@@ -444,7 +445,7 @@ void Clock::alarmOff() | |||
444 | "QPE/Application/clock", | 445 | "QPE/Application/clock", |
445 | "alarm(QDateTime,int)", warn ); | 446 | "alarm(QDateTime,int)", warn ); |
446 | qDebug( "Alarm Off " + when.toString() ); | 447 | qDebug( "Alarm Off " + when.toString() ); |
447 | setCaption( "Clock" ); | 448 | setCaption( tr("Clock") ); |
448 | } | 449 | } |
449 | 450 | ||
450 | void Clock::clearTimer() | 451 | void Clock::clearTimer() |
@@ -452,7 +453,7 @@ void Clock::clearTimer() | |||
452 | alarmOffBtn->setText( tr( "Alarm Is Off" ) ); | 453 | alarmOffBtn->setText( tr( "Alarm Is Off" ) ); |
453 | alarmBool = FALSE; | 454 | alarmBool = FALSE; |
454 | snoozeBtn->hide(); | 455 | snoozeBtn->hide(); |
455 | setCaption( "Clock" ); | 456 | setCaption( tr("Clock") ); |
456 | } | 457 | } |
457 | 458 | ||
458 | void Clock::appMessage( const QCString& msg, const QByteArray& /*data*/ ) | 459 | void Clock::appMessage( const QCString& msg, const QByteArray& /*data*/ ) |
diff --git a/noncore/tools/euroconv/main.cpp b/noncore/tools/euroconv/main.cpp index 2d97f4e..7d69535 100644 --- a/noncore/tools/euroconv/main.cpp +++ b/noncore/tools/euroconv/main.cpp | |||
@@ -31,7 +31,7 @@ int main( int argc, char **argv ) { | |||
31 | LCDDisplay lcd (layout, "lcd"); | 31 | LCDDisplay lcd (layout, "lcd"); |
32 | KeyPad num(&lcd, layout, "keypad"); | 32 | KeyPad num(&lcd, layout, "keypad"); |
33 | app.setMainWidget(layout); | 33 | app.setMainWidget(layout); |
34 | layout->setCaption("Euroconv"); | 34 | layout->setCaption( QObject::tr("Euroconv") ); |
35 | layout->showMaximized (); | 35 | layout->showMaximized (); |
36 | layout->show(); | 36 | layout->show(); |
37 | return app.exec(); | 37 | return app.exec(); |
diff --git a/noncore/tools/formatter/formatter.cpp b/noncore/tools/formatter/formatter.cpp index 21de4d2..49f6355 100644 --- a/noncore/tools/formatter/formatter.cpp +++ b/noncore/tools/formatter/formatter.cpp | |||
@@ -400,7 +400,8 @@ void FormatterApp::deviceComboSelected(int index) { | |||
400 | } | 400 | } |
401 | fsType = getFileSystemType((const QString &)selectedText); | 401 | fsType = getFileSystemType((const QString &)selectedText); |
402 | 402 | ||
403 | TextLabel5->setText(tr("Type: %1\nFormatted with %1\n%1, %1, %1").arg( nameS).arg( fsType).arg(totalS).arg( usedS).arg( avS )); | 403 | TextLabel5->setText(tr("Type: %1\nFormatted with %2\n%3, %4, %5").arg( nameS).arg( fsType).arg(totalS).arg( usedS).arg( avS )); |
404 | TextLabel5->setTextFormat( Qt::RichText ); | ||
404 | // storageComboSelected(0); | 405 | // storageComboSelected(0); |
405 | } | 406 | } |
406 | 407 | ||