00001
00002
00003
00004
00005
00006
00007 #include "EngaugeAssert.h"
00008 #include "FileCmdOpen.h"
00009 #include "FileCmdSerialize.h"
00010 #include "Logger.h"
00011 #include "MainWindow.h"
00012 #include <QTextStream>
00013 #include "QtToString.h"
00014 #include <QXmlStreamReader>
00015 #include "Xml.h"
00016
00017 const QString CMD_DESCRIPTION ("Open File");
00018
00019 FileCmdOpen::FileCmdOpen (QXmlStreamReader &reader) :
00020 FileCmdAbstract (CMD_DESCRIPTION)
00021 {
00022 LOG4CPP_INFO_S ((*mainCat)) << "FileCmdOpen::FileCmdOpen";
00023
00024 QXmlStreamAttributes attributes = reader.attributes();
00025
00026 if (!attributes.hasAttribute(FILE_CMD_SERIALIZE_FILENAME)) {
00027 xmlExitWithError (reader,
00028 QString ("%1 %2")
00029 .arg (QObject::tr ("Missing attribute"))
00030 .arg (FILE_CMD_SERIALIZE_FILENAME));
00031 }
00032
00033 m_filename = attributes.value(FILE_CMD_SERIALIZE_FILENAME).toString();
00034 }
00035
00036 FileCmdOpen::~FileCmdOpen ()
00037 {
00038 }
00039
00040 void FileCmdOpen::redo (MainWindow &mainWindow)
00041 {
00042 LOG4CPP_INFO_S ((*mainCat)) << "FileCmdOpen::redo";
00043
00044 mainWindow.cmdFileOpen (m_filename);
00045 }