Updated xitemkeyhandler

This commit is contained in:
njohnson 2025-09-07 23:16:00 -04:00
parent df1bad5380
commit 7d103dfcea
2 changed files with 23 additions and 9 deletions

View File

@ -3,8 +3,8 @@
XItemKeyHandler::XItemKeyHandler() XItemKeyHandler::XItemKeyHandler()
: XAsset() : XAsset()
, mKey(0) , mKey(0)
, mAction("") , mAction()
, mNext(new XItemKeyHandler()) , mNext(nullptr)
{ {
} }
@ -16,13 +16,28 @@ XItemKeyHandler::~XItemKeyHandler()
void XItemKeyHandler::ParseData(QDataStream *aStream) void XItemKeyHandler::ParseData(QDataStream *aStream)
{ {
if (GetPtr() == -1)
{
*aStream >> mKey;
mAction.ParsePtr(aStream, false);
qint32 nextPtr;
*aStream >> nextPtr;
mAction.ParseData(aStream);
if (nextPtr)
{
mNext = new XItemKeyHandler();
mNext->ParseData(aStream);
}
}
} }
void XItemKeyHandler::Clear() void XItemKeyHandler::Clear()
{ {
mKey = 0; mKey = 0;
mAction = ""; mAction.Clear();
delete mNext; mNext = nullptr;
mNext = new XItemKeyHandler();
} }

View File

@ -2,8 +2,7 @@
#define XITEMKEYHANDLER_H #define XITEMKEYHANDLER_H
#include "xasset.h" #include "xasset.h"
#include "xstring.h"
#include <QString>
class XItemKeyHandler : public XAsset class XItemKeyHandler : public XAsset
{ {
@ -16,7 +15,7 @@ public:
private: private:
int mKey; int mKey;
QString mAction; XString mAction;
XItemKeyHandler *mNext; XItemKeyHandler *mNext;
}; };