Compare commits
92 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 75fafd5acc | |||
| 3394c1246c | |||
| 3e34a6d55f | |||
| 50792ba1ad | |||
| 6404612014 | |||
| eaf15faaa3 | |||
| b8c9e670c4 | |||
| 85dc638a42 | |||
| dfe56cddbd | |||
| ef1fbd79b4 | |||
| eb7abdfbc6 | |||
| f574d28340 | |||
| 31f90e2c46 | |||
| 45bd8256b3 | |||
| 4e43cde063 | |||
| aef56fe41d | |||
| 0395f90f75 | |||
| a4d5b7a12a | |||
| ba29dc45a0 | |||
| d06c7be606 | |||
| 56cbd6e23d | |||
| 8bbc2da5c7 | |||
| 4b8db6be0e | |||
| a6b4c3c673 | |||
| 8f0ee06a4f | |||
| 70599c4ae1 | |||
| e42ebdc861 | |||
| 3c1fb2fe72 | |||
| 2da516667e | |||
| b62b118d45 | |||
| b0b7814015 | |||
| c9a63b5bce | |||
| 059d179d9b | |||
| fa52aab149 | |||
| 54e61d482d | |||
| 800ddfbcbe | |||
| 0258d1a74f | |||
| dd0c194a3c | |||
| 3ba7de3284 | |||
| 0067ba1dca | |||
| 16220af012 | |||
| f8c1b5206a | |||
| 4d800de26a | |||
| d3c8544fd9 | |||
| eea939c31c | |||
| 599228fe6e | |||
| 3ff02e528d | |||
| 520f4245b3 | |||
| 918756a91a | |||
| 7a73e8075f | |||
| 53a0f07ca3 | |||
| 864e651966 | |||
| 26285373a3 | |||
| b4fcef1829 | |||
| 9519b70826 | |||
| 218e70c759 | |||
| 26c0fc9812 | |||
| 8c135a009d | |||
| 261b0f9e12 | |||
| 1183849ce2 | |||
| 2b30083193 | |||
| 863ac5f0ae | |||
| 8623dd4c6f | |||
| 6a84ada6a6 | |||
| b7f516d485 | |||
| 0646f9ca4f | |||
| 8ef130a59d | |||
| c3b0e6725e | |||
| 3f8e6418d0 | |||
| a86fe2a46b | |||
| 206edcbb7d | |||
| 0a7ea032d9 | |||
| 52713704bc | |||
| 923723a9de | |||
| ff3c2e0916 | |||
| adca07f26f | |||
| 12ecf6b28f | |||
| 1ee828da5b | |||
| 837e1e7f09 | |||
| 25962118a2 | |||
| 35275de4cc | |||
| d641b964bd | |||
| e90dddbbc6 | |||
| ce8884394a | |||
| 8606cc5328 | |||
| 60d9299d45 | |||
| e6ffc8b622 | |||
| 7a85e2592c | |||
| 7183ed3d99 | |||
| c2f405c32d | |||
| a106395679 | |||
| 72c8008218 |
@@ -0,0 +1,79 @@
|
||||
# Linux build, unit tests, and the IPC open-forwarding regression gate.
|
||||
#
|
||||
# The existing workflows build Windows and generate documentation; nothing
|
||||
# builds QElectroTech on Linux or runs tests/ in CI. This does both.
|
||||
#
|
||||
# It runs inside an ubuntu:26.04 container rather than directly on the runner
|
||||
# because the IPC gate below needs Qt 6.10.2. The ubuntu-latest image ships
|
||||
# Qt 6.4, and whether the crash that gate covers reproduces on 6.4 has never
|
||||
# been checked -- a gate that cannot go red is worse than no gate.
|
||||
name: Linux build and tests
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
linux:
|
||||
name: Build and test (Qt 6, Debug)
|
||||
runs-on: ubuntu-latest
|
||||
container: ubuntu:26.04
|
||||
|
||||
steps:
|
||||
- name: Install build and test dependencies
|
||||
run: |
|
||||
apt-get update
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
ca-certificates build-essential cmake ninja-build git pkg-config \
|
||||
qt6-base-dev qt6-base-private-dev qt6-tools-dev qt6-tools-dev-tools \
|
||||
libqt6svg6-dev libqt6sql6-sqlite libsqlite3-dev libcups2-dev \
|
||||
libxkbcommon-x11-0 \
|
||||
xvfb openbox xdotool x11-utils
|
||||
# extra-cmake-modules and the KF6 libraries are installed rather than
|
||||
# left to FetchContent: without them CMake builds extra-cmake-modules
|
||||
# from source, and its Qt Help documentation target then demands
|
||||
# Qt6{Core,Gui,Widgets,DBus}Tools, failing the configure with an error
|
||||
# that appears to be about QElectroTech and is not.
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
|
||||
extra-cmake-modules libkf6coreaddons-dev libkf6widgetsaddons-dev \
|
||||
qt6-svg-plugins
|
||||
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Configure
|
||||
# Debug, not Release. Whether a use-after-free faults depends on what
|
||||
# the allocator does with the freed block: the commit before #868
|
||||
# crashes every time built Debug and survives every time built
|
||||
# -O3 -DNDEBUG, so a Release job would never catch a regression here.
|
||||
run: |
|
||||
git config --global --add safe.directory "$GITHUB_WORKSPACE"
|
||||
cmake -B build -G Ninja \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DQT_VERSION_MAJOR=6
|
||||
|
||||
- name: Build
|
||||
run: cmake --build build --parallel $(nproc)
|
||||
|
||||
- name: Unit tests
|
||||
run: xvfb-run -a ctest --test-dir build --output-on-failure
|
||||
|
||||
- name: IPC open-forwarding regression (#868)
|
||||
# Fails the job only on an actual crash. An inconclusive run means the
|
||||
# crash path was not exercised -- it proves nothing, which is not the
|
||||
# same as a regression, and failing on it would make this job flaky
|
||||
# rather than informative.
|
||||
run: |
|
||||
set +e
|
||||
tests/ipc-regression/run.sh --binary build/qelectrotech
|
||||
status=$?
|
||||
set -e
|
||||
case $status in
|
||||
0) echo "::notice::IPC gate passed" ;;
|
||||
2) echo "::warning::IPC gate inconclusive -- the crash path was not exercised, nothing was proven" ;;
|
||||
*) echo "::error::IPC gate failed -- forwarded files are being opened inside the socket handler again"
|
||||
exit 1 ;;
|
||||
esac
|
||||
@@ -42,6 +42,9 @@ jobs:
|
||||
pages: write
|
||||
id-token: write # Required by SignPath
|
||||
|
||||
env:
|
||||
SIGNPATH_API_TOKEN: ${{ secrets.SIGNPATH_API_TOKEN }}
|
||||
|
||||
outputs:
|
||||
qt6_msi: ${{ steps.export.outputs.msi_name_qt6 }}
|
||||
|
||||
@@ -289,8 +292,15 @@ jobs:
|
||||
# check: forks never have the SignPath secrets, and a fork-originated
|
||||
# PR/run must never attempt a signing request.
|
||||
# (cf. DieterMayerOSS:fix/msi-signing-fork-guard, d3f60c88)
|
||||
# continue-on-error: SignPath's certificate is still pending validation
|
||||
# (Sept 2026) — the signing request currently fails with a 500 on the
|
||||
# SignPath side. Kept non-blocking so the nightly MSI still ships
|
||||
# (unsigned) while the certificate is pending. Remove
|
||||
# continue-on-error once the certificate is confirmed active.
|
||||
- name: Sign MSI via SignPath
|
||||
if: github.repository == 'qelectrotech/qelectrotech-source-mirror'
|
||||
id: sign
|
||||
if: github.repository == 'qelectrotech/qelectrotech-source-mirror' && env.SIGNPATH_API_TOKEN != ''
|
||||
continue-on-error: true
|
||||
uses: signpath/github-action-submit-signing-request@v2
|
||||
with:
|
||||
api-token: ${{ secrets.SIGNPATH_API_TOKEN }}
|
||||
@@ -302,7 +312,22 @@ jobs:
|
||||
wait-for-completion: true
|
||||
output-artifact-directory: 'dist\'
|
||||
|
||||
# If signing succeeded, SignPath already overwrote dist\*.msi with the
|
||||
# signed copy (output-artifact-directory above) — nothing to do here.
|
||||
# If it failed/was skipped, dist\*.msi is still the unsigned MSI from
|
||||
# the "Build MSI" step, so the rest of the pipeline just ships that.
|
||||
- name: Report signing status
|
||||
if: always()
|
||||
shell: pwsh
|
||||
run: |
|
||||
if ("${{ steps.sign.outcome }}" -eq "success") {
|
||||
Write-Host "MSI signed successfully via SignPath."
|
||||
} else {
|
||||
Write-Warning "MSI signing skipped or failed (outcome: ${{ steps.sign.outcome }}) — shipping UNSIGNED MSI. Likely cause: SignPath certificate still pending validation."
|
||||
}
|
||||
|
||||
- name: Upload signed MSI artifact
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v7
|
||||
with:
|
||||
name: qelectrotech-windows-msi-${{ matrix.flavor }}
|
||||
@@ -311,6 +336,7 @@ jobs:
|
||||
if-no-files-found: error
|
||||
|
||||
- name: Delete old nightly .msi asset
|
||||
if: always()
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
REPO: ${{ github.repository }}
|
||||
@@ -324,6 +350,7 @@ jobs:
|
||||
shell: pwsh
|
||||
|
||||
- name: Upload MSI to nightly release
|
||||
if: always()
|
||||
uses: softprops/action-gh-release@v3
|
||||
with:
|
||||
tag_name: nightly
|
||||
@@ -345,7 +372,7 @@ jobs:
|
||||
run: |
|
||||
Write-Host "=== MSI build summary (${{ matrix.flavor }}) ==="
|
||||
Write-Host "Version : ${{ steps.version.outputs.VERSION_DISPLAY }}"
|
||||
Write-Host "Signed : true"
|
||||
Write-Host "Signed : ${{ steps.sign.outcome == 'success' }}"
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
# Job 2 : Génère et déploie la page GitHub Pages une fois le MSI publié,
|
||||
|
||||
@@ -8,3 +8,11 @@ doc/*
|
||||
QElectroTech.tag
|
||||
!doc/doc-utils
|
||||
lang/*.qm
|
||||
|
||||
# -- IDE settings/intermediate files --
|
||||
# zed
|
||||
.zed
|
||||
.cache
|
||||
|
||||
# VS Code
|
||||
.vscode
|
||||
|
||||
@@ -28,25 +28,6 @@ include(cmake/copyright_message.cmake)
|
||||
|
||||
set(QET_DIR ${PROJECT_SOURCE_DIR})
|
||||
|
||||
# QT_VERSION_MAJOR is chosen explicitly by whoever configures the build,
|
||||
# via -DQT_VERSION_MAJOR=5 or -DQT_VERSION_MAJOR=6.
|
||||
# Default to Qt5 (current stable) when not specified, so existing
|
||||
# CI/scripts that don't pass this option keep working unchanged.
|
||||
# This must happen BEFORE add_subdirectory(tests) and the fetch_*.cmake
|
||||
# includes below, so every subdirectory and every FetchContent dependency
|
||||
# sees a consistent, already-defined value.
|
||||
if(NOT DEFINED QT_VERSION_MAJOR)
|
||||
set(QT_VERSION_MAJOR 6)
|
||||
endif()
|
||||
|
||||
# Some third-party CMake projects we pull in via FetchContent (e.g.
|
||||
# SingleApplication) don't know about QET_VERSION_MAJOR: they follow Qt's
|
||||
# own "QT_DEFAULT_MAJOR_VERSION" convention instead, and silently default
|
||||
# to Qt5 if it isn't set. Propagate our choice so they stay in sync,
|
||||
# otherwise they can end up linked against a different Qt major version
|
||||
# than the rest of QET, which breaks AUTOMOC with an
|
||||
# INTERFACE_QT_MAJOR_VERSION mismatch at generate time.
|
||||
set(QT_DEFAULT_MAJOR_VERSION ${QT_VERSION_MAJOR} CACHE STRING "Qt version to use (5 or 6)" FORCE)
|
||||
|
||||
include(cmake/paths_compilation_installation.cmake)
|
||||
include(cmake/start_options.cmake)
|
||||
@@ -65,7 +46,7 @@ SET(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
|
||||
find_package(
|
||||
Qt${QT_VERSION_MAJOR}
|
||||
Qt6
|
||||
COMPONENTS
|
||||
${QET_COMPONENTS}
|
||||
REQUIRED)
|
||||
@@ -76,12 +57,9 @@ find_package(
|
||||
# and only provide the implicit Qt6::GuiPrivate target created alongside
|
||||
# Qt6::Gui. Try the component quietly, then verify the target below so a
|
||||
# missing private-headers package fails here instead of at compile time.
|
||||
# Qt5 has no such component as its GuiPrivate target always exists once Gui is found.
|
||||
if(QT_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
find_package(Qt6 QUIET COMPONENTS GuiPrivate)
|
||||
endif()
|
||||
find_package(Qt6 QUIET COMPONENTS GuiPrivate)
|
||||
|
||||
if(QT_VERSION_MAJOR GREATER_EQUAL 6 AND NOT TARGET Qt6::GuiPrivate)
|
||||
if(NOT TARGET Qt6::GuiPrivate)
|
||||
message(FATAL_ERROR
|
||||
"Qt6::GuiPrivate was not found. It is required for PDF hyperlink "
|
||||
"support (<private/qpdf_p.h>). Install the Qt6 private headers "
|
||||
@@ -98,15 +76,13 @@ endif()
|
||||
# see the QT_VERSION_CHECK / QET_HAS_QTPDF guards in diagrameventaddpdf.*
|
||||
# and pdfpagesdialog.*.
|
||||
set(QET_HAS_QTPDF FALSE)
|
||||
if(QT_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
find_package(Qt6 QUIET COMPONENTS Pdf)
|
||||
if(TARGET Qt6::Pdf AND NOT Qt6_VERSION VERSION_LESS 6.4.0)
|
||||
set(QET_HAS_QTPDF TRUE)
|
||||
list(APPEND QET_PRIVATE_LIBRARIES Qt::Pdf)
|
||||
add_compile_definitions(QET_HAS_QTPDF)
|
||||
else()
|
||||
message(STATUS "QtPdf module not available (or Qt < 6.4): PDF page import feature disabled")
|
||||
endif()
|
||||
find_package(Qt6 QUIET COMPONENTS Pdf)
|
||||
if(TARGET Qt6::Pdf AND NOT Qt6_VERSION VERSION_LESS 6.4.0)
|
||||
set(QET_HAS_QTPDF TRUE)
|
||||
list(APPEND QET_PRIVATE_LIBRARIES Qt::Pdf)
|
||||
add_compile_definitions(QET_HAS_QTPDF)
|
||||
else()
|
||||
message(STATUS "QtPdf module not available (or Qt < 6.4): PDF page import feature disabled")
|
||||
endif()
|
||||
|
||||
# JavaScript scripting (bugtracker #162: `--run script.js`, and later a
|
||||
@@ -125,6 +101,21 @@ else()
|
||||
message(STATUS "Qt Qml module not available: JavaScript scripting (--run) disabled")
|
||||
endif()
|
||||
|
||||
# The crash handler writes a backtrace into the dump. Detecting this with
|
||||
# __has_include(<execinfo.h>) is not enough: the header is present on FreeBSD
|
||||
# too, but backtrace() lives in a separate libexecinfo there, so the compile
|
||||
# succeeds and the link fails. FindBacktrace resolves both the header and
|
||||
# whichever library actually provides the symbol, so gate on it instead - see
|
||||
# the QET_CRASH_BACKTRACE guard in sources/logging/crashhandler.cpp.
|
||||
find_package(Backtrace QUIET)
|
||||
if(Backtrace_FOUND)
|
||||
list(APPEND QET_PRIVATE_LIBRARIES ${Backtrace_LIBRARIES})
|
||||
include_directories(${Backtrace_INCLUDE_DIRS})
|
||||
add_compile_definitions(QET_CRASH_BACKTRACE)
|
||||
else()
|
||||
message(STATUS "backtrace() not available: crash dumps will carry the log ring without a backtrace")
|
||||
endif()
|
||||
|
||||
find_package(SQLite3 REQUIRED)
|
||||
|
||||
# CMake < 4.3 only creates the SQLite::SQLite3 target (no SQLite3::SQLite3
|
||||
@@ -139,11 +130,6 @@ endif()
|
||||
|
||||
set(CMAKE_AUTOUIC_SEARCH_PATHS ${QET_DIR}/sources/ui)
|
||||
|
||||
if(QT_VERSION_MAJOR EQUAL 6)
|
||||
set(KF_MAJOR_VERSION 6)
|
||||
else()
|
||||
set(KF_MAJOR_VERSION 5)
|
||||
endif()
|
||||
include(cmake/fetch_kdeaddons.cmake)
|
||||
|
||||
# Add sub directories
|
||||
@@ -168,6 +154,7 @@ if(WIN32)
|
||||
${QET_SRC_FILES}
|
||||
${QM_FILES}
|
||||
${QET_DIR}/qelectrotech.qrc
|
||||
${QET_DIR}/ico/icon-themes.qrc
|
||||
)
|
||||
else()
|
||||
add_executable(
|
||||
@@ -176,6 +163,7 @@ else()
|
||||
${QET_SRC_FILES}
|
||||
${QM_FILES}
|
||||
${QET_DIR}/qelectrotech.qrc
|
||||
${QET_DIR}/ico/icon-themes.qrc
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -208,71 +196,19 @@ set_source_files_properties(
|
||||
${TS_FILES}
|
||||
PROPERTIES OUTPUT_LOCATION "lang"
|
||||
)
|
||||
if(QT_VERSION_MAJOR EQUAL 6)
|
||||
if(Qt6_VERSION VERSION_LESS "6.2")
|
||||
# Qt 6.0–6.1
|
||||
qt6_add_translation(QM_FILES ${TS_FILES})
|
||||
if(Qt6_VERSION VERSION_LESS "6.2")
|
||||
# Qt 6.0–6.1
|
||||
qt6_add_translation(QM_FILES ${TS_FILES})
|
||||
|
||||
# qt6_add_translation() only creates custom commands. Something must
|
||||
# depend on their outputs for them to run during the default build.
|
||||
add_custom_target(${PROJECT_NAME}_lrelease ALL
|
||||
DEPENDS ${QM_FILES}
|
||||
)
|
||||
|
||||
add_custom_target(update_translations
|
||||
COMMAND
|
||||
$<TARGET_FILE:Qt6::lupdate>
|
||||
"${CMAKE_SOURCE_DIR}/sources"
|
||||
-ts ${TS_FILES}
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
COMMENT
|
||||
"Updating .ts files from sources/ (lupdate) - developer target"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
elseif(Qt6_VERSION VERSION_LESS "6.7")
|
||||
# Qt 6.2–6.6: old target-based signature
|
||||
qt_add_lrelease(
|
||||
${PROJECT_NAME}
|
||||
TS_FILES ${TS_FILES}
|
||||
QM_FILES_OUTPUT_VARIABLE QM_FILES
|
||||
)
|
||||
|
||||
# Automatically creates the update_translations umbrella target.
|
||||
qt_add_lupdate(
|
||||
${PROJECT_NAME}
|
||||
TS_FILES ${TS_FILES}
|
||||
)
|
||||
|
||||
else()
|
||||
# Qt 6.7+: new signature
|
||||
qt_add_lrelease(
|
||||
TS_FILES ${TS_FILES}
|
||||
LRELEASE_TARGET ${PROJECT_NAME}_lrelease
|
||||
QM_FILES_OUTPUT_VARIABLE QM_FILES
|
||||
)
|
||||
|
||||
qt_add_lupdate(
|
||||
SOURCE_TARGETS ${PROJECT_NAME}
|
||||
TS_FILES ${TS_FILES}
|
||||
LUPDATE_TARGET update_translations
|
||||
NO_GLOBAL_TARGET
|
||||
)
|
||||
endif()
|
||||
|
||||
else()
|
||||
# Qt 5
|
||||
qt5_add_translation(QM_FILES ${TS_FILES})
|
||||
|
||||
# Likewise, qt5_add_translation() needs a target depending on its outputs,
|
||||
# unless QM_FILES are already consumed elsewhere.
|
||||
# qt6_add_translation() only creates custom commands. Something must
|
||||
# depend on their outputs for them to run during the default build.
|
||||
add_custom_target(${PROJECT_NAME}_lrelease ALL
|
||||
DEPENDS ${QM_FILES}
|
||||
)
|
||||
|
||||
add_custom_target(update_translations
|
||||
COMMAND
|
||||
$<TARGET_FILE:Qt5::lupdate>
|
||||
$<TARGET_FILE:Qt6::lupdate>
|
||||
"${CMAKE_SOURCE_DIR}/sources"
|
||||
-ts ${TS_FILES}
|
||||
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
|
||||
@@ -280,8 +216,38 @@ else()
|
||||
"Updating .ts files from sources/ (lupdate) - developer target"
|
||||
VERBATIM
|
||||
)
|
||||
|
||||
elseif(Qt6_VERSION VERSION_LESS "6.7")
|
||||
# Qt 6.2–6.6: old target-based signature
|
||||
qt_add_lrelease(
|
||||
${PROJECT_NAME}
|
||||
TS_FILES ${TS_FILES}
|
||||
QM_FILES_OUTPUT_VARIABLE QM_FILES
|
||||
)
|
||||
|
||||
# Automatically creates the update_translations umbrella target.
|
||||
qt_add_lupdate(
|
||||
${PROJECT_NAME}
|
||||
TS_FILES ${TS_FILES}
|
||||
)
|
||||
|
||||
else()
|
||||
# Qt 6.7+: new signature
|
||||
qt_add_lrelease(
|
||||
TS_FILES ${TS_FILES}
|
||||
LRELEASE_TARGET ${PROJECT_NAME}_lrelease
|
||||
QM_FILES_OUTPUT_VARIABLE QM_FILES
|
||||
)
|
||||
|
||||
qt_add_lupdate(
|
||||
SOURCE_TARGETS ${PROJECT_NAME}
|
||||
TS_FILES ${TS_FILES}
|
||||
LUPDATE_TARGET update_translations
|
||||
NO_GLOBAL_TARGET
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
# Optional precompiled headers -- see QET_ENABLE_PCH in
|
||||
# cmake/developer_options.cmake for what this trades away.
|
||||
#
|
||||
|
||||
@@ -1,179 +0,0 @@
|
||||
[Qt6 / CMake]
|
||||
Building the Qt6 line with CMake additionally requires the private
|
||||
development headers of QtGui. On Debian/Ubuntu these live in a separate
|
||||
package that is NOT pulled in by qt6-base-dev:
|
||||
|
||||
apt install qt6-base-private-dev
|
||||
|
||||
(other distributions: install your Qt 6 "private headers" development
|
||||
package, e.g. qt6-qtbase-private-devel on Fedora)
|
||||
|
||||
QET needs the private QtGui API (QPdfEngine) for clickable hyperlinks in
|
||||
the PDF export. Without the package, find_package(Qt6 ... GuiPrivate)
|
||||
succeeds but CMake later fails at generate time with:
|
||||
"Imported target Qt6::GuiPrivate includes non-existent path".
|
||||
|
||||
[ca]
|
||||
Dependències:
|
||||
libQt5 (paquets libqt5*)
|
||||
cupsys-bsd per imprimir
|
||||
|
||||
Com compilar:
|
||||
$ qmake (qmake-qt5 pels sistemes basats en Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[en]
|
||||
Requirements :
|
||||
libQt5 (see packages libqt5*)
|
||||
cupsys-bsd for printing
|
||||
|
||||
Howto compile :
|
||||
$ qmake (qmake-qt5 for Debian-based systems)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[fr]
|
||||
Pré-requis :
|
||||
libQt5 (paquets libqt5*)
|
||||
cupsys-bsd pour l'impression
|
||||
|
||||
Comment compiler :
|
||||
$ qmake (qmake-qt5 pour les systèmes basés sur Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[de]
|
||||
Abhängigkeiten:
|
||||
libQt5 (Pakete libqt5*)
|
||||
cupsys-bsd zum Drucken
|
||||
|
||||
Kompilieren:
|
||||
$ qmake (qmake-qt5 für Debian-basierende Systeme)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[ru]
|
||||
Зависимости:
|
||||
libQt5 (пакет libqt5*)
|
||||
cupsys-bsd для печати
|
||||
|
||||
Как компилировать?:
|
||||
$ qmake (qmake-qt5 для систем основанных на Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[pt]
|
||||
Dependências:
|
||||
libQt5 (ver pacotes libqt5*)
|
||||
cupsys-bsd para impressão
|
||||
|
||||
Como compilar:
|
||||
$ qmake (qmake-qt5 para sistemas baseados em Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[es]
|
||||
Dependencias:
|
||||
libQt5 (paquetes libqt5*)
|
||||
cupsys-bsd para imprimir
|
||||
|
||||
Cómo compilar:
|
||||
$ qmake (qmake-qt5 para los sistemas basados en Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[cs]
|
||||
Požadavky :
|
||||
libQt5 (viz balíček libqt5*)
|
||||
cupsys-bsd kvůli tisku
|
||||
|
||||
Jak program sestavit :
|
||||
$ qmake (qmake-qt5 u systémů založených na Debianu)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[pl]
|
||||
Zależności:
|
||||
libQt5 (pakiety libqt5 *)
|
||||
cupsys-bsd do druku
|
||||
|
||||
Sposób kompilacji:
|
||||
$ qmake (qmake-qt5 dla systemów opartych na Debianie)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[it]
|
||||
Dipendenze:
|
||||
libQt5 (vedi pacchetti libqt5*)
|
||||
cupsys-bsd per la stampa
|
||||
|
||||
Come compilare:
|
||||
$ qmake (qmake-qt5 per sistemi basati su Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[el]
|
||||
Απαιτήσεις:
|
||||
libQt5 (δείτε για πακέτα libqt5*)
|
||||
cupsys-bsd για εκτύπωση
|
||||
|
||||
Πως να το μεταγλωττίσετε:
|
||||
$ qmake (qmake-qt5 για συστήματα βασισμένα σε Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[nl]
|
||||
vereisten:
|
||||
libqt5 (zie pakketten libqt5 *)
|
||||
cupsys-bsd om af te drukken
|
||||
|
||||
Hoe te compileren:
|
||||
$ Qmake (qmake-qt5 voor Debian-gebaseerde systemen)
|
||||
$ make
|
||||
# Umask 0022
|
||||
# Make install
|
||||
|
||||
[be]
|
||||
Vereisten:
|
||||
libQt5 (pakketten libqt5*)
|
||||
cupsys-bsd voor het afdrukken
|
||||
|
||||
Hoe te compileren :
|
||||
$ qmake (qmake-qt5 voor systemen op basis van Debian)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[da]
|
||||
Krav:
|
||||
libQt5 (se pakke libqt5*)
|
||||
cupsys-bsd til udskrivning
|
||||
|
||||
Hvordan man kompilerer:
|
||||
$ qmake (qmake-qt5 for Debian baserede systemer)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
|
||||
[ja]
|
||||
必要条件 :
|
||||
libQt5 (パッケージ libqt5* を参照)
|
||||
cupsys-bsd 印刷用
|
||||
|
||||
コンパイルの方法 :
|
||||
$ qmake (Debian ベースのシステムでは qmake-qt5)
|
||||
$ make
|
||||
# umask 0022
|
||||
# make install
|
||||
@@ -0,0 +1,349 @@
|
||||
# Building QElectroTech from source
|
||||
|
||||
QElectroTech is built with **CMake** and requires the **current Qt6 only**; Qt5 and the
|
||||
old `qmake`-based build described in earlier versions of this file have
|
||||
been retired.
|
||||
|
||||
## 1. Getting the source
|
||||
|
||||
QET uses git submodules, so clone recursively:
|
||||
|
||||
```sh
|
||||
git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror.git
|
||||
cd qelectrotech-source-mirror
|
||||
```
|
||||
|
||||
If you already have a non-recursive clone:
|
||||
|
||||
```sh
|
||||
git submodule update --init --recursive
|
||||
```
|
||||
|
||||
## 2. Requirements
|
||||
|
||||
| Component | Status | Notes |
|
||||
|---|---|---|
|
||||
| CMake ≥ 3.5 | required | CMake 4.3+ is also fine, see note below |
|
||||
| C++17 compiler | required | GCC or Clang on Unix-like platforms; MSVC or MinGW-w64 g++ on Windows — see [Choosing a compiler](#3-choosing-a-compiler-unix) / [Building on Windows](#6-building-on-windows-msvc--mingw) |
|
||||
| Qt6 base + widgets | required | |
|
||||
| Qt6 **GuiPrivate** headers | required | needed for clickable PDF hyperlinks; **hard build failure** at CMake generate time if missing, see below |
|
||||
| SQLite3 | required | used by the nomenclature/summary database |
|
||||
| Qt Linguist tools (`lrelease`) | required | compiles the tracked `.ts` files into `.qm` as part of every normal build |
|
||||
| pugixml | handled automatically | fetched and built via CMake FetchContent if not already present on the system — see [pugixml](#8-pugixml) below |
|
||||
| Qt Test module | required if building tests | `PACKAGE_TESTS` is `ON` by default; QtTest ships as part of the base Qt6 dev packages listed below on every platform, no extra package needed |
|
||||
| KDE Frameworks (KF6) | optional | see [Building without KDE Frameworks](#9-building-without-kde-frameworks) |
|
||||
| QtPdf module | optional | see [PDF page import](#7-pdf-page-import-qtpdf) |
|
||||
|
||||
A note on CMake versions: the project declares a minimum of 3.5 but is
|
||||
routinely built with much newer releases; if your CMake is older than 4.3 it
|
||||
simply won't have the newer `SQLite3::SQLite3` target name, which the build
|
||||
script compensates for automatically. There is nothing you need to do either
|
||||
way.
|
||||
|
||||
## 3. Building (out-of-source build)
|
||||
|
||||
Always build in a separate directory from the source tree — in-source builds
|
||||
are not supported.
|
||||
|
||||
```sh
|
||||
mkdir build
|
||||
cd build
|
||||
cmake ..
|
||||
cmake --build . --parallel
|
||||
```
|
||||
|
||||
For a Unix-like platform you'll usually also want an explicit build type,
|
||||
since CMake's default (empty) build type means no optimization and no
|
||||
debug info either:
|
||||
|
||||
```sh
|
||||
cmake .. -DCMAKE_BUILD_TYPE=Release
|
||||
```
|
||||
|
||||
To install (default prefix is `/usr/local`; adjust with
|
||||
`-DCMAKE_INSTALL_PREFIX=...` at the configure step if needed):
|
||||
|
||||
```sh
|
||||
sudo cmake --install .
|
||||
```
|
||||
|
||||
Useful configure-time options (pass as `-D<OPTION>=ON/OFF`):
|
||||
|
||||
| Option | Default | Effect |
|
||||
|---|---|---|
|
||||
| `PACKAGE_TESTS` | `ON` | build the test suite (needs the Qt Test module) |
|
||||
| `BUILD_WITH_KF` | distro-dependent | build against KDE Frameworks; see below |
|
||||
| `QET_ENABLE_PCH` | `OFF` | precompiled headers for faster rebuilds (needs CMake ≥ 3.16) |
|
||||
|
||||
## 3.1 Choosing a compiler (Unix)
|
||||
|
||||
Both **GCC** and **Clang** are supported on Unix-like platforms; any
|
||||
reasonably recent release with solid C++17 support works. Neither is
|
||||
hard-coded — CMake picks up whichever `cc`/`c++` (or `CC`/`CXX` environment
|
||||
variables) resolve to by default, and you can force one explicitly at
|
||||
configure time:
|
||||
|
||||
```sh
|
||||
cmake .. -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++
|
||||
# or
|
||||
cmake .. -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++
|
||||
```
|
||||
|
||||
or equivalently, by exporting `CC`/`CXX` before calling `cmake`. The
|
||||
per-distro package lists below install GCC by default (via
|
||||
`build-essential`/`gcc-c++`/the base toolchain); see each section for the
|
||||
Clang alternative.
|
||||
|
||||
## 4. Distribution packages
|
||||
|
||||
Exact package names vary by release/branch; if a name below doesn't resolve,
|
||||
search your package manager (`apt search`, `pkg search`, `brew search`) for
|
||||
the closest match.
|
||||
|
||||
### Debian / Ubuntu
|
||||
|
||||
```sh
|
||||
sudo apt install \
|
||||
build-essential cmake ninja-build git \
|
||||
qt6-base-dev qt6-base-private-dev qt6-tools-dev qt6-tools-dev-tools \
|
||||
libsqlite3-dev \
|
||||
libkf6coreaddons-dev libkf6widgetsaddons-dev
|
||||
```
|
||||
|
||||
`qt6-base-private-dev` is **not** pulled in automatically by `qt6-base-dev`
|
||||
but is mandatory for the build (see
|
||||
[Qt6 private headers](#6-qt6-private-headers-mandatory) below).
|
||||
|
||||
For Clang instead of GCC:
|
||||
|
||||
```sh
|
||||
sudo apt install clang
|
||||
```
|
||||
|
||||
Optional, for PDF page import:
|
||||
|
||||
```sh
|
||||
sudo apt install libqt6pdf6-dev
|
||||
```
|
||||
|
||||
Optional, to use a system pugixml instead of letting CMake fetch it:
|
||||
|
||||
```sh
|
||||
sudo apt install libpugixml-dev
|
||||
```
|
||||
|
||||
### Fedora / RHEL
|
||||
|
||||
```sh
|
||||
sudo dnf install \
|
||||
cmake gcc-c++ git \
|
||||
qt6-qtbase-devel qt6-qtbase-private-devel qt6-qttools-devel \
|
||||
sqlite-devel \
|
||||
kf6-kcoreaddons-devel kf6-kwidgetsaddons-devel
|
||||
```
|
||||
|
||||
For Clang instead of GCC: `sudo dnf install clang`.
|
||||
|
||||
Optional, for PDF page import: `qt6-qtwebengine-devel` provides `QtPdf` on
|
||||
some Fedora releases — check `dnf provides '*/QPdfDocument'` if unsure.
|
||||
|
||||
Optional, for a system pugixml: `sudo dnf install pugixml-devel`.
|
||||
|
||||
### FreeBSD
|
||||
|
||||
```sh
|
||||
pkg install \
|
||||
cmake git \
|
||||
qt6-base qt6-tools \
|
||||
sqlite3 \
|
||||
kf6-kcoreaddons kf6-kwidgetsaddons
|
||||
```
|
||||
|
||||
(from ports: `devel/qt6-base`, `devel/qt6-tools`, `databases/sqlite3`,
|
||||
`devel/kf6-kcoreaddons`, `x11-toolkits/kf6-kwidgetsaddons`.) Qt6's
|
||||
`GuiPrivate` headers ship as part of `qt6-base` on FreeBSD, no separate
|
||||
package is needed. `QtPdf` is not packaged on FreeBSD at the time of writing
|
||||
— PDF page import will simply be disabled (see below).
|
||||
|
||||
Clang is the FreeBSD base system compiler and needs nothing extra; GCC is
|
||||
available via `pkg install gcc` if you'd rather use it.
|
||||
|
||||
Optional, for a system pugixml: `pkg install pugixml` (`devel/pugixml`).
|
||||
|
||||
### macOS
|
||||
|
||||
Using [Homebrew](https://brew.sh):
|
||||
|
||||
```sh
|
||||
brew install cmake qt sqlite ninja
|
||||
```
|
||||
|
||||
Homebrew's `qt` formula is Qt6 and includes the private headers, so no
|
||||
extra package is required there. KDE Frameworks are not practically
|
||||
available via Homebrew, so macOS builds are normally done **without KF**
|
||||
(`-DBUILD_WITH_KF=OFF`) — see the caveat below.
|
||||
|
||||
Apple's Clang (from the Xcode Command Line Tools, `xcode-select --install`)
|
||||
is the default and needs no extra package; GCC is available via
|
||||
`brew install gcc` if you specifically want it instead.
|
||||
|
||||
Optional, for a system pugixml: `brew install pugixml`.
|
||||
|
||||
### Windows
|
||||
|
||||
See [Building on Windows](#6-building-on-windows-msvc--mingw) below — the
|
||||
package sources differ enough from the Unix-like platforms above (no system
|
||||
package manager, SQLite3 and Qt aren't provided the same way) that it gets
|
||||
its own section.
|
||||
|
||||
## 5. pugixml
|
||||
|
||||
QET links against [pugixml](https://pugixml.org) for XML parsing.
|
||||
`cmake/fetch_pugixml.cmake` handles this automatically: if a suitable
|
||||
pugixml isn't already available on the system, CMake fetches and builds it
|
||||
from source via `FetchContent` as part of the normal configure step — you
|
||||
don't need to do anything to get a working build.
|
||||
|
||||
If you'd rather avoid that network fetch and use your distribution's own
|
||||
pugixml package instead, install it before running `cmake ..` (package
|
||||
names are listed per platform in the [Distribution
|
||||
packages](#4-distribution-packages) section above — e.g. `libpugixml-dev`
|
||||
on Debian/Ubuntu, `pugixml-devel` on Fedora).
|
||||
|
||||
## 6. Building on Windows (MSVC / MinGW)
|
||||
|
||||
Both toolchains QET's CMake build targets on Windows are covered here:
|
||||
**MSVC** (Visual Studio 2019/2022) and **MinGW-w64** (gcc). Unlike the
|
||||
Unix-like platforms above, there's no single system package manager, so
|
||||
Qt, SQLite3 and (optionally) KDE Frameworks each need to be sourced
|
||||
separately per toolchain.
|
||||
|
||||
One piece of good news either way: unlike Debian/Fedora, the official Qt
|
||||
Windows kits (both MSVC and MinGW) **already include the GuiPrivate private
|
||||
headers** — there's no separate "private headers" package to remember on
|
||||
Windows (see [Qt6 private headers](#7-qt6-private-headers-mandatory) below
|
||||
for why this matters).
|
||||
|
||||
`QtPdf` is available as an optional component in the Qt Online Installer
|
||||
(look for "Qt PDF" under the Qt 6.4+ node); if you skip it, PDF page import
|
||||
is silently disabled exactly as on the other platforms. KDE Frameworks are
|
||||
not prebuilt for Windows by any of the routes below, so Windows builds
|
||||
normally use `-DBUILD_WITH_KF=OFF` (see the
|
||||
[autosave caveat](#9-building-without-kde-frameworks)).
|
||||
|
||||
### MSVC (Visual Studio 2019 / 2022)
|
||||
|
||||
1. Install Visual Studio with the "Desktop development with C++" workload,
|
||||
and install Qt6 for MSVC (e.g. the `msvc2019_64` or `msvc2022_64` kit)
|
||||
via the [Qt Online Installer](https://www.qt.io/download-qt-installer).
|
||||
2. Get SQLite3 — the simplest route is [vcpkg](https://vcpkg.io):
|
||||
```bat
|
||||
vcpkg install sqlite3:x64-windows
|
||||
```
|
||||
3. Configure and build from an "x64 Native Tools Command Prompt for VS":
|
||||
```bat
|
||||
mkdir build && cd build
|
||||
cmake .. -G "Visual Studio 17 2022" -A x64 ^
|
||||
-DCMAKE_PREFIX_PATH="C:\Qt\6.x.x\msvc2022_64" ^
|
||||
-DCMAKE_TOOLCHAIN_FILE="C:\vcpkg\scripts\buildsystems\vcpkg.cmake" ^
|
||||
-DBUILD_WITH_KF=OFF
|
||||
cmake --build . --config Release --parallel
|
||||
```
|
||||
Ninja works too, in place of the Visual Studio generator, if you prefer
|
||||
(`-G Ninja -DCMAKE_BUILD_TYPE=Release`, run from the same VS developer
|
||||
prompt so `cl.exe` is on `PATH`).
|
||||
|
||||
### MinGW-w64 (gcc)
|
||||
|
||||
Two common ways to get a MinGW toolchain that matches a Qt6 MinGW kit: Qt's
|
||||
own bundled MinGW (installed alongside a `mingw_64` Qt kit via the Qt
|
||||
Online Installer), or [MSYS2](https://www.msys2.org).
|
||||
|
||||
Using MSYS2, from a **MINGW64** shell:
|
||||
```sh
|
||||
pacman -S --needed \
|
||||
mingw-w64-x86_64-toolchain \
|
||||
mingw-w64-x86_64-qt6-base mingw-w64-x86_64-qt6-tools \
|
||||
mingw-w64-x86_64-cmake mingw-w64-x86_64-ninja \
|
||||
mingw-w64-x86_64-sqlite3
|
||||
|
||||
mkdir build && cd build
|
||||
cmake .. -G Ninja -DBUILD_WITH_KF=OFF -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build .
|
||||
```
|
||||
(KF6 isn't packaged in MSYS2 either, hence `-DBUILD_WITH_KF=OFF` again.)
|
||||
|
||||
Using the Qt Online Installer's bundled MinGW kit instead: point
|
||||
`CMAKE_PREFIX_PATH` at that kit (e.g. `C:\Qt\6.x.x\mingw_64`) and make sure
|
||||
its bundled `g++.exe` comes first on `PATH`, or pass
|
||||
`-DCMAKE_C_COMPILER`/`-DCMAKE_CXX_COMPILER` explicitly so CMake doesn't pick
|
||||
up a different MinGW installation. SQLite3 still has to come from elsewhere
|
||||
in this path — vcpkg with a `mingw`-flavoured triplet, or MSYS2's package as
|
||||
above.
|
||||
|
||||
## 7. Qt6 private headers (mandatory)
|
||||
|
||||
QET uses the private `QPdfEngine` API (`<private/qpdf_p.h>`) to produce
|
||||
clickable hyperlinks in PDF export. This requires Qt's `GuiPrivate` target,
|
||||
which on several distributions (notably Debian/Ubuntu) is shipped in a
|
||||
separate "private headers" package rather than the normal `-dev` package —
|
||||
e.g. `qt6-base-private-dev` on Debian/Ubuntu, or
|
||||
`qt6-qtbase-private-devel` on Fedora. Without it, CMake's `find_package`
|
||||
step succeeds but configuration later fails at generate time with:
|
||||
|
||||
```
|
||||
Imported target "Qt6::GuiPrivate" includes non-existent path
|
||||
```
|
||||
|
||||
If you hit this, install your distribution's Qt6 private-headers package
|
||||
(on Windows this is a non-issue — see [Building on
|
||||
Windows](#6-building-on-windows-msvc--mingw) above).
|
||||
|
||||
## 8. PDF page import (QtPdf)
|
||||
|
||||
The toolbar's "Add a PDF" feature (`QPdfDocument::pagePointSize()`) needs
|
||||
the separate `QtPdf` Qt module, available since Qt 6.4.
|
||||
|
||||
**This is optional and soft-fails**: if `QtPdf` isn't found, or is present
|
||||
but older than 6.4, CMake prints a status message and simply disables the
|
||||
feature (`QET_HAS_QTPDF` stays `FALSE`) — it does **not** stop the build.
|
||||
Some Qt6 distributions don't ship `QtPdf` at all (it lives outside Qt's
|
||||
core module set, alongside QtWebEngine), so this is expected on several
|
||||
platforms, including FreeBSD as of this writing.
|
||||
|
||||
## 9. Building without KDE Frameworks
|
||||
|
||||
`BUILD_WITH_KF=OFF` builds QET against a bundled fallback UI layer instead
|
||||
of KDE Frameworks (`kcoreaddons`/`kwidgetsaddons`). This is a fully
|
||||
supported configuration and is, in practice, the default on platforms where
|
||||
KF6 isn't readily packaged (macOS and Windows in particular).
|
||||
|
||||
Almost everything works identically either way. The one known caveat:
|
||||
**autosave behavior is not as polished without KF**, since QET relies on
|
||||
KCoreAddons' autosave/backup-file handling when it's available. Expect
|
||||
autosave to work, but less robustly than on a KF-enabled build.
|
||||
|
||||
## 10. Translations (developer operation)
|
||||
|
||||
Everything in this section is a **maintainer/translator task**, not
|
||||
something a normal build or a packager needs to touch.
|
||||
|
||||
The `.qm` files shipped with the application are compiled from the tracked
|
||||
`.ts` files automatically as part of every normal build (via `lrelease`) —
|
||||
regular builds and packages get up-to-date translated UI strings for free,
|
||||
with no developer action needed.
|
||||
|
||||
Refreshing the `.ts` files themselves from the source code (`lupdate`) is
|
||||
the actual developer operation: it's exposed as its own opt-in build
|
||||
target, separate from the normal build:
|
||||
|
||||
```sh
|
||||
cmake --build . --target update_translations
|
||||
```
|
||||
|
||||
This is **not** run automatically and should not be added to routine or
|
||||
parallel CI builds: it rewrites the tracked `.ts` files as a side effect,
|
||||
and running it concurrently with the normal `lrelease` compilation step (as
|
||||
would happen under `-j`/parallel builds) can corrupt a `.ts` file mid-write,
|
||||
causing `lrelease` to fail with "Premature end of document". Run it on its
|
||||
own, review the diff, and commit the updated `.ts` files separately.
|
||||
@@ -1,60 +1,60 @@
|
||||
[ca]
|
||||
QElectroTech és una aplicació Qt5 per crear esquemes elèctrics.
|
||||
QElectroTech és una aplicació Qt6 per crear esquemes elèctrics.
|
||||
QET utilitza el format XML per als seus elements i esquemes i inclou un editor d'esquemes, un editor d'elements i un editor de caixetins.
|
||||
|
||||
[en]
|
||||
QElectroTech is a Qt5 application to design electric diagrams.
|
||||
QElectroTech is a Qt6 application to design electric diagrams.
|
||||
It uses XML files for elements and diagrams, and includes both a diagram editor, a element editor, and an titleblock editor.
|
||||
|
||||
[fr]
|
||||
QElectroTech est une application Qt5 pour réaliser des schémas électriques.
|
||||
QElectroTech est une application Qt6 pour réaliser des schémas électriques.
|
||||
QET utilise le format XML pour ses éléments et ses schémas et inclut un éditeur de schémas, un éditeur d'élément, ainsi qu'un editeur de cartouche.
|
||||
|
||||
[de]
|
||||
QElectroTech ist eine Qt5 Software, um Schaltpläne zu erstellen.
|
||||
QElectroTech ist eine Qt6 Software, um Schaltpläne zu erstellen.
|
||||
QET benutzt das XML Format für seine Bauteile und seine Projekte, und beinhaltet einen Schaltplaneditor, einen Bauteileditor sowie einen Schriftfeldeditor.
|
||||
|
||||
|
||||
[ru]
|
||||
QElectroTech - приложение написанное на Qt5 и предназначенное для разработки электрических схем.
|
||||
QElectroTech - приложение написанное на Qt6 и предназначенное для разработки электрических схем.
|
||||
Оно использует XML-файлы для элементов и схем, и включает, как редактор схем, так и редактор элементов.
|
||||
|
||||
[pt]
|
||||
QElectroTech é uma aplicação baseada em Qt5 para desenhar esquemas eléctricos.
|
||||
QElectroTech é uma aplicação baseada em Qt6 para desenhar esquemas eléctricos.
|
||||
QET utiliza ficheiros XML para os elementos e para os esquemas e inclui um editor de esquemas e um editor de elementos.
|
||||
|
||||
[es]
|
||||
QElectroTech es una aplicación Qt5 para diseñar esquemas eléctricos.
|
||||
QElectroTech es una aplicación Qt6 para diseñar esquemas eléctricos.
|
||||
Utiliza archivos XML para los elementos y esquemas, e incluye un editor de esquemas y un editor de elementos.
|
||||
|
||||
[cs]
|
||||
QElectroTech je aplikací Qt5 určenou pro návrh nákresů elektrických obvodů.
|
||||
QElectroTech je aplikací Qt6 určenou pro návrh nákresů elektrických obvodů.
|
||||
Pro prvky a nákresy používá soubory XML, a zahrnuje v sobě jak editor nákresů, tak editor prvků.
|
||||
|
||||
[pl]
|
||||
QElectroTech to aplikacja napisana w Qt5, przeznaczona do tworzenia schematów elektrycznych.
|
||||
QElectroTech to aplikacja napisana w Qt6, przeznaczona do tworzenia schematów elektrycznych.
|
||||
Wykorzystuje XML do zapisywania plików elementów i projektów. Posiada edytor schematów i elementów.
|
||||
|
||||
[it]
|
||||
QElectroTech è una applicazione fatta in Qt5 per disegnare schemi elettrici.
|
||||
QElectroTech è una applicazione fatta in Qt6 per disegnare schemi elettrici.
|
||||
QET usa il formato XML per i suoi elementi e schemi, includendo anche un editor per gli stessi.
|
||||
|
||||
[el]
|
||||
Το QElectroTech είναι μια εφαρμογή Qt5 για σχεδίαση ηλεκτρικών διαγραμμάτων.
|
||||
Το QElectroTech είναι μια εφαρμογή Qt6 για σχεδίαση ηλεκτρικών διαγραμμάτων.
|
||||
Χρησιμοποιεί αρχεία XML για στοιχεία και διαγράμματα, και περιλαμβάνει επεξεργαστή διαγραμμάτων καθώς και επεξεργαστή στοιχείων.
|
||||
|
||||
[nl]
|
||||
QElectroTech is een Qt5 applicatie om elektrische schema's te ontwerpen.
|
||||
QElectroTech is een Qt6 applicatie om elektrische schema's te ontwerpen.
|
||||
Het maakt gebruik van XML-bestanden voor elementen en diagrammen, en omvat zowel een diagram bewerker, een element bewerker, en een bloksjabloon bewerker.
|
||||
|
||||
[be]
|
||||
QElectroTech is een Qt5 toepassing voor het maken en beheren van elektrische schema's.
|
||||
QElectroTech is een Qt6 toepassing voor het maken en beheren van elektrische schema's.
|
||||
QET gebruikt XML voor de elementen en schema's en omvat een schematische editor, itemeditor, en een titel sjabloon editor.
|
||||
|
||||
[da]
|
||||
QElectroTech er et Qt5 program til at redigere elektriske diagrammer.
|
||||
QElectroTech er et Qt6 program til at redigere elektriske diagrammer.
|
||||
Det bruger XML filer for symboler og diagrammer og inkluderer diagram, symbol og titelblok redigering.
|
||||
|
||||
[ja]
|
||||
QElectroTech は電気回路図を作成する Qt5 アプリケーションです。
|
||||
QElectroTech は電気回路図を作成する Qt6 アプリケーションです。
|
||||
QET は要素と回路図に XML 形式を利用し、回路図エディタ、要素エディタ、表題欄エディタを含みます。
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
|
||||
### What it is
|
||||
|
||||
QElectroTech, or QET in short, is a libre and open source desktop application to create diagrams and schematics.
|
||||
The software is primarily intended to create electrical documentation but it can also be used to draw any kinds of diagrams, such as those made in pneumatics, hydraulics, process industries, electronics...
|
||||
Generally speaking, QET is a **CAD/CAE editor focusing on schematics drawing features**.
|
||||
QElectroTech, or QET in short, is a libre and open source desktop application to create diagrams and schematics.
|
||||
The software is primarily intended to create electrical documentation but it can also be used to draw any kinds of diagrams, such as those made in pneumatics, hydraulics, process industries, electronics...
|
||||
Generally speaking, QET is a **CAD/CAE editor focusing on schematics drawing features**.
|
||||
|
||||
This means that there are no embedded simulating or calculating functionalities and it is not planned to implement them.
|
||||
|
||||
@@ -24,7 +24,7 @@ Users who want to test and take benefits from the last software implementations
|
||||
|
||||
### License
|
||||
|
||||
The software is licensed under [GNU/GPL](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html).
|
||||
The software is licensed under [GNU/GPL](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html).
|
||||
You are free to use, copy, modify and redistribute it under the terms of the license.
|
||||
|
||||
Like many other open source software, QElectroTech is provided as is, without any warranty.
|
||||
@@ -40,13 +40,13 @@ git clone --recursive https://github.com/qelectrotech/qelectrotech-source-mirror
|
||||
Here are the technical choices made for the software development:
|
||||
|
||||
* Integrated development environment: [Qt Framework](https://www.qt.io/ide/)
|
||||
* Libraries: Qt 5.x
|
||||
* [KF5 Framework](https://github.com/KDE)
|
||||
[Cmake](https://cmake.org/install/)
|
||||
[kcoreaddons](https://github.com/KDE/kcoreaddons/tree/kf5)
|
||||
[kwidgetsaddons](https://github.com/KDE/kwidgetsaddons/tree/kf5).
|
||||
* Libraries: Qt 6.x
|
||||
* [KF6 Framework](https://github.com/KDE)
|
||||
[Cmake](https://cmake.org/install/)
|
||||
[kcoreaddons](https://github.com/KDE/kcoreaddons/tree/kf6)
|
||||
[kwidgetsaddons](https://github.com/KDE/kwidgetsaddons/tree/kf6).
|
||||
* Coding language: [C++](https://en.wikipedia.org/wiki/C%2B%2B)
|
||||
* GUI translations: [Qt Linguist](http://doc.qt.io/qt-5/qtlinguist-index.html)
|
||||
* GUI translations: [Qt Linguist](http://doc.qt.io/qt-6/qtlinguist-index.html)
|
||||
* Version control: [GIT](https://github.com/qelectrotech/qelectrotech-source-mirror.git)
|
||||
* Doxygen documentation :[Doxygen](https://download.qelectrotech.org/qet/doxygen/html/)
|
||||
* QtCreator qch doxygen :[QElectroTech.qch](https://download.qelectrotech.org/qet/doxygen/QElectroTech.qch)
|
||||
@@ -62,20 +62,20 @@ If you wish to be informed of the latest developments, browse the [archive](http
|
||||
|
||||
# Features
|
||||
|
||||
QElectroTech is a free and open source software.
|
||||
No need to worry about restrictive licensing, privacy violation or dependency on a company.
|
||||
Zero cost and no licensing fees!
|
||||
QElectroTech is a free and open source software.
|
||||
No need to worry about restrictive licensing, privacy violation or dependency on a company.
|
||||
Zero cost and no licensing fees!
|
||||
But you are welcome to make a donation to support the development
|
||||
|
||||
QElectroTech runs on the 3 most widespread operating systems for desktop computers in the world.
|
||||
Files that were created on an OS can be edited on another OS without any conversion or restriction.
|
||||
QElectroTech runs on the 3 most widespread operating systems for desktop computers in the world.
|
||||
Files that were created on an OS can be edited on another OS without any conversion or restriction.
|
||||
MS Windows users can even run the "ready-to-use" version of QElectroTech from an external medium with no need to install it on an access restricted computer.
|
||||
|
||||
|
||||
Take advantage of the modern GUI
|
||||
|
||||
Toolbars and panels can be enabled/disabled, moved and displayed the way you want to work.
|
||||
Panels can be stacked on each other (as tabs) or docked on the sides (as docks) or completely separated from the main window (as windows).
|
||||
Toolbars and panels can be enabled/disabled, moved and displayed the way you want to work.
|
||||
Panels can be stacked on each other (as tabs) or docked on the sides (as docks) or completely separated from the main window (as windows).
|
||||
The GUI can fit to small or big screens, and even to multi-display configurations.
|
||||

|
||||
|
||||
@@ -86,31 +86,31 @@ You only need to restart the application for the new selected language to take e
|
||||
|
||||
Create technical documentation in professional quality
|
||||
|
||||
Size, look and informations of the folios (sheets) are fully configurable.
|
||||
Size, look and informations of the folios (sheets) are fully configurable.
|
||||
You can set vertical and horizontal headers (printed rulers) individually on and off, set number of columns and rows, and set width/height of each column/row.
|
||||
|
||||
Titlebocks can be created and edited with the embedded titleblock editor to perfectly suit your needs.
|
||||
Titlebocks can be created and edited with the embedded titleblock editor to perfectly suit your needs.
|
||||
Custom variables can be defined to display the informations you wish in the titleblock.
|
||||

|
||||
|
||||
With only 2 mouse clicks you can add a full automatic generated table of content.
|
||||
With only 2 mouse clicks you can add a full automatic generated table of content.
|
||||
Changes in the documentation are updated on the fly.
|
||||

|
||||
|
||||
Choose from more than 8.200 symbols...
|
||||
The embedded QET collection contains a rich library of electric, logic, pneumatic, hydraulic and fluid symbols.
|
||||
The embedded QET collection contains a rich library of electric, logic, pneumatic, hydraulic and fluid symbols.
|
||||
The library grows at every new release thanks to an active user community.
|
||||

|
||||
|
||||
...or create your own collection
|
||||
|
||||
The embedded element editor is a nice tool to create your own elements (symbols or anything else).
|
||||
The embedded element editor is a nice tool to create your own elements (symbols or anything else).
|
||||
Your own elements are stored in the user collection.
|
||||

|
||||
|
||||
Quickly find what you need
|
||||
|
||||
All collections can quickly be searched with the integrated search engine.
|
||||
All collections can quickly be searched with the integrated search engine.
|
||||
Furthermore, the search request can be restricted to the folder of your choice.
|
||||

|
||||
|
||||
@@ -128,7 +128,7 @@ And of course, you can accurately zoom with the mouse wheel over the drawing are
|
||||
|
||||
Link elements together to create cross references
|
||||
|
||||
Several types of element can be linked together to display a cross reference text.
|
||||
Several types of element can be linked together to display a cross reference text.
|
||||
All types of cross references are automatically updated on the fly, you don't need to think about them if you make changes.
|
||||

|
||||
To speed up your work, linkable elements are easily searched and shown.
|
||||
@@ -143,7 +143,7 @@ This way, you can make your own parts list or bill of material using the full po
|
||||

|
||||
Print to pdf and/or export your work to images
|
||||
|
||||
Your whole documentation or only selected parts of it can be printed to a real printer or to a pdf file.
|
||||
Your whole documentation or only selected parts of it can be printed to a real printer or to a pdf file.
|
||||
Alternatively, you can export to vector (svg) or pixel (png, jpg, bmp) format images.
|
||||
|
||||
### And much more:
|
||||
@@ -161,44 +161,44 @@ Alternatively, you can export to vector (svg) or pixel (png, jpg, bmp) format im
|
||||
Nomenclature
|
||||
|
||||
A new nomenclature tool appears in the menu: project -> Add a nomenclature.
|
||||
The nomenclature is presented in the form of a configurable table separated into two parts: the display (the form) and the content (the background).
|
||||
- Display: the size and position of the table, the margins between text and the table cell, the alignment of the text in the cells and the font. The configuration of the table headers and the table itself are separate.
|
||||
- Content: the information to display in the table and the order in which it should be displayed.
|
||||
The nomenclature is presented in the form of a configurable table separated into two parts: the display (the form) and the content (the background).
|
||||
- Display: the size and position of the table, the margins between text and the table cell, the alignment of the text in the cells and the font. The configuration of the table headers and the table itself are separate.
|
||||
- Content: the information to display in the table and the order in which it should be displayed.
|
||||
|
||||

|
||||
|
||||
In order to speed up the establishment of a nomenclature, it is possible to export / import the display and content configurations separately. This is the "Configuration" part that can be seen in the photos above.
|
||||
In order to speed up the establishment of a nomenclature, it is possible to export / import the display and content configurations separately. This is the "Configuration" part that can be seen in the photos above.
|
||||
|
||||
Behind the scenes, an SQLite database does the work, so setting up the content is nothing more or less than an SQL query created using a dialog (screenshot by right).
|
||||
The SQL query is configured as follows (from top to bottom in the screenshot):
|
||||
- “Available information”: the information to display;
|
||||
- "Filter": filter the information (is not empty, is empty, contains, does not contain, is equal to, is not equal to) only one filter can be applied per information, it is not possible combine several;
|
||||
- "Type of elements": allows you to filter on what type of element you want to obtain information.
|
||||
Behind the scenes, an SQLite database does the work, so setting up the content is nothing more or less than an SQL query created using a dialog (screenshot by right).
|
||||
The SQL query is configured as follows (from top to bottom in the screenshot):
|
||||
- “Available information”: the information to display;
|
||||
- "Filter": filter the information (is not empty, is empty, contains, does not contain, is equal to, is not equal to) only one filter can be applied per information, it is not possible combine several;
|
||||
- "Type of elements": allows you to filter on what type of element you want to obtain information.
|
||||
|
||||
At the bottom, a checkmark "SQL query" allows you to edit a personalized query, if the basic options are not sufficient.
|
||||
At the bottom, a checkmark "SQL query" allows you to edit a personalized query, if the basic options are not sufficient.
|
||||
|
||||
When a nomenclature is too large to be contained in a single folio, it is possible to separate it on several folios, the tables of each folio are then linked together. When creating a nomenclature, this option is activated by default, which has the effect of adding the necessary number of folios, adding a table in each of them and linking them together.
|
||||
When a nomenclature is too large to be contained in a single folio, it is possible to separate it on several folios, the tables of each folio are then linked together. When creating a nomenclature, this option is activated by default, which has the effect of adding the necessary number of folios, adding a table in each of them and linking them together.
|
||||
|
||||
Finally two buttons are available in the property panel:
|
||||
- "Fit the table to the folio": positions and adjusts the size and determines the number of rows in the table in relation to the folio;
|
||||
- "Apply geometry to all tables linked to this one": applies the three properties mentioned above to all linked tables in order to save time and maintain aesthetic consistency.
|
||||
Finally two buttons are available in the property panel:
|
||||
- "Fit the table to the folio": positions and adjusts the size and determines the number of rows in the table in relation to the folio;
|
||||
- "Apply geometry to all tables linked to this one": applies the three properties mentioned above to all linked tables in order to save time and maintain aesthetic consistency.
|
||||
|
||||
And to finish a table
|
||||
And to finish a table
|
||||

|
||||
|
||||
|
||||
Summary
|
||||
|
||||
The old summary has been completely removed from the code in order to make room for the new one which is exactly the same as the nomenclature (a large amount of the code is common), with the exception of the SQL query (and its dialog to configure it) which offers specific information for editing a summary.
|
||||
The old summary has been completely removed from the code in order to make room for the new one which is exactly the same as the nomenclature (a large amount of the code is common), with the exception of the SQL query (and its dialog to configure it) which offers specific information for editing a summary.
|
||||
|
||||
Export of the internal database
|
||||
Export of the internal database
|
||||
|
||||
The database used by the nomenclature and the summary can be exported in a “.sqlite” file.
|
||||
Currently this is irrelevant, as the function was created during development for debugging purposes, we left it.
|
||||
Note that the database will become increasingly important in the future of Qet.
|
||||
The database used by the nomenclature and the summary can be exported in a “.sqlite” file.
|
||||
Currently this is irrelevant, as the function was created during development for debugging purposes, we left it.
|
||||
Note that the database will become increasingly important in the future of Qet.
|
||||
|
||||
|
||||
Export of the wiring list
|
||||
Export of the wiring list
|
||||
|
||||
In order to be able to use the wiring number printers more easily, the names of conductors can be exported in CSV format, the export respects the quantity of conductors in order to print the right quantity of numbers, for example a potential numbered 240 composed of 3 wires will give 6 × 240 (2 numbers per wire × 3 wires) in the CSV.
|
||||
|
||||
@@ -206,13 +206,13 @@ In order to be able to use the wiring number printers more easily, the names of
|
||||
|
||||
### Story
|
||||
|
||||
The QElectroTech project was founded in 2007 by two french students, Xavier and Benoit.
|
||||
Xavier developed the base application itself and made all technical choices about the development.
|
||||
The first version of QET (0.1) was released on 09.03.2008.
|
||||
The QElectroTech project was founded in 2007 by two french students, Xavier and Benoit.
|
||||
Xavier developed the base application itself and made all technical choices about the development.
|
||||
The first version of QET (0.1) was released on 09.03.2008.
|
||||
However, both Xavier and Benoit do not participate anymore in the project since 2013.
|
||||
|
||||
Following this period, new developers and contributors took over the project and kept it alive.
|
||||
The development and the many translations are actively maintained.
|
||||
Following this period, new developers and contributors took over the project and kept it alive.
|
||||
The development and the many translations are actively maintained.
|
||||
New functionalities and evolutions are planned to make QET ever better.
|
||||
|
||||
Nowadays, QET is not only used by many individuals, teachers and students but also by professional electricians and companies all over the world.
|
||||
|
||||
@@ -68,4 +68,3 @@ else()
|
||||
add_definitions(-DBUILD_WITHOUT_KF)
|
||||
endif()
|
||||
message("QET_COMPONENTS :" ${QET_COMPONENTS})
|
||||
message("QT_VERSION_MAJOR :" ${QT_VERSION_MAJOR})
|
||||
|
||||
@@ -31,10 +31,7 @@ add_definitions(-DQT_MESSAGELOGCONTEXT)
|
||||
# In order to do so, uncomment the following line.
|
||||
#add_definitions(-DTODO_LIST)
|
||||
|
||||
# Build with KDE Frameworks. The major version (KF5/KF6) is derived
|
||||
# automatically from QT_VERSION_MAJOR -- KDE Frameworks deliberately
|
||||
# mirrors Qt's own major version numbering, so there is no independent
|
||||
# choice to make here. See cmake/fetch_kdeaddons.cmake.
|
||||
# Build with KDE Frameworks.
|
||||
option(BUILD_WITH_KF "Build with KDE Frameworks" ON)
|
||||
|
||||
# Precompiled headers for the Qt umbrella headers.
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
message(" - fetch_kdeaddons")
|
||||
|
||||
# TODO remove path as soon as Qt5 gets retired
|
||||
if(BUILD_WITH_KF)
|
||||
Include(FetchContent)
|
||||
|
||||
@@ -24,16 +23,9 @@ if(BUILD_WITH_KF)
|
||||
|
||||
if(BUILD_KF)
|
||||
|
||||
if(KF_MAJOR_VERSION EQUAL 5)
|
||||
if(NOT DEFINED KF_GIT_TAG)
|
||||
#https://qelectrotech.org/forum/viewtopic.php?pid=13924#p13924
|
||||
set(KF_GIT_TAG v5.77.0)
|
||||
endif()
|
||||
else()
|
||||
if(NOT DEFINED KF_GIT_TAG)
|
||||
# this is a more or less random version, taken as an conservative approach
|
||||
set(KF_GIT_TAG v6.10.0)
|
||||
endif()
|
||||
if(NOT DEFINED KF_GIT_TAG)
|
||||
# this is a more or less random version, taken as an conservative approach
|
||||
set(KF_GIT_TAG v6.10.0)
|
||||
endif()
|
||||
# using a function in order to limit the scope of the variables
|
||||
# with CMake >=3.25 we could use a block()
|
||||
@@ -78,12 +70,12 @@ if(BUILD_WITH_KF)
|
||||
endfunction()
|
||||
qet_make_kf_available()
|
||||
else()
|
||||
find_package(KF${KF_MAJOR_VERSION}CoreAddons REQUIRED)
|
||||
find_package(KF${KF_MAJOR_VERSION}WidgetsAddons REQUIRED)
|
||||
find_package(KF6CoreAddons REQUIRED)
|
||||
find_package(KF6WidgetsAddons REQUIRED)
|
||||
endif()
|
||||
|
||||
set(KF_PRIVATE_LIBRARIES
|
||||
KF${KF_MAJOR_VERSION}::WidgetsAddons
|
||||
KF${KF_MAJOR_VERSION}::CoreAddons
|
||||
KF6::WidgetsAddons
|
||||
KF6::CoreAddons
|
||||
)
|
||||
endif()
|
||||
|
||||
@@ -35,5 +35,5 @@ FetchContent_Declare(
|
||||
SingleApplication
|
||||
GIT_REPOSITORY https://github.com/itay-grudev/SingleApplication.git
|
||||
GIT_TAG v3.2.0)
|
||||
|
||||
set(QT_DEFAULT_MAJOR_VERSION 6)
|
||||
FetchContent_MakeAvailable(SingleApplication)
|
||||
|
||||
@@ -16,12 +16,11 @@
|
||||
|
||||
message(" - qet_compilation_vars")
|
||||
|
||||
# Note: GuiPrivate is intentionally NOT in this list. Qt6's CMake config only
|
||||
# creates the Qt::GuiPrivate target when "GuiPrivate" is explicitly requested
|
||||
# as a component, but Qt5 has no Qt5GuiPrivate package at all (the target is
|
||||
# created implicitly with Gui), so requesting it as a component breaks the
|
||||
# whole Qt5 configure. It is requested separately, guarded by
|
||||
# QT_VERSION_MAJOR, after the main find_package.
|
||||
# Note: GuiPrivate is intentionally NOT in this list.
|
||||
# Qt >= 6.7 ships it as a proper find_package component, but some distro
|
||||
# packages (e.g. Ubuntu's qt6-base-private-dev) omit Qt6GuiPrivateConfig.cmake
|
||||
# and only provide the implicit Qt6::GuiPrivate target created alongside
|
||||
# Qt6::Gui. Checks are done in the main CMakeLists.txt
|
||||
# (Needed for QPdfEngine::drawHyperlink, the PDF internal links.)
|
||||
set(QET_COMPONENTS
|
||||
LinguistTools
|
||||
@@ -251,6 +250,8 @@ set(QET_SRC_FILES
|
||||
${QET_DIR}/sources/qeticons.h
|
||||
${QET_DIR}/sources/qetpalette.cpp
|
||||
${QET_DIR}/sources/qetpalette.h
|
||||
${QET_DIR}/sources/qetstyle.cpp
|
||||
${QET_DIR}/sources/qetstyle.h
|
||||
${QET_DIR}/sources/qetinformation.cpp
|
||||
${QET_DIR}/sources/qetinformation.h
|
||||
${QET_DIR}/sources/qetmainwindow.cpp
|
||||
@@ -435,6 +436,8 @@ set(QET_SRC_FILES
|
||||
${QET_DIR}/sources/ElementsCollection/elementcollectionhandler.h
|
||||
${QET_DIR}/sources/ElementsCollection/elementcollectionitem.cpp
|
||||
${QET_DIR}/sources/ElementsCollection/elementcollectionitem.h
|
||||
${QET_DIR}/sources/ElementsCollection/elementpreviewdelegate.cpp
|
||||
${QET_DIR}/sources/ElementsCollection/elementpreviewdelegate.h
|
||||
${QET_DIR}/sources/ElementsCollection/elementscollectionmodel.cpp
|
||||
${QET_DIR}/sources/ElementsCollection/elementscollectionmodel.h
|
||||
${QET_DIR}/sources/ElementsCollection/elementscollectionwidget.cpp
|
||||
@@ -700,6 +703,8 @@ set(QET_SRC_FILES
|
||||
${QET_DIR}/sources/ui/contactgroupselectiondialog.h
|
||||
${QET_DIR}/sources/ui/conductorpropertiesdialog.cpp
|
||||
${QET_DIR}/sources/ui/conductorpropertiesdialog.h
|
||||
${QET_DIR}/sources/ui/conductorcolortoolbutton.cpp
|
||||
${QET_DIR}/sources/ui/conductorcolortoolbutton.h
|
||||
${QET_DIR}/sources/ui/conductorpropertieswidget.cpp
|
||||
${QET_DIR}/sources/ui/conductorpropertieswidget.h
|
||||
${QET_DIR}/sources/ui/configsaveloaderwidget.cpp
|
||||
@@ -841,15 +846,12 @@ if(NOT BUILD_WITH_KF)
|
||||
)
|
||||
endif()
|
||||
|
||||
# Qt6-only: PDF page import files
|
||||
if(QT_VERSION_MAJOR GREATER_EQUAL 6)
|
||||
list(APPEND QET_SRC_FILES
|
||||
list(APPEND QET_SRC_FILES
|
||||
${QET_DIR}/sources/diagramevent/diagrameventaddpdf.cpp
|
||||
${QET_DIR}/sources/diagramevent/diagrameventaddpdf.h
|
||||
${QET_DIR}/sources/ui/pdfpagesdialog.cpp
|
||||
${QET_DIR}/sources/ui/pdfpagesdialog.h
|
||||
)
|
||||
endif()
|
||||
)
|
||||
|
||||
# JavaScript scripting (bugtracker #162). Unconditionally in the source
|
||||
# list, like the QtPdf files above: this file is included before the
|
||||
|
||||
|
Before Width: | Height: | Size: 216 B |
|
Before Width: | Height: | Size: 262 B |
|
Before Width: | Height: | Size: 247 B |
|
Before Width: | Height: | Size: 271 B |
|
Before Width: | Height: | Size: 233 B |
|
Before Width: | Height: | Size: 1.5 KiB |
@@ -216,6 +216,8 @@ Clarification:
|
||||
ico/128x128/diagram.png by the QElectroTech team (License CC BY-ND 3.0)
|
||||
ico/128x128/document-export.png by the QElectroTech team (License CC BY-ND 3.0)
|
||||
ico/128x128/project.png by the QElectroTech team (License CC BY-ND 3.0)
|
||||
ico/scalable/pdf-import.svg by Jeff Patterson from the QElectroTech team (License CC BY-ND 3.0), laid out like ico/22x22/insert-image.png
|
||||
ico/scalable/diagram.svg, folio-new.svg, folio-delete.svg, folio-properties.svg, label.svg by Jeff Patterson from the QElectroTech team (License CC BY-ND 3.0), the folio icons redrawn in the same style
|
||||
ico/256x256/* by Nuri from the QElectroTech team (License CC BY-ND 3.0)
|
||||
ico/breeze-icons/* by Nuri from the QElectroTech team (License CC BY-ND 3.0)
|
||||
ico/diagram.png by Nuri from the QElectroTech team (License CC BY-ND 3.0)
|
||||
|
||||
@@ -0,0 +1,473 @@
|
||||
<!DOCTYPE RCC>
|
||||
<!-- Generated by misc/make_icon_themes.py. Do not edit. -->
|
||||
<RCC version="1.0">
|
||||
<qresource prefix="/ico">
|
||||
<file>themes/qet/index.theme</file>
|
||||
<file>themes/qet-dark/index.theme</file>
|
||||
<file alias="themes/qet/16x16/application-exit.png">16x16/application-exit.png</file>
|
||||
<file alias="themes/qet/16x16/arrow-left-double.png">16x16/arrow-left-double.png</file>
|
||||
<file alias="themes/qet/16x16/arrow-left.png">16x16/arrow-left.png</file>
|
||||
<file alias="themes/qet/16x16/arrow-right-double.png">16x16/arrow-right-double.png</file>
|
||||
<file alias="themes/qet/16x16/arrow-right.png">16x16/arrow-right.png</file>
|
||||
<file alias="themes/qet/16x16/circle.png">16x16/circle.png</file>
|
||||
<file alias="themes/qet/16x16/conductor-edit.png">16x16/conductor-edit.png</file>
|
||||
<file alias="themes/qet/16x16/conductor-reset.png">16x16/conductor-reset.png</file>
|
||||
<file alias="themes/qet/16x16/conductor.png">16x16/conductor.png</file>
|
||||
<file alias="themes/qet/16x16/configure-toolbars.png">16x16/configure-toolbars.png</file>
|
||||
<file alias="themes/qet/16x16/configure.png">16x16/configure.png</file>
|
||||
<file alias="themes/qet/16x16/diagram.png">16x16/diagram.png</file>
|
||||
<file alias="themes/qet/16x16/dialog-cancel.png">16x16/dialog-cancel.png</file>
|
||||
<file alias="themes/qet/16x16/dialog-ok.png">16x16/dialog-ok.png</file>
|
||||
<file alias="themes/qet/16x16/document-close.png">16x16/document-close.png</file>
|
||||
<file alias="themes/qet/16x16/document-export.png">16x16/document-export.png</file>
|
||||
<file alias="themes/qet/16x16/document-import.png">16x16/document-import.png</file>
|
||||
<file alias="themes/qet/16x16/document-new.png">16x16/document-new.png</file>
|
||||
<file alias="themes/qet/16x16/document-open-recent.png">16x16/document-open-recent.png</file>
|
||||
<file alias="themes/qet/16x16/document-open.png">16x16/document-open.png</file>
|
||||
<file alias="themes/qet/16x16/document-print-frame.png">16x16/document-print-frame.png</file>
|
||||
<file alias="themes/qet/16x16/document-print.png">16x16/document-print.png</file>
|
||||
<file alias="themes/qet/16x16/document-save-all.png">16x16/document-save-all.png</file>
|
||||
<file alias="themes/qet/16x16/document-save-as.png">16x16/document-save-as.png</file>
|
||||
<file alias="themes/qet/16x16/document-save.png">16x16/document-save.png</file>
|
||||
<file alias="themes/qet/16x16/east.png">16x16/east.png</file>
|
||||
<file alias="themes/qet/16x16/edit-clear-locationbar-ltr.png">16x16/edit-clear-locationbar-ltr.png</file>
|
||||
<file alias="themes/qet/16x16/edit-clear-locationbar-rtl.png">16x16/edit-clear-locationbar-rtl.png</file>
|
||||
<file alias="themes/qet/16x16/edit-clear.png">16x16/edit-clear.png</file>
|
||||
<file alias="themes/qet/16x16/edit-copy.png">16x16/edit-copy.png</file>
|
||||
<file alias="themes/qet/16x16/edit-cut.png">16x16/edit-cut.png</file>
|
||||
<file alias="themes/qet/16x16/edit-delete.png">16x16/edit-delete.png</file>
|
||||
<file alias="themes/qet/16x16/edit-download.png">16x16/edit-download.png</file>
|
||||
<file alias="themes/qet/16x16/edit-paste.png">16x16/edit-paste.png</file>
|
||||
<file alias="themes/qet/16x16/edit-redo.png">16x16/edit-redo.png</file>
|
||||
<file alias="themes/qet/16x16/edit-rename.png">16x16/edit-rename.png</file>
|
||||
<file alias="themes/qet/16x16/edit-select-all.png">16x16/edit-select-all.png</file>
|
||||
<file alias="themes/qet/16x16/edit-select-invert.png">16x16/edit-select-invert.png</file>
|
||||
<file alias="themes/qet/16x16/edit-select-none.png">16x16/edit-select-none.png</file>
|
||||
<file alias="themes/qet/16x16/edit-table-cell-merge.png">16x16/edit-table-cell-merge.png</file>
|
||||
<file alias="themes/qet/16x16/edit-table-cell-split.png">16x16/edit-table-cell-split.png</file>
|
||||
<file alias="themes/qet/16x16/edit-table-delete-column.png">16x16/edit-table-delete-column.png</file>
|
||||
<file alias="themes/qet/16x16/edit-table-delete-row.png">16x16/edit-table-delete-row.png</file>
|
||||
<file alias="themes/qet/16x16/edit-table-insert-column-left.png">16x16/edit-table-insert-column-left.png</file>
|
||||
<file alias="themes/qet/16x16/edit-table-insert-column-right.png">16x16/edit-table-insert-column-right.png</file>
|
||||
<file alias="themes/qet/16x16/edit-table-insert-row-above.png">16x16/edit-table-insert-row-above.png</file>
|
||||
<file alias="themes/qet/16x16/edit-table-insert-row-under.png">16x16/edit-table-insert-row-under.png</file>
|
||||
<file alias="themes/qet/16x16/edit-undo.png">16x16/edit-undo.png</file>
|
||||
<file alias="themes/qet/16x16/element-delete.png">16x16/element-delete.png</file>
|
||||
<file alias="themes/qet/16x16/element-edit.png">16x16/element-edit.png</file>
|
||||
<file alias="themes/qet/16x16/element-master.png">16x16/element-master.png</file>
|
||||
<file alias="themes/qet/16x16/element-new.png">16x16/element-new.png</file>
|
||||
<file alias="themes/qet/16x16/element-slave.png">16x16/element-slave.png</file>
|
||||
<file alias="themes/qet/16x16/element.png">16x16/element.png</file>
|
||||
<file alias="themes/qet/16x16/endline-circle.png">16x16/endline-circle.png</file>
|
||||
<file alias="themes/qet/16x16/endline-diamond.png">16x16/endline-diamond.png</file>
|
||||
<file alias="themes/qet/16x16/endline-none.png">16x16/endline-none.png</file>
|
||||
<file alias="themes/qet/16x16/endline-simple.png">16x16/endline-simple.png</file>
|
||||
<file alias="themes/qet/16x16/endline-triangle.png">16x16/endline-triangle.png</file>
|
||||
<file alias="themes/qet/16x16/export-csv.png">16x16/export-csv.png</file>
|
||||
<file alias="themes/qet/16x16/flip.png">16x16/flip.png</file>
|
||||
<file alias="themes/qet/16x16/folder-delete.png">16x16/folder-delete.png</file>
|
||||
<file alias="themes/qet/16x16/folder-edit.png">16x16/folder-edit.png</file>
|
||||
<file alias="themes/qet/16x16/folder-new.png">16x16/folder-new.png</file>
|
||||
<file alias="themes/qet/16x16/folder-only-this.png">16x16/folder-only-this.png</file>
|
||||
<file alias="themes/qet/16x16/folder-open.png">16x16/folder-open.png</file>
|
||||
<file alias="themes/qet/16x16/folder-properties.png">16x16/folder-properties.png</file>
|
||||
<file alias="themes/qet/16x16/folder-show-all.png">16x16/folder-show-all.png</file>
|
||||
<file alias="themes/qet/16x16/folder.png">16x16/folder.png</file>
|
||||
<file alias="themes/qet/16x16/folio-delete.png">16x16/folio-delete.png</file>
|
||||
<file alias="themes/qet/16x16/folio-new.png">16x16/folio-new.png</file>
|
||||
<file alias="themes/qet/16x16/folio-properties.png">16x16/folio-properties.png</file>
|
||||
<file alias="themes/qet/16x16/folio-ref-coming.png">16x16/folio-ref-coming.png</file>
|
||||
<file alias="themes/qet/16x16/go-bottom.png">16x16/go-bottom.png</file>
|
||||
<file alias="themes/qet/16x16/go-company.png">16x16/go-company.png</file>
|
||||
<file alias="themes/qet/16x16/go-down-double.png">16x16/go-down-double.png</file>
|
||||
<file alias="themes/qet/16x16/go-down.png">16x16/go-down.png</file>
|
||||
<file alias="themes/qet/16x16/go-home.png">16x16/go-home.png</file>
|
||||
<file alias="themes/qet/16x16/go-top.png">16x16/go-top.png</file>
|
||||
<file alias="themes/qet/16x16/go-up-double.png">16x16/go-up-double.png</file>
|
||||
<file alias="themes/qet/16x16/go-up.png">16x16/go-up.png</file>
|
||||
<file alias="themes/qet/16x16/grid.png">16x16/grid.png</file>
|
||||
<file alias="themes/qet/16x16/ground.png">16x16/ground.png</file>
|
||||
<file alias="themes/qet/16x16/help-contents.png">16x16/help-contents.png</file>
|
||||
<file alias="themes/qet/16x16/help-donate.png">16x16/help-donate.png</file>
|
||||
<file alias="themes/qet/16x16/item-cancel.png">16x16/item-cancel.png</file>
|
||||
<file alias="themes/qet/16x16/item-copy.png">16x16/item-copy.png</file>
|
||||
<file alias="themes/qet/16x16/item-move.png">16x16/item-move.png</file>
|
||||
<file alias="themes/qet/16x16/kdenlive-show-video.png">16x16/kdenlive-show-video.png</file>
|
||||
<file alias="themes/qet/16x16/label.png">16x16/label.png</file>
|
||||
<file alias="themes/qet/16x16/list-add.png">16x16/list-add.png</file>
|
||||
<file alias="themes/qet/16x16/list-remove.png">16x16/list-remove.png</file>
|
||||
<file alias="themes/qet/16x16/masquer.png">16x16/masquer.png</file>
|
||||
<file alias="themes/qet/16x16/mirror.png">16x16/mirror.png</file>
|
||||
<file alias="themes/qet/16x16/move.png">16x16/move.png</file>
|
||||
<file alias="themes/qet/16x16/neutral.png">16x16/neutral.png</file>
|
||||
<file alias="themes/qet/16x16/north.png">16x16/north.png</file>
|
||||
<file alias="themes/qet/16x16/object-group.png">16x16/object-group.png</file>
|
||||
<file alias="themes/qet/16x16/object-rotate-right.png">16x16/object-rotate-right.png</file>
|
||||
<file alias="themes/qet/16x16/orientations.png">16x16/orientations.png</file>
|
||||
<file alias="themes/qet/16x16/phase.png">16x16/phase.png</file>
|
||||
<file alias="themes/qet/16x16/preferences-desktop-user.png">16x16/preferences-desktop-user.png</file>
|
||||
<file alias="themes/qet/16x16/project-close.png">16x16/project-close.png</file>
|
||||
<file alias="themes/qet/16x16/project-delete.png">16x16/project-delete.png</file>
|
||||
<file alias="themes/qet/16x16/project-new.png">16x16/project-new.png</file>
|
||||
<file alias="themes/qet/16x16/project-properties.png">16x16/project-properties.png</file>
|
||||
<file alias="themes/qet/16x16/project.png">16x16/project.png</file>
|
||||
<file alias="themes/qet/16x16/qet.png">16x16/qet.png</file>
|
||||
<file alias="themes/qet/16x16/qt.png">16x16/qt.png</file>
|
||||
<file alias="themes/qet/16x16/run-dxf.png">16x16/run-dxf.png</file>
|
||||
<file alias="themes/qet/16x16/select.png">16x16/select.png</file>
|
||||
<file alias="themes/qet/16x16/south.png">16x16/south.png</file>
|
||||
<file alias="themes/qet/16x16/table-of-content.png">16x16/table-of-content.png</file>
|
||||
<file alias="themes/qet/16x16/terminal.png">16x16/terminal.png</file>
|
||||
<file alias="themes/qet/16x16/terminalstrip.png">16x16/terminalstrip.png</file>
|
||||
<file alias="themes/qet/16x16/text-xml.png">16x16/text-xml.png</file>
|
||||
<file alias="themes/qet/16x16/transform-rotate.png">16x16/transform-rotate.png</file>
|
||||
<file alias="themes/qet/16x16/user-busy.png">16x16/user-busy.png</file>
|
||||
<file alias="themes/qet/16x16/user-online.png">16x16/user-online.png</file>
|
||||
<file alias="themes/qet/16x16/view-fullscreen.png">16x16/view-fullscreen.png</file>
|
||||
<file alias="themes/qet/16x16/view-refresh.png">16x16/view-refresh.png</file>
|
||||
<file alias="themes/qet/16x16/view-restore.png">16x16/view-restore.png</file>
|
||||
<file alias="themes/qet/16x16/west.png">16x16/west.png</file>
|
||||
<file alias="themes/qet/16x16/window-new.png">16x16/window-new.png</file>
|
||||
<file alias="themes/qet/16x16/zoom-draw.png">16x16/zoom-draw.png</file>
|
||||
<file alias="themes/qet/16x16/zoom-fit-best.png">16x16/zoom-fit-best.png</file>
|
||||
<file alias="themes/qet/16x16/zoom-in.png">16x16/zoom-in.png</file>
|
||||
<file alias="themes/qet/16x16/zoom-original.png">16x16/zoom-original.png</file>
|
||||
<file alias="themes/qet/16x16/zoom-out.png">16x16/zoom-out.png</file>
|
||||
<file alias="themes/qet/22x22/Actions-player-time-icon.png">22x22/Actions-player-time-icon.png</file>
|
||||
<file alias="themes/qet/22x22/all_pages.png">22x22/all_pages.png</file>
|
||||
<file alias="themes/qet/22x22/application-exit.png">22x22/application-exit.png</file>
|
||||
<file alias="themes/qet/22x22/applications-development-translation.png">22x22/applications-development-translation.png</file>
|
||||
<file alias="themes/qet/22x22/arc.png">22x22/arc.png</file>
|
||||
<file alias="themes/qet/22x22/arrow-left-double.png">22x22/arrow-left-double.png</file>
|
||||
<file alias="themes/qet/22x22/arrow-left.png">22x22/arrow-left.png</file>
|
||||
<file alias="themes/qet/22x22/arrow-right-double.png">22x22/arrow-right-double.png</file>
|
||||
<file alias="themes/qet/22x22/arrow-right.png">22x22/arrow-right.png</file>
|
||||
<file alias="themes/qet/22x22/autoconnect.png">22x22/autoconnect.png</file>
|
||||
<file alias="themes/qet/22x22/bring_forward.png">22x22/bring_forward.png</file>
|
||||
<file alias="themes/qet/22x22/conductor2.png">22x22/conductor2.png</file>
|
||||
<file alias="themes/qet/22x22/conductor-reset.png">22x22/conductor2.png</file>
|
||||
<file alias="themes/qet/22x22/configure-toolbars.png">22x22/configure-toolbars.png</file>
|
||||
<file alias="themes/qet/22x22/configure.png">22x22/configure.png</file>
|
||||
<file alias="themes/qet/22x22/diagram_bg.png">22x22/diagram_bg.png</file>
|
||||
<file alias="themes/qet/22x22/dialog-cancel.png">22x22/dialog-cancel.png</file>
|
||||
<file alias="themes/qet/22x22/dialog-ok.png">22x22/dialog-ok.png</file>
|
||||
<file alias="themes/qet/22x22/document-close.png">22x22/document-close.png</file>
|
||||
<file alias="themes/qet/22x22/document-export.png">22x22/document-export.png</file>
|
||||
<file alias="themes/qet/22x22/document-import.png">22x22/document-import.png</file>
|
||||
<file alias="themes/qet/22x22/document-new.png">22x22/document-new.png</file>
|
||||
<file alias="themes/qet/22x22/document-open-recent.png">22x22/document-open-recent.png</file>
|
||||
<file alias="themes/qet/22x22/document-open.png">22x22/document-open.png</file>
|
||||
<file alias="themes/qet/22x22/document-print-frame.png">22x22/document-print-frame.png</file>
|
||||
<file alias="themes/qet/22x22/document-print.png">22x22/document-print.png</file>
|
||||
<file alias="themes/qet/22x22/document-save-all.png">22x22/document-save-all.png</file>
|
||||
<file alias="themes/qet/22x22/document-save-as.png">22x22/document-save-as.png</file>
|
||||
<file alias="themes/qet/22x22/document-save.png">22x22/document-save.png</file>
|
||||
<file alias="themes/qet/22x22/edit-clear-locationbar-ltr.png">22x22/edit-clear-locationbar-ltr.png</file>
|
||||
<file alias="themes/qet/22x22/edit-clear-locationbar-rtl.png">22x22/edit-clear-locationbar-rtl.png</file>
|
||||
<file alias="themes/qet/22x22/edit-clear.png">22x22/edit-clear.png</file>
|
||||
<file alias="themes/qet/22x22/edit-copy.png">22x22/edit-copy.png</file>
|
||||
<file alias="themes/qet/22x22/edit-cut.png">22x22/edit-cut.png</file>
|
||||
<file alias="themes/qet/22x22/edit-delete.png">22x22/edit-delete.png</file>
|
||||
<file alias="themes/qet/22x22/edit-paste.png">22x22/edit-paste.png</file>
|
||||
<file alias="themes/qet/22x22/edit-redo.png">22x22/edit-redo.png</file>
|
||||
<file alias="themes/qet/22x22/edit-rename.png">22x22/edit-rename.png</file>
|
||||
<file alias="themes/qet/22x22/edit-select-all.png">22x22/edit-select-all.png</file>
|
||||
<file alias="themes/qet/22x22/edit-table-cell-merge.png">22x22/edit-table-cell-merge.png</file>
|
||||
<file alias="themes/qet/22x22/edit-table-cell-split.png">22x22/edit-table-cell-split.png</file>
|
||||
<file alias="themes/qet/22x22/edit-table-delete-column.png">22x22/edit-table-delete-column.png</file>
|
||||
<file alias="themes/qet/22x22/edit-table-delete-row.png">22x22/edit-table-delete-row.png</file>
|
||||
<file alias="themes/qet/22x22/edit-table-insert-column-left.png">22x22/edit-table-insert-column-left.png</file>
|
||||
<file alias="themes/qet/22x22/edit-table-insert-column-right.png">22x22/edit-table-insert-column-right.png</file>
|
||||
<file alias="themes/qet/22x22/edit-table-insert-row-above.png">22x22/edit-table-insert-row-above.png</file>
|
||||
<file alias="themes/qet/22x22/edit-table-insert-row-under.png">22x22/edit-table-insert-row-under.png</file>
|
||||
<file alias="themes/qet/22x22/edit-undo.png">22x22/edit-undo.png</file>
|
||||
<file alias="themes/qet/22x22/element-delete.png">22x22/element-delete.png</file>
|
||||
<file alias="themes/qet/22x22/element-edit.png">22x22/element-edit.png</file>
|
||||
<file alias="themes/qet/22x22/element-new.png">22x22/element-new.png</file>
|
||||
<file alias="themes/qet/22x22/ellipse.png">22x22/ellipse.png</file>
|
||||
<file alias="themes/qet/22x22/export-csv.png">22x22/export-csv.png</file>
|
||||
<file alias="themes/qet/22x22/folder-delete.png">22x22/folder-delete.png</file>
|
||||
<file alias="themes/qet/22x22/folder-edit.png">22x22/folder-edit.png</file>
|
||||
<file alias="themes/qet/22x22/folder-new.png">22x22/folder-new.png</file>
|
||||
<file alias="themes/qet/22x22/folder-open.png">22x22/folder-open.png</file>
|
||||
<file alias="themes/qet/22x22/format-text-subscript.png">22x22/format-text-subscript.png</file>
|
||||
<file alias="themes/qet/22x22/format-text-superscript.png">22x22/format-text-superscript.png</file>
|
||||
<file alias="themes/qet/22x22/go-company.png">22x22/go-company.png</file>
|
||||
<file alias="themes/qet/22x22/go-down.png">22x22/go-down.png</file>
|
||||
<file alias="themes/qet/22x22/go-home.png">22x22/go-home.png</file>
|
||||
<file alias="themes/qet/22x22/go-up.png">22x22/go-up.png</file>
|
||||
<file alias="themes/qet/22x22/grid.png">22x22/grid.png</file>
|
||||
<file alias="themes/qet/22x22/guides.png">22x22/guides.png</file>
|
||||
<file alias="themes/qet/22x22/hotspot.png">22x22/hotspot.png</file>
|
||||
<file alias="themes/qet/22x22/insert-image.png">22x22/insert-image.png</file>
|
||||
<file alias="themes/qet/22x22/landscape.png">22x22/landscape.png</file>
|
||||
<file alias="themes/qet/22x22/line.png">22x22/line.png</file>
|
||||
<file alias="themes/qet/22x22/list-add.png">22x22/list-add.png</file>
|
||||
<file alias="themes/qet/22x22/list-remove.png">22x22/list-remove.png</file>
|
||||
<file alias="themes/qet/22x22/lower.png">22x22/lower.png</file>
|
||||
<file alias="themes/qet/22x22/move.png">22x22/move.png</file>
|
||||
<file alias="themes/qet/22x22/names.png">22x22/names.png</file>
|
||||
<file alias="themes/qet/22x22/object-locked.png">22x22/object-locked.png</file>
|
||||
<file alias="themes/qet/22x22/object-rotate-right.png">22x22/object-rotate-right.png</file>
|
||||
<file alias="themes/qet/22x22/object-unlocked.png">22x22/object-unlocked.png</file>
|
||||
<file alias="themes/qet/22x22/polygon.png">22x22/polygon.png</file>
|
||||
<file alias="themes/qet/22x22/portrait.png">22x22/portrait.png</file>
|
||||
<file alias="themes/qet/22x22/preferences-desktop-user.png">22x22/preferences-desktop-user.png</file>
|
||||
<file alias="themes/qet/22x22/project-close.png">22x22/project-close.png</file>
|
||||
<file alias="themes/qet/22x22/project-delete.png">22x22/project-delete.png</file>
|
||||
<file alias="themes/qet/22x22/project-new.png">22x22/project-new.png</file>
|
||||
<file alias="themes/qet/22x22/project.png">22x22/project.png</file>
|
||||
<file alias="themes/qet/22x22/raise.png">22x22/raise.png</file>
|
||||
<file alias="themes/qet/22x22/rectangle.png">22x22/rectangle.png</file>
|
||||
<file alias="themes/qet/22x22/restaurer.png">22x22/restaurer.png</file>
|
||||
<file alias="themes/qet/22x22/select.png">22x22/select.png</file>
|
||||
<file alias="themes/qet/22x22/send_backward.png">22x22/send_backward.png</file>
|
||||
<file alias="themes/qet/22x22/single_page.png">22x22/single_page.png</file>
|
||||
<file alias="themes/qet/22x22/start.png">22x22/start.png</file>
|
||||
<file alias="themes/qet/22x22/terminal.png">22x22/terminal.png</file>
|
||||
<file alias="themes/qet/22x22/terminalstrip.png">22x22/terminalstrip.png</file>
|
||||
<file alias="themes/qet/22x22/text-xml.png">22x22/text-xml.png</file>
|
||||
<file alias="themes/qet/22x22/text.png">22x22/text.png</file>
|
||||
<file alias="themes/qet/22x22/textfield.png">22x22/textfield.png</file>
|
||||
<file alias="themes/qet/22x22/titleblock-bottom.png">22x22/titleblock-bottom.png</file>
|
||||
<file alias="themes/qet/22x22/titleblock-right.png">22x22/titleblock-right.png</file>
|
||||
<file alias="themes/qet/22x22/transform-scale.png">22x22/transform-scale.png</file>
|
||||
<file alias="themes/qet/22x22/two_pages.png">22x22/two_pages.png</file>
|
||||
<file alias="themes/qet/22x22/view-fit-window.png">22x22/view-fit-window.png</file>
|
||||
<file alias="themes/qet/22x22/view-fullscreen.png">22x22/view-fullscreen.png</file>
|
||||
<file alias="themes/qet/22x22/view-refresh.png">22x22/view-refresh.png</file>
|
||||
<file alias="themes/qet/22x22/view-restore.png">22x22/view-restore.png</file>
|
||||
<file alias="themes/qet/22x22/view_fit_width.png">22x22/view_fit_width.png</file>
|
||||
<file alias="themes/qet/22x22/window-new.png">22x22/window-new.png</file>
|
||||
<file alias="themes/qet/22x22/zoom-draw.png">22x22/zoom-draw.png</file>
|
||||
<file alias="themes/qet/22x22/zoom-fit-best.png">22x22/zoom-fit-best.png</file>
|
||||
<file alias="themes/qet/22x22/zoom-in.png">22x22/zoom-in.png</file>
|
||||
<file alias="themes/qet/22x22/zoom-original.png">22x22/zoom-original.png</file>
|
||||
<file alias="themes/qet/22x22/zoom-out.png">22x22/zoom-out.png</file>
|
||||
<file alias="themes/qet/32x32/application-pdf.png">32x32/application-pdf.png</file>
|
||||
<file alias="themes/qet/32x32/format-text-bold.png">32x32/format-text-bold.png</file>
|
||||
<file alias="themes/qet/32x32/format-text-color.png">32x32/format-text-color.png</file>
|
||||
<file alias="themes/qet/32x32/format-text-italic.png">32x32/format-text-italic.png</file>
|
||||
<file alias="themes/qet/32x32/format-text-underline.png">32x32/format-text-underline.png</file>
|
||||
<file alias="themes/qet/32x32/image-x-eps.png">32x32/image-x-eps.png</file>
|
||||
<file alias="themes/qet/32x32/insert-link.png">32x32/insert-link.png</file>
|
||||
<file alias="themes/qet/32x32/printer.png">32x32/printer.png</file>
|
||||
<file alias="themes/qet/32x32/qt.png">32x32/qt.png</file>
|
||||
<file alias="themes/qet/32x32/simplifyrichtext.png">32x32/simplifyrichtext.png</file>
|
||||
<file alias="themes/qet/32x32/text-xml.png">32x32/text-xml.png</file>
|
||||
<file alias="themes/qet/48x48/document-print-frame.png">48x48/document-print-frame.png</file>
|
||||
<file alias="themes/qet/48x48/user-away-extended.png">48x48/user-away-extended.png</file>
|
||||
<file alias="themes/qet/48x48/user-away.png">48x48/user-away.png</file>
|
||||
<file alias="themes/qet/48x48/view-pim-journal.png">48x48/view-pim-journal.png</file>
|
||||
<file alias="themes/qet/128x128/diagram.png">128x128/diagram.png</file>
|
||||
<file alias="themes/qet/128x128/document-export.png">128x128/document-export.png</file>
|
||||
<file alias="themes/qet/128x128/plasmagik.png">128x128/plasmagik.png</file>
|
||||
<file alias="themes/qet/128x128/printer.png">128x128/printer.png</file>
|
||||
<file alias="themes/qet/128x128/project.png">128x128/project.png</file>
|
||||
<file alias="themes/qet/128x128/settings.png">128x128/settings.png</file>
|
||||
<file alias="themes/qet/scalable/diagram.svg">scalable/diagram.svg</file>
|
||||
<file alias="themes/qet/scalable/folio-delete.svg">scalable/folio-delete.svg</file>
|
||||
<file alias="themes/qet/scalable/folio-new.svg">scalable/folio-new.svg</file>
|
||||
<file alias="themes/qet/scalable/folio-properties.svg">scalable/folio-properties.svg</file>
|
||||
<file alias="themes/qet/scalable/label.svg">scalable/label.svg</file>
|
||||
<file alias="themes/qet/scalable/pdf-import.svg">scalable/pdf-import.svg</file>
|
||||
<file alias="themes/qet/scalable/edit-opacity.svg">breeze-icons/scalable/apps/hidef/edit-opacity.svg</file>
|
||||
<file alias="themes/qet/scalable/image-flip-horizontal.svg">breeze-icons/scalable/apps/hidef/image-flip-horizontal-symbolic.svg</file>
|
||||
<file alias="themes/qet/scalable/image-flip-vertical.svg">breeze-icons/scalable/apps/hidef/image-flip-vertical-symbolic.svg</file>
|
||||
<file alias="themes/qet/scalable/draw-bezier-curves.svg">breeze-icons/scalable/apps/hidef/draw-bezier-curves.svg</file>
|
||||
<file alias="themes/qet/scalable/transform-crop.svg">breeze-icons/scalable/apps/hidef/transform-crop.svg</file>
|
||||
<file alias="themes/qet/scalable/ellipse-to-bezier.svg">generated/ellipse-to-bezier.svg</file>
|
||||
<file alias="themes/qet/scalable/rect-to-bezier.svg">generated/rect-to-bezier.svg</file>
|
||||
<file alias="themes/qet/scalable/rect-to-polyline.svg">generated/rect-to-polyline.svg</file>
|
||||
<file>themes/qet-dark/16x16/arrow-left-double.png</file>
|
||||
<file>themes/qet-dark/16x16/arrow-left.png</file>
|
||||
<file>themes/qet-dark/16x16/arrow-right-double.png</file>
|
||||
<file>themes/qet-dark/16x16/arrow-right.png</file>
|
||||
<file>themes/qet-dark/16x16/circle.png</file>
|
||||
<file>themes/qet-dark/16x16/conductor-edit.png</file>
|
||||
<file>themes/qet-dark/16x16/configure-toolbars.png</file>
|
||||
<file>themes/qet-dark/16x16/configure.png</file>
|
||||
<file>themes/qet-dark/16x16/dialog-cancel.png</file>
|
||||
<file>themes/qet-dark/16x16/dialog-ok.png</file>
|
||||
<file>themes/qet-dark/16x16/document-export.png</file>
|
||||
<file>themes/qet-dark/16x16/document-import.png</file>
|
||||
<file>themes/qet-dark/16x16/document-new.png</file>
|
||||
<file>themes/qet-dark/16x16/document-open-recent.png</file>
|
||||
<file>themes/qet-dark/16x16/document-print-frame.png</file>
|
||||
<file>themes/qet-dark/16x16/document-print.png</file>
|
||||
<file>themes/qet-dark/16x16/document-save-all.png</file>
|
||||
<file>themes/qet-dark/16x16/document-save-as.png</file>
|
||||
<file>themes/qet-dark/16x16/document-save.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-clear-locationbar-ltr.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-clear-locationbar-rtl.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-clear.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-copy.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-cut.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-download.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-paste.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-redo.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-rename.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-select-all.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-select-invert.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-table-cell-merge.png</file>
|
||||
<file>themes/qet-dark/16x16/edit-undo.png</file>
|
||||
<file>themes/qet-dark/16x16/element-delete.png</file>
|
||||
<file>themes/qet-dark/16x16/element-edit.png</file>
|
||||
<file>themes/qet-dark/16x16/element-new.png</file>
|
||||
<file>themes/qet-dark/16x16/element.png</file>
|
||||
<file>themes/qet-dark/16x16/endline-circle.png</file>
|
||||
<file>themes/qet-dark/16x16/endline-diamond.png</file>
|
||||
<file>themes/qet-dark/16x16/endline-none.png</file>
|
||||
<file>themes/qet-dark/16x16/endline-simple.png</file>
|
||||
<file>themes/qet-dark/16x16/endline-triangle.png</file>
|
||||
<file>themes/qet-dark/16x16/flip.png</file>
|
||||
<file>themes/qet-dark/16x16/folder-delete.png</file>
|
||||
<file>themes/qet-dark/16x16/folder-edit.png</file>
|
||||
<file>themes/qet-dark/16x16/folder-new.png</file>
|
||||
<file>themes/qet-dark/16x16/folder-open.png</file>
|
||||
<file>themes/qet-dark/16x16/folder-show-all.png</file>
|
||||
<file>themes/qet-dark/16x16/folder.png</file>
|
||||
<file>themes/qet-dark/16x16/folio-ref-coming.png</file>
|
||||
<file>themes/qet-dark/16x16/go-company.png</file>
|
||||
<file>themes/qet-dark/16x16/go-down-double.png</file>
|
||||
<file>themes/qet-dark/16x16/go-down.png</file>
|
||||
<file>themes/qet-dark/16x16/go-home.png</file>
|
||||
<file>themes/qet-dark/16x16/go-up-double.png</file>
|
||||
<file>themes/qet-dark/16x16/go-up.png</file>
|
||||
<file>themes/qet-dark/16x16/grid.png</file>
|
||||
<file>themes/qet-dark/16x16/help-contents.png</file>
|
||||
<file>themes/qet-dark/16x16/help-donate.png</file>
|
||||
<file>themes/qet-dark/16x16/item-cancel.png</file>
|
||||
<file>themes/qet-dark/16x16/item-copy.png</file>
|
||||
<file>themes/qet-dark/16x16/item-move.png</file>
|
||||
<file>themes/qet-dark/16x16/kdenlive-show-video.png</file>
|
||||
<file>themes/qet-dark/16x16/list-add.png</file>
|
||||
<file>themes/qet-dark/16x16/list-remove.png</file>
|
||||
<file>themes/qet-dark/16x16/masquer.png</file>
|
||||
<file>themes/qet-dark/16x16/mirror.png</file>
|
||||
<file>themes/qet-dark/16x16/move.png</file>
|
||||
<file>themes/qet-dark/16x16/object-group.png</file>
|
||||
<file>themes/qet-dark/16x16/object-rotate-right.png</file>
|
||||
<file>themes/qet-dark/16x16/orientations.png</file>
|
||||
<file>themes/qet-dark/16x16/preferences-desktop-user.png</file>
|
||||
<file>themes/qet-dark/16x16/select.png</file>
|
||||
<file>themes/qet-dark/16x16/table-of-content.png</file>
|
||||
<file>themes/qet-dark/16x16/terminal.png</file>
|
||||
<file>themes/qet-dark/16x16/text-xml.png</file>
|
||||
<file>themes/qet-dark/16x16/transform-rotate.png</file>
|
||||
<file>themes/qet-dark/16x16/view-fullscreen.png</file>
|
||||
<file>themes/qet-dark/16x16/view-restore.png</file>
|
||||
<file>themes/qet-dark/16x16/window-new.png</file>
|
||||
<file>themes/qet-dark/16x16/zoom-draw.png</file>
|
||||
<file>themes/qet-dark/16x16/zoom-fit-best.png</file>
|
||||
<file>themes/qet-dark/16x16/zoom-in.png</file>
|
||||
<file>themes/qet-dark/16x16/zoom-original.png</file>
|
||||
<file>themes/qet-dark/16x16/zoom-out.png</file>
|
||||
<file>themes/qet-dark/22x22/Actions-player-time-icon.png</file>
|
||||
<file>themes/qet-dark/22x22/all_pages.png</file>
|
||||
<file>themes/qet-dark/22x22/applications-development-translation.png</file>
|
||||
<file>themes/qet-dark/22x22/arc.png</file>
|
||||
<file>themes/qet-dark/22x22/arrow-left-double.png</file>
|
||||
<file>themes/qet-dark/22x22/arrow-left.png</file>
|
||||
<file>themes/qet-dark/22x22/arrow-right-double.png</file>
|
||||
<file>themes/qet-dark/22x22/arrow-right.png</file>
|
||||
<file>themes/qet-dark/22x22/configure-toolbars.png</file>
|
||||
<file>themes/qet-dark/22x22/configure.png</file>
|
||||
<file>themes/qet-dark/22x22/dialog-cancel.png</file>
|
||||
<file>themes/qet-dark/22x22/dialog-ok.png</file>
|
||||
<file>themes/qet-dark/22x22/document-export.png</file>
|
||||
<file>themes/qet-dark/22x22/document-import.png</file>
|
||||
<file>themes/qet-dark/22x22/document-new.png</file>
|
||||
<file>themes/qet-dark/22x22/document-open-recent.png</file>
|
||||
<file>themes/qet-dark/22x22/document-print-frame.png</file>
|
||||
<file>themes/qet-dark/22x22/document-print.png</file>
|
||||
<file>themes/qet-dark/22x22/document-save-all.png</file>
|
||||
<file>themes/qet-dark/22x22/document-save-as.png</file>
|
||||
<file>themes/qet-dark/22x22/document-save.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-clear-locationbar-ltr.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-clear-locationbar-rtl.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-clear.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-copy.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-cut.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-paste.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-redo.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-rename.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-select-all.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-table-cell-merge.png</file>
|
||||
<file>themes/qet-dark/22x22/edit-undo.png</file>
|
||||
<file>themes/qet-dark/22x22/element-delete.png</file>
|
||||
<file>themes/qet-dark/22x22/element-edit.png</file>
|
||||
<file>themes/qet-dark/22x22/element-new.png</file>
|
||||
<file>themes/qet-dark/22x22/ellipse.png</file>
|
||||
<file>themes/qet-dark/22x22/folder-delete.png</file>
|
||||
<file>themes/qet-dark/22x22/folder-edit.png</file>
|
||||
<file>themes/qet-dark/22x22/folder-new.png</file>
|
||||
<file>themes/qet-dark/22x22/folder-open.png</file>
|
||||
<file>themes/qet-dark/22x22/go-company.png</file>
|
||||
<file>themes/qet-dark/22x22/go-down.png</file>
|
||||
<file>themes/qet-dark/22x22/go-home.png</file>
|
||||
<file>themes/qet-dark/22x22/go-up.png</file>
|
||||
<file>themes/qet-dark/22x22/grid.png</file>
|
||||
<file>themes/qet-dark/22x22/insert-image.png</file>
|
||||
<file>themes/qet-dark/22x22/landscape.png</file>
|
||||
<file>themes/qet-dark/22x22/line.png</file>
|
||||
<file>themes/qet-dark/22x22/list-add.png</file>
|
||||
<file>themes/qet-dark/22x22/list-remove.png</file>
|
||||
<file>themes/qet-dark/22x22/lower.png</file>
|
||||
<file>themes/qet-dark/22x22/move.png</file>
|
||||
<file>themes/qet-dark/22x22/names.png</file>
|
||||
<file>themes/qet-dark/22x22/object-locked.png</file>
|
||||
<file>themes/qet-dark/22x22/object-rotate-right.png</file>
|
||||
<file>themes/qet-dark/22x22/object-unlocked.png</file>
|
||||
<file>themes/qet-dark/22x22/polygon.png</file>
|
||||
<file>themes/qet-dark/22x22/portrait.png</file>
|
||||
<file>themes/qet-dark/22x22/preferences-desktop-user.png</file>
|
||||
<file>themes/qet-dark/22x22/raise.png</file>
|
||||
<file>themes/qet-dark/22x22/rectangle.png</file>
|
||||
<file>themes/qet-dark/22x22/restaurer.png</file>
|
||||
<file>themes/qet-dark/22x22/select.png</file>
|
||||
<file>themes/qet-dark/22x22/single_page.png</file>
|
||||
<file>themes/qet-dark/22x22/start.png</file>
|
||||
<file>themes/qet-dark/22x22/text-xml.png</file>
|
||||
<file>themes/qet-dark/22x22/text.png</file>
|
||||
<file>themes/qet-dark/22x22/textfield.png</file>
|
||||
<file>themes/qet-dark/22x22/transform-scale.png</file>
|
||||
<file>themes/qet-dark/22x22/two_pages.png</file>
|
||||
<file>themes/qet-dark/22x22/view-fit-window.png</file>
|
||||
<file>themes/qet-dark/22x22/view-fullscreen.png</file>
|
||||
<file>themes/qet-dark/22x22/view-restore.png</file>
|
||||
<file>themes/qet-dark/22x22/view_fit_width.png</file>
|
||||
<file>themes/qet-dark/22x22/window-new.png</file>
|
||||
<file>themes/qet-dark/22x22/zoom-draw.png</file>
|
||||
<file>themes/qet-dark/22x22/zoom-fit-best.png</file>
|
||||
<file>themes/qet-dark/22x22/zoom-in.png</file>
|
||||
<file>themes/qet-dark/22x22/zoom-original.png</file>
|
||||
<file>themes/qet-dark/22x22/zoom-out.png</file>
|
||||
<file>themes/qet-dark/32x32/format-text-bold.png</file>
|
||||
<file>themes/qet-dark/32x32/format-text-color.png</file>
|
||||
<file>themes/qet-dark/32x32/format-text-italic.png</file>
|
||||
<file>themes/qet-dark/32x32/format-text-underline.png</file>
|
||||
<file>themes/qet-dark/32x32/insert-link.png</file>
|
||||
<file>themes/qet-dark/32x32/printer.png</file>
|
||||
<file>themes/qet-dark/32x32/text-xml.png</file>
|
||||
<file>themes/qet-dark/48x48/user-away-extended.png</file>
|
||||
<file>themes/qet-dark/48x48/user-away.png</file>
|
||||
<file>themes/qet-dark/48x48/view-pim-journal.png</file>
|
||||
<file>themes/qet-dark/128x128/plasmagik.png</file>
|
||||
<file>themes/qet-dark/128x128/settings.png</file>
|
||||
<file>themes/qet-dark/scalable/diagram.svg</file>
|
||||
<file>themes/qet-dark/scalable/folio-delete.svg</file>
|
||||
<file>themes/qet-dark/scalable/folio-new.svg</file>
|
||||
<file>themes/qet-dark/scalable/folio-properties.svg</file>
|
||||
<file>themes/qet-dark/scalable/label.svg</file>
|
||||
<file>themes/qet-dark/scalable/pdf-import.svg</file>
|
||||
<file>themes/qet-dark/scalable/edit-opacity.svg</file>
|
||||
<file>themes/qet-dark/scalable/image-flip-horizontal.svg</file>
|
||||
<file>themes/qet-dark/scalable/image-flip-vertical.svg</file>
|
||||
<file>themes/qet-dark/scalable/draw-bezier-curves.svg</file>
|
||||
<file>themes/qet-dark/scalable/transform-crop.svg</file>
|
||||
<file>themes/qet-dark/scalable/ellipse-to-bezier.svg</file>
|
||||
<file>themes/qet-dark/scalable/rect-to-bezier.svg</file>
|
||||
<file>themes/qet-dark/scalable/rect-to-polyline.svg</file>
|
||||
</qresource>
|
||||
</RCC>
|
||||
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#4d4d4d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g transform="translate(1,1)">
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" d="M 3 5 h 1 v 1 h -1 Z M 3 6 h 1 v 1 h -1 Z M 3 7 h 1 v 1 h -1 Z M 3 8 h 1 v 1 h -1 Z M 3 9 h 1 v 1 h -1 Z M 3 10 h 1 v 1 h -1 Z M 3 11 h 1 v 1 h -1 Z M 3 12 h 1 v 1 h -1 Z M 3 13 h 1 v 1 h -1 Z M 3 14 h 1 v 1 h -1 Z M 3 15 h 1 v 1 h -1 Z M 3 16 h 1 v 1 h -1 Z M 4 5 h 1 v 1 h -1 Z M 4 13 h 1 v 1 h -1 Z M 4 16 h 1 v 1 h -1 Z M 5 5 h 1 v 1 h -1 Z M 5 13 h 1 v 1 h -1 Z M 5 16 h 1 v 1 h -1 Z M 6 5 h 1 v 1 h -1 Z M 6 13 h 1 v 1 h -1 Z M 6 16 h 1 v 1 h -1 Z M 7 5 h 1 v 1 h -1 Z M 7 13 h 1 v 1 h -1 Z M 7 16 h 1 v 1 h -1 Z M 8 5 h 1 v 1 h -1 Z M 8 13 h 1 v 1 h -1 Z M 8 16 h 1 v 1 h -1 Z M 9 5 h 1 v 1 h -1 Z M 9 13 h 1 v 1 h -1 Z M 9 16 h 1 v 1 h -1 Z M 10 5 h 1 v 1 h -1 Z M 10 13 h 1 v 1 h -1 Z M 10 16 h 1 v 1 h -1 Z M 11 5 h 1 v 1 h -1 Z M 11 13 h 1 v 1 h -1 Z M 11 14 h 1 v 1 h -1 Z M 11 15 h 1 v 1 h -1 Z M 11 16 h 1 v 1 h -1 Z M 12 5 h 1 v 1 h -1 Z M 12 13 h 1 v 1 h -1 Z M 12 16 h 1 v 1 h -1 Z M 13 5 h 1 v 1 h -1 Z M 13 13 h 1 v 1 h -1 Z M 13 16 h 1 v 1 h -1 Z M 14 5 h 1 v 1 h -1 Z M 14 13 h 1 v 1 h -1 Z M 14 16 h 1 v 1 h -1 Z M 15 5 h 1 v 1 h -1 Z M 15 13 h 1 v 1 h -1 Z M 15 16 h 1 v 1 h -1 Z M 16 5 h 1 v 1 h -1 Z M 16 13 h 1 v 1 h -1 Z M 16 16 h 1 v 1 h -1 Z M 17 5 h 1 v 1 h -1 Z M 17 13 h 1 v 1 h -1 Z M 17 16 h 1 v 1 h -1 Z M 18 5 h 1 v 1 h -1 Z M 18 6 h 1 v 1 h -1 Z M 18 7 h 1 v 1 h -1 Z M 18 8 h 1 v 1 h -1 Z M 18 9 h 1 v 1 h -1 Z M 18 10 h 1 v 1 h -1 Z M 18 11 h 1 v 1 h -1 Z M 18 12 h 1 v 1 h -1 Z M 18 13 h 1 v 1 h -1 Z M 18 14 h 1 v 1 h -1 Z M 18 15 h 1 v 1 h -1 Z M 18 16 h 1 v 1 h -1 Z" class="ColorScheme-Text"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#4d4d4d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g transform="translate(1,1)">
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" d="M 3 5 h 1 v 1 h -1 Z M 3 6 h 1 v 1 h -1 Z M 3 7 h 1 v 1 h -1 Z M 3 8 h 1 v 1 h -1 Z M 3 9 h 1 v 1 h -1 Z M 3 10 h 1 v 1 h -1 Z M 3 11 h 1 v 1 h -1 Z M 3 12 h 1 v 1 h -1 Z M 3 13 h 1 v 1 h -1 Z M 3 14 h 1 v 1 h -1 Z M 3 15 h 1 v 1 h -1 Z M 3 16 h 1 v 1 h -1 Z M 4 5 h 1 v 1 h -1 Z M 4 13 h 1 v 1 h -1 Z M 4 16 h 1 v 1 h -1 Z M 5 5 h 1 v 1 h -1 Z M 5 13 h 1 v 1 h -1 Z M 5 16 h 1 v 1 h -1 Z M 6 5 h 1 v 1 h -1 Z M 6 13 h 1 v 1 h -1 Z M 6 16 h 1 v 1 h -1 Z M 7 5 h 1 v 1 h -1 Z M 7 13 h 1 v 1 h -1 Z M 7 16 h 1 v 1 h -1 Z M 8 5 h 1 v 1 h -1 Z M 8 13 h 1 v 1 h -1 Z M 8 16 h 1 v 1 h -1 Z M 9 5 h 1 v 1 h -1 Z M 9 13 h 1 v 1 h -1 Z M 9 16 h 1 v 1 h -1 Z M 10 5 h 1 v 1 h -1 Z M 10 13 h 1 v 1 h -1 Z M 10 16 h 1 v 1 h -1 Z M 11 5 h 1 v 1 h -1 Z M 11 13 h 1 v 1 h -1 Z M 11 14 h 1 v 1 h -1 Z M 11 15 h 1 v 1 h -1 Z M 11 16 h 1 v 1 h -1 Z M 12 5 h 1 v 1 h -1 Z M 12 13 h 1 v 1 h -1 Z M 12 16 h 1 v 1 h -1 Z M 13 5 h 1 v 1 h -1 Z M 14 5 h 1 v 1 h -1 Z M 14 17 h 1 v 1 h -1 Z M 15 5 h 1 v 1 h -1 Z M 15 17 h 1 v 1 h -1 Z M 16 5 h 1 v 1 h -1 Z M 16 17 h 1 v 1 h -1 Z M 17 5 h 1 v 1 h -1 Z M 17 17 h 1 v 1 h -1 Z M 18 5 h 1 v 1 h -1 Z M 18 6 h 1 v 1 h -1 Z M 18 7 h 1 v 1 h -1 Z M 18 8 h 1 v 1 h -1 Z M 18 9 h 1 v 1 h -1 Z M 18 10 h 1 v 1 h -1 Z M 18 11 h 1 v 1 h -1 Z M 18 12 h 1 v 1 h -1 Z M 18 17 h 1 v 1 h -1 Z M 19 17 h 1 v 1 h -1 Z" class="ColorScheme-Text"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#4d4d4d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g transform="translate(1,1)">
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" d="M 3 5 h 1 v 1 h -1 Z M 3 6 h 1 v 1 h -1 Z M 3 7 h 1 v 1 h -1 Z M 3 8 h 1 v 1 h -1 Z M 3 9 h 1 v 1 h -1 Z M 3 10 h 1 v 1 h -1 Z M 3 11 h 1 v 1 h -1 Z M 3 12 h 1 v 1 h -1 Z M 3 13 h 1 v 1 h -1 Z M 3 14 h 1 v 1 h -1 Z M 3 15 h 1 v 1 h -1 Z M 3 16 h 1 v 1 h -1 Z M 4 5 h 1 v 1 h -1 Z M 4 13 h 1 v 1 h -1 Z M 4 16 h 1 v 1 h -1 Z M 5 5 h 1 v 1 h -1 Z M 5 13 h 1 v 1 h -1 Z M 5 16 h 1 v 1 h -1 Z M 6 5 h 1 v 1 h -1 Z M 6 13 h 1 v 1 h -1 Z M 6 16 h 1 v 1 h -1 Z M 7 5 h 1 v 1 h -1 Z M 7 13 h 1 v 1 h -1 Z M 7 16 h 1 v 1 h -1 Z M 8 5 h 1 v 1 h -1 Z M 8 13 h 1 v 1 h -1 Z M 8 16 h 1 v 1 h -1 Z M 9 5 h 1 v 1 h -1 Z M 9 13 h 1 v 1 h -1 Z M 9 16 h 1 v 1 h -1 Z M 10 5 h 1 v 1 h -1 Z M 10 13 h 1 v 1 h -1 Z M 10 16 h 1 v 1 h -1 Z M 11 5 h 1 v 1 h -1 Z M 11 13 h 1 v 1 h -1 Z M 11 14 h 1 v 1 h -1 Z M 11 15 h 1 v 1 h -1 Z M 11 16 h 1 v 1 h -1 Z M 12 5 h 1 v 1 h -1 Z M 12 13 h 1 v 1 h -1 Z M 12 16 h 1 v 1 h -1 Z M 13 5 h 1 v 1 h -1 Z M 14 5 h 1 v 1 h -1 Z M 14 17 h 1 v 1 h -1 Z M 15 5 h 1 v 1 h -1 Z M 15 17 h 1 v 1 h -1 Z M 16 5 h 1 v 1 h -1 Z M 16 17 h 1 v 1 h -1 Z M 17 5 h 1 v 1 h -1 Z M 17 14 h 1 v 1 h -1 Z M 17 15 h 1 v 1 h -1 Z M 17 16 h 1 v 1 h -1 Z M 17 17 h 1 v 1 h -1 Z M 17 18 h 1 v 1 h -1 Z M 17 19 h 1 v 1 h -1 Z M 18 5 h 1 v 1 h -1 Z M 18 6 h 1 v 1 h -1 Z M 18 7 h 1 v 1 h -1 Z M 18 8 h 1 v 1 h -1 Z M 18 9 h 1 v 1 h -1 Z M 18 10 h 1 v 1 h -1 Z M 18 11 h 1 v 1 h -1 Z M 18 12 h 1 v 1 h -1 Z M 18 17 h 1 v 1 h -1 Z M 19 17 h 1 v 1 h -1 Z" class="ColorScheme-Text"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#4d4d4d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g transform="translate(1,1)">
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" d="M 3 5 h 1 v 1 h -1 Z M 3 6 h 1 v 1 h -1 Z M 3 7 h 1 v 1 h -1 Z M 3 8 h 1 v 1 h -1 Z M 3 9 h 1 v 1 h -1 Z M 3 10 h 1 v 1 h -1 Z M 3 11 h 1 v 1 h -1 Z M 3 12 h 1 v 1 h -1 Z M 3 13 h 1 v 1 h -1 Z M 3 14 h 1 v 1 h -1 Z M 3 15 h 1 v 1 h -1 Z M 3 16 h 1 v 1 h -1 Z M 4 5 h 1 v 1 h -1 Z M 4 13 h 1 v 1 h -1 Z M 4 16 h 1 v 1 h -1 Z M 5 5 h 1 v 1 h -1 Z M 5 13 h 1 v 1 h -1 Z M 5 16 h 1 v 1 h -1 Z M 6 5 h 1 v 1 h -1 Z M 6 8 h 1 v 1 h -1 Z M 6 10 h 1 v 1 h -1 Z M 6 13 h 1 v 1 h -1 Z M 6 16 h 1 v 1 h -1 Z M 7 5 h 1 v 1 h -1 Z M 7 8 h 1 v 1 h -1 Z M 7 10 h 1 v 1 h -1 Z M 7 13 h 1 v 1 h -1 Z M 7 16 h 1 v 1 h -1 Z M 8 5 h 1 v 1 h -1 Z M 8 8 h 1 v 1 h -1 Z M 8 10 h 1 v 1 h -1 Z M 8 13 h 1 v 1 h -1 Z M 8 16 h 1 v 1 h -1 Z M 9 5 h 1 v 1 h -1 Z M 9 8 h 1 v 1 h -1 Z M 9 10 h 1 v 1 h -1 Z M 9 13 h 1 v 1 h -1 Z M 9 16 h 1 v 1 h -1 Z M 10 5 h 1 v 1 h -1 Z M 10 8 h 1 v 1 h -1 Z M 10 10 h 1 v 1 h -1 Z M 10 13 h 1 v 1 h -1 Z M 10 16 h 1 v 1 h -1 Z M 11 5 h 1 v 1 h -1 Z M 11 8 h 1 v 1 h -1 Z M 11 10 h 1 v 1 h -1 Z M 11 13 h 1 v 1 h -1 Z M 11 14 h 1 v 1 h -1 Z M 11 15 h 1 v 1 h -1 Z M 11 16 h 1 v 1 h -1 Z M 12 5 h 1 v 1 h -1 Z M 12 8 h 1 v 1 h -1 Z M 12 10 h 1 v 1 h -1 Z M 12 13 h 1 v 1 h -1 Z M 12 16 h 1 v 1 h -1 Z M 13 5 h 1 v 1 h -1 Z M 13 8 h 1 v 1 h -1 Z M 13 10 h 1 v 1 h -1 Z M 13 13 h 1 v 1 h -1 Z M 13 16 h 1 v 1 h -1 Z M 14 5 h 1 v 1 h -1 Z M 14 8 h 1 v 1 h -1 Z M 14 10 h 1 v 1 h -1 Z M 14 13 h 1 v 1 h -1 Z M 14 16 h 1 v 1 h -1 Z M 15 5 h 1 v 1 h -1 Z M 15 8 h 1 v 1 h -1 Z M 15 10 h 1 v 1 h -1 Z M 15 13 h 1 v 1 h -1 Z M 15 16 h 1 v 1 h -1 Z M 16 5 h 1 v 1 h -1 Z M 16 13 h 1 v 1 h -1 Z M 16 16 h 1 v 1 h -1 Z M 17 5 h 1 v 1 h -1 Z M 17 13 h 1 v 1 h -1 Z M 17 16 h 1 v 1 h -1 Z M 18 5 h 1 v 1 h -1 Z M 18 6 h 1 v 1 h -1 Z M 18 7 h 1 v 1 h -1 Z M 18 8 h 1 v 1 h -1 Z M 18 9 h 1 v 1 h -1 Z M 18 10 h 1 v 1 h -1 Z M 18 11 h 1 v 1 h -1 Z M 18 12 h 1 v 1 h -1 Z M 18 13 h 1 v 1 h -1 Z M 18 14 h 1 v 1 h -1 Z M 18 15 h 1 v 1 h -1 Z M 18 16 h 1 v 1 h -1 Z" class="ColorScheme-Text"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#4d4d4d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g transform="translate(1,1)">
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" d="M 3 5 h 1 v 1 h -1 Z M 3 6 h 1 v 1 h -1 Z M 3 7 h 1 v 1 h -1 Z M 3 8 h 1 v 1 h -1 Z M 3 9 h 1 v 1 h -1 Z M 3 10 h 1 v 1 h -1 Z M 3 11 h 1 v 1 h -1 Z M 3 12 h 1 v 1 h -1 Z M 3 13 h 1 v 1 h -1 Z M 3 14 h 1 v 1 h -1 Z M 3 15 h 1 v 1 h -1 Z M 3 16 h 1 v 1 h -1 Z M 4 5 h 1 v 1 h -1 Z M 4 13 h 1 v 1 h -1 Z M 4 14 h 1 v 1 h -1 Z M 4 15 h 1 v 1 h -1 Z M 4 16 h 1 v 1 h -1 Z M 5 5 h 1 v 1 h -1 Z M 5 13 h 1 v 1 h -1 Z M 5 14 h 1 v 1 h -1 Z M 5 15 h 1 v 1 h -1 Z M 5 16 h 1 v 1 h -1 Z M 6 5 h 1 v 1 h -1 Z M 6 13 h 1 v 1 h -1 Z M 6 14 h 1 v 1 h -1 Z M 6 15 h 1 v 1 h -1 Z M 6 16 h 1 v 1 h -1 Z M 7 5 h 1 v 1 h -1 Z M 7 13 h 1 v 1 h -1 Z M 7 14 h 1 v 1 h -1 Z M 7 15 h 1 v 1 h -1 Z M 7 16 h 1 v 1 h -1 Z M 8 5 h 1 v 1 h -1 Z M 8 13 h 1 v 1 h -1 Z M 8 14 h 1 v 1 h -1 Z M 8 15 h 1 v 1 h -1 Z M 8 16 h 1 v 1 h -1 Z M 9 5 h 1 v 1 h -1 Z M 9 13 h 1 v 1 h -1 Z M 9 14 h 1 v 1 h -1 Z M 9 15 h 1 v 1 h -1 Z M 9 16 h 1 v 1 h -1 Z M 10 5 h 1 v 1 h -1 Z M 10 13 h 1 v 1 h -1 Z M 10 14 h 1 v 1 h -1 Z M 10 15 h 1 v 1 h -1 Z M 10 16 h 1 v 1 h -1 Z M 11 5 h 1 v 1 h -1 Z M 11 13 h 1 v 1 h -1 Z M 11 14 h 1 v 1 h -1 Z M 11 15 h 1 v 1 h -1 Z M 11 16 h 1 v 1 h -1 Z M 12 5 h 1 v 1 h -1 Z M 12 13 h 1 v 1 h -1 Z M 12 14 h 1 v 1 h -1 Z M 12 15 h 1 v 1 h -1 Z M 12 16 h 1 v 1 h -1 Z M 13 5 h 1 v 1 h -1 Z M 13 13 h 1 v 1 h -1 Z M 13 14 h 1 v 1 h -1 Z M 13 15 h 1 v 1 h -1 Z M 13 16 h 1 v 1 h -1 Z M 14 5 h 1 v 1 h -1 Z M 14 13 h 1 v 1 h -1 Z M 14 14 h 1 v 1 h -1 Z M 14 15 h 1 v 1 h -1 Z M 14 16 h 1 v 1 h -1 Z M 15 5 h 1 v 1 h -1 Z M 15 13 h 1 v 1 h -1 Z M 15 14 h 1 v 1 h -1 Z M 15 15 h 1 v 1 h -1 Z M 15 16 h 1 v 1 h -1 Z M 16 5 h 1 v 1 h -1 Z M 16 13 h 1 v 1 h -1 Z M 16 14 h 1 v 1 h -1 Z M 16 15 h 1 v 1 h -1 Z M 16 16 h 1 v 1 h -1 Z M 17 5 h 1 v 1 h -1 Z M 17 13 h 1 v 1 h -1 Z M 17 14 h 1 v 1 h -1 Z M 17 15 h 1 v 1 h -1 Z M 17 16 h 1 v 1 h -1 Z M 18 5 h 1 v 1 h -1 Z M 18 6 h 1 v 1 h -1 Z M 18 7 h 1 v 1 h -1 Z M 18 8 h 1 v 1 h -1 Z M 18 9 h 1 v 1 h -1 Z M 18 10 h 1 v 1 h -1 Z M 18 11 h 1 v 1 h -1 Z M 18 12 h 1 v 1 h -1 Z M 18 13 h 1 v 1 h -1 Z M 18 14 h 1 v 1 h -1 Z M 18 15 h 1 v 1 h -1 Z M 18 16 h 1 v 1 h -1 Z" class="ColorScheme-Text"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,13 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
|
||||
<defs id="defs3051">
|
||||
<style type="text/css" id="current-color-scheme">
|
||||
.ColorScheme-Text {
|
||||
color:#4d4d4d;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g transform="translate(1,1)">
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" d="M 3 3 h 16 v 1 h -16 Z M 3 4 h 1 v 15 h -1 Z M 4 18 h 10 v 1 h -10 Z M 18 4 h 1 v 8 h -1 Z M 16 14 h 1 v 5 h -1 Z M 14 16 h 5 v 1 h -5 Z" class="ColorScheme-Text"/>
|
||||
<path style="fill:currentColor;fill-opacity:1;stroke:none" d="M 5 7 h 1 v 1 h -1 Z M 6 7 h 1 v 1 h -1 Z M 7 7 h 1 v 1 h -1 Z M 5 8 h 1 v 1 h -1 Z M 7 8 h 1 v 1 h -1 Z M 5 9 h 1 v 1 h -1 Z M 6 9 h 1 v 1 h -1 Z M 7 9 h 1 v 1 h -1 Z M 5 10 h 1 v 1 h -1 Z M 5 11 h 1 v 1 h -1 Z M 9 7 h 1 v 1 h -1 Z M 10 7 h 1 v 1 h -1 Z M 9 8 h 1 v 1 h -1 Z M 11 8 h 1 v 1 h -1 Z M 9 9 h 1 v 1 h -1 Z M 11 9 h 1 v 1 h -1 Z M 9 10 h 1 v 1 h -1 Z M 11 10 h 1 v 1 h -1 Z M 9 11 h 1 v 1 h -1 Z M 10 11 h 1 v 1 h -1 Z M 13 7 h 1 v 1 h -1 Z M 14 7 h 1 v 1 h -1 Z M 15 7 h 1 v 1 h -1 Z M 13 8 h 1 v 1 h -1 Z M 13 9 h 1 v 1 h -1 Z M 14 9 h 1 v 1 h -1 Z M 13 10 h 1 v 1 h -1 Z M 13 11 h 1 v 1 h -1 Z" class="ColorScheme-Text"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 272 B |
|
After Width: | Height: | Size: 230 B |
|
After Width: | Height: | Size: 276 B |
|
After Width: | Height: | Size: 235 B |
|
After Width: | Height: | Size: 359 B |
|
After Width: | Height: | Size: 242 B |
|
After Width: | Height: | Size: 139 B |
|
After Width: | Height: | Size: 223 B |
|
After Width: | Height: | Size: 391 B |
|
After Width: | Height: | Size: 297 B |
|
After Width: | Height: | Size: 220 B |
|
After Width: | Height: | Size: 220 B |
|
After Width: | Height: | Size: 140 B |
|
After Width: | Height: | Size: 285 B |
|
After Width: | Height: | Size: 155 B |
|
After Width: | Height: | Size: 155 B |
|
After Width: | Height: | Size: 229 B |
|
After Width: | Height: | Size: 293 B |
|
After Width: | Height: | Size: 203 B |
|
After Width: | Height: | Size: 248 B |
|
After Width: | Height: | Size: 228 B |
|
After Width: | Height: | Size: 297 B |
|
After Width: | Height: | Size: 156 B |
|
After Width: | Height: | Size: 337 B |
|
After Width: | Height: | Size: 264 B |
|
After Width: | Height: | Size: 131 B |
|
After Width: | Height: | Size: 324 B |
|
After Width: | Height: | Size: 318 B |
|
After Width: | Height: | Size: 153 B |
|
After Width: | Height: | Size: 269 B |
|
After Width: | Height: | Size: 196 B |
|
After Width: | Height: | Size: 329 B |
|
After Width: | Height: | Size: 409 B |
|
After Width: | Height: | Size: 453 B |
|
After Width: | Height: | Size: 430 B |
|
After Width: | Height: | Size: 453 B |
|
After Width: | Height: | Size: 269 B |
|
After Width: | Height: | Size: 253 B |
|
After Width: | Height: | Size: 103 B |
|
After Width: | Height: | Size: 209 B |
|
After Width: | Height: | Size: 190 B |
|
After Width: | Height: | Size: 225 B |
|
After Width: | Height: | Size: 216 B |
|
After Width: | Height: | Size: 266 B |
|
After Width: | Height: | Size: 225 B |
|
After Width: | Height: | Size: 156 B |
|
After Width: | Height: | Size: 229 B |
|
After Width: | Height: | Size: 179 B |
|
After Width: | Height: | Size: 203 B |
|
After Width: | Height: | Size: 255 B |
|
After Width: | Height: | Size: 330 B |
|
After Width: | Height: | Size: 261 B |
|
After Width: | Height: | Size: 356 B |
|
After Width: | Height: | Size: 314 B |
|
After Width: | Height: | Size: 256 B |
|
After Width: | Height: | Size: 105 B |
|
After Width: | Height: | Size: 469 B |
|
After Width: | Height: | Size: 338 B |
|
After Width: | Height: | Size: 391 B |
|
After Width: | Height: | Size: 156 B |
|
After Width: | Height: | Size: 250 B |
|
After Width: | Height: | Size: 178 B |
|
After Width: | Height: | Size: 137 B |
|
After Width: | Height: | Size: 102 B |
|
After Width: | Height: | Size: 437 B |
|
After Width: | Height: | Size: 220 B |
|
After Width: | Height: | Size: 533 B |
|
After Width: | Height: | Size: 394 B |
|
After Width: | Height: | Size: 334 B |
|
After Width: | Height: | Size: 186 B |
|
After Width: | Height: | Size: 283 B |