From 066f7712b4f6cd3e1383d78046e66a6a13663703 Mon Sep 17 00:00:00 2001 From: Mathieu Pellerin Date: Mon, 23 Sep 2024 16:03:54 +0700 Subject: [PATCH] Allow for users to see and send NMEA logs --- src/core/localfilesmodel.cpp | 7 ++++++- src/core/localfilesmodel.h | 2 ++ src/qml/QFieldLocalDataPickerScreen.qml | 7 +++++-- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/core/localfilesmodel.cpp b/src/core/localfilesmodel.cpp index 0d09f52834..cd7f57ccc4 100644 --- a/src/core/localfilesmodel.cpp +++ b/src/core/localfilesmodel.cpp @@ -249,6 +249,7 @@ void LocalFilesModel::reloadModel() { const QStringList items = dir.entryList( QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot, QDir::DirsFirst | QDir::IgnoreCase ); QList folders; + QList files; QList projects; QList datasets; for ( const QString &item : items ) @@ -279,9 +280,13 @@ void LocalFilesModel::reloadModel() { datasets << Item( ItemMetaType::Dataset, ItemType::RasterDataset, fi.completeBaseName(), suffix, fi.absoluteFilePath(), fi.size() ); } + else if ( suffix == QStringLiteral( "log" ) || suffix == QStringLiteral( "txt" ) ) + { + files << Item( ItemMetaType::File, ItemType::OtherFile, fi.completeBaseName(), suffix, fi.absoluteFilePath(), fi.size() ); + } } } - mItems << folders << projects << datasets; + mItems << folders << projects << datasets << files; } } diff --git a/src/core/localfilesmodel.h b/src/core/localfilesmodel.h index d5a90a52f6..612f5ea980 100644 --- a/src/core/localfilesmodel.h +++ b/src/core/localfilesmodel.h @@ -33,6 +33,7 @@ class LocalFilesModel : public QAbstractListModel enum ItemMetaType { Folder, + File, Project, Dataset, Favorite, @@ -47,6 +48,7 @@ class LocalFilesModel : public QAbstractListModel ProjectFile, VectorDataset, RasterDataset, + OtherFile, }; Q_ENUM( ItemType ) diff --git a/src/qml/QFieldLocalDataPickerScreen.qml b/src/qml/QFieldLocalDataPickerScreen.qml index d6277f25cd..f0d1244698 100644 --- a/src/qml/QFieldLocalDataPickerScreen.qml +++ b/src/qml/QFieldLocalDataPickerScreen.qml @@ -113,6 +113,8 @@ Page { return qsTr('Projects'); case LocalFilesModel.Dataset: return qsTr('Datasets'); + case LocalFilesModel.File: + return qsTr('Files'); case LocalFilesModel.Favorite: return qsTr('Favorites'); } @@ -131,7 +133,7 @@ Page { property string itemPath: ItemPath property bool itemIsFavorite: ItemIsFavorite property bool itemMenuLoadable: !projectFolderView && (ItemMetaType === LocalFilesModel.Project || ItemMetaType === LocalFilesModel.Dataset) - property bool itemMenuVisible: (ItemType === LocalFilesModel.SimpleFolder && table.model.currentPath !== 'root') || ((platformUtilities.capabilities & PlatformUtilities.CustomExport || platformUtilities.capabilities & PlatformUtilities.CustomSend) && (ItemMetaType === LocalFilesModel.Dataset)) || (ItemMetaType === LocalFilesModel.Dataset && ItemType === LocalFilesModel.RasterDataset && cloudProjectsModel.currentProjectId) + property bool itemMenuVisible: ((ItemType === LocalFilesModel.SimpleFolder || ItemMetaType == LocalFilesModel.File) && table.model.currentPath !== 'root') || ((platformUtilities.capabilities & PlatformUtilities.CustomExport || platformUtilities.capabilities & PlatformUtilities.CustomSend) && (ItemMetaType === LocalFilesModel.Dataset)) || (ItemMetaType === LocalFilesModel.Dataset && ItemType === LocalFilesModel.RasterDataset && cloudProjectsModel.currentProjectId) width: parent ? parent.width : undefined height: line.height @@ -167,6 +169,7 @@ Page { return Theme.getThemeVectorIcon('ic_map_green_48dp'); case LocalFilesModel.VectorDataset: case LocalFilesModel.RasterDataset: + case LocalFilesModel.OtherFile: return Theme.getThemeVectorIcon('ic_file_green_48dp'); } } @@ -362,7 +365,7 @@ Page { MenuItem { id: sendDatasetTo - enabled: platformUtilities.capabilities & PlatformUtilities.CustomSend && itemMenu.itemMetaType == LocalFilesModel.Dataset + enabled: itemMenu.itemMetaType === LocalFilesModel.File || (platformUtilities.capabilities & PlatformUtilities.CustomSend && itemMenu.itemMetaType == LocalFilesModel.Dataset) visible: enabled font: Theme.defaultFont