Документация
ОС Аврора 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.