Skip to content

Class PlatformUtilities

ClassList > PlatformUtilities

Inherits the following classes: QObject

Inherited by the following classes: AndroidPlatformUtilities, IosPlatformUtilities

Public Types

Type Name
enum Capability
enum FileType

Public Properties

Type Name
property PlatformUtilities::Capabilities capabilities

Public Signals

Type Name
signal void resourceCanceled (const QString & message)
Emitted when a resource has been opened.
signal void resourceOpened (const QString & path)
Emitted when a resource has been opened.
signal void resourceReceived (const QString & path)
Emitted when a resource has been received.

Public Functions

Type Name
virtual QStringList additionalApplicationDirectories () const
virtual Q_INVOKABLE QStringList appDataDirs () const
virtual Q_INVOKABLE QString applicationDirectory () const
Q_INVOKABLE QStringList availableGrids () const
virtual PlatformUtilities::Capabilities capabilities () const
virtual Qt::PermissionStatus checkCameraPermission () const
virtual Q_DECL_DEPRECATED virtual Q_INVOKABLE bool checkCameraPermissions () const
virtual Qt::PermissionStatus checkMicrophonePermission () const
virtual Q_DECL_DEPRECATED virtual Q_INVOKABLE bool checkMicrophonePermissions () const
virtual Q_DECL_DEPRECATED virtual Q_INVOKABLE bool checkPositioningPermissions () const
virtual Q_INVOKABLE void copyTextToClipboard (const QString & string) const
Q_INVOKABLE bool createDir (const QString & path, const QString & dirname) const
virtual Q_INVOKABLE void dimBrightness ()
virtual void executeQfAction () const
virtual Q_INVOKABLE void exportDatasetTo (const QString & path) const
Exports a dataset path to a user-specified location.
virtual Q_INVOKABLE void exportFolderTo (const QString & path) const
Exports a folder path to a user-specified location.
virtual Q_INVOKABLE ResourceSource * getCameraPicture (const QString & prefix, const QString & pictureFilePath, const QString & suffix, QObject * parent=nullptr)
virtual Q_INVOKABLE ResourceSource * getCameraVideo (const QString & prefix, const QString & videoFilePath, const QString & suffix, QObject * parent=nullptr)
virtual Q_INVOKABLE ResourceSource * getFile (const QString & prefix, const QString & filePath, FileType fileType=AllFiles, QObject * parent=nullptr)
virtual Q_INVOKABLE ResourceSource * getGalleryPicture (const QString & prefix, const QString & pictureFilePath, QObject * parent=nullptr)
virtual Q_INVOKABLE ResourceSource * getGalleryVideo (const QString & prefix, const QString & videoFilePath, QObject * parent=nullptr)
virtual Q_INVOKABLE QString getTextFromClipboard () const
virtual bool hasQfAction () const
virtual bool hasQgsProject () const
virtual Q_INVOKABLE void importDatasets () const
Requests and imports one or more datasets into QField's application directory action.
virtual Q_INVOKABLE void importProjectArchive () const
Requests and imports a project archive into QField's application directory action.
virtual Q_INVOKABLE void importProjectFolder () const
Requests and imports a project folder into QField's application directory action.
void initSystem ()
virtual Q_INVOKABLE bool isSystemDarkTheme () const
virtual void loadQgsProject () const
virtual Q_INVOKABLE ViewStatus * open (const QString & uri, bool editing=false, QObject * parent=nullptr)
virtual Q_INVOKABLE ProjectSource * openProject (QObject * parent=nullptr)
virtual Q_INVOKABLE void removeDataset (const QString & path) const
Removes a given dataset path .
virtual Q_INVOKABLE void removeFolder (const QString & path) const
Removes a given folder path .
Q_INVOKABLE bool renameFile (const QString & oldFilePath, const QString & newFilePath, bool overwrite=true) const
virtual void requestBackgroundPositioningPermissions ()
virtual void requestCameraPermission (std::function< void(Qt::PermissionStatus)> func)
virtual void requestMicrophonePermission (std::function< void(Qt::PermissionStatus)> func)
virtual Q_INVOKABLE void requestStoragePermission () const
virtual Q_INVOKABLE void restoreBrightness ()
Q_INVOKABLE bool rmFile (const QString & filename) const
virtual QStringList rootDirectories () const
virtual Q_INVOKABLE void sendCompressedFolderTo (const QString & path) const
Compresses a folder path and sends it via the platform native API.
virtual Q_INVOKABLE void sendDatasetTo (const QString & path) const
Sends a dataset path via the platform native API.
virtual Q_INVOKABLE void setHandleVolumeKeys (const bool handle)
virtual Q_INVOKABLE void setScreenLockPermission (const bool allowLock)
virtual QString startPositioningService () const
virtual void stopPositioningService () const
virtual Q_INVOKABLE double systemFontPointSize () const
virtual QString systemLocalDataLocation (const QString & subDir=QString()) const
virtual QString systemSharedDataLocation () const
virtual Q_INVOKABLE void updateProjectFromArchive (const QString & projectPath) const
virtual Q_INVOKABLE void uploadPendingAttachments (QFieldCloudConnection * connection) const
virtual Q_INVOKABLE void vibrate (int milliseconds) const
virtual ~PlatformUtilities ()

