Документация
ОС Аврора 5.2.0

DialogHandler

Синглтон для обработки диалогов выбора файла/папки. Подробнее...

Подключение: #include <dialoghandler.h>

Диаграмма наследования для Aurora::WebView::DialogHandler:

Пример использования компонента в обработчике выбора папки:

import Aurora.Controls 1.0
import QtQuick 2.0
import Sailfish.Pickers 1.0
import Sailfish.Silica 1.0
import ru.auroraos.WebView 1.0
import ru.auroraos.WebView.Global 1.0

Page {
    id: page

    objectName: "dialogHandlerPage"

    PageHeader {
        id: pageHeader

        objectName: "pageHeader"
        title: qsTr("DialogHandler")
    }

    // Необходимо создать функции-обработчики в коде QML
    // Например, в области действия страницы с идентификатором `page`

    // Обработчик выбора файла
    function handleFileDialogRequest(dialogRequest)
    {
        console.log("Обработка выбора файла");
        dialogRequest.cancel()
        // Можно добавить окно для выбора файла и его обработку
    }

    // Обработчик выбора нескольких файлов
    function handleMultiFileDialogRequest(dialogRequest)
    {
        console.log("Обработка выбора нескольких файлов");
        dialogRequest.cancel()
        // Можно добавить окно для выбора файла и его обработку
    }

    // Обработчик выбора директории
    function handleFolderDialogRequest(dialogRequest)
    {
        console.log("Обработка выбора папки");
        // Можно добавить окно для выбора файла и его обработку
        // Пример обработки
        folderPickerDialog.dialogRequest = dialogRequest;
        folderPickerDialog.open()
    }

    // Диалог выбора директории
    FolderPickerDialog {
        id: folderPickerDialog

        property var dialogRequest

        title: "Выберите папку"
        onAccepted: {
            console.log("Выбрана папка", selectedPath)
            // Выбранную директорию необходимо передать в диалог
            dialogRequest.pickFiles([selectedPath])
        }
        onRejected: {
            dialogRequest.cancel()
        }
    }

    WebView {
        id: webView
        
        anchors.fill: parent

        // Страница c контентом
        url: htmlRootPath + "/html/DialogHandlerComponent.html"

        // Доступ к касаниям
        TouchInput {
            enabled: true
        }

        // Доступ к выделению текста
        TextSelection {
            enabled: true
        }

        // Необходимо подключить сигналы к обработчикам в WebViewItem
        Component.onCompleted: {
            DialogHandler.onFileDialogRequested.connect(page.handleFileDialogRequest);
            DialogHandler.onMultiFileDialogRequested.connect(page.handleMultiFileDialogRequest);
            DialogHandler.onFolderDialogRequested.connect(page.handleFolderDialogRequest);
        }
    }
}

Сигналы

void fileDialogRequested (DialogRequest dialogRequest)
Испускается, когда пользователю предлагается выбрать один файл.
void multiFileDialogRequested (DialogRequest dialogRequest)
Испускается, когда пользователю предлагается выбрать несколько файлов.
void folderDialogRequested (DialogRequest dialogRequest)
Испускается, когда пользователю предлагается выбрать каталог.

Публичные функции-члены

void requestFileDialog (const DialogRequest &dialogRequest) override

Статические публичные функции-члены

static QSharedPointer<DialogHandler> GetInstance (QQmlEngine *qmlEngine=nullptr, QJSEngine *jsEngine=nullptr)
Создаёт (если не существует) и возвращает экземпляр DialogHandler. Подробнее...

Подробное описание

Синглтон для обработки диалогов выбора файла/папки.

Пример использования

Описание функций-членов

GetInstance()

static QSharedPointer<DialogHandler> Aurora::WebView::DialogHandler::GetInstance (QQmlEngine * qmlEngine = nullptr, QJSEngine * jsEngine = nullptr) static

Создаёт (если не существует) и возвращает экземпляр DialogHandler.

Возвращает экземпляр DialogHandler.

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.