summaryrefslogtreecommitdiff
path: root/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp
Unidiff
Diffstat (limited to 'noncore/settings/networksettings/mainwindow/mainwindowimp.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/networksettings/mainwindow/mainwindowimp.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp
index f83e370..0a3312c 100644
--- a/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp
+++ b/noncore/settings/networksettings/mainwindow/mainwindowimp.cpp
@@ -10,2 +10,3 @@
10#include <opie2/odebug.h> 10#include <opie2/odebug.h>
11#include <opie2/oprocess.h>
11#include <qpe/applnk.h> 12#include <qpe/applnk.h>
@@ -26,2 +27,3 @@
26#include <qmessagebox.h> 27#include <qmessagebox.h>
28#include <qtextstream.h>
27 29
@@ -46,2 +48,8 @@
46 48
49// is this always right?
50#define _HOSTFILE "/etc/hostname"
51#define _IRDANAME "/proc/sys/net/irda/devname"
52
53using namespace Opie::Core;
54
47MainWindowImp::MainWindowImp(QWidget *parent, const char *name, WFlags) : MainWindow(parent, name, Qt::WStyle_ContextHelp), advancedUserMode(true), scheme(DEFAULT_SCHEME) 55MainWindowImp::MainWindowImp(QWidget *parent, const char *name, WFlags) : MainWindow(parent, name, Qt::WStyle_ContextHelp), advancedUserMode(true), scheme(DEFAULT_SCHEME)
@@ -124,2 +132,3 @@ MainWindowImp::MainWindowImp(QWidget *parent, const char *name, WFlags) : MainWi
124 makeChannel(); 132 makeChannel();
133 initHostname();
125} 134}
@@ -716 +725,51 @@ void MainWindowImp::receive(const QCString &msg, const QByteArray &arg)
716} 725}
726
727void MainWindowImp::setHostname()
728{
729 QFile f(_HOSTFILE);
730
731 OProcess*h = new OProcess;
732 _procTemp="";
733 *h << "hostname" << m_Nameinput->text();
734 connect(h,SIGNAL(receivedStderr(Opie::Core::OProcess*,char*,int)),this,SLOT(slotHostname(Opie::Core::OProcess*,char*,int)));
735 h->start(OProcess::Block,OProcess::Stderr);
736 odebug << "Got " << _procTemp << " - " << h->exitStatus() << oendl;
737 _procTemp="";
738 delete h;
739
740 if (f.open(IO_Truncate|IO_WriteOnly))
741 {
742 QTextStream s(&f);
743 s << m_Nameinput->text();
744 }
745 f.close();
746 f.setName(_IRDANAME);
747 if (f.open(IO_WriteOnly))
748 {
749 QTextStream s(&f);
750 s << m_Nameinput->text();
751 }
752}
753
754void MainWindowImp::initHostname()
755{
756 OProcess h;
757 _procTemp="";
758
759 h << "hostname";
760 connect(&h,SIGNAL(receivedStdout(Opie::Core::OProcess*,char*,int)),this,SLOT(slotHostname(Opie::Core::OProcess*,char*,int)));
761 h.start(OProcess::Block,OProcess::AllOutput);
762 odebug << "Got " << _procTemp <<oendl;
763 m_Nameinput->setText(_procTemp);
764 _procTemp="";
765}
766
767void MainWindowImp::slotHostname(Opie::Core::OProcess *proc, char *buffer, int buflen)
768{
769 if (buflen < 1 || buffer==0) return;
770 char*_t = new char[buflen+1];
771 ::memset(_t,0,buflen+1);
772 ::memcpy(_t,buffer,buflen);
773 _procTemp+=_t;
774 delete[]_t;
775}