Public Static Functions

Type Name
PlatformUtilities * instance ()

Public Types Documentation

enum Capability

enum PlatformUtilities::Capability {
    NoCapabilities = 0,
    NativeCamera = 1,
    AdjustBrightness = 1 << 1,
    SentryFramework = 1 << 2,
    NativeLocalDataPicker = 1 << 3,
    CustomImport = 1 << 4,
    CustomExport = 1 << 5,
    CustomSend = 1 << 6,
    FilePicker = 1 << 7,
    VolumeKeys = 1 << 8,
    Vibrate = 1 << 9,
    UpdateProjectFromArchive = 1 << 10,
    PositioningService = 1 << 11
};

enum FileType

enum PlatformUtilities::FileType {
    AllFiles = 0,
    AudioFiles
};

Public Properties Documentation

property capabilities [1/2]

PlatformUtilities::Capabilities PlatformUtilities::capabilities;

Public Signals Documentation

signal resourceCanceled

Emitted when a resource has been opened.

void PlatformUtilities::resourceCanceled;

signal resourceOpened

Emitted when a resource has been opened.

void PlatformUtilities::resourceOpened;

signal resourceReceived

Emitted when a resource has been received.

void PlatformUtilities::resourceReceived;

Public Functions Documentation

function additionalApplicationDirectories

virtual QStringList PlatformUtilities::additionalApplicationDirectories () const

Secondary application directories which can be used by individual platforms.


function appDataDirs

virtual Q_INVOKABLE QStringList PlatformUtilities::appDataDirs () const

Returns:

a list of data directories where user data is searched. User data are pg_service.conf, authentication config, grids, ...


function applicationDirectory

virtual Q_INVOKABLE QString PlatformUtilities::applicationDirectory () const

The main application directory within which projects and datasets can be imported.


function availableGrids

Q_INVOKABLE QStringList PlatformUtilities::availableGrids () const

function capabilities [2/2]

virtual PlatformUtilities::Capabilities PlatformUtilities::capabilities () const

Returns flags containing the supported capabilities of the platform.


function checkCameraPermission

virtual Qt::PermissionStatus PlatformUtilities::checkCameraPermission () const

function checkCameraPermissions

virtual Q_DECL_DEPRECATED virtual Q_INVOKABLE bool PlatformUtilities::checkCameraPermissions () const

Checks for camera permissions on the device. If the permissions are not given, the user will be asked to grant permissions.

Deprecated

Since QField 3.1


function checkMicrophonePermission

virtual Qt::PermissionStatus PlatformUtilities::checkMicrophonePermission () const

function checkMicrophonePermissions

virtual Q_DECL_DEPRECATED virtual Q_INVOKABLE bool PlatformUtilities::checkMicrophonePermissions () const

Checks for camera microphone on the device. If the permissions are not given, the user will be asked to grant permissions.

Deprecated

Since QField 3.1


function checkPositioningPermissions

virtual Q_DECL_DEPRECATED virtual Q_INVOKABLE bool PlatformUtilities::checkPositioningPermissions () const

Checks for positioning (GPS etc) permissions on the device. If the permissions are not given, the user will be asked to grant permissions. It will return true, if at least coarse permissions are granted. It will ask for fine permissions if none are granted.

Deprecated

Since QField 3.1


function copyTextToClipboard

virtual Q_INVOKABLE void PlatformUtilities::copyTextToClipboard (
    const QString & string
) const

Copies a text string to the system clipboard.


function createDir

Q_INVOKABLE bool PlatformUtilities::createDir (
    const QString & path,
    const QString & dirname
) const

function dimBrightness

