Change a way untranslated file system name is accessed.

This commit is contained in:
Andrius Štikonas 2017-09-15 12:47:01 +01:00
parent 0c33a7b001
commit f1888f0d1c
3 changed files with 40 additions and 112 deletions

View File

@ -390,7 +390,7 @@ QTextStream& operator<<(QTextStream& stream, const Partition& p)
stream << p.number() << sep stream << p.number() << sep
<< p.firstSector() << sep << p.firstSector() << sep
<< p.lastSector() << sep << p.lastSector() << sep
<< p.fileSystem().untranslatedName() << sep << p.fileSystem().name({ QStringLiteral("C") }) << sep
<< p.roles().toString() << sep << p.roles().toString() << sep
<< "\"" << p.fileSystem().label() << QStringLiteral("\"") << sep << "\"" << p.fileSystem().label() << QStringLiteral("\"") << sep
<< "\"" << flagList.join(QStringLiteral(",")) << QStringLiteral("\"") << "\"" << flagList.join(QStringLiteral(",")) << QStringLiteral("\"")

View File

@ -33,7 +33,6 @@
#include <KLocalizedString> #include <KLocalizedString>
#include <QDebug>
#include <QFileInfo> #include <QFileInfo>
#include <QStorageInfo> #include <QStorageInfo>
@ -139,7 +138,6 @@ QString FileSystem::detectMountPoint(FileSystem* fs, const QString& partitionPat
const QList<QStorageInfo> mountedVolumes = QStorageInfo::mountedVolumes(); const QList<QStorageInfo> mountedVolumes = QStorageInfo::mountedVolumes();
for (const QStorageInfo &storage : mountedVolumes) { for (const QStorageInfo &storage : mountedVolumes) {
QFileInfo deviceFileInfo(QString::fromUtf8(storage.device())); QFileInfo deviceFileInfo(QString::fromUtf8(storage.device()));
qDebug() << storage.device() << storage.rootPath();
if (partitionPathFileInfo.canonicalFilePath() == deviceFileInfo.canonicalFilePath() ) { if (partitionPathFileInfo.canonicalFilePath() == deviceFileInfo.canonicalFilePath() ) {
mountPoints.append(storage.rootPath()); mountPoints.append(storage.rootPath());
} }
@ -408,88 +406,44 @@ QValidator* FileSystem::labelValidator(QObject *parent) const
} }
/** @return this FileSystem's type as printable name */ /** @return this FileSystem's type as printable name */
QString FileSystem::name() const QString FileSystem::name(const QStringList& languages) const
{ {
return nameForType(type()); return nameForType(type(), languages);
}
/** @return this FileSystem's type as printable untranslated name */
QLatin1String FileSystem::untranslatedName() const
{
return untranslatedNameForType(type());
} }
/** @return a pointer to a QString C array with all FileSystem names */ /** @return a pointer to a QString C array with all FileSystem names */
static const QString* typeNames() static const KLocalizedString* typeNames()
{ {
static const QString s[] = { static const KLocalizedString s[] = {
xi18nc("@item filesystem name", "unknown"), kxi18nc("@item filesystem name", "unknown"),
xi18nc("@item filesystem name", "extended"), kxi18nc("@item filesystem name", "extended"),
xi18nc("@item filesystem name", "ext2"), kxi18nc("@item filesystem name", "ext2"),
xi18nc("@item filesystem name", "ext3"), kxi18nc("@item filesystem name", "ext3"),
xi18nc("@item filesystem name", "ext4"), kxi18nc("@item filesystem name", "ext4"),
xi18nc("@item filesystem name", "linuxswap"), kxi18nc("@item filesystem name", "linuxswap"),
xi18nc("@item filesystem name", "fat16"), kxi18nc("@item filesystem name", "fat16"),
xi18nc("@item filesystem name", "fat32"), kxi18nc("@item filesystem name", "fat32"),
xi18nc("@item filesystem name", "ntfs"), kxi18nc("@item filesystem name", "ntfs"),
xi18nc("@item filesystem name", "reiser"), kxi18nc("@item filesystem name", "reiser"),
xi18nc("@item filesystem name", "reiser4"), kxi18nc("@item filesystem name", "reiser4"),
xi18nc("@item filesystem name", "xfs"), kxi18nc("@item filesystem name", "xfs"),
xi18nc("@item filesystem name", "jfs"), kxi18nc("@item filesystem name", "jfs"),
xi18nc("@item filesystem name", "hfs"), kxi18nc("@item filesystem name", "hfs"),
xi18nc("@item filesystem name", "hfsplus"), kxi18nc("@item filesystem name", "hfsplus"),
xi18nc("@item filesystem name", "ufs"), kxi18nc("@item filesystem name", "ufs"),
xi18nc("@item filesystem name", "unformatted"), kxi18nc("@item filesystem name", "unformatted"),
xi18nc("@item filesystem name", "btrfs"), kxi18nc("@item filesystem name", "btrfs"),
xi18nc("@item filesystem name", "hpfs"), kxi18nc("@item filesystem name", "hpfs"),
xi18nc("@item filesystem name", "luks"), kxi18nc("@item filesystem name", "luks"),
xi18nc("@item filesystem name", "ocfs2"), kxi18nc("@item filesystem name", "ocfs2"),
xi18nc("@item filesystem name", "zfs"), kxi18nc("@item filesystem name", "zfs"),
xi18nc("@item filesystem name", "exfat"), kxi18nc("@item filesystem name", "exfat"),
xi18nc("@item filesystem name", "nilfs2"), kxi18nc("@item filesystem name", "nilfs2"),
xi18nc("@item filesystem name", "lvm2 pv"), kxi18nc("@item filesystem name", "lvm2 pv"),
xi18nc("@item filesystem name", "f2fs"), kxi18nc("@item filesystem name", "f2fs"),
xi18nc("@item filesystem name", "udf"), kxi18nc("@item filesystem name", "udf"),
xi18nc("@item filesystem name", "iso9660"), kxi18nc("@item filesystem name", "iso9660"),
};
return s;
}
/** @return a pointer to a QLatin1String C array with all FileSystem names */
static const QLatin1String* untranslatedTypeNames()
{
static const QLatin1String s[] = {
QLatin1String("unknown"),
QLatin1String("extended"),
QLatin1String("ext2"),
QLatin1String("ext3"),
QLatin1String("ext4"),
QLatin1String("linuxswap"),
QLatin1String("fat16"),
QLatin1String("fat32"),
QLatin1String("ntfs"),
QLatin1String("reiser"),
QLatin1String("reiser4"),
QLatin1String("xfs"),
QLatin1String("jfs"),
QLatin1String("hfs"),
QLatin1String("hfsplus"),
QLatin1String("ufs"),
QLatin1String("unformatted"),
QLatin1String("btrfs"),
QLatin1String("hpfs"),
QLatin1String("luks"),
QLatin1String("ocfs2"),
QLatin1String("zfs"),
QLatin1String("exfat"),
QLatin1String("nilfs2"),
QLatin1String("lvm2 pv"),
QLatin1String("f2fs"),
QLatin1String("udf"),
QLatin1String("iso9660")
}; };
return s; return s;
@ -498,44 +452,21 @@ static const QLatin1String* untranslatedTypeNames()
/** @param t the type to get the name for /** @param t the type to get the name for
@return the printable name for the given type @return the printable name for the given type
*/ */
QString FileSystem::nameForType(FileSystem::Type t) QString FileSystem::nameForType(FileSystem::Type t, const QStringList& languages)
{ {
Q_ASSERT(t >= 0); Q_ASSERT(t >= 0);
Q_ASSERT(t < __lastType); Q_ASSERT(t < __lastType);
return typeNames()[t]; return typeNames()[t].toString(languages);
}
/** @param t the type to get the untranslated name for
@return the printable untranslated name for the given type
*/
QLatin1String FileSystem::untranslatedNameForType(FileSystem::Type t)
{
Q_ASSERT(t >= 0);
Q_ASSERT(t < __lastType);
return untranslatedTypeNames()[t];
} }
/** @param s the name to get the type for /** @param s the name to get the type for
@return the type for the name or FileSystem::Unknown if not found @return the type for the name or FileSystem::Unknown if not found
*/ */
FileSystem::Type FileSystem::typeForName(const QString& s) FileSystem::Type FileSystem::typeForName(const QString& s, const QStringList& languages )
{ {
for (quint32 i = 0; i < __lastType; i++) for (quint32 i = 0; i < __lastType; i++)
if (typeNames()[i] == s) if (typeNames()[i].toString(languages) == s)
return static_cast<FileSystem::Type>(i);
return Unknown;
}
/** @param s the untranslated name to get the type for
@return the type for the name or FileSystem::Unknown if not found
*/
FileSystem::Type FileSystem::typeForUntranslatedName(const QLatin1String& s)
{
for (quint32 i = 0; i < __lastType; i++)
if (untranslatedTypeNames()[i] == s)
return static_cast<FileSystem::Type>(i); return static_cast<FileSystem::Type>(i);
return Unknown; return Unknown;

View File

@ -189,17 +189,14 @@ public:
virtual SupportTool supportToolName() const; virtual SupportTool supportToolName() const;
virtual bool supportToolFound() const; virtual bool supportToolFound() const;
virtual QString name() const; virtual QString name(const QStringList& languages = {}) const;
virtual QLatin1String untranslatedName() const;
virtual FileSystem::Type type() const { virtual FileSystem::Type type() const {
return m_Type; /**< @return the FileSystem's type */ return m_Type; /**< @return the FileSystem's type */
} }
static QString nameForType(FileSystem::Type t); static QString nameForType(FileSystem::Type t, const QStringList& languages = {});
static QLatin1String untranslatedNameForType(FileSystem::Type t);
static QList<FileSystem::Type> types(); static QList<FileSystem::Type> types();
static FileSystem::Type typeForName(const QString& s); static FileSystem::Type typeForName(const QString& s, const QStringList& languages = {});
static FileSystem::Type typeForUntranslatedName(const QLatin1String& s);
static FileSystem::Type detectFileSystem(const QString& partitionPath); static FileSystem::Type detectFileSystem(const QString& partitionPath);
static QString detectMountPoint(FileSystem* fs, const QString& partitionPath); static QString detectMountPoint(FileSystem* fs, const QString& partitionPath);
static bool detectMountStatus(FileSystem* fs, const QString& partitionPath); static bool detectMountStatus(FileSystem* fs, const QString& partitionPath);