You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
kmyfirewall/kmyfirewall/genericinterface/kmfgenericinterfaceicmp.cpp

111 lines
3.5 KiB

//
//
// C++ Implementation: $MODULE$
//
// Description:
//
//
// Author: Christian Hubinger <chubinger@irrsinnig.org>, (C) 2003
//
// Copyright: See COPYING file that comes with this distribution
//
//
/***************************************************************************
* *
* 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 "kmfgenericinterfaceicmp.h"
// QT includes
#include <tqstring.h>
#include <tqcheckbox.h>
// KDE includes
#include <klocale.h>
#include <kdebug.h>
// Project includes
#include "../core/kmfnetwork.h"
#include "../core/kmfgenericdoc.h"
namespace KMF {
KMFGenericInterfaceIcmp::KMFGenericInterfaceIcmp( TQWidget *parent, const char *name, WFlags f )
: KMyFirewallGenericInterfaceIcmp( parent, name, f ) {
connect( c_allow_ping, TQT_SIGNAL( toggled( bool ) ),
this, TQT_SLOT( slotEnablePingReplyToggled( bool ) ) );
connect( c_limit_ping, TQT_SIGNAL( toggled( bool ) ),
this, TQT_SLOT( slotEnablePingReplyLimitToggled( bool ) ) );
}
KMFGenericInterfaceIcmp::~KMFGenericInterfaceIcmp() {}
void KMFGenericInterfaceIcmp::slotUpdateView( NetfilterObject* ) {
kdDebug() << "KMFGenericInterfaceIcmp::slotUpdateView( NetfilterObject* )" << endl;
if ( ! m_doc ) {
kdDebug() << "WRINING: m_doc == 0" << endl;
return;
}
slotUpdateView();
}
void KMFGenericInterfaceIcmp::slotUpdateView() {
kdDebug() << "KMFGenericInterfaceIcmp::slotUpdateView()" << endl;
if ( ! m_doc ) {
kdDebug() << "WRINING: m_doc == 0" << endl;
return;
}
c_allow_ping->setChecked( m_doc->currentDocAsGenericDoc()->allowPingReply() );
c_limit_ping->setChecked( m_doc->currentDocAsGenericDoc()->limitPingReply() );
}
void KMFGenericInterfaceIcmp::loadDoc( KMFNetwork* doc ) {
kdDebug() << "void KMFGenericInterfaceIcmp::loadDoc( KMFGenericDoc* )" << endl;
m_doc = doc;
slotUpdateView();
}
void KMFGenericInterfaceIcmp::slotEnablePingReplyToggled( bool onoff ) {
kdDebug() << "KMFGenericInterfaceIcmp::slotEnablePingReplyToggled( bool onoff )" << endl;
if ( m_doc->currentDocAsGenericDoc()->allowPingReply() == onoff ) {
return;
}
KMFUndoEngine::instance()->startTransaction(
m_doc->currentDocAsGenericDoc(),
i18n( "%1 ping reply." ).arg( onoff ? i18n( "Allow" ) : i18n( "Supress" ) )
);
if ( onoff ) {
m_doc->currentDocAsGenericDoc()->setAllowPingReply( onoff );
if ( c_limit_ping->isChecked() ) {
m_doc->currentDocAsGenericDoc()->setLimitPingReply( onoff );
}
} else {
m_doc->currentDocAsGenericDoc()->setAllowPingReply( onoff );
}
KMFUndoEngine::instance()->endTransaction();
}
void KMFGenericInterfaceIcmp::slotEnablePingReplyLimitToggled( bool onoff ) {
kdDebug() << "KMFGenericInterfaceIcmp::slotEnablePingReplyLimitToggled( bool onoff )" << endl;
if ( m_doc->currentDocAsGenericDoc()->limitPingReply() == onoff ) {
return;
}
KMFUndoEngine::instance()->startTransaction(
m_doc->currentDocAsGenericDoc(),
i18n( "%1 limit ping reply." ).arg( onoff ? i18n( "Enable") : i18n( "Disable" ) )
);
m_doc->currentDocAsGenericDoc()->setLimitPingReply( onoff );
KMFUndoEngine::instance()->endTransaction();
}
}
#include "kmfgenericinterfaceicmp.moc"