inline virtual Q_INVOKABLE void PlatformUtilities::dimBrightness () 

Dims the brightness of the screen on supported devices.


function executeQfAction

virtual void PlatformUtilities::executeQfAction () const

Loads the action provided during launch.

See also: hasQfAction


function exportDatasetTo

Exports a dataset path to a user-specified location.

virtual Q_INVOKABLE void PlatformUtilities::exportDatasetTo (
    const QString & path
) const

function exportFolderTo

Exports a folder path to a user-specified location.

virtual Q_INVOKABLE void PlatformUtilities::exportFolderTo (
    const QString & path
) const

function getCameraPicture

virtual Q_INVOKABLE ResourceSource * PlatformUtilities::getCameraPicture (
    const QString & prefix,
    const QString & pictureFilePath,
    const QString & suffix,
    QObject * parent=nullptr
) 

Get a picture from camera and copy it to the requested prefix

Parameters:

  • prefix The project folder
  • pictureFilePath The path (including subfolders and name) of the file

Returns:

The name of the picture or null


function getCameraVideo

virtual Q_INVOKABLE ResourceSource * PlatformUtilities::getCameraVideo (
    const QString & prefix,
    const QString & videoFilePath,
    const QString & suffix,
    QObject * parent=nullptr
) 

Get a video from camera and copy it to the requested prefix

Parameters:

  • prefix The project folder
  • videoFilePath The path (including subfolders and name) of the file

Returns:

The name of the video or null


function getFile

virtual Q_INVOKABLE ResourceSource * PlatformUtilities::getFile (
    const QString & prefix,
    const QString & filePath,
    FileType fileType=AllFiles,
    QObject * parent=nullptr
) 

Get a file from the operating system and copy it to the requested prefix

Parameters:

  • prefix The project folder
  • filePath The path (including subfolders and name) of the file

Returns:

The name of the file or null


function getGalleryPicture

virtual Q_INVOKABLE ResourceSource * PlatformUtilities::getGalleryPicture (
    const QString & prefix,
    const QString & pictureFilePath,
    QObject * parent=nullptr
) 

Get a picture from gallery and copy it to the requested prefix

Parameters:

  • prefix The project folder
  • pictureFilePath The path (including subfolders and name) of the file

Returns:

The name of the picture or null


function getGalleryVideo

virtual Q_INVOKABLE ResourceSource * PlatformUtilities::getGalleryVideo (
    const QString & prefix,
    const QString & videoFilePath,
    QObject * parent=nullptr
) 

Get a video from gallery and copy it to the requested prefix

Parameters:

  • prefix The project folder
  • videoFilePath The path (including subfolders and name) of the video

Returns:

The name of the video or null


function getTextFromClipboard

virtual Q_INVOKABLE QString PlatformUtilities::getTextFromClipboard () const

Returns the current text from the system clipboard.


function hasQfAction

virtual bool PlatformUtilities::hasQfAction () const

Returns the current action string

See also: loadQfAction


function hasQgsProject

virtual bool PlatformUtilities::hasQgsProject () const

Returns TRUE is a project file has been provided and should be opened at launch.

See also: loadQgsProject


function importDatasets

Requests and imports one or more datasets into QField's application directory action.

virtual Q_INVOKABLE void PlatformUtilities::importDatasets () const

function importProjectArchive

Requests and imports a project archive into QField's application directory action.

virtual Q_INVOKABLE void PlatformUtilities::importProjectArchive () const

function importProjectFolder

Requests and imports a project folder into QField's application directory action.

virtual Q_INVOKABLE void PlatformUtilities::importProjectFolder () const

function initSystem

void PlatformUtilities::initSystem () 

This method will do initialization tasks and copy sample projects to a writable location It will also call afterUpdate whenever a new version is detected.


function isSystemDarkTheme

virtual Q_INVOKABLE bool PlatformUtilities::isSystemDarkTheme () const

Returns TRUE is the system uses a dark theme.


function loadQgsProject

virtual void PlatformUtilities::loadQgsProject () const

Loads the project file provided during launch.

See also: hasQgsProject


function open

virtual Q_INVOKABLE ViewStatus * PlatformUtilities::open (
    const QString & uri,
    bool editing=false,
    QObject * parent=nullptr
) 

Open the resource (file, image, ...) that is available under uri. The mimetype is detected to indicate the system how the file should be opened. An optional editing parameter can be set to true to indicate to supported systems the resource is expected to be edited.


