Core: Add streaming operators for Core::Id

Only used once so far, but makes intended usage clear.

Change-Id: Ia628f5356dd02282e233846268d6c0629e93e3fe
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
hjk
2013-03-19 19:01:30 +01:00
committed by Eike Ziller
parent aefea10c9c
commit dcfc617cc8
3 changed files with 27 additions and 4 deletions

View File

@@ -1981,7 +1981,7 @@ QByteArray EditorManager::saveState() const
foreach (const OpenEditorsModel::Entry &entry, entries) {
if (!entry.editor || !entry.editor->isTemporary())
stream << entry.fileName() << entry.displayName() << entry.id().name();
stream << entry.fileName() << entry.displayName() << entry.id();
}
stream << d->m_splitter->saveState();
@@ -2012,7 +2012,7 @@ bool EditorManager::restoreState(const QByteArray &state)
stream >> fileName;
QString displayName;
stream >> displayName;
QByteArray id;
Core::Id id;
stream >> id;
if (!fileName.isEmpty() && !displayName.isEmpty()) {
@@ -2021,9 +2021,9 @@ bool EditorManager::restoreState(const QByteArray &state)
continue;
QFileInfo rfi(autoSaveName(fileName));
if (rfi.exists() && fi.lastModified() < rfi.lastModified())
openEditor(fileName, Id::fromName(id));
openEditor(fileName, id);
else
d->m_editorModel->addRestoredEditor(fileName, displayName, Id::fromName(id));
d->m_editorModel->addRestoredEditor(fileName, displayName, id);
}
}

View File

@@ -354,3 +354,21 @@ QString Id::suffixAfter(Id baseId) const
}
} // namespace Core
QT_BEGIN_NAMESPACE
QDataStream &operator<<(QDataStream &ds, const Core::Id &id)
{
return ds << id.name();
}
QDataStream &operator>>(QDataStream &ds, Core::Id &id)
{
QByteArray ba;
ds >> ba;
id = Core::Id::fromName(ba);
return ds;
}
QT_END_NAMESPACE

View File

@@ -86,4 +86,9 @@ inline uint qHash(const Id &id) { return id.uniqueIdentifier(); }
Q_DECLARE_METATYPE(Core::Id)
Q_DECLARE_METATYPE(QList<Core::Id>)
QT_BEGIN_NAMESPACE
QDataStream &operator<<(QDataStream &ds, const Core::Id &id);
QDataStream &operator>>(QDataStream &ds, Core::Id &id);
QT_END_NAMESPACE
#endif // CORE_ID_H