5 #include <QJsonDocument>
24 QString comFilename(
"comments.json");
31 for (
auto it = mEntries.constBegin(); it != mEntries.constEnd(); ++it)
38 comObj[
"comments"] = comArr;
50 restoreInternal(loaddir, relname);
57 if (relname.empty())
return false;
63 bool CommentManager::restoreInternal(
const std::filesystem::path& loaddir,
const std::string& relFilename)
74 if (json.
contains(
"comments") && json[
"comments"].isArray())
76 QJsonArray comArr = json[
"comments"].toArray();
77 int nCom = comArr.
size();
78 for (
int iCom = 0; iCom < nCom; iCom++)
87 mEntries.insertMulti(comEntry->
getNode(),comEntry);
109 return mEntries.values(nd);
114 return mEntries.contains(nd);
119 auto list = mEntries.values(entry->
getNode());
120 if(!list.contains(entry))
126 mEntries.remove(entry->
getNode(), entry);
136 for(
const auto &item : mEntries.values(entry->
getNode()))
137 if(item == entry)
return;
139 mEntries.insertMulti(entry->
getNode(), entry);
The Node class object represents a module or a gate.
static ProjectManager * instance()
std::string get_filename(const std::string &serializer_name)
const ProjectDirectory & get_project_directory() const
QString absoluteFilePath(const QString &fileName) const const
virtual bool open(QIODevice::OpenMode mode) override
qint64 write(const char *data, qint64 maxSize)
void append(const QJsonValue &value)
QJsonValue at(int i) const const
QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error)
QJsonObject object() const const
bool contains(const QString &key) const const
QJsonObject toObject() const const
QString fromStdString(const std::string &str)
std::string toStdString() const const