function openProject

virtual Q_INVOKABLE ProjectSource * PlatformUtilities::openProject (
    QObject * parent=nullptr
) 

Indicates the system that we want to open a project. The system shall show a suitable user interface element (like a filebrowser) to let the user select a project. The call returns immediately and the returned ProjectSource will notify when the project has actually been chosen.


function removeDataset

Removes a given dataset path .

virtual Q_INVOKABLE void PlatformUtilities::removeDataset (
    const QString & path
) const

function removeFolder

Removes a given folder path .

virtual Q_INVOKABLE void PlatformUtilities::removeFolder (
    const QString & path
) const

function renameFile

Q_INVOKABLE bool PlatformUtilities::renameFile (
    const QString & oldFilePath,
    const QString & newFilePath,
    bool overwrite=true
) const

function requestBackgroundPositioningPermissions

inline virtual void PlatformUtilities::requestBackgroundPositioningPermissions () 

function requestCameraPermission

virtual void PlatformUtilities::requestCameraPermission (
    std::function< void(Qt::PermissionStatus)> func
) 

function requestMicrophonePermission

virtual void PlatformUtilities::requestMicrophonePermission (
    std::function< void(Qt::PermissionStatus)> func
) 

function requestStoragePermission

inline virtual Q_INVOKABLE void PlatformUtilities::requestStoragePermission () const

function restoreBrightness

inline virtual Q_INVOKABLE void PlatformUtilities::restoreBrightness () 

Restores the brightness of the screen to its original value on supported devices.


function rmFile

Q_INVOKABLE bool PlatformUtilities::rmFile (
    const QString & filename
) const

function rootDirectories

virtual QStringList PlatformUtilities::rootDirectories () const

A list of root directories (e.g. root of an external storage) when system-wide access is available.


function sendCompressedFolderTo

Compresses a folder path and sends it via the platform native API.

virtual Q_INVOKABLE void PlatformUtilities::sendCompressedFolderTo (
    const QString & path
) const

function sendDatasetTo

Sends a dataset path via the platform native API.

virtual Q_INVOKABLE void PlatformUtilities::sendDatasetTo (
    const QString & path
) const

function setHandleVolumeKeys

inline virtual Q_INVOKABLE void PlatformUtilities::setHandleVolumeKeys (
    const bool handle
) 

Sets whether the device volume keys are handled by QField.


function setScreenLockPermission

inline virtual Q_INVOKABLE void PlatformUtilities::setScreenLockPermission (
    const bool allowLock
) 

Sets whether the device screen is allowed to go in lock mode.

Parameters:

  • allowLock if set to FALSE, the screen will not be allowed to lock.

function startPositioningService

inline virtual QString PlatformUtilities::startPositioningService () const

Starts a positioning service on supported platforms and returns the remote object URL.


function stopPositioningService

inline virtual void PlatformUtilities::stopPositioningService () const

Stops a positioning service on supported platforms.


function systemFontPointSize

virtual Q_INVOKABLE double PlatformUtilities::systemFontPointSize () const

Returns the default system font size.


function systemLocalDataLocation

virtual QString PlatformUtilities::systemLocalDataLocation (
    const QString & subDir=QString()
) const

Returns:

a directory where local data can be stored. this includes local qfieldcloud data or sample projects. A subDir is appended to the path.


function systemSharedDataLocation

virtual QString PlatformUtilities::systemSharedDataLocation () const

The path to share data location. Under this path, there should be the app specific directories qgis/ proj/ qfield/ ... Refers to /share or /usr/share on Linux. This path is assumed to be read only.


function updateProjectFromArchive

virtual Q_INVOKABLE void PlatformUtilities::updateProjectFromArchive (
    const QString & projectPath
) const

Update a local project content from a user-picked archive file action

Parameters:

  • projectPath the project file path

function uploadPendingAttachments

virtual Q_INVOKABLE void PlatformUtilities::uploadPendingAttachments (
    QFieldCloudConnection * connection
) const

Uploads any pending attachments linked to the logged in user account.


function vibrate

inline virtual Q_INVOKABLE void PlatformUtilities::vibrate (
    int milliseconds
) const

Vibrates the device on supported platforms.


function ~PlatformUtilities

virtual PlatformUtilities::~PlatformUtilities () 

Public Static Functions Documentation

function instance

static PlatformUtilities * PlatformUtilities::instance () 


The documentation for this class was generated from the following file src/core/platforms/platformutilities.h