summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/CMakeLists.txt8
-rw-r--r--examples/pdf/CMakeLists.txt5
-rw-r--r--examples/pdf/multipage/CMakeLists.txt62
-rw-r--r--examples/pdf/multipage/viewer.qml46
-rw-r--r--examples/pdf/pdfviewer/CMakeLists.txt62
-rw-r--r--examples/pdf/pdfviewer/viewer.qml48
-rw-r--r--examples/pdfwidgets/CMakeLists.txt1
-rw-r--r--examples/pdfwidgets/pdfviewer/CMakeLists.txt63
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}"
+)