diff options
Diffstat (limited to 'examples')
-rw-r--r-- | examples/CMakeLists.txt | 8 | ||||
-rw-r--r-- | examples/pdf/CMakeLists.txt | 5 | ||||
-rw-r--r-- | examples/pdf/multipage/CMakeLists.txt | 62 | ||||
-rw-r--r-- | examples/pdf/multipage/viewer.qml | 46 | ||||
-rw-r--r-- | examples/pdf/pdfviewer/CMakeLists.txt | 62 | ||||
-rw-r--r-- | examples/pdf/pdfviewer/viewer.qml | 48 | ||||
-rw-r--r-- | examples/pdfwidgets/CMakeLists.txt | 1 | ||||
-rw-r--r-- | examples/pdfwidgets/pdfviewer/CMakeLists.txt | 63 |
8 files changed, 245 insertions, 50 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt index 5c6e1592d..2bd079b43 100644 --- a/examples/CMakeLists.txt +++ b/examples/CMakeLists.txt @@ -13,7 +13,9 @@ project(QtWebEngineExamples set(QT_USE_FIXED_QT_ADD_RESOURCE_BASE TRUE) find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) -find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS WebEngineCore WebEngineWidgets WebEngineQuick QuickControls2) +find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS + WebEngineCore WebEngineWidgets WebEngineQuick PdfWidgets QuickControls2 Svg +) qt_build_repo_begin() qt_examples_build_begin() @@ -23,10 +25,10 @@ endif() if(QT_FEATURE_qtwebengine_build AND QT_FEATURE_qtwebengine_widgets_build) add_subdirectory(webenginewidgets) endif() -if(QT_FEATURE_qtpdf_build ) +if(QT_FEATURE_qtpdf_build AND QT_FEATURE_qtpdf_quick_build) add_subdirectory(pdf) endif() -if(QT_FEATURE_qtpdf_build AND QT_FEATURE_pdf_widgets) +if(QT_FEATURE_qtpdf_build AND QT_FEATURE_qtpdf_widgets_build) add_subdirectory(pdfwidgets) endif() diff --git a/examples/pdf/CMakeLists.txt b/examples/pdf/CMakeLists.txt new file mode 100644 index 000000000..cca6c03db --- /dev/null +++ b/examples/pdf/CMakeLists.txt @@ -0,0 +1,5 @@ +add_subdirectory(pdfviewer) +add_subdirectory(multipage) +if(NOT TARGET Qt::Svg) + message(WARNING "QtSvg is required as runtime dependency for qtpdfquick examples.") +endif() diff --git a/examples/pdf/multipage/CMakeLists.txt b/examples/pdf/multipage/CMakeLists.txt new file mode 100644 index 000000000..141da88b6 --- /dev/null +++ b/examples/pdf/multipage/CMakeLists.txt @@ -0,0 +1,62 @@ +cmake_minimum_required(VERSION 3.16) +project(multipage LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/pdf/multipage") + +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +qt_add_executable(multipage + main.cpp +) +set_target_properties(multipage PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(multipage PUBLIC + Qt::Gui + Qt::Qml +) + +set(viewer_resource_files + "resources/document-open.svg" + "resources/edit-clear.svg" + "resources/edit-copy.svg" + "resources/edit-select-all.svg" + "resources/go-down-search.svg" + "resources/go-next-view-page.svg" + "resources/go-previous-view-page.svg" + "resources/go-up-search.svg" + "resources/rotate-left.svg" + "resources/rotate-right.svg" + "resources/test.pdf" + "resources/zoom-fit-best.svg" + "resources/zoom-fit-width.svg" + "resources/zoom-in.svg" + "resources/zoom-original.svg" + "resources/zoom-out.svg" + "viewer.qml" +) + +qt6_add_resources(multipage "viewer" + PREFIX + "/pdfviewer" + FILES + ${viewer_resource_files} +) + +install(TARGETS multipage + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/pdf/multipage/viewer.qml b/examples/pdf/multipage/viewer.qml index f66c8d381..ed84d5547 100644 --- a/examples/pdf/multipage/viewer.qml +++ b/examples/pdf/multipage/viewer.qml @@ -47,14 +47,14 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -import QtQml 2.14 // workaround for QTBUG-82873 -import QtQuick 2.14 -import QtQuick.Controls 2.14 -import QtQuick.Layouts 1.14 -import QtQuick.Pdf 5.15 -import QtQuick.Shapes 1.14 -import QtQuick.Window 2.14 -import Qt.labs.platform 1.1 as Platform +import QtQml // workaround for QTBUG-82873 +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import QtQuick.Pdf +import QtQuick.Shapes +import QtQuick.Window +import Qt.labs.platform as Platform ApplicationWindow { id: root @@ -72,7 +72,7 @@ ApplicationWindow { ToolButton { action: Action { shortcut: StandardKey.Open - icon.source: "resources/document-open.svg" + icon.source: "qrc:/pdfviewer/resources/document-open.svg" onTriggered: fileDialog.open() } } @@ -80,7 +80,7 @@ ApplicationWindow { action: Action { shortcut: StandardKey.ZoomIn enabled: view.renderScale < 10 - icon.source: "resources/zoom-in.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-in.svg" onTriggered: view.renderScale *= Math.sqrt(2) } } @@ -88,46 +88,46 @@ ApplicationWindow { action: Action { shortcut: StandardKey.ZoomOut enabled: view.renderScale > 0.1 - icon.source: "resources/zoom-out.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-out.svg" onTriggered: view.renderScale /= Math.sqrt(2) } } ToolButton { action: Action { - icon.source: "resources/zoom-fit-width.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-fit-width.svg" onTriggered: view.scaleToWidth(root.contentItem.width, root.contentItem.height) } } ToolButton { action: Action { - icon.source: "resources/zoom-fit-best.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-fit-best.svg" onTriggered: view.scaleToPage(root.contentItem.width, root.contentItem.height) } } ToolButton { action: Action { shortcut: "Ctrl+0" - icon.source: "resources/zoom-original.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-original.svg" onTriggered: view.resetScale() } } ToolButton { action: Action { shortcut: "Ctrl+L" - icon.source: "resources/rotate-left.svg" + icon.source: "qrc:/pdfviewer/resources/rotate-left.svg" onTriggered: view.pageRotation -= 90 } } ToolButton { action: Action { shortcut: "Ctrl+R" - icon.source: "resources/rotate-right.svg" + icon.source: "qrc:/pdfviewer/resources/rotate-right.svg" onTriggered: view.pageRotation += 90 } } ToolButton { action: Action { - icon.source: "resources/go-previous-view-page.svg" + icon.source: "qrc:/pdfviewer/resources/go-previous-view-page.svg" enabled: view.backEnbled onTriggered: view.back() } @@ -152,7 +152,7 @@ ApplicationWindow { } ToolButton { action: Action { - icon.source: "resources/go-next-view-page.svg" + icon.source: "qrc:/pdfviewer/resources/go-next-view-page.svg" enabled: view.forwardEnabled onTriggered: view.forward() } @@ -163,14 +163,14 @@ ApplicationWindow { ToolButton { action: Action { shortcut: StandardKey.SelectAll - icon.source: "resources/edit-select-all.svg" + icon.source: "qrc:/pdfviewer/resources/edit-select-all.svg" onTriggered: view.selectAll() } } ToolButton { action: Action { shortcut: StandardKey.Copy - icon.source: "resources/edit-copy.svg" + icon.source: "qrc:/pdfviewer/resources/edit-copy.svg" enabled: view.selectedText !== "" onTriggered: view.copySelectionToClipboard() } @@ -308,7 +308,7 @@ ApplicationWindow { anchors.fill: parent ToolButton { action: Action { - icon.source: "resources/go-up-search.svg" + icon.source: "qrc:/pdfviewer/resources/go-up-search.svg" shortcut: StandardKey.FindPrevious onTriggered: view.searchBack() } @@ -324,7 +324,7 @@ ApplicationWindow { onAccepted: searchDrawer.open() Image { visible: searchField.text !== "" - source: "resources/edit-clear.svg" + source: "qrc:/pdfviewer/resources/edit-clear.svg" anchors { right: parent.right top: parent.top @@ -339,7 +339,7 @@ ApplicationWindow { } ToolButton { action: Action { - icon.source: "resources/go-down-search.svg" + icon.source: "qrc:/pdfviewer/resources/go-down-search.svg" shortcut: StandardKey.FindNext onTriggered: view.searchForward() } diff --git a/examples/pdf/pdfviewer/CMakeLists.txt b/examples/pdf/pdfviewer/CMakeLists.txt new file mode 100644 index 000000000..8265861d0 --- /dev/null +++ b/examples/pdf/pdfviewer/CMakeLists.txt @@ -0,0 +1,62 @@ +cmake_minimum_required(VERSION 3.16) +project(pdfviewer LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/pdf/pdfviewer") + +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Qml) + +qt_add_executable(pdfviewerquick + main.cpp +) +set_target_properties(pdfviewerquick PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(pdfviewerquick PUBLIC + Qt::Gui + Qt::Qml +) + +set(viewer_resource_files + "resources/document-open.svg" + "resources/edit-clear.svg" + "resources/edit-copy.svg" + "resources/edit-select-all.svg" + "resources/go-down-search.svg" + "resources/go-next-view-page.svg" + "resources/go-previous-view-page.svg" + "resources/go-up-search.svg" + "resources/rotate-left.svg" + "resources/rotate-right.svg" + "resources/test.pdf" + "resources/zoom-fit-best.svg" + "resources/zoom-fit-width.svg" + "resources/zoom-in.svg" + "resources/zoom-original.svg" + "resources/zoom-out.svg" + "viewer.qml" +) + +qt6_add_resources(pdfviewerquick "viewer" + PREFIX + "/pdfviewer" + FILES + ${viewer_resource_files} +) + +install(TARGETS pdfviewerquick + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/examples/pdf/pdfviewer/viewer.qml b/examples/pdf/pdfviewer/viewer.qml index 38d62740a..8c85a09da 100644 --- a/examples/pdf/pdfviewer/viewer.qml +++ b/examples/pdf/pdfviewer/viewer.qml @@ -47,15 +47,15 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ -import QtQml 2.14 // workaround for QTBUG-82873 -import QtQuick 2.14 -import QtQuick.Controls 2.14 -import QtQuick.Layouts 1.14 -import QtQuick.Pdf 5.15 -import QtQuick.Shapes 1.14 -import QtQuick.Window 2.14 -import Qt.labs.animation 1.0 -import Qt.labs.platform 1.1 as Platform +import QtQml // workaround for QTBUG-82873 +import QtQuick +import QtQuick.Controls +import QtQuick.Layouts +import QtQuick.Pdf +import QtQuick.Shapes +import QtQuick.Window +import Qt.labs.animation +import Qt.labs.platform as Platform ApplicationWindow { id: root @@ -74,7 +74,7 @@ ApplicationWindow { ToolButton { action: Action { shortcut: StandardKey.Open - icon.source: "resources/document-open.svg" + icon.source: "qrc:/pdfviewer/resources/document-open.svg" onTriggered: fileDialog.open() } } @@ -82,7 +82,7 @@ ApplicationWindow { action: Action { shortcut: StandardKey.ZoomIn enabled: view.sourceSize.width < 10000 - icon.source: "resources/zoom-in.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-in.svg" onTriggered: view.renderScale *= root.scaleStep } } @@ -90,46 +90,46 @@ ApplicationWindow { action: Action { shortcut: StandardKey.ZoomOut enabled: view.sourceSize.width > 50 - icon.source: "resources/zoom-out.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-out.svg" onTriggered: view.renderScale /= root.scaleStep } } ToolButton { action: Action { - icon.source: "resources/zoom-fit-width.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-fit-width.svg" onTriggered: view.scaleToWidth(root.contentItem.width, root.contentItem.height) } } ToolButton { action: Action { - icon.source: "resources/zoom-fit-best.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-fit-best.svg" onTriggered: view.scaleToPage(root.contentItem.width, root.contentItem.height) } } ToolButton { action: Action { shortcut: "Ctrl+0" - icon.source: "resources/zoom-original.svg" + icon.source: "qrc:/pdfviewer/resources/zoom-original.svg" onTriggered: view.resetScale() } } ToolButton { action: Action { shortcut: "Ctrl+L" - icon.source: "resources/rotate-left.svg" + icon.source: "qrc:/pdfviewer/resources/rotate-left.svg" onTriggered: view.pageRotation -= 90 } } ToolButton { action: Action { shortcut: "Ctrl+R" - icon.source: "resources/rotate-right.svg" + icon.source: "qrc:/pdfviewer/resources/rotate-right.svg" onTriggered: view.pageRotation += 90 } } ToolButton { action: Action { - icon.source: "resources/go-previous-view-page.svg" + icon.source: "qrc:/pdfviewer/resources/go-previous-view-page.svg" enabled: view.backEnabled onTriggered: view.back() } @@ -155,7 +155,7 @@ ApplicationWindow { } ToolButton { action: Action { - icon.source: "resources/go-next-view-page.svg" + icon.source: "qrc:/pdfviewer/resources/go-next-view-page.svg" enabled: view.forwardEnabled onTriggered: view.forward() } @@ -166,14 +166,14 @@ ApplicationWindow { ToolButton { action: Action { shortcut: StandardKey.SelectAll - icon.source: "resources/edit-select-all.svg" + icon.source: "qrc:/pdfviewer/resources/edit-select-all.svg" onTriggered: view.selectAll() } } ToolButton { action: Action { shortcut: StandardKey.Copy - icon.source: "resources/edit-copy.svg" + icon.source: "qrc:/pdfviewer/resources/edit-copy.svg" enabled: view.selectedText !== "" onTriggered: view.copySelectionToClipboard() } @@ -282,7 +282,7 @@ ApplicationWindow { anchors.fill: parent ToolButton { action: Action { - icon.source: "resources/go-up-search.svg" + icon.source: "qrc:/pdfviewer/resources/go-up-search.svg" shortcut: StandardKey.FindPrevious onTriggered: view.searchBack() } @@ -299,7 +299,7 @@ ApplicationWindow { onAccepted: searchDrawer.open() Image { visible: searchField.text !== "" - source: "resources/edit-clear.svg" + source: "qrc:/pdfviewer/resources/edit-clear.svg" anchors { right: parent.right top: parent.top @@ -314,7 +314,7 @@ ApplicationWindow { } ToolButton { action: Action { - icon.source: "resources/go-down-search.svg" + icon.source: "qrc:/pdfviewer/resources/go-down-search.svg" shortcut: StandardKey.FindNext onTriggered: view.searchForward() } diff --git a/examples/pdfwidgets/CMakeLists.txt b/examples/pdfwidgets/CMakeLists.txt new file mode 100644 index 000000000..37496ebe3 --- /dev/null +++ b/examples/pdfwidgets/CMakeLists.txt @@ -0,0 +1 @@ +add_subdirectory(pdfviewer) diff --git a/examples/pdfwidgets/pdfviewer/CMakeLists.txt b/examples/pdfwidgets/pdfviewer/CMakeLists.txt new file mode 100644 index 000000000..afcbf035a --- /dev/null +++ b/examples/pdfwidgets/pdfviewer/CMakeLists.txt @@ -0,0 +1,63 @@ +# Generated from pdfviewer.pro. + +cmake_minimum_required(VERSION 3.14) +project(pdfviewer LANGUAGES CXX) + +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +set(CMAKE_AUTOMOC ON) +set(CMAKE_AUTORCC ON) +set(CMAKE_AUTOUIC ON) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/pdfwidgets/pdfviewer") + +find_package(Qt6 COMPONENTS Core) +find_package(Qt6 COMPONENTS Gui) +find_package(Qt6 COMPONENTS Widgets) + +qt_add_executable(pdfviewerwidgets + main.cpp + mainwindow.cpp mainwindow.h mainwindow.ui + pageselector.cpp pageselector.h + zoomselector.cpp zoomselector.h +) +set_target_properties(pdfviewerwidgets PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) +target_link_libraries(pdfviewerwidgets PUBLIC + Qt::Core + Qt::Gui + Qt::Widgets + Qt::PdfWidgets +) + + +# Resources: +set(resources_resource_files + "images/busy.png" + "images/fileopen.png" + "images/go-next-24.png" + "images/go-previous-24.png" + "images/zoom-in-24.png" + "images/zoom-in-32.png" + "images/zoom-out-24.png" + "images/zoom-out-32.png" +) + +qt6_add_resources(pdfviewerwidgets "resources" + PREFIX + "/icons" + FILES + ${resources_resource_files} +) + +install(TARGETS pdfviewerwidgets + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) |