[fwbuilder-commits] r1813 - in branches/v3_1: . src/gui
Brought to you by:
mikehorn
From: <va...@in...> - 2009-11-18 22:16:38
|
Author: vadim Date: 2009-11-18 14:15:37 -0800 (Wed, 18 Nov 2009) New Revision: 1813 Modified: branches/v3_1/build_num branches/v3_1/src/gui/HostDialog.cpp branches/v3_1/src/gui/ICMPServiceDialog.cpp branches/v3_1/src/gui/IPServiceDialog.cpp Log: undo in IPServiceDialog HostDialog ICMPServiceDialog Modified: branches/v3_1/build_num =================================================================== --- branches/v3_1/build_num 2009-11-18 22:06:44 UTC (rev 1812) +++ branches/v3_1/build_num 2009-11-18 22:15:37 UTC (rev 1813) @@ -1 +1 @@ -#define BUILD_NUM 1811 +#define BUILD_NUM 1812 Modified: branches/v3_1/src/gui/HostDialog.cpp =================================================================== --- branches/v3_1/src/gui/HostDialog.cpp 2009-11-18 22:06:44 UTC (rev 1812) +++ branches/v3_1/src/gui/HostDialog.cpp 2009-11-18 22:15:37 UTC (rev 1813) @@ -30,6 +30,7 @@ #include "FWBTree.h" #include "HostDialog.h" #include "ProjectPanel.h" +#include "FWCmdChange.h" #include "fwbuilder/Library.h" #include "fwbuilder/Host.h" @@ -44,7 +45,7 @@ #include <qcombobox.h> #include <qmessagebox.h> #include <qpushbutton.h> -#include "FWBSettings.h" +#include <QUndoStack> #include "FWWindow.h" @@ -125,22 +126,26 @@ void HostDialog::applyChanges() { - Host *s = dynamic_cast<Host*>(obj); + FWCmdChange* cmd = new FWCmdChange(m_project, obj); + FWObject* new_state = cmd->getNewState(); + + Host *s = dynamic_cast<Host*>(new_state); assert(s!=NULL); - Management *mgmt=s->getManagementObject(); + Management *mgmt = s->getManagementObject(); assert(mgmt!=NULL); FWOptions *opt =s->getOptionsObject(); string oldname=obj->getName(); - obj->setName( string(m_dialog->obj_name->text().toUtf8().constData()) ); - obj->setComment( string(m_dialog->comment->toPlainText().toUtf8().constData()) ); -// mgmt->getSNMPManagement()->setReadCommunity( snmpCommunity->text().latin1() ); - opt->setBool("use_mac_addr_filter", m_dialog->MACmatching->isChecked() ); + new_state->setName(string(m_dialog->obj_name->text().toUtf8().constData())); + new_state->setComment(string(m_dialog->comment->toPlainText().toUtf8().constData()) ); + opt->setBool("use_mac_addr_filter", m_dialog->MACmatching->isChecked()); - m_project->updateObjName(obj,QString::fromUtf8(oldname.c_str())); + //m_project->updateObjName(obj,QString::fromUtf8(oldname.c_str())); + m_project->undoStack->push(cmd); + BaseObjectDialog::applyChanges(); } Modified: branches/v3_1/src/gui/ICMPServiceDialog.cpp =================================================================== --- branches/v3_1/src/gui/ICMPServiceDialog.cpp 2009-11-18 22:06:44 UTC (rev 1812) +++ branches/v3_1/src/gui/ICMPServiceDialog.cpp 2009-11-18 22:15:37 UTC (rev 1813) @@ -31,6 +31,7 @@ #include "ProjectPanel.h" #include "FWBTree.h" #include "ICMPServiceDialog.h" +#include "FWCmdChange.h" #include "fwbuilder/Library.h" #include "fwbuilder/ICMPService.h" @@ -42,7 +43,7 @@ #include <qtextedit.h> #include <qcombobox.h> #include <qpushbutton.h> -#include "FWBSettings.h" +#include <QUndoStack> #include <iostream> @@ -121,15 +122,20 @@ void ICMPServiceDialog::applyChanges() { - string oldname=obj->getName(); - obj->setName( string(m_dialog->obj_name->text().toUtf8().constData()) ); - obj->setComment( string(m_dialog->comment->toPlainText().toUtf8().constData()) ); + FWCmdChange* cmd = new FWCmdChange(m_project, obj); + FWObject* new_state = cmd->getNewState(); - obj->setInt("type", m_dialog->icmpType->value() ); - obj->setInt("code", m_dialog->icmpCode->value() ); + string oldname = obj->getName(); + new_state->setName( string(m_dialog->obj_name->text().toUtf8().constData()) ); + new_state->setComment( string(m_dialog->comment->toPlainText().toUtf8().constData()) ); - m_project->updateObjName(obj,QString::fromUtf8(oldname.c_str())); + new_state->setInt("type", m_dialog->icmpType->value() ); + new_state->setInt("code", m_dialog->icmpCode->value() ); + //m_project->updateObjName(obj,QString::fromUtf8(oldname.c_str())); + + m_project->undoStack->push(cmd); + BaseObjectDialog::applyChanges(); } Modified: branches/v3_1/src/gui/IPServiceDialog.cpp =================================================================== --- branches/v3_1/src/gui/IPServiceDialog.cpp 2009-11-18 22:06:44 UTC (rev 1812) +++ branches/v3_1/src/gui/IPServiceDialog.cpp 2009-11-18 22:15:37 UTC (rev 1813) @@ -31,6 +31,7 @@ #include "FWBTree.h" #include "IPServiceDialog.h" #include "ProjectPanel.h" +#include "FWCmdChange.h" #include "fwbuilder/Library.h" #include "fwbuilder/IPService.h" @@ -42,9 +43,9 @@ #include <qtextedit.h> #include <qcombobox.h> #include <qpushbutton.h> +#include <QUndoStack> #include <iostream> -#include "FWBSettings.h" #include "FWWindow.h" using namespace libfwbuilder; @@ -194,25 +195,28 @@ void IPServiceDialog::applyChanges() { + FWCmdChange* cmd = new FWCmdChange(m_project, obj); + FWObject* new_state = cmd->getNewState(); + string oldname=obj->getName(); - obj->setName( string(m_dialog->obj_name->text().toUtf8().constData()) ); - obj->setComment( string(m_dialog->comment->toPlainText().toUtf8().constData()) ); + new_state->setName( string(m_dialog->obj_name->text().toUtf8().constData()) ); + new_state->setComment( string(m_dialog->comment->toPlainText().toUtf8().constData()) ); - obj->setInt("protocol_num", m_dialog->protocolNum->value() ); - obj->setBool("any_opt", m_dialog->any_opt->isChecked() ); - obj->setBool("lsrr", m_dialog->lsrr->isChecked() ); - obj->setBool("ssrr", m_dialog->ssrr->isChecked() ); - obj->setBool("rr", m_dialog->rr->isChecked() ); - obj->setBool("ts", m_dialog->timestamp->isChecked() ); - obj->setBool("fragm", m_dialog->all_fragments->isChecked() ); - obj->setBool("short_fragm", m_dialog->short_fragments->isChecked() ); + new_state->setInt("protocol_num", m_dialog->protocolNum->value() ); + new_state->setBool("any_opt", m_dialog->any_opt->isChecked() ); + new_state->setBool("lsrr", m_dialog->lsrr->isChecked() ); + new_state->setBool("ssrr", m_dialog->ssrr->isChecked() ); + new_state->setBool("rr", m_dialog->rr->isChecked() ); + new_state->setBool("ts", m_dialog->timestamp->isChecked() ); + new_state->setBool("fragm", m_dialog->all_fragments->isChecked() ); + new_state->setBool("short_fragm", m_dialog->short_fragments->isChecked() ); // router-alert IP option has only one defined value - "0". All other // values are reserved atm. RFC 2113 - obj->setBool("rtralt", m_dialog->router_alert->isChecked() ); - if (m_dialog->router_alert->isChecked()) obj->setInt("rtralt_value", 0); + new_state->setBool("rtralt", m_dialog->router_alert->isChecked() ); + if (m_dialog->router_alert->isChecked()) new_state->setInt("rtralt_value", 0); - IPService *ip = IPService::cast(obj); + IPService *ip = IPService::cast(new_state); if (m_dialog->use_dscp->isChecked()) { ip->setDSCPCode(m_dialog->code->text().toUtf8().constData()); @@ -223,8 +227,10 @@ ip->setDSCPCode(""); } - m_project->updateObjName(obj,QString::fromUtf8(oldname.c_str())); + //m_project->updateObjName(obj,QString::fromUtf8(oldname.c_str())); + m_project->undoStack->push(cmd); + BaseObjectDialog::applyChanges(); } |