diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1c997db12..6316f4fe2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -234,6 +234,8 @@ endif()
set(CMAKE_FOLDER "${TR_THIRD_PARTY_DIR_NAME}")
+set(SOURCE_ICONS_DIR "${PROJECT_SOURCE_DIR}/icons")
+
find_package(FastFloat)
find_package(Fmt)
find_package(RapidJSON)
diff --git a/dist/msi/CMakeLists.txt b/dist/msi/CMakeLists.txt
index afa648bdf..3530345e4 100644
--- a/dist/msi/CMakeLists.txt
+++ b/dist/msi/CMakeLists.txt
@@ -58,7 +58,7 @@ else()
endif()
file(
- COPY "${PROJECT_SOURCE_DIR}/qt/icons/transmission.ico"
+ COPY "${SOURCE_ICONS_DIR}/transmission.ico"
DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
set(WEBSRCDIR "${CMAKE_INSTALL_PREFIX}/share/transmission/public_html")
diff --git a/gtk/CMakeLists.txt b/gtk/CMakeLists.txt
index c629b990c..792e6cc37 100644
--- a/gtk/CMakeLists.txt
+++ b/gtk/CMakeLists.txt
@@ -226,7 +226,7 @@ foreach(ICON ${PUBLIC_ICONS})
string(REGEX REPLACE ${ICON_NAME_REGEX} "\\1/\\3/\\2" ICON_DIR ${ICON})
string(REGEX REPLACE ${ICON_NAME_REGEX} "\\4" ICON_NAME ${ICON})
install(
- FILES icons/${ICON}
+ FILES ${SOURCE_ICONS_DIR}/${ICON}
DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/${ICON_DIR}/
RENAME ${ICON_NAME})
endforeach()
diff --git a/gtk/icons/SOURCES.md b/gtk/icons/SOURCES.md
deleted file mode 100644
index b63a06b51..000000000
--- a/gtk/icons/SOURCES.md
+++ /dev/null
@@ -1,12 +0,0 @@
-# Icon Sources
-
-| Name | Source | Author | License |
-|---|---|---|---|
-| lock.svg | [fxemoji](https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/objects/u1F512-lock.svg) | Mozilla Foundation | [SPDX: CC-BY-4.0](https://spdx.org/licenses/CC-BY-4.0.html) |
-| ratio.svg | [forum.transmissionbt](https://forum.transmissionbt.com/viewtopic.php?p=42307#p42307) | [Jakub Steiner](https://jimmac.eu/) | [SPDX: CC-BY-SA-2.5](https://spdx.org/licenses/CC-BY-SA-2.5.html) |
-| turtle-silhouette.svg | [fxemoji](https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/nature/u1F422-turtle.svg) (derived from) | Mozilla Foundation | [SPDX: CC-BY-4.0](https://spdx.org/licenses/CC-BY-4.0.html) |
-| turtle.svg | [fxemoji](https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/nature/u1F422-turtle.svg) (derived from) | Mozilla Foundation | [SPDX: CC-BY-4.0](https://spdx.org/licenses/CC-BY-4.0.html) |
-
-# Notes
-
-transmission.ico created with https://www.npmjs.com/package/svg-to-ico
diff --git a/gtk/icons/turtle-symbolic.svg b/gtk/icons/turtle-symbolic.svg
deleted file mode 100644
index 790ffc0a9..000000000
--- a/gtk/icons/turtle-symbolic.svg
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/gtk/transmission.gresource.xml b/gtk/transmission.gresource.xml
index 2711f9d1c..5d13cda59 100644
--- a/gtk/transmission.gresource.xml
+++ b/gtk/transmission.gresource.xml
@@ -1,11 +1,11 @@
- icons/lock.svg
- icons/options-symbolic.svg
- icons/ratio-symbolic.svg
- icons/turtle-symbolic.svg
- icons/hicolor_apps_scalable_transmission.svg
+ ../icons/lock.svg
+ ../icons/options-symbolic.svg
+ ../icons/ratio-symbolic.svg
+ ../icons/turtle-silhouette.svg
+ ../icons/hicolor_apps_scalable_transmission.svg
transmission-ui.css
transmission-ui.xml
diff --git a/gtk/transmission.rc b/gtk/transmission.rc
index 53e96b0a1..9b3c73c95 100644
--- a/gtk/transmission.rc
+++ b/gtk/transmission.rc
@@ -1 +1 @@
-A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "./icons/transmission.ico"
+A ICON MOVEABLE PURE LOADONCALL DISCARDABLE "../icons/transmission.ico"
diff --git a/qt/icons/SOURCES.md b/icons/SOURCES.md
similarity index 100%
rename from qt/icons/SOURCES.md
rename to icons/SOURCES.md
index a37207765..be562f4c6 100644
--- a/qt/icons/SOURCES.md
+++ b/icons/SOURCES.md
@@ -4,8 +4,8 @@
|---|---|---|---|
| hamburger-menu.svg | [wikimedia](https://commons.wikimedia.org/wiki/File:Hamburger_icon.svg) | [Timothy Miller](https://tmthymllr.com/) | [SPDX: CC-BY-SA-3.0](https://spdx.org/licenses/CC-BY-SA-3.0.html) |
| lock.svg | [fxemoji](https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/objects/u1F512-lock.svg) | Mozilla Foundation | [SPDX: CC-BY-4.0](https://spdx.org/licenses/CC-BY-4.0.html) |
-| turtle-silhouette.svg | [fxemoji](https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/nature/u1F422-turtle.svg) (derived from) | Mozilla Foundation | [SPDX: CC-BY-4.0](https://spdx.org/licenses/CC-BY-4.0.html) |
| turtle.svg | [fxemoji](https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/nature/u1F422-turtle.svg) (derived from) | Mozilla Foundation | [SPDX: CC-BY-4.0](https://spdx.org/licenses/CC-BY-4.0.html) |
+| turtle-silhouette.svg | [fxemoji](https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/nature/u1F422-turtle.svg) (derived from) | Mozilla Foundation | [SPDX: CC-BY-4.0](https://spdx.org/licenses/CC-BY-4.0.html) |
| yin-yang.svg | [forum.transmissionbt](https://forum.transmissionbt.com/viewtopic.php?p=42307#p42307) | [Jakub Steiner](https://jimmac.eu/) | [SPDX: CC-BY-SA-2.5](https://spdx.org/licenses/CC-BY-SA-2.5.html) |
# Notes
diff --git a/qt/icons/hamburger-menu.svg b/icons/hamburger-menu.svg
similarity index 100%
rename from qt/icons/hamburger-menu.svg
rename to icons/hamburger-menu.svg
diff --git a/gtk/icons/hicolor_apps_scalable_transmission-devel.svg b/icons/hicolor_apps_scalable_transmission-devel.svg
similarity index 100%
rename from gtk/icons/hicolor_apps_scalable_transmission-devel.svg
rename to icons/hicolor_apps_scalable_transmission-devel.svg
diff --git a/gtk/icons/hicolor_apps_scalable_transmission.svg b/icons/hicolor_apps_scalable_transmission.svg
similarity index 100%
rename from gtk/icons/hicolor_apps_scalable_transmission.svg
rename to icons/hicolor_apps_scalable_transmission.svg
diff --git a/gtk/icons/hicolor_apps_symbolic_transmission-symbolic.svg b/icons/hicolor_apps_symbolic_transmission-symbolic.svg
similarity index 100%
rename from gtk/icons/hicolor_apps_symbolic_transmission-symbolic.svg
rename to icons/hicolor_apps_symbolic_transmission-symbolic.svg
diff --git a/gtk/icons/lock.svg b/icons/lock.svg
similarity index 100%
rename from gtk/icons/lock.svg
rename to icons/lock.svg
diff --git a/gtk/icons/options-symbolic.svg b/icons/options-symbolic.svg
similarity index 100%
rename from gtk/icons/options-symbolic.svg
rename to icons/options-symbolic.svg
diff --git a/gtk/icons/ratio-symbolic.svg b/icons/ratio-symbolic.svg
similarity index 100%
rename from gtk/icons/ratio-symbolic.svg
rename to icons/ratio-symbolic.svg
diff --git a/gtk/icons/transmission.ico b/icons/transmission.ico
similarity index 100%
rename from gtk/icons/transmission.ico
rename to icons/transmission.ico
diff --git a/qt/icons/turtle-silhouette.svg b/icons/turtle-silhouette.svg
similarity index 100%
rename from qt/icons/turtle-silhouette.svg
rename to icons/turtle-silhouette.svg
diff --git a/qt/icons/turtle.svg b/icons/turtle.svg
similarity index 100%
rename from qt/icons/turtle.svg
rename to icons/turtle.svg
diff --git a/qt/icons/yin-yang.svg b/icons/yin-yang.svg
similarity index 100%
rename from qt/icons/yin-yang.svg
rename to icons/yin-yang.svg
diff --git a/qt/CMakeLists.txt b/qt/CMakeLists.txt
index 0da2370a0..475681a11 100644
--- a/qt/CMakeLists.txt
+++ b/qt/CMakeLists.txt
@@ -236,14 +236,29 @@ set_target_properties(
tr_win32_app_info(${TR_NAME}-qt
"Transmission Qt Client"
- "transmission-qt"
- "transmission-qt.exe"
- "qtr.ico")
+ "${TR_NAME}-qt"
+ "${TR_NAME}-qt.exe"
+ "${SOURCE_ICONS_DIR}/${TR_NAME}.ico")
install(
TARGETS ${TR_NAME}-qt
DESTINATION ${CMAKE_INSTALL_BINDIR})
+set(PUBLIC_ICONS
+ hicolor_apps_scalable_transmission.svg
+ hicolor_apps_scalable_transmission-devel.svg
+ hicolor_apps_symbolic_transmission-symbolic.svg)
+
+set(ICON_NAME_REGEX "^([^_]+)_([^_]+)_([^_]+)_(.+)$")
+foreach(ICON ${PUBLIC_ICONS})
+ string(REGEX REPLACE ${ICON_NAME_REGEX} "\\1/\\3/\\2" ICON_DIR ${ICON})
+ string(REGEX REPLACE ${ICON_NAME_REGEX} "\\4" ICON_NAME ${ICON})
+ install(
+ FILES ${SOURCE_ICONS_DIR}/${ICON}
+ DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/${ICON_DIR}/
+ RENAME ${ICON_NAME})
+endforeach()
+
if(INSTALL_DOC)
install(
FILES ${TR_NAME}-qt.1
diff --git a/qt/application.qrc b/qt/application.qrc
index 021ceda1f..3f569f73d 100644
--- a/qt/application.qrc
+++ b/qt/application.qrc
@@ -1,10 +1,10 @@
- icons/turtle-silhouette.svg
- icons/turtle.svg
- icons/lock.svg
- icons/hamburger-menu.svg
- icons/yin-yang.svg
- icons/transmission.svg
+ ../icons/turtle-silhouette.svg
+ ../icons/turtle.svg
+ ../icons/lock.svg
+ ../icons/hamburger-menu.svg
+ ../icons/yin-yang.svg
+ ../icons/hicolor_apps_scalable_transmission.svg
diff --git a/qt/icons/lock.svg b/qt/icons/lock.svg
deleted file mode 100644
index a02955f98..000000000
--- a/qt/icons/lock.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/qt/icons/transmission.ico b/qt/icons/transmission.ico
deleted file mode 100644
index 553aa027b..000000000
Binary files a/qt/icons/transmission.ico and /dev/null differ
diff --git a/qt/icons/transmission.svg b/qt/icons/transmission.svg
deleted file mode 100644
index a10a8ad70..000000000
--- a/qt/icons/transmission.svg
+++ /dev/null
@@ -1,471 +0,0 @@
-
-
-
-
diff --git a/qt/qtr.ico b/qt/qtr.ico
deleted file mode 100644
index 87a34ca96..000000000
Binary files a/qt/qtr.ico and /dev/null differ