summaryrefslogtreecommitdiff
path: root/noncore/net/wellenreiter/gui/main.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/wellenreiter/gui/main.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/main.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/noncore/net/wellenreiter/gui/main.cpp b/noncore/net/wellenreiter/gui/main.cpp
index 96ebb3f..55a5260 100644
--- a/noncore/net/wellenreiter/gui/main.cpp
+++ b/noncore/net/wellenreiter/gui/main.cpp
@@ -43,12 +43,13 @@ int main( int argc, char **argv )
#endif
WellenreiterMainWindow* w = new WellenreiterMainWindow();
#ifdef QWS
a.showMainWidget( w );
#else
a.setMainWidget( w );
+ w->setCaption( "Wellenreiter II" );
w->show();
#endif
a.processEvents(); // show the window before doing the safety checks
int result = -1;
@@ -62,12 +63,14 @@ int main( int argc, char **argv )
if ( result == QMessageBox::No ) return -1;
}
// dhcp check - NOT HERE! This really belongs as a static member to OProcess
// and I want to call it like that: if ( OProcess::isRunning( QString& ) ) ...
+ static int killed = false;
+
QString line;
QDir d = QDir( "/proc" );
QStringList dirs = d.entryList( QDir::Dirs );
QStringList::Iterator it;
for ( it = dirs.begin(); it != dirs.end(); ++it )
{
@@ -86,14 +89,26 @@ int main( int argc, char **argv )
result = QMessageBox::warning( w, " - Wellenreiter II - (dhcp)", QObject::tr( "You have a dhcp client running.\n"
"This can severly limit scanning!\nShould I kill it for you?" ),
QMessageBox::Yes, QMessageBox::No );
if ( result == QMessageBox::Yes )
{
if ( -1 == ::kill( (*it).toInt(), SIGTERM ) )
- qWarning( "Wellenreiter: can't kill process (%s)", result, strerror( errno ) );
+ qWarning( "Wellenreiter: can't kill process #%d (%s)", result, strerror( errno ) );
+ else
+ killed = true;
}
}
a.exec();
+
+ if ( killed )
+ {
+ result = QMessageBox::warning( w, " - Wellenreiter II - (dhcp)", QObject::tr( "Restart your dhcp client?" ), QMessageBox::Yes, QMessageBox::No );
+ if ( result == QMessageBox::Yes )
+ {
+ system( QString().sprintf( "dhclient &; udhcpcd &; dhcpcd &" ) );
+ }
+ }
+
delete w;
return 0;
}