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 @@ -86,3 +86,3 @@ public: } - QPixmap icon() const { +QPixmap icon() const { return QPixmap(); @@ -177,3 +177,3 @@ QWidget *Appearance::createDecoTab ( QWidget *parent, Config &cfg ) - QString s = cfg. readEntry ( "Decoration" ); + QString s = cfg. readEntry ( "Decoration", "libflat.so" ); @@ -404,3 +404,3 @@ QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg ) QHBoxLayout *rotLay = new QHBoxLayout ( vertLayout, 3 ); - + QLabel* rotlabel = new QLabel( tr( "Rotation direction:" ), tab ); @@ -423,4 +423,4 @@ QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg ) m_rotdir_cw-> setPixmap( cw1 ); - m_rotdir_ccw-> setPixmap( ccw1 ); - m_rotdir_flip-> setPixmap( flip1 ); + m_rotdir_ccw-> setPixmap( ccw1 ); + m_rotdir_flip-> setPixmap( flip1 ); @@ -459,3 +459,4 @@ Appearance::Appearance( QWidget* parent, const char* name, WFlags ) m_sample = new SampleWindow ( this ); - m_sample-> setDecoration ( new DefaultWindowDecoration ( )); + + m_sample-> setDecoration ( new DefaultWindowDecoration ( ) ); QWhatsThis::add( m_sample, tr( "This is a preview window. Look here to see your new appearance as options are changed." ) ); 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 @@ -126,8 +126,9 @@ private: +// from etc/colors/Liquid.scheme const ColorListItem::colorlut ColorListItem::s_colorlut [] = { { QColorGroup::Base, "Base", "#FFFFFF", QT_TRANSLATE_NOOP( "Appearance", "Base" ) }, - { QColorGroup::Background, "Background", "#E5E1D5", QT_TRANSLATE_NOOP( "Appearance", "Background" ) }, - { QColorGroup::Button, "Button", "#D6CDBB", QT_TRANSLATE_NOOP( "Appearance", "Button" ) }, + { QColorGroup::Background, "Background", "#E0E0E0", QT_TRANSLATE_NOOP( "Appearance", "Background" ) }, + { QColorGroup::Button, "Button", "#96c8fa", QT_TRANSLATE_NOOP( "Appearance", "Button" ) }, { QColorGroup::ButtonText, "ButtonText", "#000000", QT_TRANSLATE_NOOP( "Appearance", "Button Text" ) }, - { QColorGroup::Highlight, "Highlight", "#800000", QT_TRANSLATE_NOOP( "Appearance", "Highlight" ) }, + { QColorGroup::Highlight, "Highlight", "#73adef", QT_TRANSLATE_NOOP( "Appearance", "Highlight" ) }, { QColorGroup::HighlightedText, "HighlightedText", "#FFFFFF", QT_TRANSLATE_NOOP( "Appearance", "Highlighted Text" ) }, 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 @@ -105,2 +105,3 @@ private: -#endif
\ No newline at end of file +#endif + 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 @@ -73,14 +73,5 @@ BackupAndRestore::BackupAndRestore( QWidget* parent, const char* name) if(totalLocations == 0){ - -/* Ramses has a CF-Slot, but that one is internal and you have to dismount the - * the case. There's also almost always a WLAN card inserted there -*/ - backupLocations.insert("Documents", "/root/Documents"); -#if defined(QT_QWS_RAMSES) - backupLocations.insert("MMC", "/mnt/card"); -#else backupLocations.insert("CF", "/mnt/cf"); backupLocations.insert("SD", "/mnt/card"); -#endif } 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 @@ -117,5 +117,5 @@ void LanguageSettings::reset() l = config.readEntry( "Language", l ); + actualLanguage = l; if (l.isEmpty()) l = "en"; - actualLanguage = l; 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 @@ -16,2 +16,3 @@ using namespace MediumMountSetting; +/* TRANSLATOR MediumMountSetting::MainWindow */ 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 @@ -17,2 +17,4 @@ using namespace MediumMountSetting; +/* TRANSLATOR MediumMountSetting::MediumGlobalWidget */ + MediumGlobalWidget::MediumGlobalWidget(QWidget *wid, const char *name ) 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 @@ -24,2 +24,4 @@ using namespace MediumMountSetting; +/* TRANSLATOR MediumMountSetting::MediumMountWidget */ + MediumMountWidget::MediumMountWidget(const QString &path, 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 @@ -3,3 +3,3 @@ * $Date$ - */ + */ @@ -26,3 +26,3 @@ Interface::Interface(QObject * parent, const char * name, bool newSatus): QObjec * emit updateInterface - */ + */ void Interface::setStatus(bool newStatus){ @@ -38,3 +38,3 @@ void Interface::setStatus(bool newStatus){ * emit updateInterface - */ + */ void Interface::setAttached(bool isAttached){ @@ -43,3 +43,3 @@ void Interface::setAttached(bool isAttached){ }; - + /** @@ -48,3 +48,3 @@ void Interface::setAttached(bool isAttached){ * emit updateInterface - */ + */ void Interface::setHardwareName(const QString &name){ @@ -53,3 +53,3 @@ void Interface::setHardwareName(const QString &name){ }; - + /** @@ -58,3 +58,3 @@ void Interface::setHardwareName(const QString &name){ * emit updateInterface - */ + */ void Interface::setModuleOwner(Module *owner){ @@ -67,5 +67,5 @@ void Interface::setModuleOwner(Module *owner){ * Try to start the interface. - */ + */ void Interface::start(){ - // check to see if we are already running. + // check to see if we are already running. if(true == status){ @@ -74,3 +74,3 @@ void Interface::start(){ } - + int ret = system(QString("%1 %2 up").arg(IFCONFIG).arg(this->name()).latin1()); @@ -91,3 +91,3 @@ void Interface::start(){ void Interface::stop(){ - // check to see if we are already stopped. + // check to see if we are already stopped. if(false == status){ @@ -96,3 +96,3 @@ void Interface::stop(){ } - + int ret = system(QString("%1 %2 down").arg(IFCONFIG).arg(this->name()).latin1()); @@ -110,3 +110,3 @@ void Interface::stop(){ * Try to restart the interface. - */ + */ void Interface::restart(){ @@ -135,5 +135,5 @@ bool Interface::refresh(){ } - + QString fileName = QString("/tmp/%1_ifconfig_info").arg(this->name()); - int ret = system(QString("%1 %2 > %3").arg(IFCONFIG).arg(this->name()).arg(fileName).latin1()); + int ret = system(QString("LANG=C %1 %2 > %3").arg(IFCONFIG).arg(this->name()).arg(fileName).latin1()); if(ret != 0){ @@ -142,3 +142,3 @@ bool Interface::refresh(){ } - + QFile file(fileName); @@ -154,3 +154,3 @@ bool Interface::refresh(){ broadcast = ""; - + QTextStream stream( &file ); @@ -187,3 +187,3 @@ bool Interface::refresh(){ dhcp = false; - + QString dhcpDirectory(DHCP_INFO_DIR); @@ -192,4 +192,4 @@ bool Interface::refresh(){ dhcpDirectory = "/var/run"; - - // See if we have + + // See if we have QString dhcpFile(QString(dhcpDirectory+"/dhcpcd-%1.info").arg(this->name())); @@ -200,3 +200,3 @@ bool Interface::refresh(){ } - + file.setName(dhcpFile); @@ -206,3 +206,3 @@ bool Interface::refresh(){ } - + // leaseTime and renewalTime and used if pid and deamon exe can be accessed. @@ -210,3 +210,3 @@ bool Interface::refresh(){ int renewalTime = 0; - + stream.setDevice( &file ); @@ -224,3 +224,3 @@ bool Interface::refresh(){ //qDebug(QString("Interface: renewalTime: %1").arg(renewalTime).latin1()); - + // Get the pid of the deamond @@ -246,3 +246,3 @@ bool Interface::refresh(){ - // Get the start running time of the deamon + // Get the start running time of the deamon fileName = (QString("/proc/%1/stat").arg(pid)); @@ -259,3 +259,3 @@ bool Interface::refresh(){ long time = 0; - // Grab the start time + // Grab the start time // pid com state ppid pgrp session tty_nr tpgid flags @@ -267,3 +267,3 @@ bool Interface::refresh(){ time = time/100; - + QDateTime datetime(QDateTime::currentDateTime()); @@ -283,15 +283,15 @@ bool Interface::refresh(){ } - + datetime = datetime.addSecs(time); //qDebug(QString("Interface: %1 %2").arg(datetime.toString()).arg(pid).latin1()); - - // Calculate the start and renew times + + // Calculate the start and renew times leaseObtained = datetime.toString(); - - // Calculate the start and renew times + + // Calculate the start and renew times datetime = datetime.addSecs(leaseTime); leaseExpires = datetime.toString(); - + dhcp = true; - + emit(updateInterface(this)); 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 @@ -14,9 +14,9 @@ signals: void updateMessage(const QString &message); - + public: Interface(QObject * parent=0, const char * name= "unknown", bool status = false); - + QString getInterfaceName() const { QString n(this->name()); return n; }; void setInterfaceName( const QString &n ) { this->setName(n); }; - + bool getStatus() const { return status; }; @@ -26,6 +26,6 @@ public: void setAttached(bool isAttached=false); - + QString getHardwareName() const { return hardwareName; }; void setHardwareName(const QString &name="Unknown"); - + Module* getModuleOwner() const { return moduleOwner; }; @@ -49,3 +49,3 @@ public: -private: +protected: // Interface information 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 @@ -20,3 +20,3 @@ <size> - <width>240</width> + <width>32767</width> <height>32767</height> 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 @@ -14,3 +14,3 @@ <width>219</width> - <height>255</height> + <height>323</height> </rect> @@ -21,6 +21,12 @@ </property> - <grid> + <property> + <name>layoutMargin</name> + </property> + <property> + <name>layoutSpacing</name> + </property> + <vbox> <property stdset="1"> <name>margin</name> - <number>11</number> + <number>4</number> </property> @@ -28,77 +34,5 @@ <name>spacing</name> - <number>6</number> + <number>3</number> </property> - <widget row="4" column="0" rowspan="1" colspan="2" > - <class>QLayoutWidget</class> - <property stdset="1"> - <name>name</name> - <cstring>Layout1</cstring> - </property> - <grid> - <property stdset="1"> - <name>margin</name> - <number>0</number> - </property> - <property stdset="1"> - <name>spacing</name> - <number>6</number> - </property> - <widget row="1" column="0" > - <class>QPushButton</class> - <property stdset="1"> - <name>name</name> - <cstring>refreshButton</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>&Refresh</string> - </property> - </widget> - <widget row="0" column="1" > - <class>QPushButton</class> - <property stdset="1"> - <name>name</name> - <cstring>stopButton</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>S&top</string> - </property> - </widget> - <widget row="1" column="1" > - <class>QPushButton</class> - <property stdset="1"> - <name>name</name> - <cstring>restartButton</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>R&estart</string> - </property> - </widget> - <widget row="0" column="0" > - <class>QPushButton</class> - <property stdset="1"> - <name>name</name> - <cstring>startButton</cstring> - </property> - <property stdset="1"> - <name>text</name> - <string>&Start</string> - </property> - </widget> - </grid> - </widget> - <widget row="0" column="0" > - <class>Line</class> - <property stdset="1"> - <name>name</name> - <cstring>Line1</cstring> - </property> - <property stdset="1"> - <name>orientation</name> - <enum>Horizontal</enum> - </property> - </widget> - <widget row="0" column="0" > + <widget> <class>QLabel</class> @@ -113,3 +47,3 @@ </widget> - <widget row="1" column="0" > + <widget> <class>QLabel</class> @@ -117,14 +51,11 @@ <name>name</name> - <cstring>TextLabel23</cstring> + <cstring>ipAddressLabel</cstring> </property> <property stdset="1"> - <name>text</name> - <string>Subnet Mask</string> + <name>frameShape</name> + <enum>Panel</enum> </property> - </widget> - <widget row="2" column="0" > - <class>QLabel</class> <property stdset="1"> - <name>name</name> - <cstring>TextLabel21</cstring> + <name>frameShadow</name> + <enum>Sunken</enum> </property> @@ -132,18 +63,21 @@ <name>text</name> - <string>MAC Address</string> + <string>0.0.0.0</string> </property> </widget> - <widget row="3" column="0" > - <class>QLabel</class> + <widget> + <class>Line</class> <property stdset="1"> <name>name</name> - <cstring>TextLabel24</cstring> + <cstring>Line1</cstring> </property> <property stdset="1"> - <name>frameShape</name> - <enum>MShape</enum> + <name>orientation</name> + <enum>Horizontal</enum> </property> + </widget> + <widget> + <class>QLabel</class> <property stdset="1"> - <name>frameShadow</name> - <enum>MShadow</enum> + <name>name</name> + <cstring>TextLabel23</cstring> </property> @@ -151,6 +85,6 @@ <name>text</name> - <string>Broadcast</string> + <string>Subnet Mask</string> </property> </widget> - <widget row="1" column="1" > + <widget> <class>QLabel</class> @@ -173,3 +107,3 @@ </widget> - <widget row="2" column="1" > + <widget> <class>QLabel</class> @@ -192,3 +126,14 @@ </widget> - <widget row="3" column="1" > + <widget> + <class>QLabel</class> + <property stdset="1"> + <name>name</name> + <cstring>TextLabel21</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>MAC Address</string> + </property> + </widget> + <widget> <class>QLabel</class> @@ -211,3 +156,3 @@ </widget> - <widget row="0" column="1" > + <widget> <class>QLabel</class> @@ -215,3 +160,3 @@ <name>name</name> - <cstring>ipAddressLabel</cstring> + <cstring>TextLabel24</cstring> </property> @@ -219,3 +164,3 @@ <name>frameShape</name> - <enum>Panel</enum> + <enum>MShape</enum> </property> @@ -223,3 +168,3 @@ <name>frameShadow</name> - <enum>Sunken</enum> + <enum>MShadow</enum> </property> @@ -227,27 +172,78 @@ <name>text</name> - <string>0.0.0.0</string> + <string>Broadcast</string> </property> </widget> - <spacer row="7" column="1" > - <property> + <widget> + <class>QLayoutWidget</class> + <property stdset="1"> <name>name</name> - <cstring>Spacer18</cstring> + <cstring>Layout1</cstring> </property> + <grid> + <property stdset="1"> + <name>margin</name> + <number>0</number> + </property> + <property stdset="1"> + <name>spacing</name> + <number>6</number> + </property> + <widget row="1" column="0" > + <class>QPushButton</class> + <property stdset="1"> + <name>name</name> + <cstring>refreshButton</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>&Refresh</string> + </property> + </widget> + <widget row="0" column="1" > + <class>QPushButton</class> + <property stdset="1"> + <name>name</name> + <cstring>stopButton</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>S&top</string> + </property> + </widget> + <widget row="1" column="1" > + <class>QPushButton</class> + <property stdset="1"> + <name>name</name> + <cstring>restartButton</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>R&estart</string> + </property> + </widget> + <widget row="0" column="0" > + <class>QPushButton</class> + <property stdset="1"> + <name>name</name> + <cstring>startButton</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>&Start</string> + </property> + </widget> + </grid> + </widget> + <widget> + <class>Line</class> <property stdset="1"> - <name>orientation</name> - <enum>Vertical</enum> + <name>name</name> + <cstring>Line5</cstring> </property> <property stdset="1"> - <name>sizeType</name> - <enum>Expanding</enum> - </property> - <property> - <name>sizeHint</name> - <size> - <width>20</width> - <height>20</height> - </size> + <name>orientation</name> + <enum>Horizontal</enum> </property> - </spacer> - <widget row="6" column="0" rowspan="1" colspan="2" > + </widget> + <widget> <class>QLayoutWidget</class> @@ -300,7 +296,6 @@ </widget> - <widget row="5" column="0" rowspan="1" colspan="2" > - <class>Line</class> - <property stdset="1"> + <spacer> + <property> <name>name</name> - <cstring>Line5</cstring> + <cstring>Spacer18</cstring> </property> @@ -308,6 +303,28 @@ <name>orientation</name> - <enum>Horizontal</enum> + <enum>Vertical</enum> + </property> + <property stdset="1"> + <name>sizeType</name> + <enum>Expanding</enum> + </property> + <property> + <name>sizeHint</name> + <size> + <width>20</width> + <height>20</height> + </size> + </property> + </spacer> + <widget> + <class>QCheckBox</class> + <property stdset="1"> + <name>name</name> + <cstring>CheckBoxSilent</cstring> + </property> + <property stdset="1"> + <name>text</name> + <string>be &silent</string> </property> </widget> - </grid> + </vbox> </widget> 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 @@ -3,2 +3,3 @@ +#include <qcheckbox.h> #include <qpushbutton.h> @@ -8,3 +9,5 @@ -#ifdef QWS +#include <qpe/config.h> + +#ifdef QWS #else @@ -16,3 +19,3 @@ * just display's information about the interface that is passed to it. - */ + */ InterfaceInformationImp::InterfaceInformationImp(QWidget *parent, const char *name, Interface *i, WFlags f):InterfaceInformation(parent, name, f), interface(i){ @@ -26,2 +29,12 @@ InterfaceInformationImp::InterfaceInformationImp(QWidget *parent, const char *na connect(advancedButton, SIGNAL(clicked()), this, SLOT(advanced())); + Config cfg("networksettings", Config::User); + cfg.setGroup("interface"); + CheckBoxSilent->setChecked( cfg.readBoolEntry("silent", false) ); +} + +InterfaceInformationImp::~InterfaceInformationImp() +{ + Config cfg("networksettings", Config::User); + cfg.setGroup("interface"); + cfg.writeEntry("silent", CheckBoxSilent->isChecked() ); } @@ -32,3 +45,3 @@ InterfaceInformationImp::InterfaceInformationImp(QWidget *parent, const char *na * know about). - */ + */ void InterfaceInformationImp::updateInterface(Interface *){ @@ -53,3 +66,3 @@ void InterfaceInformationImp::updateInterface(Interface *){ * Display it. - */ + */ void InterfaceInformationImp::advanced(){ @@ -72,4 +85,5 @@ void InterfaceInformationImp::advanced(){ * @param message the message to display. - */ + */ void InterfaceInformationImp::showMessage(const QString &message){ + if (CheckBoxSilent->isChecked()) return; QMessageBox::information(this, "Message", message, QMessageBox::Ok); 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 @@ -12,3 +12,3 @@ public: InterfaceInformationImp(QWidget *parent=0, const char *name=0, Interface *i=0, WFlags f=0); - ~InterfaceInformationImp(){}; + ~InterfaceInformationImp(); 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 @@ -2,2 +2,3 @@ +#include <qcheckbox.h> #include <qfile.h> @@ -153,2 +154,3 @@ bool Interfaces::isInterfaceSet() const { bool Interfaces::addInterface(const QString &interface, const QString &family, const QString &method){ + qDebug("Interfaces::addInterface(%s)",interface.latin1()); if(0 == acceptedFamily.contains(family)) @@ -168,2 +170,3 @@ bool Interfaces::addInterface(const QString &interface, const QString &family, c bool Interfaces::copyInterface(const QString &interface, const QString &newInterface){ + qDebug("copy interface %s to %s", interface.latin1(), newInterface.latin1()); if(!setInterface(interface)) @@ -274,2 +277,3 @@ QString Interfaces::getInterfaceMethod(bool &error){ bool Interfaces::setInterfaceName(const QString &newName){ + qDebug("setInterfaceName %s", newName.latin1()); if(currentIface == interfaces.end()) @@ -279,3 +283,6 @@ bool Interfaces::setInterfaceName(const QString &newName){ bool returnValue = false; - (*currentIface) = QString("iface %1 %2 %3").arg(name).arg(getInterfaceFamily(returnValue)).arg(getInterfaceMethod(returnValue)); + QString tmp = QString("iface %1 %2 %3").arg(name).arg(getInterfaceFamily(returnValue)).arg(getInterfaceMethod(returnValue)); + qDebug("setting %s",tmp.latin1()); + + (*currentIface) = tmp; return !returnValue; @@ -329,2 +336,4 @@ QString Interfaces::getInterfaceOption(const QString &option, bool &error){ * doesn't exist then it is added along with the value. + * If value isEmpty() then we will remove the option + * * @param option the options to set the value. @@ -335,3 +344,7 @@ QString Interfaces::getInterfaceOption(const QString &option, bool &error){ bool Interfaces::setInterfaceOption(const QString &option, const QString &value){ - return setOption(currentIface, option, value); + if( value.stripWhiteSpace().isEmpty() ) + return removeInterfaceOption( option ); + + qDebug("iface >%s< option >%s< value >%s<", (*currentIface).latin1(), option.latin1(),value.latin1()); + return setOption(currentIface, option, value); } @@ -494,15 +507,27 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op return false; - + qDebug("setting option"); bool found = false; + bool replaced = false; + QStringList::Iterator insertAt = NULL; for ( QStringList::Iterator it = start; it != interfaces.end(); ++it ) { - if(((*it).contains(IFACE) || (*it).contains(MAPPING) || (*it).contains(AUTO)) && it != start){ - if(!found && value != ""){ - // Got to the end of the stanza without finding it, so append it. - interfaces.insert(--it, QString("\t%1 %2").arg(option).arg(value)); - } - found = true; - break; - } + qDebug(" Interfaces::setOption got line >%s<",(*it).latin1()); + // FIXME: was not completly stupid just wrong sice all options got inserted bevore the iface line + // but since it works with an empty interfaces file I (tille) will not do anything more + if(((*it).contains(IFACE) || (*it).contains(MAPPING) || (*it).contains(AUTO)) ){ + if (found) break; +// && it != start){ +// if(!found && value != ""){ +// // Got to the end of the stanza without finding it, so append it. +// qDebug(" Got to the end of the stanza without finding it, so append it."); +// interfaces.insert(--it, QString("\t%1 %2").arg(option).arg(value)); +// } + qDebug("found 1"); +// interfaces.insert(++it, QString("\t%1 %2").arg(option).arg(value)); + found = true; + insertAt = it; + + } if((*it).contains(option) && it != start && (*it).at(0) != '#'){ // Found it in stanza so replace it. + qDebug("found 2"); if(found) @@ -510,2 +535,3 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op found = true; + replaced = true; (*it) = QString("\t%1 %2").arg(option).arg(value); @@ -514,2 +540,3 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op if(!found){ + qDebug("! found insert anyway"); QStringList::Iterator p = start; @@ -518,2 +545,7 @@ bool Interfaces::setOption(const QStringList::Iterator &start, const QString &op } + + if(found && !replaced){ + qDebug("found iface but not the option so insert it here..."); + interfaces.insert(++insertAt, QString("\t%1 %2").arg(option).arg(value)); + } return found; @@ -554,3 +586,4 @@ bool Interfaces::removeOption(const QStringList::Iterator &start, const QString found = true; - (*it) = ""; + it = interfaces.remove( it ); // we really want to remove the line + --it; // we do ++it later in the head of the for loop } @@ -581,3 +614,4 @@ bool Interfaces::removeOption(const QStringList::Iterator &start, const QString found = true; - (*it) = ""; + it = interfaces.remove( it ); // we really want to remove the line + --it; // we do ++it later in the head of the for loop } 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 @@ -46,2 +46,3 @@ bool InterfaceSetupImp::saveChanges(){ QString iface = interfaces->getInterfaceName(error); + qDebug("InterfaceSetupImp::saveChanges saves interface %s", iface.latin1() ); if(!saveSettings()) @@ -119,2 +120,5 @@ bool InterfaceSetupImp::saveSettings(){ interfaces->setInterfaceOption("down "DNSSCRIPT" -r ", dns); + }else{ + interfaces->removeInterfaceOption("up "DNSSCRIPT" -a "); + interfaces->removeInterfaceOption("down "DNSSCRIPT" -r"); } 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 @@ -15,2 +15,3 @@ #include <qtabwidget.h> // in order to disable the profiles tab +#include <qpe/qpeapplication.h> @@ -51,3 +52,3 @@ -MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name), advancedUserMode(true), scheme(DEFAULT_SCHEME){ +MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(parent, name, Qt::WStyle_ContextHelp), advancedUserMode(true), scheme(DEFAULT_SCHEME){ connect(addConnectionButton, SIGNAL(clicked()), this, SLOT(addClicked())); @@ -64,3 +65,3 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par //FIXME: disable profiles for the moment: -// tabWidget->setTabEnabled( tab, false ); + tabWidget->setTabEnabled( tab, false ); @@ -80,2 +81,10 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name) : MainWindow(par for ( QStringList::Iterator ni = list.begin(); ni != list.end(); ++ni ) { + /* + * we skipped it in getAllInterfaces now + * we need to ignore it as well + */ + if (m_handledIfaces.contains( *ni) ) { + qDebug("Not up iface handled by module"); + continue; + } bool found = false; @@ -198,2 +207,6 @@ void MainWindowImp::getAllInterfaces(){ int flags = 0; + if ( m_handledIfaces.contains( (*it) ) ) { + qDebug(" %s is handled by a module", (*it).latin1() ); + continue; + } // int family; @@ -309,2 +322,3 @@ Module* MainWindowImp::loadPlugin(const QString &pluginFileName, const QString & + m_handledIfaces += object->handledInterfaceNames(); // Store for deletion later @@ -428,3 +442,3 @@ void MainWindowImp::configureClicked(){ - InterfaceSetupImpDialog *configure = new InterfaceSetupImpDialog(this, "InterfaceSetupImp", i, true, Qt::WDestructiveClose ); + InterfaceSetupImpDialog *configure = new InterfaceSetupImpDialog(this, "InterfaceSetupImp", i, true, Qt::WDestructiveClose | Qt::WStyle_ContextHelp ); configure->setProfile(currentProfileText); @@ -461,3 +475,3 @@ void MainWindowImp::informationClicked(){ } - InterfaceInformationImp *information = new InterfaceInformationImp(this, "InterfaceSetupImp", i, Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog); + InterfaceInformationImp *information = new InterfaceInformationImp(this, "InterfaceSetupImp", i, Qt::WType_Modal | Qt::WDestructiveClose | Qt::WStyle_Dialog | Qt::WStyle_ContextHelp); information->showMaximized(); @@ -641,3 +655,2 @@ void MainWindowImp::receive(const QCString &msg, const QByteArray &arg) qDebug("MainWindowImp::receive QCop msg >"+msg+"<"); - if (msg == "raise") { 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 @@ -12,3 +12,3 @@ class KProcess; class QCopChannel; -#ifdef QWS +#ifdef QWS class QLibrary; @@ -27,3 +27,3 @@ public: ~MainWindowImp(); - + QCopChannel *channel; @@ -32,3 +32,3 @@ private slots: void getAllInterfaces(); - + void addClicked(); @@ -37,3 +37,3 @@ private slots: void informationClicked(); - + void addProfile(); @@ -41,3 +41,3 @@ private slots: void changeProfile(); - + void updateInterface(Interface *i); @@ -50,3 +50,3 @@ private: void loadModules(const QString &path); - + Module* loadPlugin(const QString &pluginFileName, @@ -60,3 +60,4 @@ private: QMap<QListViewItem*, Interface*> interfaceItems; - + QStringList m_handledIfaces; + QMap<KProcess*, QString> threads; 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 @@ -20,3 +20,3 @@ signals: - + public: @@ -34,5 +34,5 @@ public: * @param newProfile what the profile should be changed to. - */ + */ virtual void setProfile(const QString &newProfile) = 0; - + /** @@ -40,4 +40,4 @@ public: * @param Interface* can be used in determining the icon. - * @return QString the icon name (minus .png, .gif etc) - */ + * @return QString the icon name (minus .png, .gif etc) + */ virtual QString getPixmapName(Interface *) = 0; @@ -50,3 +50,3 @@ public: virtual bool isOwner(Interface *){ return false; }; - + /** @@ -57,3 +57,3 @@ public: virtual QWidget *configure(Interface *){ return NULL; } ; - + /** @@ -64,3 +64,3 @@ public: virtual QWidget *information(Interface *){ return NULL; }; - + /** @@ -69,5 +69,5 @@ public: * been called by isOwner() - */ + */ virtual QList<Interface> getInterfaces() = 0; - + /** @@ -77,3 +77,3 @@ public: virtual void possibleNewInterfaces(QMap<QString, QString> &list) = 0; - + /** @@ -82,5 +82,5 @@ public: * @param name the type of interface to create - */ + */ virtual Interface *addNewInterface(const QString &name) = 0; - + /** @@ -92,3 +92,3 @@ public: /** - * get dcop calls + * get dcop calls */ @@ -96,2 +96,13 @@ public: + QStringList handledInterfaceNames()const { return m_inter; } +protected: + /** + * set which interfaceNames should not be shown cause they're handled + * internally of this module.. An already running ppp link or + * a tunnel... + */ + void setHandledInterfaceNames( const QStringList& in) { m_inter = in; } + +private: + QStringList m_inter; }; 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 @@ -- ask for password is non is set - -- stop pppd, i.e. fix interfaceinformationppp - -- update modem attribute inputs when modem has changed -- impl. PPPData::copyaccount & PPPData::deleteAccount - +- impl. PPPData::copyaccount - check if the same interface device combination allready exists -- fix layout of edit account, i.e. get it shown maximised +- 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 @@ -46,29 +46,10 @@ void parseargs(char* buf, char** args); -AccountWidget::AccountWidget( PPPData *pd, QWidget *parent, const char *name ) - : QWidget( parent, name )//, _pppdata(pd) + +AccountWidget::AccountWidget( PPPData *pd, QWidget *parent, const char *name, WFlags f ) + : ChooserWidget( pd, parent, name, f ) { - _pppdata = pd; - QVBoxLayout *l1 = new QVBoxLayout(this, 10, 10); - accountlist_l = new QListBox(this); - - connect(accountlist_l, SIGNAL(highlighted(int)), - this, SLOT(slotListBoxSelect(int))); - connect(accountlist_l, SIGNAL(selected(int)), - this, SLOT(editaccount())); - l1->addWidget(accountlist_l, 10); - - edit_b = new QPushButton(tr("&Edit..."), this); - connect(edit_b, SIGNAL(clicked()), SLOT(editaccount())); - QWhatsThis::add(edit_b, tr("Allows you to modify the selected account")); - l1->addWidget(edit_b); - new_b = new QPushButton(tr("&New..."), this); - connect(new_b, SIGNAL(clicked()), SLOT(newaccount())); - l1->addWidget(new_b); + QWhatsThis::add(edit_b, tr("Allows you to modify the selected account")); QWhatsThis::add(new_b, tr("Create a new dialup connection\n" "to the Internet")); - - copy_b = new QPushButton(tr("Co&py"), this); - connect(copy_b, SIGNAL(clicked()), SLOT(copyaccount())); - l1->addWidget(copy_b); QWhatsThis::add(copy_b, @@ -78,6 +59,2 @@ AccountWidget::AccountWidget( PPPData *pd, QWidget *parent, const char *name ) "needs")); - - delete_b = new QPushButton(tr("De&lete"), this); - connect(delete_b, SIGNAL(clicked()), SLOT(deleteaccount())); - l1->addWidget(delete_b); QWhatsThis::add(delete_b, @@ -86,23 +63,13 @@ AccountWidget::AccountWidget( PPPData *pd, QWidget *parent, const char *name ) - QHBoxLayout *l12 = new QHBoxLayout; - l1->addStretch(1); - l1->addLayout(l12); - int currAccId = _pppdata->currentAccountID(); - qDebug("currentAccountID %i", currAccId); - //load up account list from gppdata to the list box - if(_pppdata->count() > 0) { - for(int i=0; i <= _pppdata->count()-1; i++) { - _pppdata->setAccountbyIndex(i); - accountlist_l->insertItem(_pppdata->accname()); - } - } - _pppdata->setAccountbyIndex( currAccId ); + copy_b->setEnabled( false ); //FIXME + // delete_b->setEnabled( false ); //FIXME - qDebug("setting listview index to %i",_pppdata->currentAccountID() ); - accountlist_l->setCurrentItem( _pppdata->currentAccountID() ); - slotListBoxSelect( _pppdata->currentAccountID() ); + listListbox->insertStringList(_pppdata->getAccountList()); - l1->activate(); + for (uint i = 0; i < listListbox->count(); i++){ + if ( listListbox->text(i) == _pppdata->accname() ) + listListbox->setCurrentItem( i ); + } } @@ -112,14 +79,11 @@ AccountWidget::AccountWidget( PPPData *pd, QWidget *parent, const char *name ) void AccountWidget::slotListBoxSelect(int idx) { - delete_b->setEnabled((bool)(idx != -1)); - edit_b->setEnabled((bool)(idx != -1)); - copy_b->setEnabled((bool)(idx != -1)); - if(idx!=-1) { - qDebug("setting account to %i", idx); - QString account = _pppdata->accname(); - _pppdata->setAccountbyIndex(accountlist_l->currentItem()); - } + bool ok = _pppdata->setAccount( listListbox->text(idx) ); + ok = (bool)(idx != -1); + delete_b->setEnabled(ok); + edit_b->setEnabled(ok); +//FIXME copy_b->setEnabled(ok); } -void AccountWidget::editaccount() { - _pppdata->setAccount(accountlist_l->text(accountlist_l->currentItem())); +void AccountWidget::edit() { + _pppdata->setAccount(listListbox->text(listListbox->currentItem())); @@ -128,3 +92,3 @@ void AccountWidget::editaccount() { if(result == QDialog::Accepted) { - accountlist_l->changeItem(_pppdata->accname(),accountlist_l->currentItem()); + listListbox->changeItem(_pppdata->accname(),listListbox->currentItem()); // emit resetaccounts(); @@ -135,9 +99,9 @@ void AccountWidget::editaccount() { -void AccountWidget::newaccount() { +void AccountWidget::create() { - if(accountlist_l->count() == MAX_ACCOUNTS) { - QMessageBox::information(this, "sorry", - tr("Maximum number of accounts reached.")); - return; - } +// if(listListbox->count() == MAX_ACCOUNTS) { +// QMessageBox::information(this, "sorry", +// tr("Maximum number of accounts reached.")); +// return; +// } @@ -151,4 +115,4 @@ void AccountWidget::newaccount() { if(result == QDialog::Accepted) { - accountlist_l->insertItem(_pppdata->accname()); - accountlist_l->setSelected(accountlist_l->findItem(_pppdata->accname()),true); + listListbox->insertItem(_pppdata->accname()); + listListbox->setSelected(listListbox->findItem(_pppdata->accname()),true); @@ -160,9 +124,9 @@ void AccountWidget::newaccount() { -void AccountWidget::copyaccount() { - if(accountlist_l->count() == MAX_ACCOUNTS) { - QMessageBox::information(this, "sorry", tr("Maximum number of accounts reached.")); - return; - } +void AccountWidget::copy() { +// if(listListbox->count() == MAX_ACCOUNTS) { +// QMessageBox::information(this, "sorry", tr("Maximum number of accounts reached.")); +// return; +// } - if(accountlist_l->currentItem()<0) { + if(listListbox->currentItem()<0) { QMessageBox::information(this, "sorry", tr("No account selected.")); @@ -171,5 +135,5 @@ void AccountWidget::copyaccount() { - _pppdata->copyaccount(accountlist_l->currentItem()); + _pppdata->copyaccount(listListbox->currentText()); - accountlist_l->insertItem(_pppdata->accname()); + listListbox->insertItem(_pppdata->accname()); // emit resetaccounts(); @@ -179,6 +143,6 @@ void AccountWidget::copyaccount() { -void AccountWidget::deleteaccount() { +void AccountWidget::remove() { QString s = tr("Are you sure you want to delete\nthe account \"%1\"?") - .arg(accountlist_l->text(accountlist_l->currentItem())); + .arg(listListbox->text(listListbox->currentItem())); @@ -189,9 +153,11 @@ void AccountWidget::deleteaccount() { - if(_pppdata->deleteAccount(accountlist_l->text(accountlist_l->currentItem()))) - accountlist_l->removeItem(accountlist_l->currentItem()); + if(_pppdata->deleteAccount(listListbox->text(listListbox->currentItem()))) + listListbox->removeItem(listListbox->currentItem()); - emit resetaccounts(); - _pppdata->save(); - slotListBoxSelect(accountlist_l->currentItem()); +// emit resetaccounts(); +// _pppdata->save(); + + + slotListBoxSelect(listListbox->currentItem()); @@ -201,3 +167,3 @@ void AccountWidget::deleteaccount() { int AccountWidget::doTab(){ - QDialog *dlg = new QDialog( 0, "newAccount", true ); + QDialog *dlg = new QDialog( 0, "newAccount", true, Qt::WStyle_ContextHelp ); QVBoxLayout *layout = new QVBoxLayout( dlg ); @@ -206,3 +172,3 @@ int AccountWidget::doTab(){ - tabWindow = new QTabWidget( dlg, "tabWindow" ); + QTabWidget *tabWindow = new QTabWidget( dlg, "tabWindow" ); layout->addWidget( tabWindow ); @@ -275,21 +241,21 @@ int AccountWidget::doTab(){ -QString AccountWidget::prettyPrintVolume(unsigned int n) { - int idx = 0; - const QString quant[] = {tr("Byte"), tr("KB"), - tr("MB"), tr("GB"), QString::null}; +// QString AccountWidget::prettyPrintVolume(unsigned int n) { +// int idx = 0; +// const QString quant[] = {tr("Byte"), tr("KB"), +// tr("MB"), tr("GB"), QString::null}; - float n1 = n; - while(n >= 1024 && quant[idx] != QString::null) { - idx++; - n /= 1024; - } +// float n1 = n; +// while(n >= 1024 && quant[idx] != QString::null) { +// idx++; +// n /= 1024; +// } - int i = idx; - while(i--) - n1 = n1 / 1024.0; +// int i = idx; +// while(i--) +// n1 = n1 / 1024.0; - QString s = QString::number( n1, 'f', idx==0 ? 0 : 1 ); - s += " " + quant[idx]; - return s; -} +// QString s = QString::number( n1, 'f', idx==0 ? 0 : 1 ); +// s += " " + quant[idx]; +// return s; +// } 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 @@ -29,3 +29,2 @@ -#include <qwidget.h> #include <qdialog.h> @@ -33,5 +32,4 @@ #include <qlistbox.h> -//#include "acctselect.h" +#include "chooserwidget.h" -class QDialog; class QCheckBox; @@ -39,2 +37,6 @@ class QLineEdit; class QTabWidget; +class ModemWidget; +class ModemWidget2; + + class DialWidget; @@ -46,26 +48,23 @@ class PPPData; -class AccountWidget : public QWidget { + +class AccountWidget : public ChooserWidget { + Q_OBJECT public: - AccountWidget( PPPData *pd, QWidget *parent=0, const char *name=0 ); + AccountWidget( PPPData *pd, QWidget *parent=0, const char *name=0, WFlags f=0 ); ~AccountWidget() {} -private slots: - void editaccount(); - void copyaccount(); - void newaccount(); - void deleteaccount(); - void slotListBoxSelect(int); -private: +private slots: + virtual void edit(); + virtual void copy(); + virtual void remove(); + virtual void create(); + virtual void slotListBoxSelect(int); int doTab(); -signals: - void resetaccounts(); + signals: + void resetaccounts(); private: - QString prettyPrintVolume(unsigned int); - - PPPData *_pppdata; - QTabWidget *tabWindow; DialWidget *dial_w; @@ -76,7 +75,2 @@ private: - QListBox *accountlist_l; - QPushButton *edit_b; - QPushButton *copy_b; - QPushButton *new_b; - QPushButton *delete_b; }; 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 @@ +/* + * kPPP: A pppd front end for the KDE project + * + * $Id$ + * + * Copyright (C) 1997 Bernd Johannes Wuebben + * wuebben@math.cornell.edu + * + * based on EzPPP: + * Copyright (C) 1997 Jay Painter + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include <qdir.h> +#include <stdlib.h> +#include <qlayout.h> +#include <qtabwidget.h> +#include <qtabdialog.h> +#include <qwhatsthis.h> +#include <qmessagebox.h> + +#include <qapplication.h> +#include <qbuttongroup.h> +#include <qmessagebox.h> +#include <qvgroupbox.h> +#include <qwidget.h> + +#include "accounts.h" +#include "authwidget.h" +#include "pppdata.h" +#include "edit.h" + +void parseargs(char* buf, char** args); + +ChooserWidget::ChooserWidget( PPPData *pd, QWidget *parent, const char *name, WFlags f ) + : QWidget( parent, name, f ) +{ + _pppdata = pd; + QVBoxLayout *l1 = new QVBoxLayout(this, 10, 10); + listListbox = new QListBox(this); + + connect(listListbox, SIGNAL(highlighted(int)), + this, SLOT(slotListBoxSelect(int))); + connect(listListbox, SIGNAL(selected(int)),this, SLOT(edit())); + l1->addWidget(listListbox, 10); + + edit_b = new QPushButton(tr("&Edit..."), this); + connect(edit_b, SIGNAL(clicked()), SLOT(edit())); + l1->addWidget(edit_b); + + new_b = new QPushButton(tr("&New..."), this); + connect(new_b, SIGNAL(clicked()), SLOT(create())); + l1->addWidget(new_b); + + + copy_b = new QPushButton(tr("Co&py"), this); + connect(copy_b, SIGNAL(clicked()), SLOT(copy())); + l1->addWidget(copy_b); + + delete_b = new QPushButton(tr("De&lete"), this); + connect(delete_b, SIGNAL(clicked()), SLOT(remove())); + l1->addWidget(delete_b); + + + QHBoxLayout *l12 = new QHBoxLayout; + l1->addStretch(1); + l1->addLayout(l12); + + l1->activate(); + +} + 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 @@ +/* -*- C++ -*- + * kPPP: A pppd front end for the KDE project + * + * $Id$ + * + * Copyright (C) 1997 Bernd Johannes Wuebben + * wuebben@math.cornell.edu + * + * based on EzPPP: + * Copyright (C) 1997 Jay Painter + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifndef _CHOOSERWIDGET_H_ +#define _CHOOSERWIDGET_H_ + +#include <qwidget.h> +#include <qdialog.h> +#include <qpushbutton.h> +#include <qlistbox.h> +//#include "acctselect.h" + +class QDialog; +class QCheckBox; +class QLineEdit; +class QTabWidget; +class DialWidget; +class AuthWidget; +class IPWidget; +class DNSWidget; +class GatewayWidget; +class PPPData; + +class ChooserWidget : public QWidget { + Q_OBJECT +public: + ChooserWidget( PPPData *pd, QWidget *parent=0, const char *name=0, WFlags f=0 ); + ~ChooserWidget() {} + +private slots: + virtual void edit() = 0; + virtual void copy() = 0; + virtual void create()= 0; + virtual void remove()= 0; + virtual void slotListBoxSelect(int) = 0; + + +protected: + PPPData *_pppdata; + + QListBox *listListbox; + QPushButton *edit_b; + QPushButton *copy_b; + QPushButton *new_b; + QPushButton *delete_b; +}; + + +#endif + 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 @@ -34,3 +34,2 @@ //#include <klocale.h> -#define i18n QObject::tr #include <qmessagebox.h> @@ -101,3 +100,3 @@ ConnectWidget::ConnectWidget(InterfacePPP *ifp, QWidget *parent, const char *nam QVBoxLayout *tl = new QVBoxLayout(this, 8, 10); - QString tit = i18n("Connecting to: "); + QString tit = QObject::tr("Connecting to: "); setCaption(tit); @@ -110,3 +109,3 @@ ConnectWidget::ConnectWidget(InterfacePPP *ifp, QWidget *parent, const char *nam messg->setAlignment(AlignCenter); - messg->setText(i18n("Unable to create modem lock file.")); + messg->setText(QObject::tr("Unable to create modem lock file.")); messg->setMinimumHeight(messg->sizeHint().height() + 5); @@ -116,5 +115,5 @@ ConnectWidget::ConnectWidget(InterfacePPP *ifp, QWidget *parent, const char *nam if (_ifaceppp->getStatus()) - messg->setText(i18n("Online")); + messg->setText(QObject::tr("Online")); else - messg->setText(i18n("Offline")); + messg->setText(QObject::tr("Offline")); l0->addSpacing(10); @@ -127,3 +126,3 @@ ConnectWidget::ConnectWidget(InterfacePPP *ifp, QWidget *parent, const char *nam - debug = new QPushButton(i18n("Log"), this); + debug = new QPushButton(QObject::tr("Log"), this); debug->setToggleButton(true); @@ -132,3 +131,3 @@ ConnectWidget::ConnectWidget(InterfacePPP *ifp, QWidget *parent, const char *nam - cancel = new QPushButton(i18n("Cancel"), this); + cancel = new QPushButton(QObject::tr("Cancel"), this); cancel->setFocus(); @@ -175,3 +174,3 @@ void ConnectWidget::preinit() { // you have to see to believe ... - messg->setText(i18n("Looking for modem...")); + messg->setText(QObject::tr("Looking for modem...")); inittimer->start(100); @@ -203,3 +202,3 @@ void ConnectWidget::init() { - QString tit = i18n("Connecting to: %1").arg(_ifaceppp->data()->accname()); + QString tit = QObject::tr("Connecting to: %1").arg(_ifaceppp->data()->accname()); setCaption(tit); @@ -210,4 +209,4 @@ void ConnectWidget::init() { if (!_ifaceppp->data()->command_before_connect().isEmpty()) { - messg->setText(i18n("Running pre-startup command...")); - emit debugMessage(i18n("Running pre-startup command...")); + messg->setText(QObject::tr("Running pre-startup command...")); + emit debugMessage(QObject::tr("Running pre-startup command...")); @@ -228,3 +227,3 @@ void ConnectWidget::init() { if (lock == 1) { - messg->setText(i18n("Modem device is locked.")); + messg->setText(QObject::tr("Modem device is locked.")); vmain = 20; // wait until cancel is pressed @@ -234,3 +233,3 @@ void ConnectWidget::init() { if (lock == -1) { - messg->setText(i18n("Unable to create modem lock file.")); + messg->setText(QObject::tr("Unable to create modem lock file.")); vmain = 20; // wait until cancel is pressed @@ -281,4 +280,4 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if(substate == -1) { - messg->setText(i18n("Initializing modem...")); - emit debugMessage(i18n("Initializing modem...")); + messg->setText(QObject::tr("Initializing modem...")); + emit debugMessage(QObject::tr("Initializing modem...")); substate = 0; @@ -319,3 +318,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { QString sToneDuration = "ATS11=" + QString::number(_ifaceppp->data()->modemToneDuration()); - QString msg = i18n("Setting ") + sToneDuration; + QString msg = QObject::tr("Setting ") + sToneDuration; messg->setText(msg); @@ -342,4 +341,4 @@ void ConnectWidget::timerEvent(QTimerEvent *) { } - messg->setText(i18n("Setting speaker volume...")); - emit debugMessage(i18n("Setting speaker volume...")); + messg->setText(QObject::tr("Setting speaker volume...")); + emit debugMessage(QObject::tr("Setting speaker volume...")); @@ -358,3 +357,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if(!_ifaceppp->data()->waitForDialTone()) { - QString msg = i18n("Turning off dial tone waiting..."); + QString msg = QObject::tr("Turning off dial tone waiting..."); messg->setText(msg); @@ -379,3 +378,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { bmarg += *plist.at(dialnumber); - QString bm = i18n("Dialing %1").arg(bmarg); + QString bm = QObject::tr("Dialing %1").arg(bmarg); messg->setText(bm); @@ -410,3 +409,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { - messg->setText(i18n("Line busy. Hanging up...")); + messg->setText(QObject::tr("Line busy. Hanging up...")); emit debugPutChar('\n'); @@ -415,3 +414,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if(_ifaceppp->data()->busyWait() > 0) { - QString bm = i18n("Line busy. Waiting: %1 seconds").arg(_ifaceppp->data()->busyWait()); + QString bm = QObject::tr("Line busy. Waiting: %1 seconds").arg(_ifaceppp->data()->busyWait()); messg->setText(bm); @@ -434,3 +433,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { - messg->setText(i18n("No Dialtone")); + messg->setText(QObject::tr("No Dialtone")); vmain = 20; @@ -443,3 +442,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { - messg->setText(i18n("No Carrier")); + messg->setText(QObject::tr("No Carrier")); vmain = 20; @@ -481,3 +480,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "Scan") { - QString bm = i18n("Scanning %1").arg(scriptArgument); + QString bm = QObject::tr("Scanning %1").arg(scriptArgument); messg->setText(bm); @@ -491,3 +490,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "Save") { - QString bm = i18n("Saving %1").arg(scriptArgument); + QString bm = QObject::tr("Saving %1").arg(scriptArgument); messg->setText(bm); @@ -509,3 +508,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "Send" || scriptCommand == "SendNoEcho") { - QString bm = i18n("Sending %1"); + QString bm = QObject::tr("Sending %1"); @@ -534,3 +533,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "Expect") { - QString bm = i18n("Expecting %1").arg(scriptArgument); + QString bm = QObject::tr("Expecting %1").arg(scriptArgument); messg->setText(bm); @@ -548,3 +547,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "Pause") { - QString bm = i18n("Pause %1 seconds").arg(scriptArgument); + QString bm = QObject::tr("Pause %1 seconds").arg(scriptArgument); messg->setText(bm); @@ -565,3 +564,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { - QString bm = i18n("Timeout %1 seconds").arg(scriptArgument); + QString bm = QObject::tr("Timeout %1 seconds").arg(scriptArgument); messg->setText(bm); @@ -577,4 +576,4 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "Hangup") { - messg->setText(i18n("Hangup")); - emit debugMessage(i18n("Hangup")); + messg->setText(QObject::tr("Hangup")); + emit debugMessage(QObject::tr("Hangup")); @@ -591,4 +590,4 @@ void ConnectWidget::timerEvent(QTimerEvent *) { - messg->setText(i18n("Answer")); - emit debugMessage(i18n("Answer")); + messg->setText(QObject::tr("Answer")); + emit debugMessage(QObject::tr("Answer")); @@ -600,3 +599,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "ID") { - QString bm = i18n("ID %1").arg(scriptArgument); + QString bm = QObject::tr("ID %1").arg(scriptArgument); messg->setText(bm); @@ -636,3 +635,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "Password") { - QString bm = i18n("Password %1").arg(scriptArgument); + QString bm = QObject::tr("Password %1").arg(scriptArgument); messg->setText(bm); @@ -673,3 +672,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "Prompt") { - QString bm = i18n("Prompting %1"); + QString bm = QObject::tr("Prompting %1"); @@ -710,3 +709,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "PWPrompt") { - QString bm = i18n("PW Prompt %1").arg(scriptArgument); + QString bm = QObject::tr("PW Prompt %1").arg(scriptArgument); messg->setText(bm); @@ -735,3 +734,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { - QString bm = i18n("Loop Start %1").arg(scriptArgument); + QString bm = QObject::tr("Loop Start %1").arg(scriptArgument); @@ -743,6 +742,6 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if ( loopnest > (MAXLOOPNEST-2) ) { - bm += i18n("ERROR: Nested too deep, ignored."); + bm += QObject::tr("ERROR: Nested too deep, ignored."); vmain=20; cancelbutton(); - QMessageBox::critical(0, "error", i18n("Loops nested too deeply!")); + QMessageBox::critical(0, "error", QObject::tr("Loops nested too deeply!")); } else { @@ -760,5 +759,5 @@ void ConnectWidget::timerEvent(QTimerEvent *) { if (scriptCommand == "LoopEnd") { - QString bm = i18n("Loop End %1").arg(scriptArgument); + QString bm = QObject::tr("Loop End %1").arg(scriptArgument); if ( loopnest <= 0 ) { - bm = i18n("LoopEnd without matching Start! Line: %1").arg(bm); + bm = QObject::tr("LoopEnd without matching Start! Line: %1").arg(bm); vmain=20; @@ -850,3 +849,3 @@ void ConnectWidget::timerEvent(QTimerEvent *) { - emit debugMessage(i18n("Starting pppd...")); + emit debugMessage(QObject::tr("Starting pppd...")); qDebug("execppp() returned with return-code %i", result ); @@ -932,3 +931,3 @@ void ConnectWidget::checkBuffers() { // Show the Variabel content in the debug window - QString sv = i18n("Scan Var: %1").arg(scanvar); + QString sv = QObject::tr("Scan Var: %1").arg(scanvar); emit debugMessage(sv); @@ -942,3 +941,3 @@ void ConnectWidget::checkBuffers() { - QString ts = i18n("Found: %1").arg(expectstr); + QString ts = QObject::tr("Found: %1").arg(expectstr); emit debugMessage(ts); @@ -953,3 +952,3 @@ void ConnectWidget::checkBuffers() { readbuffer = ""; - QString ts = i18n("Looping: %1").arg(loopstr[loopnest]); + QString ts = QObject::tr("Looping: %1").arg(loopstr[loopnest]); emit debugMessage(ts); @@ -986,3 +985,3 @@ void ConnectWidget::cancelbutton() { - messg->setText(i18n("One moment please...")); + messg->setText(QObject::tr("One moment please...")); @@ -1008,3 +1007,3 @@ void ConnectWidget::cancelbutton() { if (prompt->isVisible()) { - prompt->hide(); + prompt->hide(); } @@ -1012,3 +1011,6 @@ void ConnectWidget::cancelbutton() { - messg->setText(tr("offline")); + _ifaceppp->setStatus( false ); + _ifaceppp->refresh(); +// messg->setText(tr("offline")); + refresh(); } @@ -1028,3 +1030,3 @@ void ConnectWidget::script_timed_out() { prompt->setConsumed(); - messg->setText(i18n("Script timed out!")); + messg->setText(QObject::tr("Script timed out!")); _ifaceppp->modem()->hangup(); @@ -1043,3 +1045,3 @@ void ConnectWidget::setScan(const QString &n) { - QString ts = i18n("Scanning: %1").arg(n); + QString ts = QObject::tr("Scanning: %1").arg(n); emit debugMessage(ts); @@ -1052,3 +1054,3 @@ void ConnectWidget::setExpect(const QString &n) { - QString ts = i18n("Expecting: %1").arg(n); + QString ts = QObject::tr("Expecting: %1").arg(n); ts.replace(QRegExp("\n"), "<LF>"); @@ -1087,3 +1089,3 @@ void ConnectWidget::pppdDied() void ConnectWidget::if_waiting_slot() { - messg->setText(i18n("Logging on to network...")); + messg->setText(QObject::tr("Logging on to network...")); @@ -1118,3 +1120,3 @@ void ConnectWidget::if_waiting_slot() { if(!_ifaceppp->data()->command_on_connect().isEmpty()) { - messg->setText(i18n("Running startup command...")); + messg->setText(QObject::tr("Running startup command...")); @@ -1123,3 +1125,3 @@ void ConnectWidget::if_waiting_slot() { execute_command(_ifaceppp->data()->command_on_connect()); - messg->setText(i18n("Done")); + messg->setText(QObject::tr("Done")); } @@ -1130,3 +1132,3 @@ void ConnectWidget::if_waiting_slot() { - emit debugMessage(i18n("Done")); + emit debugMessage(QObject::tr("Done")); set_con_speed_string(); @@ -1134,6 +1136,11 @@ void ConnectWidget::if_waiting_slot() { // p_kppp->con_win->setConnectionSpeed(p_kppp->con_speed); - this->hide(); - messg->setText(""); +// this->hide(); +// messg->setText(""); _ifaceppp->setStatus( true ); + + m_refreshTimer = new QTimer( this ); + connect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) ); + m_refreshTimer->start( 3000 ); + //_ifaceppp->refresh(); // emit _ifaceppp->updateInterface(_ifaceppp); @@ -1163,2 +1170,11 @@ void ConnectWidget::if_waiting_slot() { +void ConnectWidget::refresh() { + _ifaceppp->refresh(); + if ( _ifaceppp->getStatus() ) { + messg->setText(QObject::tr("Online")); + } else { + messg->setText(QObject::tr("Offline")); + } +} + @@ -1212,9 +1228,2 @@ bool ConnectWidget::execppp() { - QStringList &arglist = _ifaceppp->data()->pppdArgument(); - for ( QStringList::Iterator it = arglist.begin(); - it != arglist.end(); - ++it ) - { - command += " " + *it; - } @@ -1223,3 +1232,3 @@ bool ConnectWidget::execppp() { command += " -chap user "; - command = command + "\"" + _ifaceppp->data()->storedUsername() + "\""; + command = command + _ifaceppp->data()->storedUsername(); } @@ -1229,3 +1238,3 @@ bool ConnectWidget::execppp() { command += " -pap user "; - command = command + "\"" + _ifaceppp->data()->storedUsername() + "\""; + command = command + _ifaceppp->data()->storedUsername(); } @@ -1234,4 +1243,7 @@ bool ConnectWidget::execppp() { if(_ifaceppp->data()->authMethod() == AUTH_PAPCHAP) { - command += " user "; - command = command + "\"" + _ifaceppp->data()->storedUsername() + "\""; + QString tmpName = _ifaceppp->data()->storedUsername(); + if ( !tmpName.isEmpty() ) { + command += " user "; + command = command + tmpName; + } } @@ -1242,4 +1254,14 @@ bool ConnectWidget::execppp() { + QStringList &arglist = _ifaceppp->data()->pppdArgument(); + for ( QStringList::Iterator it = arglist.begin(); + it != arglist.end(); + ++it ) + { + command += " " + *it; + } + + command += " call opie-kppp logfd 11"; + if (command.length() > MAX_CMDLEN) { - QMessageBox::critical(this, "error", i18n( + QMessageBox::critical(this, "error", QObject::tr( "pppd command + command-line arguments exceed " @@ -1251,2 +1273,4 @@ bool ConnectWidget::execppp() { + qWarning("Command IS: %s",command.latin1() ); + qApp->flushX(); 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 @@ -64,2 +64,3 @@ private slots: void if_waiting_slot(); + void refresh(); @@ -129,2 +130,3 @@ private: QTimer *if_timeout_timer; + QTimer *m_refreshTimer; 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 @@ -26,8 +26,3 @@ #include "conwindow.h" -//#include "docking.h" #include "pppdata.h" -// #include "pppstats.h" -// #include <klocale.h> -#define i18n QObject::tr -// #include <kglobal.h> @@ -44,9 +39,9 @@ ConWindow::ConWindow(PPPData *pd, QWidget *parent, const char *name, { - info1 = new QLabel(i18n("Connected at:"), this); + info1 = new QLabel(QObject::tr("Connected at:"), this); info2 = new QLabel("", this); - timelabel1 = new QLabel(i18n("Time connected:"), this); + timelabel1 = new QLabel(QObject::tr("Time connected:"), this); timelabel2 = new QLabel("000:00:00", this); - vollabel = new QLabel(i18n("Volume:"), this); + vollabel = new QLabel(QObject::tr("Volume:"), this); volinfo = new QLabel("", this); @@ -54,5 +49,5 @@ ConWindow::ConWindow(PPPData *pd, QWidget *parent, const char *name, // now the stuff for accounting - session_bill_l = new QLabel(i18n("Session Bill:"), this); + session_bill_l = new QLabel(QObject::tr("Session Bill:"), this); session_bill = new QLabel("", this); - total_bill_l = new QLabel(i18n("Total Bill:"), this); + total_bill_l = new QLabel(QObject::tr("Total Bill:"), this); total_bill = new QLabel("", this); @@ -62,3 +57,3 @@ ConWindow::ConWindow(PPPData *pd, QWidget *parent, const char *name, cancelbutton = new QPushButton(this); - cancelbutton->setText(i18n("Disconnect")); + cancelbutton->setText(QObject::tr("Disconnect")); connect(cancelbutton, SIGNAL(clicked()), mainwidget, SLOT(disconnect())); @@ -66,3 +61,3 @@ ConWindow::ConWindow(PPPData *pd, QWidget *parent, const char *name, // statsbutton = new QPushButton(this); -// statsbutton->setText(i18n("Details")); +// statsbutton->setText(QObject::tr("Details")); // statsbutton->setFocus(); @@ -96,4 +91,4 @@ QString ConWindow::prettyPrintVolume(unsigned int n) { int idx = 0; - const QString quant[] = {i18n("Byte"), i18n("KB"), - i18n("MB"), i18n("GB"), QString::null}; + const QString quant[] = {QObject::tr("Byte"), QObject::tr("KB"), + QObject::tr("MB"), QObject::tr("GB"), QString::null}; @@ -261,3 +256,3 @@ void ConWindow::stopClock() { void ConWindow::timeclick() { -// QString tooltip = i18n("Connection: %1\n" +// QString tooltip = QObject::tr("Connection: %1\n" // "Connected at: %2\n" @@ -268,3 +263,3 @@ void ConWindow::timeclick() { // if(accountingEnabled) -// tooltip += i18n("\nSession Bill: %1\nTotal Bill: %2") +// tooltip += QObject::tr("\nSession Bill: %1\nTotal Bill: %2") // .arg(session_bill->text()).arg(total_bill->text()); 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 @@ +/* + * kPPP: A pppd front end for the KDE project + * + * $Id$ + * + * Copyright (C) 1997 Bernd Johannes Wuebben + * wuebben@math.cornell.edu + * + * based on EzPPP: + * Copyright (C) 1997 Jay Painter + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include <qdir.h> +#include <stdlib.h> +#include <qlayout.h> +#include <qtabwidget.h> +#include <qtabdialog.h> +#include <qwhatsthis.h> +#include <qmessagebox.h> + +#include <qapplication.h> +#include <qbuttongroup.h> +#include <qmessagebox.h> +#include <qvgroupbox.h> + +#include "interfaceppp.h" +#include "devices.h" +#include "authwidget.h" +#include "pppdata.h" +#include "edit.h" +#include "general.h" + +void parseargs(char* buf, char** args); + +DevicesWidget::DevicesWidget( InterfacePPP* ip, QWidget *parent, const char *name, WFlags f ) + : ChooserWidget(ip->data(), parent, name, f) +{ + _ifaceppp = ip; + QWhatsThis::add(edit_b, tr("Allows you to modify the selected device")); + QWhatsThis::add(new_b, tr("Create a new device") ); + + QWhatsThis::add(copy_b, + tr("Makes a copy of the selected device. All\n" + "settings of the selected device are copied\n" + "to a new device, that you can modify to fit your\n" + "needs")); + QWhatsThis::add(delete_b, + tr("<p>Deletes the selected device\n\n" + "<font color=\"red\"><b>Use with care!</b></font>")); + + copy_b->setEnabled( false ); //FIXME +// delete_b->setEnabled( false ); //FIXME + + QStringList tmp = _pppdata->getDevicesNamesList(); + qDebug("DevicesWidget::DevicesWidget got devices %s",tmp.join("--").latin1()); + listListbox->insertStringList(tmp); + + for (uint i = 0; i < listListbox->count(); i++){ + qDebug("listListbox->text(i) %s == _pppdata->devname() %s",listListbox->text(i).latin1(), _pppdata->devname().latin1()); + if ( listListbox->text(i) == _pppdata->devname() ) + listListbox->setCurrentItem( i ); + } +} + + + +void DevicesWidget::slotListBoxSelect(int idx) { + bool ok = _pppdata->setDevice( listListbox->text(idx) ); + delete_b->setEnabled((bool)(idx != -1)); + edit_b->setEnabled((bool)(idx != -1)); +//FIXME copy_b->setEnabled((bool)(idx != -1)); +} + +void DevicesWidget::edit() { + _pppdata->setDevice(listListbox->text(listListbox->currentItem())); + + int result = doTab(); + + if(result == QDialog::Accepted) { + listListbox->changeItem(_pppdata->devname(),listListbox->currentItem()); + _pppdata->save(); + } +} + + +void DevicesWidget::create() { + +// if(listListbox->count() == MAX_ACCOUNTS) { +// QMessageBox::information(this, "sorry", +// tr("Maximum number of accounts reached.")); +// return; +// } + + int result; + if (_pppdata->newdevice() == -1){ + return; + } + result = doTab(); + + if(result == QDialog::Accepted) { + listListbox->insertItem(_pppdata->devname()); + listListbox->setSelected(listListbox->findItem(_pppdata->devname()),true ); + + _pppdata->save(); + } else + _pppdata->deleteDevice(); +} + + +void DevicesWidget::copy() { +// if(listListbox->count() == MAX_ACCOUNTS) { +// QMessageBox::information(this, "sorry", tr("Maximum number of accounts reached.")); +// return; +// } + + if(listListbox->currentItem()<0) { + QMessageBox::information(this, "sorry", tr("No devices selected.")); + return; + } + + _pppdata->copydevice(listListbox->currentText()); + + listListbox->insertItem(_pppdata->devname()); + _pppdata->save(); +} + + +void DevicesWidget::remove() { + + QString s = tr("Are you sure you want to delete\nthe device \"%1\"?") + .arg(listListbox->text(listListbox->currentItem())); + + if(QMessageBox::warning(this,tr("Confirm"),s, + QMessageBox::Yes,QMessageBox::No + ) != QMessageBox::Yes) + return; + + if(_pppdata->deleteDevice(listListbox->text(listListbox->currentItem()))) + listListbox->removeItem(listListbox->currentItem()); + + +// _pppdata->save(); + + + slotListBoxSelect(listListbox->currentItem()); + +} + + +int DevicesWidget::doTab(){ + QDialog *dlg = new QDialog( 0, "newDevice", true, Qt::WStyle_ContextHelp ); + QVBoxLayout *layout = new QVBoxLayout( dlg ); + layout->setSpacing( 0 ); + layout->setMargin( 1 ); + + QTabWidget *tabWindow = new QTabWidget( dlg, "tabWindow" ); + layout->addWidget( tabWindow ); + + bool isnew; + + if(_pppdata->devname().isEmpty()) { + dlg->setCaption(tr("New Device")); + isnew = true; + } else { + QString tit = tr("Edit Device: "); + tit += _pppdata->devname(); + dlg->setCaption(tit); + isnew = false; + } + + modem1 = new ModemWidget( _pppdata, tabWindow, "modem1" ); + tabWindow->addTab( modem1, tr("&Device") ); + modem2 = new ModemWidget2( _pppdata, _ifaceppp, tabWindow, "modem2" ); + tabWindow->addTab( modem2, tr("&Modem") ); + + int result = 0; + bool ok = false; + + while (!ok){ + dlg->showMaximized(); + result = dlg->exec(); + ok = true; + + if(result == QDialog::Accepted) { + if (!modem1->save()){ + QMessageBox::critical(this, "error", tr( "You must enter a unique device name")); + ok = false; + }else{ + modem2->save(); + } + } + } + + delete dlg; + + return result; +} + 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 @@ -5,55 +5,46 @@ -static const char *devices[] = { -#ifdef __FreeBSD__ - "/dev/cuaa0", - "/dev/cuaa1", - "/dev/cuaa2", - "/dev/cuaa3", - "/dev/cuaa4", -#elif defined(__NetBSD__) - "/dev/tty00", /* "normal" modem lines */ - "/dev/tty01", - "/dev/tty02", - "/dev/tty03", - "/dev/dty00", /* Dial out devices */ - "/dev/dty01", - "/dev/dty02", - "/dev/dty03", - "/dev/ttyU0", /* USB stuff modems */ - "/dev/ttyU1", - "/dev/ttyU2", - "/dev/ttyU3", - "/dev/dtyU0", /* USB stuff, too (dial out device) */ - "/dev/dtyU1", - "/dev/dtyU2", - "/dev/dtyU3", -#elif defined (__linux__) - "/dev/modem", - "/dev/ttyS0", - "/dev/ttyS1", - "/dev/ttyS2", - "/dev/ttyS3", -#ifdef ISDNSUPPORT - "/dev/ttyI0", - "/dev/ttyI1", - "/dev/ttyI2", - "/dev/ttyI3", -#endif - "/dev/usb/ttyACM0", /* USB stuff modems */ - "/dev/usb/ttyACM1", - "/dev/usb/ttyACM2", - "/dev/usb/ttyACM3", - "/dev/ircomm0", - "/dev/rfcomm0", - "/dev/rfcomm1", -#elif defined(__svr4__) - "/dev/cua/a", - "/dev/cua/b", - "/dev/ttya", - "/dev/ttyb", -#endif - 0}; +#include <qwidget.h> +#include <qdialog.h> +#include <qpushbutton.h> +#include <qlistbox.h> +#include "chooserwidget.h" + +class QCheckBox; +class QLineEdit; +class QTabWidget; +class DialWidget; +class AuthWidget; +class IPWidget; +class DNSWidget; +class GatewayWidget; +class InterfacePPP; +class PPPData; +class ModemWidget; +class ModemWidget2; + +class DevicesWidget : public ChooserWidget { + Q_OBJECT +public: + DevicesWidget( InterfacePPP* ip, QWidget *parent=0, const char *name=0, WFlags f=0 ); + ~DevicesWidget() {} + + +private slots: + virtual void edit(); + virtual void copy(); + virtual void remove(); + virtual void create(); + virtual void slotListBoxSelect(int); + int doTab(); + +// signals: +// void resetaccounts(); + +private: + ModemWidget *modem1; + ModemWidget2 *modem2; + InterfacePPP *_ifaceppp; + +}; -// default device number from the list above -const int DEV_DEFAULT = 0; 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 @@ -78,5 +78,5 @@ DialWidget::DialWidget( PPPData *pd, QWidget *parent, bool isnewaccount up = new QPushButton(this); - up->setPixmap( Resource::loadPixmap("inline/up") ); + up->setPixmap( Resource::loadPixmap("up") ); down = new QPushButton(this); - down->setPixmap( Resource::loadPixmap("inline/down") ); + down->setPixmap( Resource::loadPixmap("down") ); lpn1->addWidget(add); 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 @@ -37,5 +37,6 @@ #include <qwhatsthis.h> - +#include <qpe/config.h> // #include <qgroupbox.h> + #include "general.h" @@ -45,6 +46,5 @@ #include "modemcmds.h" -#include "devices.h" +//#include "devices.h" #include "pppdata.h" //#include <klocale.h> -#define i18n QObject::tr @@ -52,4 +52,5 @@ -ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name ) - : QWidget(parent, name), _ifaceppp(ifppp) + +ModemWidget::ModemWidget( PPPData *pd, QWidget *parent, const char *name ) + : QWidget(parent, name), _pppdata(pd) { @@ -60,15 +61,33 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name QLabel *label1; - label1 = new QLabel(i18n("Modem de&vice:"), this); + + label1 = new QLabel(tr("Modem &name:"), this); tl->addWidget(label1, 0, 0); + modemname = new QLineEdit(this, "modemName"); + modemname->setText( _pppdata->devname() ); + label1->setBuddy(modemname); + tl->addWidget(modemname, 0, 1); + + label1 = new QLabel(tr("Modem de&vice:"), this); + tl->addWidget(label1, 1, 0); + modemdevice = new QComboBox(false, this); + modemdevice->setEditable( true ); + modemdevice->setDuplicatesEnabled ( false ); + modemdevice->setInsertionPolicy( QComboBox::AtTop ); label1->setBuddy(modemdevice); - for(k = 0; devices[k]; k++) - modemdevice->insertItem(devices[k]); + Config cfg("NetworkSetupPPP"); + cfg.setGroup("Devices_General"); + QStringList devs = cfg.readListEntry("devices",','); + if (devs.isEmpty()) devs << "/dev/modem" << "/dev/ircomm0" << "/dev/ttyS0"; + modemdevice->insertStringList( devs ); + tl->addWidget(modemdevice, 1, 1); + +// connect(modemdevice, SIGNAL(activated(int)), +// SLOT(setmodemdc(int))); +// connect(modemdevice, SIGNAL(textChanged( const QString & ) ), +// SLOT( setmodemdc( const QString &) ) ); - tl->addWidget(modemdevice, 0, 1); - connect(modemdevice, SIGNAL(activated(int)), - SLOT(setmodemdc(int))); - QString tmp = i18n("This specifies the serial port your modem is attached \n" + QString tmp = tr("This specifies the serial port your modem is attached \n" "to. On Linux/x86, typically this is either /dev/ttyS0 \n" @@ -84,4 +103,4 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name - label1 = new QLabel(i18n("&Flow control:"), this); - tl->addWidget(label1, 1, 0); + label1 = new QLabel(tr("&Flow control:"), this); + tl->addWidget(label1, 2, 0); @@ -89,10 +108,10 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name label1->setBuddy(flowcontrol); - flowcontrol->insertItem(i18n("Hardware [CRTSCTS]")); - flowcontrol->insertItem(i18n("Software [XON/XOFF]")); - flowcontrol->insertItem(i18n("None")); - tl->addWidget(flowcontrol, 1, 1); - connect(flowcontrol, SIGNAL(activated(int)), - SLOT(setflowcontrol(int))); - - tmp = i18n("<p>Specifies how the serial port and modem\n" + flowcontrol->insertItem(tr("Hardware [CRTSCTS]")); + flowcontrol->insertItem(tr("Software [XON/XOFF]")); + flowcontrol->insertItem(tr("None")); + tl->addWidget(flowcontrol, 2, 1); +// connect(flowcontrol, SIGNAL(activated(int)), +// SLOT(setflowcontrol(int))); + + tmp = tr("<p>Specifies how the serial port and modem\n" "communicate. You should not change this unless\n" @@ -105,4 +124,4 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name - QLabel *labelenter = new QLabel(i18n("&Line termination:"), this); - tl->addWidget(labelenter, 2, 0); + QLabel *labelenter = new QLabel(tr("&Line termination:"), this); + tl->addWidget(labelenter, 3, 0); @@ -113,5 +132,5 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name enter->insertItem("CR/LF"); - tl->addWidget(enter, 2, 1); - connect(enter, SIGNAL(activated(int)), SLOT(setenter(int))); - tmp = i18n("<p>Specifies how AT commands are sent to your\n" + tl->addWidget(enter, 3, 1); +// connect(enter, SIGNAL(activated(int)), SLOT(setenter(int))); + tmp = tr("<p>Specifies how AT commands are sent to your\n" "modem. Most modems will work fine with the\n" @@ -126,4 +145,4 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name - QLabel *baud_label = new QLabel(i18n("Co&nnection speed:"), this); - tl->addWidget(baud_label, 3, 0); + QLabel *baud_label = new QLabel(tr("Co&nnection speed:"), this); + tl->addWidget(baud_label, 4, 0); baud_c = new QComboBox(this); @@ -159,7 +178,7 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name baud_c->setCurrentItem(3); - connect(baud_c, SIGNAL(activated(int)), - this, SLOT(speed_selection(int))); - tl->addWidget(baud_c, 3, 1); +// connect(baud_c, SIGNAL(activated(int)), +// this, SLOT(speed_selection(int))); + tl->addWidget(baud_c, 4, 1); - tmp = i18n("Specifies the speed your modem and the serial\n" + tmp = tr("Specifies the speed your modem and the serial\n" "port talk to each other. You should begin with\n" @@ -174,3 +193,3 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name for(int i=0; i <= enter->count()-1; i++) { - if(_ifaceppp->data()->enter() == enter->text(i)) + if(_pppdata->enter() == enter->text(i)) enter->setCurrentItem(i); @@ -178,14 +197,14 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name - tl->addRowSpacing(4, 10); + tl->addRowSpacing(5, 10); //Modem Lock File - modemlockfile = new QCheckBox(i18n("&Use lock file"), this); + modemlockfile = new QCheckBox(tr("&Use lock file"), this); - modemlockfile->setChecked(_ifaceppp->data()->modemLockFile()); - connect(modemlockfile, SIGNAL(toggled(bool)), - SLOT(modemlockfilechanged(bool))); - tl->addMultiCellWidget(modemlockfile, 5, 5, 0, 1); + modemlockfile->setChecked(_pppdata->modemLockFile()); +// connect(modemlockfile, SIGNAL(toggled(bool)), +// SLOT(modemlockfilechanged(bool))); + tl->addMultiCellWidget(modemlockfile, 6, 6, 0, 1); // l12->addStretch(1); QWhatsThis::add(modemlockfile, - i18n("<p>To prevent other programs from accessing the\n" + tr("<p>To prevent other programs from accessing the\n" "modem while a connection is established, a\n" @@ -204,14 +223,14 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name // modemtimeout = new KIntNumInput(_pppdata->modemTimeout(), this); -// modemtimeout->setLabel(i18n("Modem &timeout:")); +// modemtimeout->setLabel(tr("Modem &timeout:")); // modemtimeout->setRange(1, 120, 1); - modemtimeout->setSuffix(i18n(" sec")); - modemtimeout->setValue( _ifaceppp->data()->modemTimeout() ); - connect(modemtimeout, SIGNAL(valueChanged(int)), - SLOT(modemtimeoutchanged(int))); + modemtimeout->setSuffix(tr(" sec")); + modemtimeout->setValue( _pppdata->modemTimeout() ); +// connect(modemtimeout, SIGNAL(valueChanged(int)), +// SLOT(modemtimeoutchanged(int))); timeoutLayout->addWidget(timeoutlabel); timeoutLayout->addWidget(modemtimeout); - tl->addMultiCellLayout(timeoutLayout, 6, 6, 0, 1); + tl->addMultiCellLayout(timeoutLayout, 7, 7, 0, 1); QWhatsThis::add(modemtimeout, - i18n("This specifies how long <i>kppp</i> waits for a\n" + tr("This specifies how long <i>kppp</i> waits for a\n" "<i>CONNECT</i> response from your modem. The\n" @@ -221,3 +240,3 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name for(int i=0; i <= enter->count()-1; i++) { - if(_ifaceppp->data()->enter() == enter->text(i)) + if(_pppdata->enter() == enter->text(i)) enter->setCurrentItem(i); @@ -226,3 +245,3 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name for(int i=0; i <= modemdevice->count()-1; i++) { - if(_ifaceppp->data()->modemDevice() == modemdevice->text(i)) + if(_pppdata->modemDevice() == modemdevice->text(i)) modemdevice->setCurrentItem(i); @@ -231,3 +250,3 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name for(int i=0; i <= flowcontrol->count()-1; i++) { - if(_ifaceppp->data()->flowcontrol() == flowcontrol->text(i)) + if(_pppdata->flowcontrol() == flowcontrol->text(i)) flowcontrol->setCurrentItem(i); @@ -237,42 +256,92 @@ ModemWidget::ModemWidget( InterfacePPP *ifppp, QWidget *parent, const char *name for(int i=0; i < baud_c->count(); i++) - if(baud_c->text(i) == _ifaceppp->data()->speed()) + if(baud_c->text(i) == _pppdata->speed()) baud_c->setCurrentItem(i); - tl->setRowStretch(7, 1); + tl->setRowStretch(1, 1); } +ModemWidget::~ModemWidget() +{ + QStringList devs; -void ModemWidget::speed_selection(int) { - _ifaceppp->data()->setSpeed(baud_c->text(baud_c->currentItem())); -} + for (int i=0;i<modemdevice->count();i++) + { + QString s = modemdevice->text(i); + s.simplifyWhiteSpace(); + if (! s.isEmpty() ) devs << s; + } -void ModemWidget::setenter(int ) { - _ifaceppp->data()->setEnter(enter->text(enter->currentItem())); -} + QString edited = modemdevice->currentText(); + if ( !( edited ).isEmpty() ) { + edited.simplifyWhiteSpace(); + if ( devs.contains( edited ) == 0 ) { + devs << edited; + } + _pppdata->setModemDevice( edited ); + } + + Config cfg("NetworkSetupPPP"); + cfg.setGroup("Devices_General"); + cfg.writeEntry("devices",devs,','); -void ModemWidget::setmodemdc(int i) { - _ifaceppp->data()->setModemDevice(modemdevice->text(i)); } +// void ModemWidget::speed_selection(int) { +// _pppdata->setSpeed(baud_c->text(baud_c->currentItem())); +// } -void ModemWidget::setflowcontrol(int i) { - _ifaceppp->data()->setFlowcontrol(flowcontrol->text(i)); -} +// void ModemWidget::setenter(int ) { +// _pppdata->setEnter(enter->text(enter->currentItem())); +// } -void ModemWidget::modemlockfilechanged(bool set) { - _ifaceppp->data()->setModemLockFile(set); -} +// void ModemWidget::setmodemdc(int i) { +// _pppdata->setModemDevice(modemdevice->text(i)); +// } -void ModemWidget::modemtimeoutchanged(int n) { - _ifaceppp->data()->setModemTimeout(n); -} +// void ModemWidget::setmodemdc( const QString &string ) { +// _pppdata->setModemDevice( string ); +// } + +// void ModemWidget::setflowcontrol(int i) { +// _pppdata->setFlowcontrol(flowcontrol->text(i)); +// } -ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, +// void ModemWidget::modemlockfilechanged(bool set) { +// _pppdata->setModemLockFile(set); +// } + + +// void ModemWidget::modemtimeoutchanged(int n) { +// _pppdata->setModemTimeout(n); +// } + + + +bool ModemWidget::save() +{ + //first check to make sure that the device name is unique! + if(modemname->text().isEmpty() || + !_pppdata->isUniqueDevname(modemname->text())) + return false; + + qDebug("ModemWidget::save saving modem1 data"); + _pppdata->setDevname( modemname->text() ); + _pppdata->setModemDevice( modemdevice->currentText() ); + _pppdata->setFlowcontrol(flowcontrol->currentText()); + _pppdata->setFlowcontrol(flowcontrol->currentText()); + _pppdata->setSpeed(baud_c->currentText()); + _pppdata->setModemLockFile( modemlockfile->isChecked()); + _pppdata->setModemTimeout( modemtimeout->value() ); + return true; + +} + +ModemWidget2::ModemWidget2( PPPData *pd, InterfacePPP *ip, QWidget *parent, const char *name) - : QWidget(parent, name), _ifaceppp(ifp) + : QWidget(parent, name), _pppdata(pd), _ifaceppp(ip) { @@ -281,8 +350,8 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, - waitfordt = new QCheckBox(i18n("&Wait for dial tone before dialing"), this); - waitfordt->setChecked(_ifaceppp->data()->waitForDialTone()); - connect(waitfordt, SIGNAL(toggled(bool)), SLOT(waitfordtchanged(bool))); + waitfordt = new QCheckBox(tr("&Wait for dial tone before dialing"), this); + waitfordt->setChecked(_pppdata->waitForDialTone()); +// connect(waitfordt, SIGNAL(toggled(bool)), SLOT(waitfordtchanged(bool))); l1->addWidget(waitfordt); QWhatsThis::add(waitfordt, - i18n("<p>Normally the modem waits for a dial tone\n" + tr("<p>Normally the modem waits for a dial tone\n" "from your phone line, indicating that it can\n" @@ -298,6 +367,6 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, // busywait = new KIntNumInput(_pppdata->busyWait(), this); -// busywait->setLabel(i18n("B&usy wait:")); +// busywait->setLabel(tr("B&usy wait:")); // busywait->setRange(0, 300, 5, true); - busywait->setSuffix(i18n(" sec")); - connect(busywait, SIGNAL(valueChanged(int)), SLOT(busywaitchanged(int))); + busywait->setSuffix(tr(" sec")); +// connect(busywait, SIGNAL(valueChanged(int)), SLOT(busywaitchanged(int))); waitLayout->addWidget(waitLabel); @@ -307,3 +376,3 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, QWhatsThis::add(busywait, - i18n("Specifies the number of seconds to wait before\n" + tr("Specifies the number of seconds to wait before\n" "redial if all dialed numbers are busy. This is\n" @@ -320,5 +389,5 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, - QLabel *volumeLabel = new QLabel(i18n("Modem &volume:"), this); + QLabel *volumeLabel = new QLabel(tr("Modem &volume:"), this); hbl->addWidget(volumeLabel); - volume = new QSlider(0, 2, 1, _ifaceppp->data()->volume(), + volume = new QSlider(0, 2, 1, _pppdata->volume(), QSlider::Horizontal, this); @@ -330,5 +399,5 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, - connect(volume, SIGNAL(valueChanged(int)), - this, SLOT(volumeChanged(int))); - QString tmp = i18n("Most modems have a speaker which makes\n" +// connect(volume, SIGNAL(valueChanged(int)), +// this, SLOT(volumeChanged(int))); + QString tmp = tr("Most modems have a speaker which makes\n" "a lot of noise when dialing. Here you can\n" @@ -346,4 +415,4 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, #if 0 - chkbox1 = new QCheckBox(i18n("Modem asserts CD line"), this); - chkbox1->setChecked(_ifaceppp->data()->UseCDLine()); + chkbox1 = new QCheckBox(tr("Modem asserts CD line"), this); + chkbox1->setChecked(_pppdata->UseCDLine()); connect(chkbox1,SIGNAL(toggled(bool)), @@ -354,3 +423,3 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, QWhatsThis::add(chkbox1, - i18n("This controls how <i>kppp</i> detects that the modem\n" + tr("This controls how <i>kppp</i> detects that the modem\n" "is not responding. Unless you are having\n" @@ -361,10 +430,10 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, - modemcmds = new QPushButton(i18n("Mod&em Commands..."), this); + modemcmds = new QPushButton(tr("Mod&em Commands..."), this); QWhatsThis::add(modemcmds, - i18n("Allows you to change the AT command for\n" + tr("Allows you to change the AT command for\n" "your modem.")); - modeminfo_button = new QPushButton(i18n("&Query Modem..."), this); + modeminfo_button = new QPushButton(tr("&Query Modem..."), this); QWhatsThis::add(modeminfo_button, - i18n("Most modems support the ATI command set to\n" + tr("Most modems support the ATI command set to\n" "find out vendor and revision of your modem.\n" @@ -375,5 +444,5 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, -// terminal_button = new QPushButton(i18n("&Terminal..."), this); +// terminal_button = new QPushButton(tr("&Terminal..."), this); // QWhatsThis::add(terminal_button, -// i18n("Opens the built-in terminal program. You\n" +// tr("Opens the built-in terminal program. You\n" // "can use this if you want to play around\n" @@ -404,3 +473,3 @@ ModemWidget2::ModemWidget2( InterfacePPP* ifp, QWidget *parent, void ModemWidget2::modemcmdsbutton() { - ModemCommands mc(_ifaceppp->data(), this); + ModemCommands mc(_ifaceppp->data(), this, "commands" , true, Qt::WStyle_ContextHelp); mc.showMaximized(); @@ -422,19 +491,27 @@ void ModemWidget2::query_modem() { -#if 0 -void ModemWidget2::use_cdline_toggled(bool on) { - _ifaceppp->data()->setUseCDLine(on); -} -#endif +// #if 0 +// void ModemWidget2::use_cdline_toggled(bool on) { +// _pppdata->setUseCDLine(on); +// } +// #endif -void ModemWidget2::waitfordtchanged(bool b) { - _ifaceppp->data()->setWaitForDialTone((int)b); -} +// void ModemWidget2::waitfordtchanged(bool b) { +// _pppdata->setWaitForDialTone((int)b); +// } -void ModemWidget2::busywaitchanged(int n) { - _ifaceppp->data()->setbusyWait(n); -} +// void ModemWidget2::busywaitchanged(int n) { +// _pppdata->setbusyWait(n); +// } -void ModemWidget2::volumeChanged(int v) { - _ifaceppp->data()->setVolume(v); +// void ModemWidget2::volumeChanged(int v) { +// _pppdata->setVolume(v); +// } + +bool ModemWidget2::save() +{ + _pppdata->setWaitForDialTone(waitfordt->isChecked()); + _pppdata->setbusyWait(busywait->value()); + _pppdata->setVolume(volume->value()); + return true; } 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 @@ -38,2 +38,3 @@ class PPPData; class InterfacePPP; +class QLineEdit; @@ -42,11 +43,15 @@ class ModemWidget : public QWidget { public: - ModemWidget( InterfacePPP*, QWidget *parent=0, const char *name=0 ); + ModemWidget(PPPData*, QWidget *parent=0, const char *name=0 ); + ~ModemWidget(); -private slots: - void setmodemdc(int); - void setflowcontrol(int); - void modemtimeoutchanged(int); - void modemlockfilechanged(bool); - void setenter(int); - void speed_selection(int); + bool save(); + +/* private slots: */ +/* void setmodemdc(int); */ +/* void setmodemdc(const QString &); */ +/* void setflowcontrol(int); */ +/* void modemtimeoutchanged(int); */ +/* void modemlockfilechanged(bool); */ +/* void setenter(int); */ +/* void speed_selection(int); */ @@ -58,2 +63,3 @@ private: /* QLabel *labelenter; */ + QLineEdit *modemname; QComboBox *modemdevice; @@ -66,3 +72,3 @@ private: QCheckBox *modemlockfile; - InterfacePPP *_ifaceppp; + PPPData *_pppdata; }; @@ -73,7 +79,8 @@ class ModemWidget2 : public QWidget { public: - ModemWidget2( InterfacePPP*, QWidget *parent=0, const char *name=0 ); + ModemWidget2( PPPData*, InterfacePPP*, QWidget *parent=0, const char *name=0 ); + bool save(); private slots: - void waitfordtchanged(bool); - void busywaitchanged(int); +/* void waitfordtchanged(bool); */ +/* void busywaitchanged(int); */ // void use_cdline_toggled(bool); @@ -82,3 +89,3 @@ private slots: void query_modem(); - void volumeChanged(int); + // void volumeChanged(int); @@ -94,2 +101,3 @@ private: QSlider *volume; + PPPData *_pppdata; InterfacePPP *_ifaceppp; 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 @@ -2,6 +2,4 @@ - #include <qpushbutton.h> #include <qlabel.h> -//#include <qgroupbox.h> #include <qmessagebox.h> @@ -22,5 +20,5 @@ InterfaceInformationPPP::InterfaceInformationPPP(QWidget *parent, const char *name, Interface *i, WFlags f) - :InterfaceInformationImp(parent, name, i, f) + :InterfaceInformationImp(parent, name, i, Qt::WStyle_ContextHelp) { - qDebug("InterfaceInformationPPP::InterfaceInformationPPP"); + qDebug("InterfaceInformationPPP::InterfaceInformationPPP %s", name); con = new ConnectWidget( (InterfacePPP*)i, this, "con" ); @@ -28,7 +26,13 @@ InterfaceInformationPPP::InterfaceInformationPPP(QWidget *parent, const char *na QSizePolicy::Fixed) ); - QSpacerItem* spacer = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum ); - InterfaceInformationLayout->addItem( spacer, 7, 0 ); - InterfaceInformationLayout->addMultiCellWidget( con, 8, 8, 0, 1 ); - // InterfaceInformationLayout->addWidget( con, 7, 0 ); + + macAddressLabel->hide(); + subnetMaskLabel->hide(); + broadcastLabel->hide(); + TextLabel23->hide(); + TextLabel21->hide(); + TextLabel24->hide(); + + InterfaceInformationLayout->addWidget( con, 1, 0 ); connect(i, SIGNAL(begin_connect()),con, SLOT(preinit())); + connect(i, SIGNAL(hangup_now() ), con, SLOT(cancelbutton() ) ); } 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 @@ -2,3 +2,5 @@ #include <qmessagebox.h> -#define i18n QObject::tr +#include <qlayout.h> +#include <qlineedit.h> +#include <qlabel.h> @@ -17,3 +19,3 @@ InterfacePPP::InterfacePPP(QObject *parent, const char *name, bool status) -PPPData* InterfacePPP::data() +PPPData* InterfacePPP::data()const { @@ -22,3 +24,3 @@ PPPData* InterfacePPP::data() _dataPtr = new PPPData(); - _dataPtr->setModemDevice( getInterfaceName() ); + _dataPtr->setDevice( getInterfaceName() ); _dataPtr->setAccount( getHardwareName() ); @@ -28,3 +30,3 @@ PPPData* InterfacePPP::data() -Modem* InterfacePPP::modem() +Modem* InterfacePPP::modem()const { @@ -40,5 +42,11 @@ bool InterfacePPP::refresh() qDebug("InterfacePPP::refresh()"); - updateInterface(this); - QMessageBox::information(0,"Not Implemented","This feature is not yet implemneted... ;-("); - return false; + QString old = getInterfaceName(); + setInterfaceName( modem()->pppDevice() ); + + (void)Interface::refresh(); + + setInterfaceName( old ); + emit updateInterface(this); + + return true; } @@ -48,9 +56,18 @@ void InterfacePPP::start() qDebug("InterfacePPP::start"); -// should work... -// if (data()->password().isEmpty() ){ -// //FIXME: ask for password -// qDebug("using dummy password"); -// QMessageBox::critical( 0, "no password", "you should be prompted for a password, but you are not! ;-)"); -// } + if (data()->password().isEmpty() && !data()->storedUsername().isEmpty() ) { + + QDialog mb( 0, "Dialog", true ); + mb.setCaption( tr( "No password" ) ); + QVBoxLayout layout( &mb ); + QLabel text ( &mb ); + text.setText( tr("Username defined but no password\n Please enter a password") ); + QLineEdit lineedit( &mb ); + lineedit.setEchoMode( QLineEdit::Password ); + layout.addWidget( &text ); + layout.addWidget( &lineedit ); + if ( mb.exec() == QDialog::Accepted ) { + data()->setPassword( lineedit.text() ); + } + } @@ -60,3 +77,3 @@ void InterfacePPP::start() QMessageBox::warning(0, tr("Error"), - i18n("<qt>Cannot find the PPP daemon!<br>" + QObject::tr("<qt>Cannot find the PPP daemon!<br>" "Make sure that pppd is installed and " @@ -69,3 +86,3 @@ void InterfacePPP::start() QString string; - string = i18n( "<qt>Cannot execute:<br> %1<br>" + string = QObject::tr( "<qt>Cannot execute:<br> %1<br>" "Please make sure that you have given " @@ -83,3 +100,3 @@ void InterfacePPP::start() QString string; - string = i18n( "<qt>Cannot find:<br> %1<br>" + string = QObject::tr( "<qt>Cannot find:<br> %1<br>" "Please make sure you have setup " @@ -100,3 +117,3 @@ void InterfacePPP::start() QMessageBox::warning(0,tr("Error"), - i18n("<qt>You have selected the authentication method PAP or CHAP. This requires that you supply a username and a password!</qt>")); + QObject::tr("<qt>You have selected the authentication method PAP or CHAP. This requires that you supply a username and a password!</qt>")); // FIXME: return; @@ -108,3 +125,3 @@ void InterfacePPP::start() QString s; - s = i18n("<qt>Cannot create PAP/CHAP authentication<br>" + s = QObject::tr("<qt>Cannot create PAP/CHAP authentication<br>" "file \"%1\"</qt>").arg(PAP_AUTH_FILE); @@ -117,3 +134,3 @@ void InterfacePPP::start() if (data()->phonenumber().isEmpty()) { - QString s = i18n("You must specify a telephone number!"); + QString s = QObject::tr("You must specify a telephone number!"); QMessageBox::warning(0, tr("Error"), s); @@ -134,2 +151,7 @@ void InterfacePPP::stop() qDebug("InterfacePPP::stop"); + // emit hangup_now(); + status = false; // not connected + setStatus( false ); + emit hangup_now(); + refresh(); @@ -142 +164,11 @@ void InterfacePPP::save() } +QString InterfacePPP::pppDev()const { + return modem()->pppDevice(); +} +pid_t InterfacePPP::pppPID()const{ + return modem()->pppPID(); +} +void InterfacePPP::setPPPDpid( pid_t pid) { + setStatus( true ); + modem()->setPPPDPid( pid ); +} 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,4 +1,6 @@ -#ifndef INTERFACEPPP_H +#ifndef INTERFACEPPP_H #define INTERFACEPPP_H +#include <sys/types.h> + #include "interface.h" @@ -15,4 +17,6 @@ public: - PPPData* data(); - Modem* modem(); + PPPData* data()const; + Modem* modem()const; + QString pppDev()const; // returns the ppp device.... /dev/ppp0... + pid_t pppPID()const; @@ -20,2 +24,3 @@ signals: void begin_connect(); + void hangup_now(); @@ -26,6 +31,7 @@ public slots: void save(); + void setPPPDpid( pid_t ); // sets the pppd pid for modem... private: - Modem *_modemPtr; - PPPData *_dataPtr; + mutable Modem *_modemPtr; + mutable PPPData *_dataPtr; }; 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 @@ -44,15 +44,4 @@ #include <qbuttongroup.h> -//#include <kcmdlineargs.h> -//#include <kconfig.h> -//#include <kdebug.h> -#define i18n QObject::tr -//#include <kiconloader.h> // For BarIcon -//#include <klocale.h> #include <qmessagebox.h> -// #include <kseparator.h> -// #include <kstandarddirs.h> -// #include <kwin.h> -// #include <khelpmenu.h> #include <qpushbutton.h> -//#include <kguiitem.h> @@ -80,3 +69,3 @@ KPPPWidget *p_kppp = 0; KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *name, bool modal, WFlags fl ) - : QDialog(parent, name, modal, fl), _pppdata(pd) + : QDialog(parent, name, modal, Qt::WStyle_ContextHelp ), _pppdata(pd) { @@ -110,3 +99,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na - label1 = new QLabel(i18n("C&onnect to: "), this); + label1 = new QLabel(QObject::tr("C&onnect to: "), this); l1->addWidget(label1, 0, 1); @@ -120,3 +109,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na - ID_Label = new QLabel(i18n("&Login ID:"), this); + ID_Label = new QLabel(QObject::tr("&Login ID:"), this); l1->addWidget(ID_Label, 1, 1); @@ -129,3 +118,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na this, SLOT(enterPressedInID())); - QString tmp = i18n("<p>Type in the username that you got from your\n" + QString tmp = QObject::tr("<p>Type in the username that you got from your\n" "ISP. This is especially important for PAP\n" @@ -140,3 +129,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na - PW_Label = new QLabel(i18n("&Password:"), this); + PW_Label = new QLabel(QObject::tr("&Password:"), this); l1->addWidget(PW_Label, 2, 1); @@ -150,3 +139,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na - tmp = i18n("<p>Type in the password that you got from your\n" + tmp = QObject::tr("<p>Type in the password that you got from your\n" "ISP. This is especially important for PAP\n" @@ -166,3 +155,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na l3->addSpacing(10); - log = new QCheckBox(i18n("Show lo&g window"), this); + log = new QCheckBox(QObject::tr("Show lo&g window"), this); connect(log, SIGNAL(toggled(bool)), @@ -173,3 +162,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na QWhatsThis::add(log, - i18n("<p>This controls whether a log window is shown.\n" + QObject::tr("<p>This controls whether a log window is shown.\n" "A log window shows the communication between\n" @@ -188,4 +177,4 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na int minw = 0; - quit_b = new QPushButton(i18n("&Quit"), this); - // quit_b-> setGuiItem (KGuiItem(i18n("&Quit"), "exit" ) ); + quit_b = new QPushButton(QObject::tr("&Quit"), this); + // quit_b-> setGuiItem (KGuiItem(QObject::tr("&Quit"), "exit" ) ); connect( quit_b, SIGNAL(clicked()), SLOT(quitbutton())); @@ -194,4 +183,4 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na - setup_b = new QPushButton(i18n("&Setup..."), this); -// setup_b->setGuiItem (KGuiItem(i18n("&Setup...")) ); + setup_b = new QPushButton(QObject::tr("&Setup..."), this); +// setup_b->setGuiItem (KGuiItem(QObject::tr("&Setup...")) ); connect( setup_b, SIGNAL(clicked()), SLOT(expandbutton())); @@ -205,3 +194,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na -// help_b = new QPushButton(i18n("&Help"), this); +// help_b = new QPushButton(QObject::tr("&Help"), this); // connect( help_b, SIGNAL(clicked()), SLOT(helpbutton())); @@ -210,3 +199,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na // help_b->setPopup((QPopupMenu*)helpMenu->menu()); -// help_b->setGuiItem (KGuiItem(i18n("&Help"), "help" ) ); +// help_b->setGuiItem (KGuiItem(QObject::tr("&Help"), "help" ) ); @@ -215,3 +204,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na - connect_b = new QPushButton(i18n("&Connect"), this); + connect_b = new QPushButton(QObject::tr("&Connect"), this); connect_b->setDefault(true); @@ -288,3 +277,3 @@ KPPPWidget::KPPPWidget(PPPData*pd, Interface *i, QWidget *parent, const char *na // QString string; -// string = i18n("No such Account:\n%1").arg(m_strCmdlAccount); +// string = QObject::tr("No such Account:\n%1").arg(m_strCmdlAccount); // KMessageBox::error(this, string); @@ -484,10 +473,10 @@ void KPPPWidget::sigPPPDDied() { if (_pppdata->pppdError() == E_IF_TIMEOUT) - msg = i18n("Timeout expired while waiting for the PPP interface " + msg = QObject::tr("Timeout expired while waiting for the PPP interface " "to come up!"); else { - msg = i18n("<p>The pppd daemon died unexpectedly!</p>"); + msg = QObject::tr("<p>The pppd daemon died unexpectedly!</p>"); Modem::modem->pppdExitStatus(); if (Modem::modem->lastStatus != 99) { // more recent pppds only - msg += i18n("<p>Exit status: %1").arg(Modem::modem->lastStatus); - msg += i18n("</p><p>See 'man pppd' for an explanation of the error " + msg += QObject::tr("<p>Exit status: %1").arg(Modem::modem->lastStatus); + msg += QObject::tr("</p><p>See 'man pppd' for an explanation of the error " "codes or take a look at the kppp FAQ on " @@ -498,3 +487,3 @@ void KPPPWidget::sigPPPDDied() { -// if(QMessageBox::warning(0, msg, i18n("Error"), i18n("&OK"), i18n("&Details...")) == QMessageBox::No) +// if(QMessageBox::warning(0, msg, QObject::tr("Error"), QObject::tr("&OK"), QObject::tr("&Details...")) == QMessageBox::No) // // PPPL_ShowLog(); @@ -529,3 +518,3 @@ void KPPPWidget::sigPPPDDied() { // // helperPid = -1; -// QString msg = i18n("kppp's helper process just died.\n" +// QString msg = QObject::tr("kppp's helper process just died.\n" // "Since a further execution would be pointless, " @@ -562,3 +551,3 @@ void KPPPWidget::beginConnect() { if(!info.exists()){ - QMessageBox::warning(this, "error", i18n("Cannot find the PPP daemon!\n" + QMessageBox::warning(this, "error", QObject::tr("Cannot find the PPP daemon!\n" "Make sure that pppd is installed and " @@ -571,3 +560,3 @@ void KPPPWidget::beginConnect() { QString string; - string = i18n("kppp cannot execute:\n %1\n" + string = QObject::tr("kppp cannot execute:\n %1\n" "Please make sure that you have given kppp " @@ -585,3 +574,3 @@ void KPPPWidget::beginConnect() { QString string; - string = i18n("kppp can not find:\n %1\nPlease make sure you have setup " + string = QObject::tr("kppp can not find:\n %1\nPlease make sure you have setup " "your modem device properly " @@ -601,3 +590,3 @@ void KPPPWidget::beginConnect() { QMessageBox::warning(this,"error", - i18n("You have selected the authentication method PAP or CHAP. This requires that you supply a username and a password!")); + QObject::tr("You have selected the authentication method PAP or CHAP. This requires that you supply a username and a password!")); return; @@ -608,3 +597,3 @@ void KPPPWidget::beginConnect() { QString s; - s = i18n("Cannot create PAP/CHAP authentication\n" + s = QObject::tr("Cannot create PAP/CHAP authentication\n" "file \"%1\"").arg(PAP_AUTH_FILE); @@ -617,3 +606,3 @@ void KPPPWidget::beginConnect() { if (_pppdata->phonenumber().isEmpty()) { - QString s = i18n("You must specify a telephone number!"); + QString s = QObject::tr("You must specify a telephone number!"); QMessageBox::warning(this, "error", s); @@ -624,3 +613,3 @@ void KPPPWidget::beginConnect() { - QString tit = i18n("Connecting to: %1").arg(_pppdata->accname()); + QString tit = QObject::tr("Connecting to: %1").arg(_pppdata->accname()); // con->setCaption(tit); @@ -638,4 +627,4 @@ void KPPPWidget::disconnect() { con->show(); - con->setCaption(i18n("Disconnecting...")); - con->setMsg(i18n("Executing command before disconnection.")); + con->setCaption(QObject::tr("Disconnecting...")); + con->setMsg(QObject::tr("Executing command before disconnection.")); @@ -694,4 +683,4 @@ void KPPPWidget::quitbutton() { int ok = QMessageBox::warning(this, - i18n("Exiting kPPP will close your PPP Session."), - i18n("Quit kPPP?")); + QObject::tr("Exiting kPPP will close your PPP Session."), + QObject::tr("Quit kPPP?")); if(ok == QMessageBox::Yes) { @@ -738,3 +727,3 @@ void KPPPWidget::quitbutton() { // // if(!acct->loadRuleSet(_pppdata->accountingFile())) { -// // QString s= i18n("Can not load the accounting " +// // QString s= QObject::tr("Can not load the accounting " // // "ruleset \"%1\"!").arg(_pppdata->accountingFile()); @@ -828,3 +817,3 @@ void KPPPWidget::showNews() { QDialog dlg(0, 0, true); - dlg.setCaption(i18n("Recent Changes in KPPP")); + dlg.setCaption(QObject::tr("Recent Changes in KPPP")); @@ -841,3 +830,3 @@ void KPPPWidget::showNews() { - QLabel *l = new QLabel(i18n("From version 1.4.8 on, kppp has a new feature\n" + QLabel *l = new QLabel(QObject::tr("From version 1.4.8 on, kppp has a new feature\n" "called \"Quickhelp\". It's similar to a tooltip,\n" @@ -853,3 +842,3 @@ void KPPPWidget::showNews() { - QCheckBox *cb = new QCheckBox(i18n("Don't show this hint again"), &dlg); + QCheckBox *cb = new QCheckBox(QObject::tr("Don't show this hint again"), &dlg); cb->setFixedSize(cb->sizeHint()); @@ -858,3 +847,3 @@ void KPPPWidget::showNews() { bbox->addStretch(1); - QPushButton *ok = bbox->addButton(i18n("OK")); + QPushButton *ok = bbox->addButton(QObject::tr("OK")); ok->setDefault(true); @@ -869,3 +858,3 @@ void KPPPWidget::showNews() { - QString tmp = i18n("This is an example of <b>QuickHelp</b>.\n" + QString tmp = QObject::tr("This is an example of <b>QuickHelp</b>.\n" "This window will stay open until you\n" 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 @@ -53,7 +53,4 @@ #include "pppdata.h" -//#include <klocale.h> -#define i18n QObject::tr #define qError qDebug -//#include <kdebug.h> -//#include <config.h> + @@ -101,3 +98,3 @@ Modem::Modem( PPPData* pd ) pppdPid = -1; - sn = 0L; + sn = m_modemDebug = 0L; data_mode = false; @@ -171,3 +168,3 @@ bool Modem::opentty() { qDebug("error opening modem device !"); - errmsg = i18n("Unable to open modem."); + errmsg = QObject::tr("Unable to open modem."); return false; @@ -180,3 +177,3 @@ bool Modem::opentty() { if(ioctl(modemfd, TIOCMGET, &flags) == -1) { - errmsg = i18n("Unable to detect state of CD line."); + errmsg = QObject::tr("Unable to detect state of CD line."); ::close(modemfd); @@ -186,3 +183,3 @@ bool Modem::opentty() { if ((flags&TIOCM_CD) == 0) { - errmsg = i18n("The modem is not ready."); + errmsg = QObject::tr("The modem is not ready."); ::close(modemfd); @@ -202,3 +199,3 @@ bool Modem::opentty() { if(tcgetattr(modemfd, &tty) < 0){ - errmsg = i18n("The modem is busy."); + errmsg = QObject::tr("The modem is busy."); ::close(modemfd); @@ -247,3 +244,3 @@ bool Modem::opentty() { if(tcsetattr(modemfd, TCSANOW, &tty) < 0){ - errmsg = i18n("The modem is busy."); + errmsg = QObject::tr("The modem is busy."); ::close(modemfd); @@ -253,3 +250,3 @@ bool Modem::opentty() { - errmsg = i18n("Modem Ready."); + errmsg = QObject::tr("Modem Ready."); return true; @@ -265,3 +262,3 @@ bool Modem::closetty() { if(tcsetattr(modemfd, TCSANOW, &initial_tty) < 0){ - errmsg = i18n("Can't restore tty settings: tcsetattr()\n"); + errmsg = QObject::tr("Can't restore tty settings: tcsetattr()\n"); ::close(modemfd); @@ -415,3 +412,3 @@ bool Modem::hangup() { modemfd = -1; - errmsg = i18n("The modem does not respond."); + errmsg = QObject::tr("The modem does not respond."); return false; @@ -557,3 +554,3 @@ QString Modem::parseModemSpeed(const QString &s) { if(rx == -1 && tx == -1) - result = i18n("Unknown speed"); + result = QObject::tr("Unknown speed"); else if(tx == -1) @@ -879,2 +876,4 @@ bool Modem::execpppd(const char *arguments) { + (void)::pipe( m_pppdLOG ); + switch(pppdPid = fork()) @@ -883,2 +882,4 @@ bool Modem::execpppd(const char *arguments) { fprintf(stderr,"In parent: fork() failed\n"); + ::close( m_pppdLOG[0] ); + ::close( m_pppdLOG[1] ); return false; @@ -904,2 +905,5 @@ bool Modem::execpppd(const char *arguments) { + ::close( m_pppdLOG[0] ); + ::setenv( "LANG", "C", 1 ); // overwrite + dup2(m_pppdLOG[1], 11 ); // for logfd 11 dup2(modemfd, 0); @@ -907,2 +911,3 @@ bool Modem::execpppd(const char *arguments) { + switch (checkForInterface()) { @@ -926,3 +931,20 @@ bool Modem::execpppd(const char *arguments) { close(modemfd); + + ::close( m_pppdLOG[1] ); + // set it to nonblocking io + int flag = ::fcntl( m_pppdLOG[0], F_GETFL ); + + if ( !(flag & O_NONBLOCK) ) { + qDebug("Setting nonblocking io"); + flag |= O_NONBLOCK; + ::fcntl(m_pppdLOG[0], F_SETFL, flag ); + } + + delete m_modemDebug; + m_modemDebug = new QSocketNotifier(m_pppdLOG[0], QSocketNotifier::Read, this ); + connect(m_modemDebug, SIGNAL(activated(int) ), + this, SLOT(slotModemDebug(int) ) ); + modemfd = -1; + m_pppdDev = QString::fromLatin1("ppp0"); return true; @@ -934,3 +956,6 @@ bool Modem::execpppd(const char *arguments) { bool Modem::killpppd() { + qDebug("In killpppd and pid is %d", pppdPid ); if(pppdPid > 0) { + delete m_modemDebug; + m_modemDebug = 0; qDebug("In killpppd(): Sending SIGTERM to %d\n", pppdPid); @@ -1023 +1048,33 @@ bool Modem::setHostname(const QString & name) +QString Modem::pppDevice()const { + return m_pppdDev; +} +void Modem::setPPPDevice( const QString& dev ) { + m_pppdDev = dev; +} +pid_t Modem::pppPID()const { + return pppdPid; +} +void Modem::setPPPDPid( pid_t pid ) { + qDebug("Modem setting pid"); + _pppdExitStatus = -1; + pppdPid = pid; + modemfd = -1; +} +void Modem::slotModemDebug(int fd) { + char buf[2049]; + int len; + + // read in pppd data look for Using interface + // then read the interface + // we limit to 10 device now 0-9 + if((len = ::read(fd, buf, 2048)) > 0) { + buf[len+1] = '\0'; + char *found; + if ( (found = ::strstr(buf, "Using interface ") ) ) { + found += 16; + m_pppdDev = QString::fromLatin1(found, 5 ); + m_pppdDev = m_pppdDev.simplifyWhiteSpace(); + } + } +} 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 @@ -7,3 +7,3 @@ * wuebben@math.cornell.edu - * + * * This file was added by Harri Porten <porten@tu-harburg.de> @@ -49,3 +49,5 @@ public: const QString getDevice() {return device;}; - void setDevice(const QString dev) {device = dev;}; + void setDevice(const QString dev) {device = dev;}; + + void save(); @@ -58,3 +60,3 @@ public: void setDataMode(bool set) { data_mode = set; } - const QString modemMessage(); + const QString modemMessage(); speed_t modemspeed(); @@ -75,3 +77,8 @@ public: bool setHostname(const QString & name); - + + QString pppDevice()const; + void setPPPDevice( const QString& ); + pid_t pppPID()const; + void setPPPDPid( pid_t ); + public: @@ -87,3 +94,4 @@ private slots: void stopNotifier(); - void readtty(int); + void readtty(int); + void slotModemDebug(int); @@ -104,3 +112,3 @@ private: QString device; - QString lockfile; + QString lockfile; int modemfd; @@ -109,2 +117,3 @@ private: QSocketNotifier *sn; + QSocketNotifier *m_modemDebug; bool data_mode; @@ -115,2 +124,4 @@ private: PPPData *_pppdata; + int m_pppdLOG[2]; + QString m_pppdDev; }; 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 @@ -29,9 +29,7 @@ #include <qbuttongroup.h> +#include <qscrollview.h> +#include <qapplication.h> #include <stdlib.h> -//#include <kapplication.h> // for getMiniIcon() -//#include <klocale.h> -#define i18n QObject::tr #include "modemcmds.h" #include "pppdata.h" -//#include <kwin.h> @@ -42,6 +40,6 @@ -ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - : QDialog(parent, name, true ), _pppdata(pd) +ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name , bool modal, WFlags f) + : QDialog( parent, name, modal, f ), _pppdata(pd) { - setCaption(i18n("Edit Modem Commands")); + setCaption(QObject::tr("Edit Modem Commands")); @@ -50,4 +48,15 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) + QVBoxLayout *main = new QVBoxLayout( this ); + QScrollView *sv = new QScrollView( this ); + QWidget *mainW = new QWidget( sv->viewport() ); + sv->setResizePolicy( QScrollView::AutoOneFit ); + sv->setHScrollBarMode( QScrollView::AlwaysOff ); + sv->setFrameShape( QFrame::NoFrame ); + sv->addChild( mainW ); + main->addWidget( sv ); + // evil hack + mainW->setMaximumWidth( QApplication::desktop()->width() - 10 ); + // toplevel layout - QVBoxLayout *tl = new QVBoxLayout(this, 10, 4); + QVBoxLayout *tl = new QVBoxLayout( mainW, 10, 4); @@ -56,3 +65,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) tl->addLayout(l1); - box = new QGroupBox(this, "box"); + box = new QGroupBox(mainW, "box"); + box->setMargin( 0 ); l1->addMultiCellWidget(box, row++, GRIDROWS, 0, 3); @@ -62,3 +72,3 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) l1->addLayout(l2, row, 2); - lpreinitslider = new QLabel("MMMM", this); + lpreinitslider = new QLabel("MMMM", mainW); FORMATSLIDERLABEL(lpreinitslider); @@ -66,3 +76,3 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) QSlider *preinitslider = new QSlider(0, 300, 1, 0, - QSlider::Horizontal, this); + QSlider::Horizontal, mainW); // preinitslider->setFixedHeight(preinitslider->sizeHint().height()); @@ -73,3 +83,3 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - lpreinit = new QLabel(i18n("Pre-init delay (sec/100):"), this); + lpreinit = new QLabel(QObject::tr("Pre-init delay (sec/100):"), mainW); l1->addWidget(lpreinit, row++, 1); @@ -77,5 +87,5 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) for(int i = 0; i < PPPData::NumInitStrings; i++) { - initstr[i] = new QLineEdit(this); - QLabel *initLabel = new QLabel(i18n("Initialization string %1:").arg(i + 1), - this); + initstr[i] = new QLineEdit(mainW); + QLabel *initLabel = new QLabel(QObject::tr("Initialization string %1:").arg(i + 1), + mainW); ADJUSTEDIT(initstr[i]); @@ -87,6 +97,6 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) l1->addLayout(l3, row, 2); - linitslider = new QLabel("MMMM", this); + linitslider = new QLabel("MMMM", mainW); FORMATSLIDERLABEL(linitslider); QSlider *initslider = new QSlider(1, 300, 1, 0, - QSlider::Horizontal, this); + QSlider::Horizontal, mainW); // initslider->setFixedHeight(initslider->sizeHint().height()); @@ -97,3 +107,3 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - label3 = new QLabel(i18n("Post-init delay (sec/100):"), this); + label3 = new QLabel(QObject::tr("Post-init delay (sec/100):"), mainW); l1->addWidget(label3, row++, 1); @@ -103,6 +113,6 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) l1->addLayout(l4, row, 2); - ldurationslider = new QLabel("MMMM", this); + ldurationslider = new QLabel("MMMM", mainW); FORMATSLIDERLABEL(ldurationslider); QSlider *durationslider = new QSlider(1, 255, 1, 0, - QSlider::Horizontal, this); + QSlider::Horizontal, mainW); // durationslider->setFixedHeight(durationslider->sizeHint().height()); @@ -113,3 +123,3 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - lduration = new QLabel(i18n("Dialing speed (sec/100):"), this); + lduration = new QLabel(QObject::tr("Dialing speed (sec/100):"), mainW); l1->addWidget(lduration, row++, 1); @@ -117,4 +127,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - initresp = new QLineEdit(this); - label2 = new QLabel(i18n("Init response:"), this); + initresp = new QLineEdit(mainW); + label2 = new QLabel(QObject::tr("Init response:"), mainW); ADJUSTEDIT(initresp); @@ -123,4 +133,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - nodetectdialtone = new QLineEdit(this); - lnodetectdialtone = new QLabel(i18n("No dial tone detection:"), this); + nodetectdialtone = new QLineEdit(mainW); + lnodetectdialtone = new QLabel(QObject::tr("No dial tone detection:"), mainW); ADJUSTEDIT(nodetectdialtone); @@ -129,4 +139,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - dialstr = new QLineEdit(this); - label4 = new QLabel(i18n("Dial string:"),this); + dialstr = new QLineEdit(mainW); + label4 = new QLabel(QObject::tr("Dial string:"),mainW); ADJUSTEDIT(dialstr); @@ -135,4 +145,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - connectresp = new QLineEdit(this); - label5 = new QLabel(i18n("Connect response:"), this); + connectresp = new QLineEdit(mainW); + label5 = new QLabel(QObject::tr("Connect response:"), mainW); ADJUSTEDIT(connectresp); @@ -141,4 +151,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - busyresp = new QLineEdit(this); - label6 = new QLabel(i18n("Busy response:"), this); + busyresp = new QLineEdit(mainW); + label6 = new QLabel(QObject::tr("Busy response:"), mainW); ADJUSTEDIT(busyresp); @@ -147,4 +157,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - nocarrierresp = new QLineEdit(this); - label7 = new QLabel(i18n("No carrier response:"), this); + nocarrierresp = new QLineEdit(mainW); + label7 = new QLabel(QObject::tr("No carrier response:"), mainW); ADJUSTEDIT(nocarrierresp); @@ -153,4 +163,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - nodialtoneresp = new QLineEdit(this); - label8 = new QLabel(i18n("No dial tone response:"), this); + nodialtoneresp = new QLineEdit(mainW); + label8 = new QLabel(QObject::tr("No dial tone response:"), mainW); ADJUSTEDIT(nodialtoneresp); @@ -159,4 +169,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - hangupstr = new QLineEdit(this); - label9 = new QLabel(i18n("Hangup string:"), this); + hangupstr = new QLineEdit(mainW); + label9 = new QLabel(QObject::tr("Hangup string:"), mainW); ADJUSTEDIT(hangupstr); @@ -165,4 +175,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - hangupresp = new QLineEdit(this); - label10 = new QLabel(i18n("Hangup response:"), this); + hangupresp = new QLineEdit(mainW); + label10 = new QLabel(QObject::tr("Hangup response:"), mainW); ADJUSTEDIT(hangupresp); @@ -171,4 +181,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - answerstr = new QLineEdit(this); - label11 = new QLabel(i18n("Answer string:"), this); + answerstr = new QLineEdit(mainW); + label11 = new QLabel(QObject::tr("Answer string:"), mainW); ADJUSTEDIT(answerstr); @@ -177,4 +187,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - ringresp = new QLineEdit(this); - label12 = new QLabel(i18n("Ring response:"), this); + ringresp = new QLineEdit(mainW); + label12 = new QLabel(QObject::tr("Ring response:"), mainW); ADJUSTEDIT(ringresp); @@ -183,4 +193,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - answerresp = new QLineEdit(this); - label13 = new QLabel(i18n("Answer response:"), this); + answerresp = new QLineEdit(mainW); + label13 = new QLabel(QObject::tr("Answer response:"), mainW); ADJUSTEDIT(answerresp); @@ -189,4 +199,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - escapestr = new QLineEdit(this); - label14 = new QLabel(i18n("Escape string:"), this); + escapestr = new QLineEdit(mainW); + label14 = new QLabel(QObject::tr("Escape string:"), mainW); ADJUSTEDIT(escapestr); @@ -195,4 +205,4 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - escaperesp = new QLineEdit(this); - label15 = new QLabel(i18n("Escape response:"), this); + escaperesp = new QLineEdit(mainW); + label15 = new QLabel(QObject::tr("Escape response:"), mainW); ADJUSTEDIT(escaperesp); @@ -203,3 +213,3 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) l1->addLayout(l5, row, 2); - lslider = new QLabel("MMMM", this); + lslider = new QLabel("MMMM", mainW); FORMATSLIDERLABEL(lslider); @@ -207,3 +217,3 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) QSlider *slider = new QSlider(0, 255, 1, 0, - QSlider::Horizontal, this); + QSlider::Horizontal, mainW); // slider->setFixedHeight(slider->sizeHint().height()); @@ -214,6 +224,6 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) - label16 = new QLabel(i18n("Guard time (sec/50):"), this); + label16 = new QLabel(QObject::tr("Guard time (sec/50):"), mainW); l1->addWidget(label16, row++, 1); - QLabel *l = new QLabel(i18n("Volume off/low/high:"), this); + QLabel *l = new QLabel(QObject::tr("Volume off/low/high:"), mainW); l1->addWidget(l, row, 1); @@ -221,9 +231,9 @@ ModemCommands::ModemCommands(PPPData *pd, QWidget *parent, const char *name) l1->addLayout(l6, row++, 2); - volume_off = new QLineEdit(this); + volume_off = new QLineEdit(mainW); // volume_off->setFixedHeight(volume_off->sizeHint().height()); // volume_off->setMinimumWidth((int)(volume_off->sizeHint().width() / 2)); - volume_medium = new QLineEdit(this); + volume_medium = new QLineEdit(mainW); // volume_medium->setFixedHeight(volume_medium->sizeHint().height()); // volume_medium->setMinimumWidth((int)(volume_medium->sizeHint().width() / 2)); - volume_high = new QLineEdit(this); + volume_high = new QLineEdit(mainW); // volume_high->setFixedHeight(volume_high->sizeHint().height()); @@ -309,3 +319,8 @@ void ModemCommands::slotOk() { _pppdata->save(); - accept(); + QDialog::accept(); +} + +void ModemCommands::accept() +{ + slotOk(); } 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 @@ -46,3 +46,3 @@ public: - ModemCommands(PPPData*, QWidget *parent=0, const char *name=0); + ModemCommands(PPPData*, QWidget *parent=0, const char *name=0, bool modal=0, WFlags f = 0); ~ModemCommands() {} @@ -50,2 +50,3 @@ public: private slots: + virtual void accept(); void slotCancel(); 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 @@ -36,4 +36,2 @@ #include "modem.h" -//#include <klocale.h> -#define i18n QObject::tr @@ -43,3 +41,3 @@ ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name) { - setCaption(i18n("ATI Query")); + setCaption(QObject::tr("ATI Query")); // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); @@ -60,3 +58,3 @@ ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name) // 20 percent space. Hope this is enough. - statusBar->setText(i18n("Unable to create modem lock file.")); + statusBar->setText(QObject::tr("Unable to create modem lock file.")); statusBar->setFixedWidth((statusBar->sizeHint().width() * 12) / 10); @@ -65,3 +63,3 @@ ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name) // set original text - statusBar->setText(i18n("Looking for modem...")); + statusBar->setText(QObject::tr("Looking for modem...")); progressBar->setFixedHeight(statusBar->minimumSize().height()); @@ -70,3 +68,3 @@ ModemTransfer::ModemTransfer(Modem *mo, QWidget *parent, const char *name) - cancel = new QPushButton(i18n("Cancel"), this); + cancel = new QPushButton(QObject::tr("Cancel"), this); cancel->setFocus(); @@ -120,3 +118,3 @@ void ModemTransfer::time_out_slot() { - QMessageBox::warning(this, tr("Error"), i18n("Modem Query timed out.")); + QMessageBox::warning(this, tr("Error"), QObject::tr("Modem Query timed out.")); reject(); @@ -132,3 +130,3 @@ void ModemTransfer::init() { - statusBar->setText(i18n("Modem device is locked.")); + statusBar->setText(QObject::tr("Modem device is locked.")); return; @@ -138,3 +136,3 @@ void ModemTransfer::init() { - statusBar->setText(i18n("Unable to create modem lock file.")); + statusBar->setText(QObject::tr("Unable to create modem lock file.")); return; @@ -148,3 +146,3 @@ void ModemTransfer::init() { - statusBar->setText(i18n("Modem Ready")); + statusBar->setText(QObject::tr("Modem Ready")); qApp->processEvents(); @@ -229,3 +227,3 @@ void ModemTransfer::cancelbutton() { - statusBar->setText(i18n("One moment please...")); + statusBar->setText(QObject::tr("One moment please...")); qApp->processEvents(); @@ -251,3 +249,3 @@ ModemInfo::ModemInfo(QWidget *parent, const char* name) - setCaption(i18n("Modem Query Results")); + setCaption(QObject::tr("Modem Query Results")); // KWin::setIcons(winId(), kapp->icon(), kapp->miniIcon()); @@ -276,3 +274,3 @@ ModemInfo::ModemInfo(QWidget *parent, const char* name) QHBoxLayout *l2 = new QHBoxLayout; - QPushButton *ok = new QPushButton(i18n("Close"), this); + QPushButton *ok = new QPushButton(QObject::tr("Close"), this); ok->setDefault(TRUE); 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 @@ -6,4 +6,4 @@ CONFIG += qt warn_on debug DESTDIR = $(OPIEDIR)/plugins/networksettings -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 -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 +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 +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 INCLUDEPATH += $(OPIEDIR)/include ../ ../interfaces/ @@ -11,3 +11,2 @@ DEPENDPATH += $(OPIEDIR)/include LIBS += -lqpe -L../interfaces/ -linterfaces -INTERFACES = TARGET = kppp 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 @@ -6,2 +6,3 @@ #include "accounts.h" +#include "devices.h" #include "general.h" @@ -30,3 +31,3 @@ PPPConfigWidget::PPPConfigWidget( InterfacePPP* iface, QWidget *parent, qDebug(" _pppdata->accname >%s<",interface->data()->accname().latin1()); - qDebug(" _pppdata->currentAccountID() >%i<",interface->data()->currentAccountID()); + @@ -38,8 +39,12 @@ PPPConfigWidget::PPPConfigWidget( InterfacePPP* iface, QWidget *parent, - accounts = new AccountWidget( interface->data(), tabWindow, "accounts" ); + accounts = new AccountWidget( interface->data(), tabWindow, "accounts", Qt::WStyle_ContextHelp ); tabWindow->addTab( accounts, tr("&Accounts") ); - modem1 = new ModemWidget( interface, tabWindow, "modem1" ); - tabWindow->addTab( modem1, tr("&Device") ); - modem2 = new ModemWidget2( interface, tabWindow, "modem2" ); - tabWindow->addTab( modem2, tr("&Modem") ); + devices = new DevicesWidget( interface, tabWindow, "devices", Qt::WStyle_ContextHelp ); + tabWindow->addTab( devices, tr("&Devices") ); + +//OLD: +// modem1 = new ModemWidget( interface, tabWindow, "modem1" ); +// tabWindow->addTab( modem1, tr("&Device") ); +// modem2 = new ModemWidget2( interface, tabWindow, "modem2" ); +// tabWindow->addTab( modem2, tr("&Modem") ); @@ -58,3 +63,3 @@ void PPPConfigWidget::accept() qDebug(" interface->getHardwareName >%s<", interface->getHardwareName().latin1()); - interface->setInterfaceName( interface->data()->modemDevice() ); + interface->setInterfaceName( interface->data()->devname() ); interface->setHardwareName( interface->data()->accname() ); 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 @@ -10,2 +10,5 @@ class AccountWidget; class GeneralWidget; +class DevicesWidget; + +//OLD: class ModemWidget; @@ -31,2 +34,5 @@ protected slots: GeneralWidget *general; + DevicesWidget* devices; + + //OLD: ModemWidget *modem1; 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 @@ -28,5 +28,4 @@ #include "runtests.h" -#include "devices.h" +//#include "devices.h" //#include <klocale.h> -#define i18n QObject::tr #include <qpe/config.h> @@ -44,6 +43,7 @@ PPPData::PPPData() - : modemDeviceGroup(-1), - passwd(""), + : passwd(""), + _modemName(""), highcount(-1), // start out with no entries - caccount(-1), // set the current account index also + highcountdev(-1), // start out with no entries +// caccount(-1), // set the current account index also suidprocessid(-1), // process ID of setuid child @@ -52,12 +52,19 @@ PPPData::PPPData() { - highcount = readNumConfig(GENERAL_GRP, NUMACCOUNTS_KEY, 0) - 1; + highcount = readNumConfig(GENERAL_GRP, NUMACCOUNTS_KEY, 0) - 1; + highcountdev = readNumConfig(GENERAL_GRP, NUMDEVICES_KEY, 0) - 1; + Config cfg = config(); + cfg.setGroup(GENERAL_GRP); + accountList = cfg.readListEntry(ACCOUNT_LIST, ',' ); + deviceList = cfg.readListEntry(DEVICESNAMES_LIST, ',' ); + qDebug("PPPData::PPPData has a accountList %s", accountList.join("---").latin1()); + qDebug("PPPData::PPPData has a deviceList %s", deviceList.join("---").latin1()); - if (highcount > MAX_ACCOUNTS) - highcount = MAX_ACCOUNTS; +// if (highcount > MAX_ACCOUNTS) +// highcount = MAX_ACCOUNTS; - if(highcount >= 0 && defaultAccount().isEmpty()) { - setAccountbyIndex(0); - setDefaultAccount(accname()); - } else if(!setAccount(defaultAccount())) - setDefaultAccount(accname()); + // if(highcount >= 0 && defaultAccount().isEmpty()) { +// setAccountbyIndex(0); +// setDefaultAccount(accname()); +// } else if(!setAccount(defaultAccount())) + setDefaultAccount(accname()); @@ -83,2 +90,3 @@ void PPPData::save() writeConfig(GENERAL_GRP, NUMACCOUNTS_KEY, count()); + writeConfig(GENERAL_GRP, NUMDEVICES_KEY, highcountdev + 1); QString key; @@ -86,2 +94,6 @@ void PPPData::save() Config cfg = config(); + cfg.setGroup(GENERAL_GRP); + cfg.writeEntry(ACCOUNT_LIST, accountList, ',' ); + cfg.writeEntry(DEVICESNAMES_LIST, deviceList, ',' ); + for( QMap<QString,QString>::Iterator it = stringEntries.begin(); @@ -92,6 +104,6 @@ void PPPData::save() keys = QStringList::split( "SEPARATOR", key ); - qDebug("group >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); + //qDebug("group >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); cfg.setGroup(keys[0]); cfg.writeEntry(keys[1], val); - } + } for( QMap<QString,int>::Iterator it = intEntries.begin(); @@ -102,6 +114,6 @@ void PPPData::save() keys = QStringList::split( "SEPARATOR", key ); - qDebug("group >%s< key >%s< val %i", keys[0].latin1(), keys[1].latin1(), val ); + //qDebug("group >%s< key >%s< val %i", keys[0].latin1(), keys[1].latin1(), val ); cfg.setGroup(keys[0]); cfg.writeEntry(keys[1], val); - } + } for( QMap<QString,QStringList>::Iterator it = listEntries.begin(); @@ -113,6 +125,5 @@ void PPPData::save() keys = QStringList::split( "SEPARATOR", key ); - qDebug("group >%s< key >%s<values >%s<", keys[0].latin1(), keys[1].latin1(), val.join(sep).latin1() ); cfg.setGroup(keys[0]); cfg.writeEntry(keys[1], val, sep); - } + } } @@ -346,3 +357,3 @@ void PPPData::setpppdTimeout(int n) { const QString PPPData::modemDevice() { - return readConfig (modemGroup(), MODEMDEV_KEY, devices[DEV_DEFAULT]); + return readConfig (modemGroup(), MODEMDEV_KEY, "/dev/modem" ); } @@ -350,13 +361,25 @@ const QString PPPData::modemDevice() { +// const QString PPPData::modemName() +// { +// return readConfig(modemGroup(), MODEMNAME_KEY); +// } + +// bool PPPData::setModemName(const QString &n) { +// qDebug("Setting modem name to >%s<", n.latin1()); +// _modemName = n; +// writeConfig(cgroup, MODEMNAME_KEY, n); +// return true; //FIXME +// } + +// bool PPPData::changeModemName(const QString &n) { +// qDebug("Setting modem name to >%s<", n.latin1()); +// _modemName = n; +// writeConfig(modemGroup(), MODEMNAME_KEY, n); +// return true; //FIXME +// } + bool PPPData::setModemDevice(const QString &n) { qDebug("Setting modem dev to >%s<", n.latin1()); - bool ret = false; - for (int i = 0; devices[i]; i++) - if (devices[i] == n){ - modemDeviceGroup = i; - writeConfig(modemGroup(), MODEMDEV_KEY, n); - ret = true; - } - qDebug(ret?"SUCCESS":"FAILURE"); - return ret; + writeConfig(modemGroup(), MODEMDEV_KEY, n); + return true; //FIXME } @@ -719,19 +742,24 @@ bool PPPData::setAccount(const QString &aname) { qDebug("setting account to >%s<", aname.latin1()); - for(int i = 0; i <= highcount; i++) { - setAccountbyIndex(i); - if(accname() == aname) { - caccount = i; - qDebug("SUCCESS"); - return true; + for ( QStringList::Iterator it = accountList.begin(); it != accountList.end(); ++it ) { + cgroup = *it; + qDebug("PPPData::setAccount %s", cgroup.latin1()); + qDebug( "iterator %s", (*it).latin1() ); + if(accname() == aname) { + qDebug("SUCCESS"); + return true; + } + } - } - qDebug("FAILURE"); - return false; + qDebug("FAILURE"); + return false; } - +/* bool PPPData::setAccountbyIndex(int i) { if(i >= 0 && i <= highcount) { + QString tmp; + tmp.sprintf("%s%i", ACCOUNT_GRP, i); + if (_deleted.find(tmp)!=_deleted.end()) return false; caccount = i; - cgroup.sprintf("%s%i", ACCOUNT_GRP, i); + cgroup = tmp; return true; @@ -740,14 +768,18 @@ bool PPPData::setAccountbyIndex(int i) { } - +*/ bool PPPData::isUniqueAccname(const QString &n) { - int current = caccount; - for(int i=0; i <= highcount; i++) { - setAccountbyIndex(i); - if(accname() == n && i != current) { - setAccountbyIndex(current); - return false; - } + QString save_cgroup = cgroup; + for ( QStringList::Iterator it = accountList.begin(); it != accountList.end(); ++it ) { + cgroup = *it; + qDebug("PPPData::setAccount %s", cgroup.latin1()); + qDebug( "%s \n", (*it).latin1() ); + if(accname() == n && cgroup != save_cgroup) { + cgroup = save_cgroup; + qDebug("SUCCESS"); + return false; + } + } - setAccountbyIndex(current); + cgroup = save_cgroup; return true; @@ -756,48 +788,61 @@ bool PPPData::isUniqueAccname(const QString &n) { -bool PPPData::deleteAccount() { - //FIXME: PPPData::deleteAccount -// if(caccount < 0) - return false; - -// QMap <QString, QString> map; -// QMap <QString, QString>::Iterator it; - -// // set all entries of the current account to "" -// map = config->entryMap(cgroup); -// it = map.begin(); -// while (it != map.end()) { -// config->writeEntry(it.key(), ""); -// it++; -// } +bool PPPData::isUniqueDevname(const QString &n) { + QString save_mName = _modemName; + qDebug("PPPData::isUniqueDevname checking if %s is unique", n.latin1()); + for ( QStringList::Iterator it = deviceList.begin(); it != deviceList.end(); ++it ) { + _modemName = *it; + qDebug("PPPData::isUniqueDevname %s == %s", n.latin1() , devname().latin1()); + if(devname() == n && _modemName != save_mName) { + _modemName = save_mName; + qDebug("NOT UNIQUE"); + return false; + } -// // shift the succeeding accounts -// for(int i = caccount+1; i <= highcount; i++) { -// setAccountbyIndex(i); -// map = config->entryMap(cgroup); -// it = map.begin(); -// setAccountbyIndex(i-1); -// config->setGroup(cgroup); -// while (it != map.end()) { -// config->writeEntry(it.key(), *it); -// it++; -// } -// } + } + _modemName = save_mName; + return true; +} -// // make sure the top account is cleared -// setAccountbyIndex(highcount); -// map = config->entryMap(cgroup); -// it = map.begin(); -// config->setGroup(cgroup); -// while (it.key() != QString::null) { -// config->writeEntry(it.key(), ""); -// it++; -// } -// highcount--; -// if(caccount > highcount) -// caccount = highcount; +bool PPPData::deleteAccount() { + // FIXME: check if this account exists in a config... + Config cfg = PPPData::config(); + cfg.setGroup(cgroup); + cfg.clearGroup(); + accountList.remove(cgroup); -// setAccountbyIndex(caccount); + QString key; + QStringList keys; + for( QMap<QString,QString>::Iterator it = stringEntries.begin(); + it != stringEntries.end(); ++it ){ + QString val = it.data(); + key = it.key(); + keys = QStringList::split( "SEPARATOR", key ); + if(keys[0]==cgroup){ + stringEntries.remove( it ); + qDebug("deleting >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); + } + } + for( QMap<QString,int>::Iterator it = intEntries.begin(); + it != intEntries.end(); ++it ){ + int val = it.data(); + key = it.key(); + keys = QStringList::split( "SEPARATOR", key ); + if(keys[0]==cgroup){ + intEntries.remove( it ); + qDebug("deleting >%s< key >%s< value >%i<", keys[0].latin1(), keys[1].latin1(), val ); + } + } + for( QMap<QString,QStringList>::Iterator it = listEntries.begin(); + it != listEntries.end(); ++it ){ + QStringList val = it.data(); + key = it.key(); + if(keys[0]==cgroup){ + listEntries.remove( it ); + sepEntries.remove( key ); + qDebug("deleting >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.join("").latin1() ); + } + } -// return true; + return true; } @@ -819,13 +864,15 @@ int PPPData::newaccount() { // if(!config) open(); - if (highcount >= MAX_ACCOUNTS) return -1; +// if (highcount >= MAX_ACCOUNTS) return -1; - highcount++; - setAccountbyIndex(highcount); + QString tmp; + tmp.sprintf("%s%i", ACCOUNT_GRP, ++highcount); + cgroup = QString(tmp); + accountList << tmp; + qDebug("PPPData::newaccount() Group: >%s<",cgroup.latin1()); setpppdArgumentDefaults(); - qDebug("PPPData::newaccount -> %i",caccount); - return caccount; + return highcount; } -int PPPData::copyaccount(int i) { +int PPPData::copyaccount(const QString&) { // FIXME: PPPData::copyaccount @@ -839,3 +886,3 @@ int PPPData::copyaccount(int i) { -// QString newname = i18n("%1_copy").arg(accname()); +// QString newname = QObject::tr("%1_copy").arg(accname()); @@ -866,2 +913,3 @@ void PPPData::setAccname(const QString &n) { } + writeConfig(cgroup, NAME_KEY, n); } @@ -1178,2 +1226,3 @@ void PPPData::setpppdArgumentDefaults() { QStringList arg; + arg << "lcp-echo-failure 0"; setpppdArgument(arg); @@ -1249,7 +1298,5 @@ QString PPPData::modemGroup() { - if (modemDeviceGroup<0){ - qDebug("wrong modem %i\n using 0",modemDeviceGroup); - modemDeviceGroup = 0; //FIXME! - } - return QString("%1_%1").arg(MODEM_GRP).arg(modemDeviceGroup); + if (_modemName.isEmpty()) + _modemName = deviceList[0]; + return _modemName; } @@ -1302 +1349,147 @@ QString PPPData::encodeWord(const QString &s) { } + +QStringList PPPData::getDevicesList() +{ + Config cfg("NetworkSetupPPP"); + cfg.setGroup("Devices_General"); + return cfg.readListEntry(DEVICES_LIST,DEVICES_LIST_SEP); +} + +QStringList PPPData::getAccountList() +{ + QStringList list; + QString save_cgroup; + save_cgroup = cgroup; + for ( QStringList::Iterator it = accountList.begin(); it != accountList.end(); ++it ) { + cgroup = *it; + list << accname(); + } + cgroup = save_cgroup; + return list; +}; + + +const QString PPPData::devname() +{ + QString tmp = readConfig(modemGroup(), MODEMNAME_KEY ); + qDebug("PPPData::devname() of %s is %s", modemGroup().latin1(), tmp.latin1()); + return tmp; +} + +void PPPData::setDevname(const QString &n) { + // if(!cgroup.isNull()) { +// // are we manipulating the default account's name ? then change it, too. +// bool def = accname() == defaultAccount(); +// writeConfig(cgroup, NAME_KEY, n); +// if (def) +// setDefaultAccount(n); +// } + writeConfig(modemGroup(), MODEMNAME_KEY, n ); +} + + +bool PPPData::setDevice(const QString &dev ) +{ + qDebug("setting device to >%s<", dev.latin1()); + QString save_mName = _modemName; + for ( QStringList::Iterator it = deviceList.begin(); it != deviceList.end(); ++it ) { + _modemName = *it; + qDebug("PPPData::setDevice %s is named %s", _modemName.latin1(), devname().latin1() ); + qDebug( "iterator %s", (*it).latin1() ); + if(devname() == dev) { + qDebug("SUCCESS"); + return true; + } + + } + _modemName = save_mName; + qDebug("FAILURE"); + return false; +} + +bool PPPData::deleteDevice() +{ + // FIXME: check if this account exists in a config... + Config cfg = PPPData::config(); + cfg.setGroup(modemGroup()); + cfg.clearGroup(); + deviceList.remove(modemGroup()); + + QString key; + QStringList keys; + for( QMap<QString,QString>::Iterator it = stringEntries.begin(); + it != stringEntries.end(); ++it ){ + QString val = it.data(); + key = it.key(); + keys = QStringList::split( "SEPARATOR", key ); + if(keys[0]==modemGroup()){ + stringEntries.remove( it ); + qDebug("deleting >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.latin1() ); + } + } + for( QMap<QString,int>::Iterator it = intEntries.begin(); + it != intEntries.end(); ++it ){ + int val = it.data(); + key = it.key(); + keys = QStringList::split( "SEPARATOR", key ); + if(keys[0]==modemGroup()){ + intEntries.remove( it ); + qDebug("deleting >%s< key >%s< value >%i<", keys[0].latin1(), keys[1].latin1(), val ); + } + } + for( QMap<QString,QStringList>::Iterator it = listEntries.begin(); + it != listEntries.end(); ++it ){ + QStringList val = it.data(); + key = it.key(); + if(keys[0]==modemGroup()){ + listEntries.remove( it ); + sepEntries.remove( key ); + qDebug("deleting >%s< key >%s< value >%s<", keys[0].latin1(), keys[1].latin1(), val.join("").latin1() ); + } + } + + return true; + +} + +bool PPPData::deleteDevice(const QString &dev) +{ + if(!setDevice(dev)) + return false; + + return deleteDevice(); +} + +int PPPData::newdevice() +{ + + qDebug("PPPData::newdevice highcount %i",highcountdev); + + + QString tmp; + tmp.sprintf("%s%i", MODEM_GRP, ++highcountdev); + _modemName = QString(tmp); + deviceList << tmp; + qDebug("PPPData::newdevice() Group: >%s<",cgroup.latin1()); + return highcountdev; +} + +int PPPData::copydevice(const QString&) +{ + return false; +} + + +QStringList PPPData::getDevicesNamesList() +{ + QStringList list; + QString save_mName = _modemName; + qDebug("PPPData::getDevicesNamesList has %s", deviceList.join("---").latin1()); + for ( QStringList::Iterator it = deviceList.begin(); it != deviceList.end(); ++it ) { + _modemName = *it; + qDebug("PPPData::getDevicesNamesList adding %s as %s",_modemName.latin1(), devname().latin1()); + list << devname(); + } + _modemName = save_mName; + return list; +}; 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 @@ -66,2 +66,4 @@ class Config; // general +#define ACCOUNT_LIST "AccountList" +#define DEVICE_LIST "DeviceList" #define DEFAULTACCOUNT_KEY "DefaultAccount" @@ -74,3 +76,4 @@ class Config; #define QUITONDISCONNECT_KEY "QuitOnDisconnect" -#define NUMACCOUNTS_KEY "NumberOfAccounts" +#define NUMACCOUNTS_KEY "HighcountAccounts" +#define NUMDEVICES_KEY "HighcountDevices" #define ID_KEY "ID" @@ -78,2 +81,3 @@ class Config; // modem +#define MODEMNAME_KEY "Modem_Name" #define MODEMDEV_KEY "Device" @@ -153,2 +157,6 @@ class Config; +#define DEVICESNAMES_LIST "DevicesNames_List" +#define DEVICES_LIST "Devices_List" +#define DEVICES_LIST_SEP ',' + class PPPData { @@ -164,2 +172,4 @@ public: + QStringList getAccountList(); + static QMap<QString,QString> getConfiguredInterfaces(); @@ -186,3 +196,3 @@ public: - int currentAccountID() { return caccount; }; +// int currentAccountID() { return caccount; }; const QString defaultAccount(); @@ -238,4 +248,8 @@ public: - const QString modemDevice(); - bool setModemDevice(const QString &); +// const QString modemName(); +// bool setModemName(const QString &); +// bool changeModemName(const QString &); + + const QString modemDevice(); + bool setModemDevice(const QString &); @@ -315,5 +329,6 @@ public: bool setAccount(const QString &); - bool setAccountbyIndex(int); +// bool setAccountbyIndex(int); bool isUniqueAccname(const QString &); + bool isUniqueDevname(const QString &); @@ -322,3 +337,3 @@ public: int newaccount(); - int copyaccount(int i); + int copyaccount(const QString&); @@ -411,2 +426,3 @@ public: + QStringList getDevicesList(); @@ -414,2 +430,11 @@ public: + const QString devname(); + void setDevname(const QString &); + bool setDevice(const QString& ); + bool deleteDevice(); + bool deleteDevice(const QString &); + int newdevice(); + int copydevice(const QString&); + QStringList getDevicesNamesList(); + private: @@ -417,7 +442,8 @@ private: //static PPPData *_data; - int modemDeviceGroup; +// int modemDeviceGroup; QString passwd; - // static Config* config; // configuration object + QString _modemName; int highcount; // index of highest account - int caccount; // index of the current account + int highcountdev; // index of highest device +// int caccount; // index of the current account QString cgroup; // name of current config group @@ -429,3 +455,6 @@ private: + QStringList phonelist; + QStringList accountList; + QStringList deviceList; QMap<QString,QString> stringEntries; 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,2 +1,8 @@ +#include <errno.h> +#include <signal.h> + +#include <qpe/config.h> + +#include "modem.h" #include "pppconfig.h" @@ -7,2 +13,27 @@ +// don't polute global namespace +namespace { + /* + * If network settings is qutting and we've ppp + * devices open we need to save the pid_t the PPData + * and the interface number + */ + struct Connection { + pid_t pid; + QString device; + QString name; + }; + class InterfaceKeeper { + public: + InterfaceKeeper(); + ~InterfaceKeeper(); + + void addInterface( pid_t, const QString& pppDev, const QString& name ); + QMap<QString, Connection> interfaces()const; // will check if still available + private: + bool isAvailable( pid_t )const; + QMap<QString, Connection> m_interfaces; + }; +} + @@ -10,2 +41,5 @@ * Constructor, find all of the possible interfaces + * We also need to restore the state.. it could be that + * an interface was up while closing the application + * we need to be able to shut it down... */ @@ -13,2 +47,6 @@ PPPModule::PPPModule() : Module() { + InterfaceKeeper inFace; + QMap<QString,Connection> running = inFace.interfaces(); + QStringList handledInterfaceNames; + QMap<QString,QString> ifaces = PPPData::getConfiguredInterfaces(); @@ -18,3 +56,3 @@ PPPModule::PPPModule() : Module() for( it = ifaces.begin(); it != ifaces.end(); ++it ){ - qDebug("ifaces %s", it.key().latin1()); + qDebug("ifaces %s %s", it.key().latin1(), it.data().latin1() ); iface = new InterfacePPP( 0, it.key() ); @@ -22,3 +60,15 @@ PPPModule::PPPModule() : Module() list.append( (Interface*)iface ); + + // check if (*it) is one of the running ifaces + if ( running.contains( it.data() ) ) { + qDebug("iface is running %s", it.key().latin1() ); + handledInterfaceNames << running[it.data()].device; + iface->setStatus( true ); + iface->setPPPDpid( running[it.data()].pid ); + iface->modem()->setPPPDevice( running[it.data()].device ); + iface->refresh(); + } } + + setHandledInterfaceNames( handledInterfaceNames ); } @@ -29,5 +79,13 @@ PPPModule::PPPModule() : Module() PPPModule::~PPPModule(){ + qDebug("PPPModule::~PPPModule() " ); QMap<QString,QString> ifaces; + InterfaceKeeper keeper; Interface *i; for ( i=list.first(); i != 0; i=list.next() ){ + /* if online save the state */ + if ( i->getStatus() ) { + qDebug("Iface %s is still up", i->getHardwareName().latin1() ); + InterfacePPP* ppp = static_cast<InterfacePPP*>(i); + keeper.addInterface( ppp->pppPID(), ppp->pppDev(), ppp->getHardwareName() ); + } ifaces.insert( i->getInterfaceName(), i->getHardwareName() ); @@ -71,3 +129,3 @@ QWidget *PPPModule::configure(Interface *i){ 0, "PPPConfig", false, - Qt::WDestructiveClose ); + Qt::WDestructiveClose | Qt::WStyle_ContextHelp); return pppconfig; @@ -137 +195,56 @@ void PPPModule::possibleNewInterfaces(QMap<QString, QString> &newIfaces) + +namespace { + InterfaceKeeper::InterfaceKeeper( ) { + } + InterfaceKeeper::~InterfaceKeeper() { + Config cfg("ppp_plugin_keeper"); + QStringList lst = cfg.groupList(); + for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { + Connection con; + cfg.setGroup( (*it) ); + cfg.clearGroup(); + } + + for (QMap<QString, Connection>::Iterator it = m_interfaces.begin(); it != m_interfaces.end(); ++it ) { + Connection con = it.data(); + cfg.setGroup( con.name ); + cfg.writeEntry( "pid", con.pid ); + cfg.writeEntry( "device", con.device ); + } + } + void InterfaceKeeper::addInterface(pid_t pid, const QString& dev, const QString& name ) { + Connection con; + con.pid = pid; + con.device = dev; + con.name = name; + m_interfaces.insert( name, con ); + } + QMap<QString, Connection> InterfaceKeeper::interfaces()const { + Config cfg("ppp_plugin_keeper"); + QMap<QString, Connection> ifaces; + QStringList lst = cfg.groupList(); + for (QStringList::Iterator it = lst.begin(); it != lst.end(); ++it ) { + Connection con; + cfg.setGroup( (*it) ); + con.name = (*it); + con.pid = cfg.readNumEntry("pid"); + con.device = cfg.readEntry("device"); + qDebug(" %s %s %d", con.name.latin1(), con.device.latin1(), con.pid ); + + if ( con.pid != -1 && isAvailable( con.pid ) ) + ifaces.insert( con.name, con ); + } + return ifaces; + } + bool InterfaceKeeper::isAvailable( pid_t p)const { + if (::kill(p, 0 ) == 0 || errno != ESRCH ) { + qDebug("isAvailable %d", p); + return true; + } + + qDebug("notAvailable %d", p); + return false; + } + +} 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 @@ -46,4 +46,2 @@ -//#include <klocale.h> -#define i18n QObject::tr #include "pppdata.h" @@ -219,3 +217,3 @@ int runTests() { QMessageBox::warning(0,"error", - i18n("You're not allowed to dial out with " + QObject::tr("You're not allowed to dial out with " "kppp.\nContact your system administrator.")); @@ -230,3 +228,3 @@ int runTests() { QMessageBox::warning(0,"error", - i18n("Cannot find the PPP daemon!\n" + QObject::tr("Cannot find the PPP daemon!\n" "Make sure that pppd is installed.")); @@ -240,3 +238,3 @@ int runTests() { KMessageBox::warning(0, - i18n("You do not have the permission " + QObject::tr("You do not have the permission " "to start pppd!\n" @@ -253,3 +251,3 @@ int runTests() { QMessageBox::warning(0,"error", - i18n("You don't have sufficient permission to run\n" + QObject::tr("You don't have sufficient permission to run\n" "%1\n" @@ -265,3 +263,3 @@ int runTests() { QString file = _PATH_RESCONF" "; - QString msgstr = i18n("%1 is missing or can't be read!\n" + QString msgstr = QObject::tr("%1 is missing or can't be read!\n" "Ask your system administrator to create " 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 @@ -6,2 +6,3 @@ KeyEdit::KeyEdit(QWidget* parent, const char* name) : { + setEchoMode(Password); } 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 @@ -13,3 +13,3 @@ <y>0</y> - <width>251</width> + <width>247</width> <height>299</height> @@ -289,15 +289,3 @@ <name>text</name> - <string>Auto</string> - </property> - </item> - <item> - <property> - <name>text</name> - <string>Managed</string> - </property> - </item> - <item> - <property> - <name>text</name> - <string>Ad-Hoc</string> + <string>any</string> </property> @@ -306,7 +294,3 @@ <name>name</name> - <cstring>mode</cstring> - </property> - <property stdset="1"> - <name>enabled</name> - <bool>true</bool> + <cstring>essid</cstring> </property> @@ -316,3 +300,3 @@ <x>101</x> - <y>11</y> + <y>46</y> <width>103</width> @@ -324,3 +308,3 @@ <sizepolicy> - <hsizetype>1</hsizetype> + <hsizetype>7</hsizetype> <vsizetype>0</vsizetype> @@ -328,2 +312,22 @@ </property> + <property stdset="1"> + <name>editable</name> + <bool>true</bool> + </property> + <property stdset="1"> + <name>currentItem</name> + <number>0</number> + </property> + <property stdset="1"> + <name>sizeLimit</name> + <number>5</number> + </property> + <property stdset="1"> + <name>autoCompletion</name> + <bool>true</bool> + </property> + <property stdset="1"> + <name>duplicatesEnabled</name> + <bool>false</bool> + </property> </widget> @@ -334,3 +338,21 @@ <name>text</name> - <string>any</string> + <string>Infrastructure</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Auto</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Managed</string> + </property> + </item> + <item> + <property> + <name>text</name> + <string>Ad-Hoc</string> </property> @@ -339,3 +361,7 @@ <name>name</name> - <cstring>essid</cstring> + <cstring>mode</cstring> + </property> + <property stdset="1"> + <name>enabled</name> + <bool>true</bool> </property> @@ -345,3 +371,3 @@ <x>101</x> - <y>46</y> + <y>11</y> <width>103</width> @@ -353,3 +379,3 @@ <sizepolicy> - <hsizetype>7</hsizetype> + <hsizetype>1</hsizetype> <vsizetype>0</vsizetype> @@ -357,22 +383,2 @@ </property> - <property stdset="1"> - <name>editable</name> - <bool>true</bool> - </property> - <property stdset="1"> - <name>currentItem</name> - <number>0</number> - </property> - <property stdset="1"> - <name>sizeLimit</name> - <number>5</number> - </property> - <property stdset="1"> - <name>autoCompletion</name> - <bool>true</bool> - </property> - <property stdset="1"> - <name>duplicatesEnabled</name> - <bool>false</bool> - </property> </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 @@ -29,3 +29,3 @@ */ -WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl) : WLAN(parent, name, modal, fl), currentProfile("*"), interface(i) { +WLANImp::WLANImp( QWidget* parent, const char* name, Interface *i, bool modal, WFlags fl) : WLAN(parent, name, modal, fl), interface(i), currentProfile("*") { interfaces = new Interfaces(); @@ -69,10 +69,5 @@ void WLANImp::parseOpts() { opt = interfaces->getInterfaceOption("wireless_mode", error).simplifyWhiteSpace(); - if (opt == "Auto") { - mode->setCurrentItem(0); - } else if (opt == "Ad-Hoc") { - mode->setCurrentItem(2); - } else { - // Managed/Infrastructure mode - mode->setCurrentItem(1); - } + + for ( int i = 0; i < mode->count(); i++) + if ( mode->text( i ) == opt ) mode->setCurrentItem( i ); @@ -205,3 +200,3 @@ void WLANImp::accept() { // Close out the dialog - QDialog::accept(); +// FIXME: QDialog::accept(); } @@ -209,3 +204,12 @@ void WLANImp::accept() { void WLANImp::writeOpts() { - bool error = false; + // eh can't really do anything about it other then return. :-D + if(!interfaces->isInterfaceSet()){ + QMessageBox::warning(0,"Inface not set","should not happen!!!"); + return; + } + bool error = false; + + qDebug("setting wlan interface %s", interfaces->getInterfaceName( error ).latin1() ); + + if (error) QMessageBox::warning(0,"Inface not set","should not happen!!!"); @@ -232,9 +236,12 @@ void WLANImp::writeOpts() { keyList += "[1]"; - } else if (! keyLineEdit1->text().isNull()) { + } //else + if (! keyLineEdit1->text().isNull()) { keyList += keyLineEdit1->text(); keyList += "[2]"; - } else if (! keyLineEdit2->text().isNull()) { + } //else + if (! keyLineEdit2->text().isNull()) { keyList += keyLineEdit2->text(); keyList += "[3]"; - } else if (! keyLineEdit3->text().isNull()) { + } //else + if (! keyLineEdit3->text().isNull()) { keyList += keyLineEdit3->text(); 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,3 +1,3 @@ #include "wlanmodule.h" -#include "wlanimp.h" +#include "wlanimp2.h" #include "infoimp.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 @@ -427,3 +427,3 @@ void UserDialog::accept() { void UserDialog::clickedPicture() { - QString filename=OFileDialog::getOpenFileName(OFileSelector::EXTENDED,"/opt/QtPalmtop/pics"); + QString filename=OFileDialog::getOpenFileName(OFileSelector::EXTENDED, QString::null); if(!(filename.isEmpty())) { 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 @@ -18,2 +18,3 @@ #include <qcheckbox.h> +#include <qlabel.h> 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 @@ -29,3 +29,3 @@ UserConfig::UserConfig(QWidget* parent, const char* name, WFlags fl) : QMainWindow(parent, name, fl) { - setCaption(tr("OPIE User Manager")); + setCaption(tr("Opie User Manager")); 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 @@ -4,3 +4,3 @@ CONFIG = qt warn_on release HEADERS = usermanager.h userdialog.h groupdialog.h passwd.h -SOURCES = usermanager.cpp userdialog.cpp groupdialog.cpp passwd.cpp main.cpp +SOURCES = usermanager.cpp userdialog.cpp groupdialog.cpp passwd.h main.cpp INCLUDEPATH += $(OPIEDIR)/include 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 @@ -20,4 +20,3 @@ -#include "flat.h" -#include <qpe/qpeapplication.h> +#include <qtopia/qpeapplication.h> #include <qpushbutton.h> @@ -34,2 +33,3 @@ #include <qlineedit.h> +#include <qmap.h> @@ -37,2 +37,5 @@ #include <qmenudata.h> +#include <qpopupmenu.h> + +#include "flat.h" @@ -56,12 +59,24 @@ public: bool eventFilter( QObject *o, QEvent *e ) { - if ( e->type() == QEvent::ParentPaletteChange && o->inherits( "QMenuBar" ) ) { - QWidget *w = (QWidget *)o; - if ( w->parentWidget() ) { - QPalette p = w->parentWidget()->palette(); - QColorGroup a = p.active(); - a.setColor( QColorGroup::Light, a.foreground() ); - a.setColor( QColorGroup::Dark, a.foreground() ); - p.setActive( a ); - p.setInactive( a ); - w->setPalette( p ); + if ( e->type() == QEvent::ParentPaletteChange ) { + if ( o->inherits( "QMenuBar" ) ) { + QWidget *w = (QWidget *)o; + if ( w->parentWidget() ) { + QPalette p = w->parentWidget()->palette(); + QColorGroup a = p.active(); + a.setColor( QColorGroup::Light, a.foreground() ); + a.setColor( QColorGroup::Dark, a.foreground() ); + p.setActive( a ); + p.setInactive( a ); + w->setPalette( p ); + } + } else if ( o->inherits( "QHeader" ) ) { + QWidget *w = (QWidget *)o; + if ( w->parentWidget() ) { + QPalette p = w->parentWidget()->palette(); + QColorGroup a = p.active(); + a.setColor( QColorGroup::Light, a.button() ); + p.setActive( a ); + p.setInactive( a ); + w->setPalette( p ); + } } @@ -70,5 +85,7 @@ public: } + + QMap<QFrame *,int> frameStyles; }; -FlatStyle::FlatStyle() : revItem(FALSE) +FlatStyle::FlatStyle() : revItem(FALSE), fillBtnBorder(FALSE) { @@ -103,3 +120,5 @@ void FlatStyle::polish( QWidget *w ) QFrame *f = (QFrame *)w; - if ( f->frameShape() != QFrame::NoFrame ) + if ( f->frameShape() == QFrame::HLine || f->frameShape() == QFrame::VLine ) + f->setFrameShadow( QFrame::Plain ); + else if ( f->frameShape() != QFrame::NoFrame ) f->setFrameShape( QFrame::StyledPanel ); @@ -119,2 +138,11 @@ void FlatStyle::polish( QWidget *w ) w->installEventFilter( d ); + } else if ( w->inherits( "QHeader" ) ) { + // make headers look flat + QPalette p = w->palette(); + QColorGroup a = p.active(); + a.setColor( QColorGroup::Light, a.button() ); + p.setActive( a ); + p.setInactive( a ); + w->setPalette( p ); + w->installEventFilter( d ); } @@ -124,11 +152,14 @@ void FlatStyle::unPolish( QWidget *w ) { - if ( w->inherits( "QFrame" ) ) { + if ( w->inherits("QFrame") ) { QFrame *f = (QFrame *)w; - if ( f->frameShape() != QFrame::NoFrame ) + if ( f->frameShape() == QFrame::HLine || f->frameShape() == QFrame::VLine ) { + f->setFrameShadow( QFrame::Sunken ); + } else if ( f->frameShape() != QFrame::NoFrame ) { f->setFrameShape( QFrame::StyledPanel ); - f->setLineWidth( 2 ); + f->setLineWidth( 2 ); + } } - if ( w->inherits( "QSpinBox" ) ) + if ( w->inherits("QSpinBox") ) ((SpinBoxHack*)w)->setFlatButtons( FALSE ); - if ( w->inherits( "QMenuBar" ) ) { + if ( w->inherits("QMenuBar") || w->inherits("QHeader") ) { w->unsetPalette(); @@ -140,3 +171,3 @@ int FlatStyle::defaultFrameWidth() const { - return 1; + return 2; } @@ -173,4 +204,23 @@ void FlatStyle::drawButton( QPainter *p, int x, int y, int w, int h, + int x2 = x+w-1; + int y2 = y+h-1; + + if ( fillBtnBorder && btnBg != cg.color(QColorGroup::Button) ) { + p->setPen( btnBg ); + p->drawLine( x, y, x2, y ); + p->drawLine( x, y2, x2, y2 ); + p->drawLine( x, y+1, x, y2-1 ); + p->drawLine( x2, y+1, x2, y2-1 ); + p->fillRect( x+1, y+1, 3, 3, btnBg ); + p->fillRect( x+1, y2-3, 3, 3, btnBg ); + p->fillRect( x2-3, y2-3, 3, 3, btnBg ); + p->fillRect( x2-3, y+1, 3, 3, btnBg ); + p->fillRect( x+2, y+2, w-4, h-4, fill?(*fill):cg.brush(QColorGroup::Button) ); + } else { + p->fillRect( x+1, y+1, w-2, h-2, fill?(*fill):cg.brush(QColorGroup::Button) ); + } + if ( h >= 10 ) { x++; y++; + x2--; y2--; w -= 2; h -= 2; @@ -178,7 +228,2 @@ void FlatStyle::drawButton( QPainter *p, int x, int y, int w, int h, - p->fillRect( x+1, y+1, w-2, h-2, fill?(*fill):cg.brush(QColorGroup::Button) ); - - int x2 = x+w-1; - int y2 = y+h-1; - p->setPen( cg.foreground() ); @@ -227,2 +272,12 @@ void FlatStyle::drawToolButton( QPainter *p, int x, int y, int w, int h, { + if ( p->device()->devType() == QInternal::Widget ) { + QWidget *w = (QWidget *)p->device(); + if ( w->isA("QToolButton") ) { + QToolButton *btn = (QToolButton *)w; + if ( btn->parentWidget() ) { + btnBg = btn->parentWidget()->backgroundColor(); + fillBtnBorder = TRUE; + } + } + } QBrush fb( fill ? *fill : g.button() ); @@ -233,2 +288,3 @@ void FlatStyle::drawToolButton( QPainter *p, int x, int y, int w, int h, drawButton( p, x, y, w, h, g, sunken, &fb ); + fillBtnBorder = FALSE; } @@ -259,2 +315,7 @@ void FlatStyle::drawPushButton( QPushButton *btn, QPainter *p ) + if ( btn->parentWidget() ) { + btnBg = btn->parentWidget()->backgroundColor(); + fillBtnBorder = TRUE; + } + bool clearButton = TRUE; @@ -285,2 +346,3 @@ void FlatStyle::drawPushButton( QPushButton *btn, QPainter *p ) + fillBtnBorder = FALSE; if ( p->brush().style() != NoBrush ) @@ -591,3 +653,4 @@ void FlatStyle::drawScrollBarControls( QPainter* p, const QScrollBar* sb, int sl p->drawRect( subPageR.x(), subPageR.y(), subPageR.width(), subPageR.height() ); - if ( controls & AddPage && addPageR.y() < addPageR.bottom() ) + if ( controls & AddPage && addPageR.y() < addPageR.bottom() && + addPageR.x() < addPageR.right() ) p->drawRect( addPageR.x(), addPageR.y(), addPageR.width(), addPageR.height() ); @@ -786,2 +849,8 @@ static const int windowsCheckMarkWidth = 2; // checkmarks width on windows +void FlatStyle::polishPopupMenu ( QPopupMenu *m ) +{ + QWindowsStyle::polishPopupMenu( m ); + m->setLineWidth( 1 ); +} + /*! \reimp @@ -1010,3 +1079,3 @@ QString FlatStyleImpl::name() const { - return QString("Flat"); + return qApp->translate("FlatStyle", "Flat", "Name of the style Flat"); } @@ -1020,5 +1089,6 @@ QRESULT FlatStyleImpl::queryInterface( const QUuid &uuid, QUnknownInterface **if *iface = this; + else + return QS_FALSE; - if ( *iface ) - (*iface)->addRef(); + (*iface)->addRef(); return QS_OK; 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 @@ -23,2 +23,3 @@ +#include <qcolor.h> #include <qwindowsstyle.h> @@ -28,3 +29,3 @@ class FlatStylePrivate; -class Q_EXPORT FlatStyle : public QWindowsStyle +class FlatStyle : public QWindowsStyle { @@ -75,2 +76,3 @@ public: void drawTab( QPainter *, const QTabBar *, QTab *, bool selected ); + void polishPopupMenu ( QPopupMenu * ); int extraPopupMenuItemWidth( bool checkable, int maxpmw, QMenuItem*, const QFontMetrics& ); @@ -88,2 +90,4 @@ private: bool revItem; + bool fillBtnBorder; + QColor btnBg; // Disabled copy constructor and operator= 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 @@ -11,2 +11,3 @@ #include <qlabel.h> +#include <qlayout.h> #include <qpe/config.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 @@ -123,3 +123,3 @@ StocktickerPluginConfig::StocktickerPluginConfig( QWidget *parent, const char* cfg.setGroup("Timer"); - timerDelaySpin->setValue( cfg.readNumEntry("Delay",0)); + timerDelaySpin->setValue( cfg.readNumEntry("Delay",15)); layout->addMultiCellWidget( timerDelaySpin , 6, 6, 0, 0); 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 @@ -30,3 +30,3 @@ class QSpinBox; class StocktickerPluginConfig : public TodayConfigWidget { -//Q_OBJECT + Q_OBJECT public: 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,33 +1,37 @@ -/* - * stocktickerpluginwidget.cpp - * - * copyright : (c) 2002 by L.J. Potter - * email : llornkcor@handhelds.org - * - */ -/*************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - -#include <qlayout.h> - -#include <qpe/config.h> - -#include <opie/oticker.h> - -extern "C" { -#include "libstocks/stocks.h" -} - -#include <pthread.h> - -#include "stocktickerpluginwidget.h" - -QString output; -OTicker *stocktickerTicker; + /* + * stocktickerpluginwidget.cpp + * + * copyright : (c) 2002 by L.J. Potter + * email : llornkcor@handhelds.org + * + */ + /*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + + #include <qlayout.h> + + #include <qpe/config.h> + + #include <opie/oticker.h> + + extern "C" { + #include "libstocks/stocks.h" + } + + #include <pthread.h> + + #include "stocktickerpluginwidget.h" + + QString output; + OTicker *stocktickerTicker; + QCString stock_liste; + bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; + bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; + bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; @@ -35,267 +39,289 @@ void getStocks(char *blah) { -// stocktickerTicker->setText( "Downloading stock data."); - stock *stocks_quotes=NULL; - stock *stocks_tmp; - QCString stock_liste = blah; - ::free ( blah ); - // char *stock_liste = (char *)blah->latin1(); - qDebug("%s", stock_liste.data() ); - QString tempString; - output = ""; - - libstocks_return_code error; - - Config cfg( "stockticker"); - cfg.setGroup( "Fields" ); - bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; - bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; - bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; - - dotimeCheck=dodateCheck=dosymbolCheck=donameCheck= docurrentPriceCheck=dolastPriceCheck=doopenPriceCheck=dominPriceCheck=domaxPriceCheck=dovariationCheck=dovolumeCheck=false; - - dotimeCheck=cfg.readBoolEntry("timeCheck",1); - dodateCheck=cfg.readBoolEntry("dateCheck",1); - dosymbolCheck=cfg.readBoolEntry("symbolCheck",1); - donameCheck=cfg.readBoolEntry("nameCheck",1); - docurrentPriceCheck=cfg.readBoolEntry("currentPriceCheck",1); - dolastPriceCheck=cfg.readBoolEntry("lastPriceCheck",1); - doopenPriceCheck=cfg.readBoolEntry("openPriceCheck",1); - dominPriceCheck=cfg.readBoolEntry("minPriceCheck",1); - domaxPriceCheck=cfg.readBoolEntry("maxPriceCheck",1); - dovariationCheck=cfg.readBoolEntry("variationCheck",1); - dovolumeCheck=cfg.readBoolEntry("volumeCheck",1); - -// DefProxy(); - { - char *proxy; - libstocks_return_code error; - - /* Proxy support */ - /* Checks for "http_proxy" environment variable */ - proxy = getenv("http_proxy"); - if(proxy) { - /* printf("proxy set\n"); */ - error = set_proxy(proxy); - if (error) { - printf("Proxy error (%d)\n", error); - QString tempString; - tempString.sprintf("Proxy error (%d)\n", error); - output = tempString; - return; -// exit(1); - } - } - } -// char *stock_liste = (char *)blah; - /* Get the stocks and process errors */ - error = get_stocks( stock_liste.data(), &stocks_quotes); - - if (error) { - printf("Error in getting stocks (%d)\n", error); - tempString.sprintf("Error in getting stocks (%d)\n", error); - output =tempString; - return; -// exit(1); - } - - stocks_tmp = stocks_quotes; - - /* Displays the stocks */ - while(stocks_tmp!=0){ - - if (stocks_tmp->Time) { -// printf("%s ", stocks_tmp->Time); - tempString.sprintf("| %s ", stocks_tmp->Time); - tempString.replace(QRegExp("\""),""); - if( dotimeCheck) - output +=tempString; - } - if (stocks_tmp->Date) { -// printf("%s ", stocks_tmp->Date); - tempString.sprintf("| %s ", stocks_tmp->Date); - tempString.replace(QRegExp("\""),""); - if(dodateCheck) - output +=tempString; - } -// printf("\n"); - -// printf("----------------------------------------\n"); - - if ( strlen(stocks_tmp->Symbol) > 20 ) { -// printf("| Symbol | %.20s |\n",stocks_tmp->Symbol); - tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); - if(dosymbolCheck) - output +=tempString; - } - else { -// printf("| Symbol | %-20s |\n",stocks_tmp->Symbol); - tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); - if(dosymbolCheck) - output +=tempString; - } - - if (stocks_tmp->Name) { - if ( strlen(stocks_tmp->Name) > 20 ) { -// printf("| Name %.20s |\n",stocks_tmp->Name); - tempString.sprintf("| Name %s ",stocks_tmp->Name); - tempString.stripWhiteSpace(); - if(donameCheck) - output +=tempString; - } else { -// printf("| Name | %-20s |\n",stocks_tmp->Name); - tempString.sprintf("| Name %s ",stocks_tmp->Name); - tempString.stripWhiteSpace(); - if(donameCheck) - output +=tempString; - } - } - else { -// printf("| Name | |\n"); - tempString.sprintf("| Name | |"); - if(donameCheck) - output +=tempString; - } - -// printf("| Price | %-7.2f |\n", stocks_tmp->CurrentPrice); - tempString.sprintf("| Price %-7.2f ", stocks_tmp->CurrentPrice); - if(docurrentPriceCheck) - output +=tempString; - -// printf("| Yesterday | %-7.2f |\n",stocks_tmp->LastPrice); - tempString.sprintf("| Yesterday %-7.2f ",stocks_tmp->LastPrice); - if(dolastPriceCheck) - output +=tempString; - -// printf("| Open | %-7.2f |\n",stocks_tmp->OpenPrice); - tempString.sprintf("| Open %-7.2f ",stocks_tmp->OpenPrice); - if(doopenPriceCheck) - output +=tempString; - -// printf("| Min | %-7.2f |\n", stocks_tmp->MinPrice); - tempString.sprintf("| Min %-7.2f ", stocks_tmp->MinPrice); - if(dominPriceCheck) - output +=tempString; - -// printf("| Max | %-7.2f |\n",stocks_tmp->MaxPrice); - tempString.sprintf("| Max %-7.2f ",stocks_tmp->MaxPrice); - if(domaxPriceCheck) - output +=tempString; - -// printf("| Var | %-6.2f (%5.2f %%) |\n", stocks_tmp->Variation, stocks_tmp->Pourcentage); - tempString.sprintf("| Var %-6.2f (%5.2f %%) ", stocks_tmp->Variation, stocks_tmp->Pourcentage); - if(dovariationCheck) - output +=tempString; - -// printf("| Volume | %-9d |\n", stocks_tmp->Volume); - tempString.sprintf("| Volume %-9d ", stocks_tmp->Volume); - if(dovolumeCheck) - output +=tempString; - -// printf("----------------------------------------\n\n"); - tempString.sprintf("||==++==|"); - output +=tempString; - - /* Simple function which help to browse in the stocks list */ - stocks_tmp = next_stock(stocks_tmp); - } - - /* frees stocks */ - free_stocks(stocks_quotes); - stocktickerTicker->setText( output.latin1() ); - -} - -StockTickerPluginWidget::StockTickerPluginWidget( QWidget *parent, const char* name) - : QWidget(parent, name ) { - init(); - startTimer(1000); - - stocktickerTicker->setTextFormat(Qt::RichText); -// checkConnection(); -} - -StockTickerPluginWidget::~StockTickerPluginWidget() { -} - -void StockTickerPluginWidget::init() { - - QHBoxLayout* layout = new QHBoxLayout( this ); - stocktickerTicker = new OTicker(this); -// stocktickerTicker->setMinimumHeight(15); - connect( stocktickerTicker, SIGNAL( mousePressed()), this, SLOT( checkConnection() )); - layout->addWidget( stocktickerTicker); - wasError = true; -} - -void StockTickerPluginWidget::doStocks() { - Config cfg( "stockticker"); - cfg.setGroup( "Symbols" ); - symbollist=""; - symbollist = cfg.readEntry("Symbols", ""); - symbollist.replace(QRegExp(" "),"+");//seperated by + - - cfg.setGroup("Timer"); - stocktickerTicker->setUpdateTime( cfg.readNumEntry("ScrollSpeed",50)); - stocktickerTicker->setScrollLength( cfg.readNumEntry("ScrollLength",10)); - - if (!symbollist.isEmpty()) { - pthread_t thread1; - char *blah = ::strdup(symbollist.latin1()); - pthread_create(&thread1,NULL, (void * (*)(void *))getStocks, (void *) blah); - } -} - -void StockTickerPluginWidget::timerEvent( QTimerEvent *e ) { - killTimer(e->timerId()); - checkConnection(); -} - -void StockTickerPluginWidget::checkConnection() { -// qDebug("checking connection"); -// Sock = new QSocket( this ); - -// if( wasError) -// stocktickerTicker->setText("Checking connection"); - -// if(Sock->state() == QSocket::Idle) { -// Sock->connectToHost("finance.yahoo.com", 80); -// connect( Sock, SIGNAL( error(int) ), SLOT(socketError(int)) ); -// connect( Sock, SIGNAL( hostFound() ), SLOT(isConnected()) ); -// } else { -// qDebug("State is not Idle"); - isConnected(); -// } -} - -void StockTickerPluginWidget::isConnected() { -// qDebug("We connect, so ok to grab stocks"); - doStocks(); - - Config cfg( "stockticker"); - cfg.setGroup("Timer"); - timerDelay= cfg.readNumEntry("Delay",0); - if(timerDelay > 0) - startTimer(timerDelay*60000); - qDebug("timer set for %d",(timerDelay*60000)/60000); - wasError = false; - -// Sock->close(); -} - -void StockTickerPluginWidget::socketError(int errcode) { - switch(errcode) { - case QSocket::ErrConnectionRefused: - output = tr("Connection refused."); - break; - case QSocket::ErrHostNotFound: - output = tr("Could not find server."); - break; - case QSocket::ErrSocketRead : - output = tr("Socket read error."); - break; - }; - stocktickerTicker->setText( output ); - wasError = true; -// Sock->close(); - -} + // stocktickerTicker->setText( "Downloading stock data."); + stock *stocks_quotes=NULL; + stock *stocks_tmp; + stock_liste = blah; + ::free ( blah ); + // char *stock_liste = (char *)blah->latin1(); + // qDebug("%s", stock_liste.data() ); + output = ""; + QString tempString; + libstocks_return_code error; + +// Config cfg( "stockticker"); +// cfg.setGroup( "Fields" ); +// bool dotimeCheck, dodateCheck, dosymbolCheck, donameCheck; +// bool docurrentPriceCheck, dolastPriceCheck, doopenPriceCheck; +// bool dominPriceCheck, domaxPriceCheck, dovariationCheck, dovolumeCheck; + + dotimeCheck=dodateCheck=dosymbolCheck=donameCheck= docurrentPriceCheck=dolastPriceCheck=doopenPriceCheck=dominPriceCheck=domaxPriceCheck=dovariationCheck=dovolumeCheck=false; + + dotimeCheck=1; + dodateCheck=1; + dosymbolCheck=1; + donameCheck=1; + docurrentPriceCheck=1; + dolastPriceCheck=1; + doopenPriceCheck=1; + dominPriceCheck=1; + domaxPriceCheck=1; + dovariationCheck=1; + dovolumeCheck=1; + +// dotimeCheck=cfg.readBoolEntry("timeCheck",1); +// dodateCheck=cfg.readBoolEntry("dateCheck",1); +// dosymbolCheck=cfg.readBoolEntry("symbolCheck",1); +// donameCheck=cfg.readBoolEntry("nameCheck",1); +// docurrentPriceCheck=cfg.readBoolEntry("currentPriceCheck",1); +// dolastPriceCheck=cfg.readBoolEntry("lastPriceCheck",1); +// doopenPriceCheck=cfg.readBoolEntry("openPriceCheck",1); +// dominPriceCheck=cfg.readBoolEntry("minPriceCheck",1); +// domaxPriceCheck=cfg.readBoolEntry("maxPriceCheck",1); +// dovariationCheck=cfg.readBoolEntry("variationCheck",1); +// dovolumeCheck=cfg.readBoolEntry("volumeCheck",1); + + // DefProxy(); + // { + char *proxy; + // libstocks_return_code error; + + /* Proxy support */ + /* Checks for "http_proxy" environment variable */ + proxy = getenv("http_proxy"); + if(proxy) { + /* printf("proxy set\n"); */ + error = set_proxy(proxy); + if (error) { +// printf("Proxy error (%d)\n", error); +// QString tempString2; +// tempString2.sprintf("Proxy error (%d)\n", error); +// output = tempString2; + // delete tempString2; + return; + // exit(1); + } + } + ::free(proxy); + // } + /* Get the stocks and process errors */ + error = get_stocks( stock_liste.data(), &stocks_quotes); + + if (error) { + printf("Error in getting stocks (%d)\n", error); + tempString.sprintf("Error in getting stocks (%d)\n", error); + output =tempString; + return; + } + + stocks_tmp = stocks_quotes; + + /* Displays the stocks */ + while(stocks_tmp!=0){ + + if (stocks_tmp->Time) { + // printf("%s ", stocks_tmp->Time); + tempString.sprintf("| %s ", stocks_tmp->Time); + tempString.replace(QRegExp("\""),""); + if( dotimeCheck) + output +=tempString; + } + if (stocks_tmp->Date) { + // printf("%s ", stocks_tmp->Date); + tempString.sprintf("| %s ", stocks_tmp->Date); + tempString.replace(QRegExp("\""),""); + if(dodateCheck) + output +=tempString; + } + // printf("\n"); + + // printf("----------------------------------------\n"); + + if ( strlen(stocks_tmp->Symbol) > 20 ) { + // printf("| Symbol | %.20s |\n",stocks_tmp->Symbol); + tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); + if(dosymbolCheck) + output +=tempString; + } + else { + // printf("| Symbol | %-20s |\n",stocks_tmp->Symbol); + tempString.sprintf("| Symbol %s ",stocks_tmp->Symbol); + if(dosymbolCheck) + output +=tempString; + } + + if (stocks_tmp->Name) { + if ( strlen(stocks_tmp->Name) > 20 ) { + // printf("| Name %.20s |\n",stocks_tmp->Name); + tempString.sprintf("| Name %s ",stocks_tmp->Name); + tempString.stripWhiteSpace(); + if(donameCheck) + output +=tempString; + } else { + // printf("| Name | %-20s |\n",stocks_tmp->Name); + tempString.sprintf("| Name %s ",stocks_tmp->Name); + tempString.stripWhiteSpace(); + if(donameCheck) + output +=tempString; + } + } + else { + // printf("| Name | |\n"); + tempString.sprintf("| Name | |"); + if(donameCheck) + output +=tempString; + } + + // printf("| Price | %-7.2f |\n", stocks_tmp->CurrentPrice); + tempString.sprintf("| Price %-7.2f ", stocks_tmp->CurrentPrice); + if(docurrentPriceCheck) + output +=tempString; + + // printf("| Yesterday | %-7.2f |\n",stocks_tmp->LastPrice); + tempString.sprintf("| Yesterday %-7.2f ",stocks_tmp->LastPrice); + if(dolastPriceCheck) + output +=tempString; + + // printf("| Open | %-7.2f |\n",stocks_tmp->OpenPrice); + tempString.sprintf("| Open %-7.2f ",stocks_tmp->OpenPrice); + if(doopenPriceCheck) + output +=tempString; + + // printf("| Min | %-7.2f |\n", stocks_tmp->MinPrice); + tempString.sprintf("| Min %-7.2f ", stocks_tmp->MinPrice); + if(dominPriceCheck) + output +=tempString; + + // printf("| Max | %-7.2f |\n",stocks_tmp->MaxPrice); + tempString.sprintf("| Max %-7.2f ",stocks_tmp->MaxPrice); + if(domaxPriceCheck) + output +=tempString; + + // printf("| Var | %-6.2f (%5.2f %%) |\n", stocks_tmp->Variation, stocks_tmp->Pourcentage); + tempString.sprintf("| Var %-6.2f (%5.2f %%) ", stocks_tmp->Variation, stocks_tmp->Pourcentage); + if(dovariationCheck) + output +=tempString; + + // printf("| Volume | %-9d |\n", stocks_tmp->Volume); + tempString.sprintf("| Volume %-9d ", stocks_tmp->Volume); + if(dovolumeCheck) + output +=tempString; + + // printf("----------------------------------------\n\n"); + tempString.sprintf("||==++==|"); + output +=tempString; + + /* Simple function which help to browse in the stocks list */ + stocks_tmp = next_stock(stocks_tmp); + } + + stocktickerTicker->setText( output.latin1() ); + + /* frees stocks */ + free_stocks(stocks_quotes); + free_stocks(stocks_tmp); + + stock_liste=""; + //delete stock_liste; + tempString=""; + output=""; + } + + StockTickerPluginWidget::StockTickerPluginWidget( QWidget *parent, const char* name) + : QWidget(parent, name ) { + init(); + startTimer(1000); + + stocktickerTicker->setTextFormat(Qt::RichText); + // checkConnection(); + } + + StockTickerPluginWidget::~StockTickerPluginWidget() { + } + + void StockTickerPluginWidget::init() { + + QHBoxLayout* layout = new QHBoxLayout( this ); + stocktickerTicker = new OTicker(this); + // stocktickerTicker->setMinimumHeight(15); + connect( stocktickerTicker, SIGNAL( mousePressed()), this, SLOT( checkConnection() )); + layout->addWidget( stocktickerTicker); + wasError = true; + } + + void StockTickerPluginWidget::doStocks() { + Config cfg( "stockticker"); + cfg.setGroup( "Symbols" ); + symbollist=""; + symbollist = cfg.readEntry("Symbols", ""); + symbollist.replace(QRegExp(" "),"+");//seperated by + + + cfg.setGroup("Timer"); + stocktickerTicker->setUpdateTime( cfg.readNumEntry("ScrollSpeed",50)); + stocktickerTicker->setScrollLength( cfg.readNumEntry("ScrollLength",10)); + + if (!symbollist.isEmpty()) { + pthread_t thread1; + char *blah = ::strdup(symbollist.latin1()); + pthread_create( &thread1, NULL, (void * (*)(void *))getStocks, (void *) blah); + pthread_detach( thread1); + + //::free((void*)thread1); + //getStocks(blah); + } + } + + void StockTickerPluginWidget::timerEvent( QTimerEvent *e ) { + killTimer(e->timerId()); + checkConnection(); + } + + void StockTickerPluginWidget::checkConnection() { + // qDebug("checking connection"); + // Sock = new QSocket( this ); + + // if( wasError) + // stocktickerTicker->setText("Checking connection"); + + // if(Sock->state() == QSocket::Idle) { + // Sock->connectToHost("finance.yahoo.com", 80); + // connect( Sock, SIGNAL( error(int) ), SLOT(socketError(int)) ); + // connect( Sock, SIGNAL( hostFound() ), SLOT(isConnected()) ); + // } else { + // qDebug("State is not Idle"); + isConnected(); + // } + } + + void StockTickerPluginWidget::isConnected() { + // qDebug("We connect, so ok to grab stocks"); + if(this->isVisible()) + doStocks(); + + Config cfg( "stockticker"); + cfg.setGroup("Timer"); + timerDelay= cfg.readNumEntry("Delay",0); + if(timerDelay > 0) + startTimer(timerDelay*60000); + // qDebug("timer set for %d",(timerDelay*60000)/60000); + wasError = false; + + // Sock->close(); + } + + void StockTickerPluginWidget::socketError(int errcode) { + switch(errcode) { + case QSocket::ErrConnectionRefused: + output = tr("Connection refused."); + break; + case QSocket::ErrHostNotFound: + output = tr("Could not find server."); + break; + case QSocket::ErrSocketRead : + output = tr("Socket read error."); + break; + }; + stocktickerTicker->setText( output ); + wasError = true; + // Sock->close(); + + } 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 @@ -43,2 +43,3 @@ class WeatherPluginConfig : public TodayConfigWidget { + Q_OBJECT public: 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 @@ -435,3 +435,4 @@ void Clock::alarmOn() "alarm(QDateTime,int)", warn ); - setCaption( "Alarm set: " + whenl.toString() ); +// setCaption( "Alarm set: " + whenl.toString() ); + setCaption( tr("Alarm set: %1" ).arg(whenl.toString()) ); } @@ -446,3 +447,3 @@ void Clock::alarmOff() qDebug( "Alarm Off " + when.toString() ); - setCaption( "Clock" ); + setCaption( tr("Clock") ); } @@ -454,3 +455,3 @@ void Clock::clearTimer() snoozeBtn->hide(); - setCaption( "Clock" ); + setCaption( tr("Clock") ); } 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 @@ -33,3 +33,3 @@ int main( int argc, char **argv ) { app.setMainWidget(layout); - layout->setCaption("Euroconv"); + layout->setCaption( QObject::tr("Euroconv") ); layout->showMaximized (); 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 @@ -402,3 +402,4 @@ void FormatterApp::deviceComboSelected(int index) { - TextLabel5->setText(tr("Type: %1\nFormatted with %1\n%1, %1, %1").arg( nameS).arg( fsType).arg(totalS).arg( usedS).arg( avS )); + TextLabel5->setText(tr("Type: %1\nFormatted with %2\n%3, %4, %5").arg( nameS).arg( fsType).arg(totalS).arg( usedS).arg( avS )); + TextLabel5->setTextFormat( Qt::RichText ); // storageComboSelected(0); |