forked from Qortal/Brooklyn
71 lines
1.4 KiB
C
71 lines
1.4 KiB
C
|
#pragma once
|
||
|
|
||
|
/*
|
||
|
* SPDX-FileCopyrightText: 2003-2009 Craig Drummond <craig@kde.org>
|
||
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
||
|
*/
|
||
|
|
||
|
#include "kfontinst_export.h"
|
||
|
#include <QDBusArgument>
|
||
|
#include <QMetaType>
|
||
|
#include <QSet>
|
||
|
|
||
|
class QDomElement;
|
||
|
class QTextStream;
|
||
|
|
||
|
namespace KFI
|
||
|
{
|
||
|
class KFONTINST_EXPORT File
|
||
|
{
|
||
|
public:
|
||
|
static bool equalIndex(int a, int b)
|
||
|
{
|
||
|
return a <= 1 && b <= 1;
|
||
|
}
|
||
|
|
||
|
File(const QString &pth = QString(), const QString &fndry = QString(), int idx = 0)
|
||
|
: m_path(pth)
|
||
|
, m_foundry(fndry)
|
||
|
, m_index(idx)
|
||
|
{
|
||
|
}
|
||
|
File(const QDomElement &elem, bool disabled);
|
||
|
|
||
|
bool operator==(const File &o) const
|
||
|
{
|
||
|
return equalIndex(m_index, o.m_index) && m_path == o.m_path;
|
||
|
}
|
||
|
|
||
|
QString toXml(bool disabledOnly, QTextStream &s) const;
|
||
|
|
||
|
const QString &path() const
|
||
|
{
|
||
|
return m_path;
|
||
|
}
|
||
|
const QString &foundry() const
|
||
|
{
|
||
|
return m_foundry;
|
||
|
}
|
||
|
int index() const
|
||
|
{
|
||
|
return m_index;
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
QString m_path, m_foundry;
|
||
|
int m_index;
|
||
|
};
|
||
|
|
||
|
typedef QSet<File> FileCont;
|
||
|
|
||
|
inline Q_DECL_EXPORT uint qHash(const File &key)
|
||
|
{
|
||
|
return qHash(key.path()); // +qHash(key.index());
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
Q_DECLARE_METATYPE(KFI::File)
|
||
|
Q_DECL_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const KFI::File &obj);
|
||
|
Q_DECL_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, KFI::File &obj);
|