diff --git a/ico/breeze-added/16/preferences-desktop-user.svg b/ico/breeze-added/16/preferences-desktop-user.svg
new file mode 100644
index 000000000..349909b7c
--- /dev/null
+++ b/ico/breeze-added/16/preferences-desktop-user.svg
@@ -0,0 +1,19 @@
+
diff --git a/ico/breeze/16/amarok_change_language.svg b/ico/breeze/16/amarok_change_language.svg
new file mode 100644
index 000000000..3d56d33e1
--- /dev/null
+++ b/ico/breeze/16/amarok_change_language.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/application-exit.svg b/ico/breeze/16/application-exit.svg
new file mode 100644
index 000000000..da944e4e5
--- /dev/null
+++ b/ico/breeze/16/application-exit.svg
@@ -0,0 +1,17 @@
+
diff --git a/ico/breeze/16/application-postscript.svg b/ico/breeze/16/application-postscript.svg
new file mode 100644
index 000000000..2a142c061
--- /dev/null
+++ b/ico/breeze/16/application-postscript.svg
@@ -0,0 +1,3 @@
+
diff --git a/ico/breeze/16/configure.svg b/ico/breeze/16/configure.svg
new file mode 100644
index 000000000..91da749e2
--- /dev/null
+++ b/ico/breeze/16/configure.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/dialog-cancel.svg b/ico/breeze/16/dialog-cancel.svg
new file mode 100644
index 000000000..f06ae1f01
--- /dev/null
+++ b/ico/breeze/16/dialog-cancel.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/dialog-ok-apply.svg b/ico/breeze/16/dialog-ok-apply.svg
new file mode 100644
index 000000000..f7480c077
--- /dev/null
+++ b/ico/breeze/16/dialog-ok-apply.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-close.svg b/ico/breeze/16/document-close.svg
new file mode 100644
index 000000000..d220e3ee2
--- /dev/null
+++ b/ico/breeze/16/document-close.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/ico/breeze/16/document-decrypt.svg b/ico/breeze/16/document-decrypt.svg
new file mode 100644
index 000000000..9f2f121e9
--- /dev/null
+++ b/ico/breeze/16/document-decrypt.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-edit.svg b/ico/breeze/16/document-edit.svg
new file mode 100644
index 000000000..18ccc58a8
--- /dev/null
+++ b/ico/breeze/16/document-edit.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-encrypted.svg b/ico/breeze/16/document-encrypted.svg
new file mode 100644
index 000000000..6d36522a4
--- /dev/null
+++ b/ico/breeze/16/document-encrypted.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-export.svg b/ico/breeze/16/document-export.svg
new file mode 100644
index 000000000..d6314bd70
--- /dev/null
+++ b/ico/breeze/16/document-export.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/ico/breeze/16/document-import.svg b/ico/breeze/16/document-import.svg
new file mode 100644
index 000000000..5817784d4
--- /dev/null
+++ b/ico/breeze/16/document-import.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/document-new.svg b/ico/breeze/16/document-new.svg
new file mode 100644
index 000000000..6434a18e6
--- /dev/null
+++ b/ico/breeze/16/document-new.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-open-recent.svg b/ico/breeze/16/document-open-recent.svg
new file mode 100644
index 000000000..ca8d43dec
--- /dev/null
+++ b/ico/breeze/16/document-open-recent.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-open.svg b/ico/breeze/16/document-open.svg
new file mode 100644
index 000000000..5c2480414
--- /dev/null
+++ b/ico/breeze/16/document-open.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-print.svg b/ico/breeze/16/document-print.svg
new file mode 100644
index 000000000..c7e41357b
--- /dev/null
+++ b/ico/breeze/16/document-print.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-properties.svg b/ico/breeze/16/document-properties.svg
new file mode 100644
index 000000000..69854d738
--- /dev/null
+++ b/ico/breeze/16/document-properties.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-save-all.svg b/ico/breeze/16/document-save-all.svg
new file mode 100644
index 000000000..b41ca2c3a
--- /dev/null
+++ b/ico/breeze/16/document-save-all.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-save-as.svg b/ico/breeze/16/document-save-as.svg
new file mode 100644
index 000000000..b8ad96831
--- /dev/null
+++ b/ico/breeze/16/document-save-as.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/document-save.svg b/ico/breeze/16/document-save.svg
new file mode 100644
index 000000000..cd2db5adb
--- /dev/null
+++ b/ico/breeze/16/document-save.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/draw-circle.svg b/ico/breeze/16/draw-circle.svg
new file mode 100644
index 000000000..54ff98519
--- /dev/null
+++ b/ico/breeze/16/draw-circle.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/16/draw-ellipse.svg b/ico/breeze/16/draw-ellipse.svg
new file mode 100644
index 000000000..5323404c8
--- /dev/null
+++ b/ico/breeze/16/draw-ellipse.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/16/draw-line.svg b/ico/breeze/16/draw-line.svg
new file mode 100644
index 000000000..93b7b3a3a
--- /dev/null
+++ b/ico/breeze/16/draw-line.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/draw-polygon.svg b/ico/breeze/16/draw-polygon.svg
new file mode 100644
index 000000000..ec568a092
--- /dev/null
+++ b/ico/breeze/16/draw-polygon.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/16/draw-rectangle.svg b/ico/breeze/16/draw-rectangle.svg
new file mode 100644
index 000000000..af593d826
--- /dev/null
+++ b/ico/breeze/16/draw-rectangle.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/16/edit-clear-locationbar-ltr.svg b/ico/breeze/16/edit-clear-locationbar-ltr.svg
new file mode 100644
index 000000000..65f3a80cc
--- /dev/null
+++ b/ico/breeze/16/edit-clear-locationbar-ltr.svg
@@ -0,0 +1,62 @@
+
+
diff --git a/ico/breeze/16/edit-clear.svg b/ico/breeze/16/edit-clear.svg
new file mode 100644
index 000000000..f49be9b0a
--- /dev/null
+++ b/ico/breeze/16/edit-clear.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/edit-copy.svg b/ico/breeze/16/edit-copy.svg
new file mode 100644
index 000000000..266e34b89
--- /dev/null
+++ b/ico/breeze/16/edit-copy.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/ico/breeze/16/edit-cut.svg b/ico/breeze/16/edit-cut.svg
new file mode 100644
index 000000000..8945d6b55
--- /dev/null
+++ b/ico/breeze/16/edit-cut.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/edit-delete.svg b/ico/breeze/16/edit-delete.svg
new file mode 100644
index 000000000..9dfb2e07a
--- /dev/null
+++ b/ico/breeze/16/edit-delete.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/16/edit-download.svg b/ico/breeze/16/edit-download.svg
new file mode 100644
index 000000000..dd28375fd
--- /dev/null
+++ b/ico/breeze/16/edit-download.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/edit-paste.svg b/ico/breeze/16/edit-paste.svg
new file mode 100644
index 000000000..62d4b529c
--- /dev/null
+++ b/ico/breeze/16/edit-paste.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/edit-redo.svg b/ico/breeze/16/edit-redo.svg
new file mode 100644
index 000000000..506bd8773
--- /dev/null
+++ b/ico/breeze/16/edit-redo.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/edit-select-all.svg b/ico/breeze/16/edit-select-all.svg
new file mode 100644
index 000000000..ea0d93b47
--- /dev/null
+++ b/ico/breeze/16/edit-select-all.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/edit-select-invert.svg b/ico/breeze/16/edit-select-invert.svg
new file mode 100644
index 000000000..591c6af5c
--- /dev/null
+++ b/ico/breeze/16/edit-select-invert.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/edit-select-none.svg b/ico/breeze/16/edit-select-none.svg
new file mode 100644
index 000000000..c471cf3cb
--- /dev/null
+++ b/ico/breeze/16/edit-select-none.svg
@@ -0,0 +1,20 @@
+
diff --git a/ico/breeze/16/edit-select.svg b/ico/breeze/16/edit-select.svg
new file mode 100644
index 000000000..049311f7e
--- /dev/null
+++ b/ico/breeze/16/edit-select.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/edit-table-cell-merge.svg b/ico/breeze/16/edit-table-cell-merge.svg
new file mode 100644
index 000000000..431dac545
--- /dev/null
+++ b/ico/breeze/16/edit-table-cell-merge.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/edit-table-cell-split.svg b/ico/breeze/16/edit-table-cell-split.svg
new file mode 100644
index 000000000..09bf2a877
--- /dev/null
+++ b/ico/breeze/16/edit-table-cell-split.svg
@@ -0,0 +1,30 @@
+
diff --git a/ico/breeze/16/edit-table-delete-column.svg b/ico/breeze/16/edit-table-delete-column.svg
new file mode 100644
index 000000000..ad565198c
--- /dev/null
+++ b/ico/breeze/16/edit-table-delete-column.svg
@@ -0,0 +1,21 @@
+
diff --git a/ico/breeze/16/edit-table-delete-row.svg b/ico/breeze/16/edit-table-delete-row.svg
new file mode 100644
index 000000000..1e24144af
--- /dev/null
+++ b/ico/breeze/16/edit-table-delete-row.svg
@@ -0,0 +1,21 @@
+
diff --git a/ico/breeze/16/edit-table-insert-column-left.svg b/ico/breeze/16/edit-table-insert-column-left.svg
new file mode 100644
index 000000000..b01b5a343
--- /dev/null
+++ b/ico/breeze/16/edit-table-insert-column-left.svg
@@ -0,0 +1,22 @@
+
diff --git a/ico/breeze/16/edit-table-insert-column-right.svg b/ico/breeze/16/edit-table-insert-column-right.svg
new file mode 100644
index 000000000..ed3f1a163
--- /dev/null
+++ b/ico/breeze/16/edit-table-insert-column-right.svg
@@ -0,0 +1,22 @@
+
diff --git a/ico/breeze/16/edit-table-insert-row-above.svg b/ico/breeze/16/edit-table-insert-row-above.svg
new file mode 100644
index 000000000..cc6f1a555
--- /dev/null
+++ b/ico/breeze/16/edit-table-insert-row-above.svg
@@ -0,0 +1,22 @@
+
diff --git a/ico/breeze/16/edit-table-insert-row-under.svg b/ico/breeze/16/edit-table-insert-row-under.svg
new file mode 100644
index 000000000..8ef9796bb
--- /dev/null
+++ b/ico/breeze/16/edit-table-insert-row-under.svg
@@ -0,0 +1,22 @@
+
diff --git a/ico/breeze/16/edit-undo.svg b/ico/breeze/16/edit-undo.svg
new file mode 100644
index 000000000..14546aa28
--- /dev/null
+++ b/ico/breeze/16/edit-undo.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/folder-new.svg b/ico/breeze/16/folder-new.svg
new file mode 100644
index 000000000..c4bf53d0d
--- /dev/null
+++ b/ico/breeze/16/folder-new.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/folder-open.svg b/ico/breeze/16/folder-open.svg
new file mode 100644
index 000000000..2291678f2
--- /dev/null
+++ b/ico/breeze/16/folder-open.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/folder.svg b/ico/breeze/16/folder.svg
new file mode 100644
index 000000000..21959d90f
--- /dev/null
+++ b/ico/breeze/16/folder.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/format-text-bold.svg b/ico/breeze/16/format-text-bold.svg
new file mode 100644
index 000000000..d02147165
--- /dev/null
+++ b/ico/breeze/16/format-text-bold.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/format-text-italic.svg b/ico/breeze/16/format-text-italic.svg
new file mode 100644
index 000000000..c31d77dc4
--- /dev/null
+++ b/ico/breeze/16/format-text-italic.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/format-text-subscript.svg b/ico/breeze/16/format-text-subscript.svg
new file mode 100644
index 000000000..07d14d293
--- /dev/null
+++ b/ico/breeze/16/format-text-subscript.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/format-text-superscript.svg b/ico/breeze/16/format-text-superscript.svg
new file mode 100644
index 000000000..b5d2681b2
--- /dev/null
+++ b/ico/breeze/16/format-text-superscript.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/format-text-underline.svg b/ico/breeze/16/format-text-underline.svg
new file mode 100644
index 000000000..33eb027fa
--- /dev/null
+++ b/ico/breeze/16/format-text-underline.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/go-bottom.svg b/ico/breeze/16/go-bottom.svg
new file mode 100644
index 000000000..afbb48a48
--- /dev/null
+++ b/ico/breeze/16/go-bottom.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/16/go-down-skip.svg b/ico/breeze/16/go-down-skip.svg
new file mode 100644
index 000000000..ceb2c81ca
--- /dev/null
+++ b/ico/breeze/16/go-down-skip.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/go-down.svg b/ico/breeze/16/go-down.svg
new file mode 100644
index 000000000..1a159aaa8
--- /dev/null
+++ b/ico/breeze/16/go-down.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/go-home.svg b/ico/breeze/16/go-home.svg
new file mode 100644
index 000000000..68ae4edb4
--- /dev/null
+++ b/ico/breeze/16/go-home.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/go-next-skip.svg b/ico/breeze/16/go-next-skip.svg
new file mode 100644
index 000000000..85ae02d5e
--- /dev/null
+++ b/ico/breeze/16/go-next-skip.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/go-next.svg b/ico/breeze/16/go-next.svg
new file mode 100644
index 000000000..6d17b4ac9
--- /dev/null
+++ b/ico/breeze/16/go-next.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/go-previous-skip.svg b/ico/breeze/16/go-previous-skip.svg
new file mode 100644
index 000000000..4e556a50a
--- /dev/null
+++ b/ico/breeze/16/go-previous-skip.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/go-previous.svg b/ico/breeze/16/go-previous.svg
new file mode 100644
index 000000000..3a0c26520
--- /dev/null
+++ b/ico/breeze/16/go-previous.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/go-top.svg b/ico/breeze/16/go-top.svg
new file mode 100644
index 000000000..67ff30245
--- /dev/null
+++ b/ico/breeze/16/go-top.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/16/go-up-skip.svg b/ico/breeze/16/go-up-skip.svg
new file mode 100644
index 000000000..c6d546512
--- /dev/null
+++ b/ico/breeze/16/go-up-skip.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/go-up.svg b/ico/breeze/16/go-up.svg
new file mode 100644
index 000000000..31950bea6
--- /dev/null
+++ b/ico/breeze/16/go-up.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/gtk-index.svg b/ico/breeze/16/gtk-index.svg
new file mode 100644
index 000000000..ba07f3e9b
--- /dev/null
+++ b/ico/breeze/16/gtk-index.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/help-contents.svg b/ico/breeze/16/help-contents.svg
new file mode 100644
index 000000000..0fff0ebc1
--- /dev/null
+++ b/ico/breeze/16/help-contents.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/16/im-user-busy.svg b/ico/breeze/16/im-user-busy.svg
new file mode 100644
index 000000000..2665d8649
--- /dev/null
+++ b/ico/breeze/16/im-user-busy.svg
@@ -0,0 +1,4 @@
+
diff --git a/ico/breeze/16/im-user-online.svg b/ico/breeze/16/im-user-online.svg
new file mode 100644
index 000000000..1acb8016d
--- /dev/null
+++ b/ico/breeze/16/im-user-online.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/16/insert-image.svg b/ico/breeze/16/insert-image.svg
new file mode 100644
index 000000000..c06d83874
--- /dev/null
+++ b/ico/breeze/16/insert-image.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/insert-text.svg b/ico/breeze/16/insert-text.svg
new file mode 100644
index 000000000..69cf1e894
--- /dev/null
+++ b/ico/breeze/16/insert-text.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/list-add.svg b/ico/breeze/16/list-add.svg
new file mode 100644
index 000000000..8779062a0
--- /dev/null
+++ b/ico/breeze/16/list-add.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/love-amarok.svg b/ico/breeze/16/love-amarok.svg
new file mode 100644
index 000000000..f1d34982a
--- /dev/null
+++ b/ico/breeze/16/love-amarok.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/media-playback-start.svg b/ico/breeze/16/media-playback-start.svg
new file mode 100644
index 000000000..678fd0988
--- /dev/null
+++ b/ico/breeze/16/media-playback-start.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/16/object-flip-horizontal.svg b/ico/breeze/16/object-flip-horizontal.svg
new file mode 100644
index 000000000..6967dc851
--- /dev/null
+++ b/ico/breeze/16/object-flip-horizontal.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/object-flip-vertical.svg b/ico/breeze/16/object-flip-vertical.svg
new file mode 100644
index 000000000..342d873a6
--- /dev/null
+++ b/ico/breeze/16/object-flip-vertical.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/object-group.svg b/ico/breeze/16/object-group.svg
new file mode 100644
index 000000000..71b471fda
--- /dev/null
+++ b/ico/breeze/16/object-group.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/object-rotate-right.svg b/ico/breeze/16/object-rotate-right.svg
new file mode 100644
index 000000000..9e151acec
--- /dev/null
+++ b/ico/breeze/16/object-rotate-right.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/paint-none.svg b/ico/breeze/16/paint-none.svg
new file mode 100644
index 000000000..0e601431b
--- /dev/null
+++ b/ico/breeze/16/paint-none.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/snap-page.svg b/ico/breeze/16/snap-page.svg
new file mode 100644
index 000000000..b157d604f
--- /dev/null
+++ b/ico/breeze/16/snap-page.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/16/text-csv.svg b/ico/breeze/16/text-csv.svg
new file mode 100644
index 000000000..706719a6d
--- /dev/null
+++ b/ico/breeze/16/text-csv.svg
@@ -0,0 +1,3 @@
+
diff --git a/ico/breeze/16/text-field.svg b/ico/breeze/16/text-field.svg
new file mode 100644
index 000000000..8eb9c52be
--- /dev/null
+++ b/ico/breeze/16/text-field.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/text-xml.svg b/ico/breeze/16/text-xml.svg
new file mode 100644
index 000000000..1a12e4b23
--- /dev/null
+++ b/ico/breeze/16/text-xml.svg
@@ -0,0 +1,3 @@
+
diff --git a/ico/breeze/16/transform-move.svg b/ico/breeze/16/transform-move.svg
new file mode 100644
index 000000000..6390f3c74
--- /dev/null
+++ b/ico/breeze/16/transform-move.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/transform-rotate.svg b/ico/breeze/16/transform-rotate.svg
new file mode 100644
index 000000000..0395a2005
--- /dev/null
+++ b/ico/breeze/16/transform-rotate.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/transform-scale.svg b/ico/breeze/16/transform-scale.svg
new file mode 100644
index 000000000..f0d57e6b2
--- /dev/null
+++ b/ico/breeze/16/transform-scale.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/video-symbolic.svg b/ico/breeze/16/video-symbolic.svg
new file mode 100644
index 000000000..48fb9a9d6
--- /dev/null
+++ b/ico/breeze/16/video-symbolic.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/view-calendar-journal.svg b/ico/breeze/16/view-calendar-journal.svg
new file mode 100644
index 000000000..e12e31f69
--- /dev/null
+++ b/ico/breeze/16/view-calendar-journal.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/view-fullscreen.svg b/ico/breeze/16/view-fullscreen.svg
new file mode 100644
index 000000000..a6d37a705
--- /dev/null
+++ b/ico/breeze/16/view-fullscreen.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/view-grid.svg b/ico/breeze/16/view-grid.svg
new file mode 100644
index 000000000..3739ed386
--- /dev/null
+++ b/ico/breeze/16/view-grid.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/view-hidden.svg b/ico/breeze/16/view-hidden.svg
new file mode 100644
index 000000000..7427ae047
--- /dev/null
+++ b/ico/breeze/16/view-hidden.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/view-pages-facing.svg b/ico/breeze/16/view-pages-facing.svg
new file mode 100644
index 000000000..4fa13b285
--- /dev/null
+++ b/ico/breeze/16/view-pages-facing.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/16/view-pages-overview.svg b/ico/breeze/16/view-pages-overview.svg
new file mode 100644
index 000000000..1831d1a87
--- /dev/null
+++ b/ico/breeze/16/view-pages-overview.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/16/view-refresh.svg b/ico/breeze/16/view-refresh.svg
new file mode 100644
index 000000000..d191cd384
--- /dev/null
+++ b/ico/breeze/16/view-refresh.svg
@@ -0,0 +1,6 @@
+
diff --git a/ico/breeze/16/view-restore.svg b/ico/breeze/16/view-restore.svg
new file mode 100644
index 000000000..31053908f
--- /dev/null
+++ b/ico/breeze/16/view-restore.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/16/view-visible.svg b/ico/breeze/16/view-visible.svg
new file mode 100644
index 000000000..6052204ea
--- /dev/null
+++ b/ico/breeze/16/view-visible.svg
@@ -0,0 +1,21 @@
+
diff --git a/ico/breeze/16/window-new.svg b/ico/breeze/16/window-new.svg
new file mode 100644
index 000000000..a4533602c
--- /dev/null
+++ b/ico/breeze/16/window-new.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/16/zoom-fit-best.svg b/ico/breeze/16/zoom-fit-best.svg
new file mode 100644
index 000000000..e643bdcc2
--- /dev/null
+++ b/ico/breeze/16/zoom-fit-best.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/zoom-fit-width.svg b/ico/breeze/16/zoom-fit-width.svg
new file mode 100644
index 000000000..c36f7f332
--- /dev/null
+++ b/ico/breeze/16/zoom-fit-width.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/zoom-in.svg b/ico/breeze/16/zoom-in.svg
new file mode 100644
index 000000000..d19734ee6
--- /dev/null
+++ b/ico/breeze/16/zoom-in.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/zoom-original.svg b/ico/breeze/16/zoom-original.svg
new file mode 100644
index 000000000..15ef0516a
--- /dev/null
+++ b/ico/breeze/16/zoom-original.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/16/zoom-out.svg b/ico/breeze/16/zoom-out.svg
new file mode 100644
index 000000000..659f9200a
--- /dev/null
+++ b/ico/breeze/16/zoom-out.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/22/amarok_change_language.svg b/ico/breeze/22/amarok_change_language.svg
new file mode 100644
index 000000000..48b53568e
--- /dev/null
+++ b/ico/breeze/22/amarok_change_language.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/application-exit.svg b/ico/breeze/22/application-exit.svg
new file mode 100644
index 000000000..941976a66
--- /dev/null
+++ b/ico/breeze/22/application-exit.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/22/application-postscript.svg b/ico/breeze/22/application-postscript.svg
new file mode 100644
index 000000000..a4d0db45b
--- /dev/null
+++ b/ico/breeze/22/application-postscript.svg
@@ -0,0 +1,10 @@
+
+
+
+
diff --git a/ico/breeze/22/configure.svg b/ico/breeze/22/configure.svg
new file mode 100644
index 000000000..b96e39550
--- /dev/null
+++ b/ico/breeze/22/configure.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/22/dialog-cancel.svg b/ico/breeze/22/dialog-cancel.svg
new file mode 100644
index 000000000..4edf5d755
--- /dev/null
+++ b/ico/breeze/22/dialog-cancel.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/dialog-ok-apply.svg b/ico/breeze/22/dialog-ok-apply.svg
new file mode 100644
index 000000000..f12fea3aa
--- /dev/null
+++ b/ico/breeze/22/dialog-ok-apply.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/document-close.svg b/ico/breeze/22/document-close.svg
new file mode 100644
index 000000000..8ab024c3b
--- /dev/null
+++ b/ico/breeze/22/document-close.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/ico/breeze/22/document-decrypt.svg b/ico/breeze/22/document-decrypt.svg
new file mode 100644
index 000000000..012591e0d
--- /dev/null
+++ b/ico/breeze/22/document-decrypt.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/document-edit.svg b/ico/breeze/22/document-edit.svg
new file mode 100644
index 000000000..54e45c8d9
--- /dev/null
+++ b/ico/breeze/22/document-edit.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/document-encrypted.svg b/ico/breeze/22/document-encrypted.svg
new file mode 100644
index 000000000..d7835b395
--- /dev/null
+++ b/ico/breeze/22/document-encrypted.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/22/document-export.svg b/ico/breeze/22/document-export.svg
new file mode 100644
index 000000000..c8f1c6978
--- /dev/null
+++ b/ico/breeze/22/document-export.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/ico/breeze/22/document-import.svg b/ico/breeze/22/document-import.svg
new file mode 100644
index 000000000..df071bbd1
--- /dev/null
+++ b/ico/breeze/22/document-import.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/ico/breeze/22/document-new.svg b/ico/breeze/22/document-new.svg
new file mode 100644
index 000000000..44e5b4c82
--- /dev/null
+++ b/ico/breeze/22/document-new.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/document-open-recent.svg b/ico/breeze/22/document-open-recent.svg
new file mode 100644
index 000000000..d92929c2c
--- /dev/null
+++ b/ico/breeze/22/document-open-recent.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/22/document-open.svg b/ico/breeze/22/document-open.svg
new file mode 100644
index 000000000..d0a9ce0dc
--- /dev/null
+++ b/ico/breeze/22/document-open.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/document-print.svg b/ico/breeze/22/document-print.svg
new file mode 100644
index 000000000..eb2efc8ee
--- /dev/null
+++ b/ico/breeze/22/document-print.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/document-properties.svg b/ico/breeze/22/document-properties.svg
new file mode 100644
index 000000000..45f5b5358
--- /dev/null
+++ b/ico/breeze/22/document-properties.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/document-save-all.svg b/ico/breeze/22/document-save-all.svg
new file mode 100644
index 000000000..d25732419
--- /dev/null
+++ b/ico/breeze/22/document-save-all.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/document-save-as.svg b/ico/breeze/22/document-save-as.svg
new file mode 100644
index 000000000..787e9119f
--- /dev/null
+++ b/ico/breeze/22/document-save-as.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/document-save.svg b/ico/breeze/22/document-save.svg
new file mode 100644
index 000000000..81f6f4cce
--- /dev/null
+++ b/ico/breeze/22/document-save.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/draw-circle.svg b/ico/breeze/22/draw-circle.svg
new file mode 100644
index 000000000..2b95109cc
--- /dev/null
+++ b/ico/breeze/22/draw-circle.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/22/draw-ellipse.svg b/ico/breeze/22/draw-ellipse.svg
new file mode 100644
index 000000000..60e0527e4
--- /dev/null
+++ b/ico/breeze/22/draw-ellipse.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/22/draw-line.svg b/ico/breeze/22/draw-line.svg
new file mode 100644
index 000000000..177ae3b5c
--- /dev/null
+++ b/ico/breeze/22/draw-line.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/draw-polygon.svg b/ico/breeze/22/draw-polygon.svg
new file mode 100644
index 000000000..ec05178ff
--- /dev/null
+++ b/ico/breeze/22/draw-polygon.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/22/draw-rectangle.svg b/ico/breeze/22/draw-rectangle.svg
new file mode 100644
index 000000000..2038e4d8c
--- /dev/null
+++ b/ico/breeze/22/draw-rectangle.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/22/edit-clear-locationbar-ltr.svg b/ico/breeze/22/edit-clear-locationbar-ltr.svg
new file mode 100644
index 000000000..67a13c3bf
--- /dev/null
+++ b/ico/breeze/22/edit-clear-locationbar-ltr.svg
@@ -0,0 +1,62 @@
+
+
diff --git a/ico/breeze/22/edit-clear.svg b/ico/breeze/22/edit-clear.svg
new file mode 100644
index 000000000..525fe05f6
--- /dev/null
+++ b/ico/breeze/22/edit-clear.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/edit-copy.svg b/ico/breeze/22/edit-copy.svg
new file mode 100644
index 000000000..2557953b0
--- /dev/null
+++ b/ico/breeze/22/edit-copy.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/ico/breeze/22/edit-cut.svg b/ico/breeze/22/edit-cut.svg
new file mode 100644
index 000000000..7b236db26
--- /dev/null
+++ b/ico/breeze/22/edit-cut.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/edit-delete.svg b/ico/breeze/22/edit-delete.svg
new file mode 100644
index 000000000..c9e2f4e1c
--- /dev/null
+++ b/ico/breeze/22/edit-delete.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/22/edit-download.svg b/ico/breeze/22/edit-download.svg
new file mode 100644
index 000000000..1dd04a7f7
--- /dev/null
+++ b/ico/breeze/22/edit-download.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/edit-paste.svg b/ico/breeze/22/edit-paste.svg
new file mode 100644
index 000000000..fcec6a19c
--- /dev/null
+++ b/ico/breeze/22/edit-paste.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/edit-redo.svg b/ico/breeze/22/edit-redo.svg
new file mode 100644
index 000000000..6b1689858
--- /dev/null
+++ b/ico/breeze/22/edit-redo.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/edit-select-all.svg b/ico/breeze/22/edit-select-all.svg
new file mode 100644
index 000000000..80de049d8
--- /dev/null
+++ b/ico/breeze/22/edit-select-all.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/edit-select-invert.svg b/ico/breeze/22/edit-select-invert.svg
new file mode 100644
index 000000000..4c2bb1402
--- /dev/null
+++ b/ico/breeze/22/edit-select-invert.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/edit-select-none.svg b/ico/breeze/22/edit-select-none.svg
new file mode 100644
index 000000000..95661c647
--- /dev/null
+++ b/ico/breeze/22/edit-select-none.svg
@@ -0,0 +1,17 @@
+
diff --git a/ico/breeze/22/edit-select.svg b/ico/breeze/22/edit-select.svg
new file mode 100644
index 000000000..e88083b21
--- /dev/null
+++ b/ico/breeze/22/edit-select.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/edit-table-cell-merge.svg b/ico/breeze/22/edit-table-cell-merge.svg
new file mode 100644
index 000000000..495d29929
--- /dev/null
+++ b/ico/breeze/22/edit-table-cell-merge.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/edit-table-cell-split.svg b/ico/breeze/22/edit-table-cell-split.svg
new file mode 100644
index 000000000..10ae1161e
--- /dev/null
+++ b/ico/breeze/22/edit-table-cell-split.svg
@@ -0,0 +1,17 @@
+
diff --git a/ico/breeze/22/edit-table-delete-column.svg b/ico/breeze/22/edit-table-delete-column.svg
new file mode 100644
index 000000000..00a9929dc
--- /dev/null
+++ b/ico/breeze/22/edit-table-delete-column.svg
@@ -0,0 +1,17 @@
+
diff --git a/ico/breeze/22/edit-table-delete-row.svg b/ico/breeze/22/edit-table-delete-row.svg
new file mode 100644
index 000000000..18d8b0ec6
--- /dev/null
+++ b/ico/breeze/22/edit-table-delete-row.svg
@@ -0,0 +1,17 @@
+
diff --git a/ico/breeze/22/edit-table-insert-column-left.svg b/ico/breeze/22/edit-table-insert-column-left.svg
new file mode 100644
index 000000000..55faf9873
--- /dev/null
+++ b/ico/breeze/22/edit-table-insert-column-left.svg
@@ -0,0 +1,21 @@
+
diff --git a/ico/breeze/22/edit-table-insert-column-right.svg b/ico/breeze/22/edit-table-insert-column-right.svg
new file mode 100644
index 000000000..bf9e7022c
--- /dev/null
+++ b/ico/breeze/22/edit-table-insert-column-right.svg
@@ -0,0 +1,22 @@
+
diff --git a/ico/breeze/22/edit-table-insert-row-above.svg b/ico/breeze/22/edit-table-insert-row-above.svg
new file mode 100644
index 000000000..d4fd5b128
--- /dev/null
+++ b/ico/breeze/22/edit-table-insert-row-above.svg
@@ -0,0 +1,22 @@
+
diff --git a/ico/breeze/22/edit-table-insert-row-under.svg b/ico/breeze/22/edit-table-insert-row-under.svg
new file mode 100644
index 000000000..0fa501f4f
--- /dev/null
+++ b/ico/breeze/22/edit-table-insert-row-under.svg
@@ -0,0 +1,21 @@
+
diff --git a/ico/breeze/22/edit-undo.svg b/ico/breeze/22/edit-undo.svg
new file mode 100644
index 000000000..c4b1b8c19
--- /dev/null
+++ b/ico/breeze/22/edit-undo.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/folder-new.svg b/ico/breeze/22/folder-new.svg
new file mode 100644
index 000000000..6e89db8d3
--- /dev/null
+++ b/ico/breeze/22/folder-new.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/folder-open.svg b/ico/breeze/22/folder-open.svg
new file mode 100644
index 000000000..e75efe173
--- /dev/null
+++ b/ico/breeze/22/folder-open.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/22/folder.svg b/ico/breeze/22/folder.svg
new file mode 100644
index 000000000..9e428c70c
--- /dev/null
+++ b/ico/breeze/22/folder.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/22/format-text-bold.svg b/ico/breeze/22/format-text-bold.svg
new file mode 100644
index 000000000..d9ba1cb42
--- /dev/null
+++ b/ico/breeze/22/format-text-bold.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/format-text-italic.svg b/ico/breeze/22/format-text-italic.svg
new file mode 100644
index 000000000..adbd9bcd7
--- /dev/null
+++ b/ico/breeze/22/format-text-italic.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/format-text-subscript.svg b/ico/breeze/22/format-text-subscript.svg
new file mode 100644
index 000000000..ae48c2876
--- /dev/null
+++ b/ico/breeze/22/format-text-subscript.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/format-text-superscript.svg b/ico/breeze/22/format-text-superscript.svg
new file mode 100644
index 000000000..b94c71a72
--- /dev/null
+++ b/ico/breeze/22/format-text-superscript.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/format-text-underline.svg b/ico/breeze/22/format-text-underline.svg
new file mode 100644
index 000000000..53ee5967d
--- /dev/null
+++ b/ico/breeze/22/format-text-underline.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/go-bottom.svg b/ico/breeze/22/go-bottom.svg
new file mode 100644
index 000000000..629c1ad88
--- /dev/null
+++ b/ico/breeze/22/go-bottom.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/22/go-down-skip.svg b/ico/breeze/22/go-down-skip.svg
new file mode 100644
index 000000000..1b728706b
--- /dev/null
+++ b/ico/breeze/22/go-down-skip.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/22/go-down.svg b/ico/breeze/22/go-down.svg
new file mode 100644
index 000000000..44e782b98
--- /dev/null
+++ b/ico/breeze/22/go-down.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/go-home.svg b/ico/breeze/22/go-home.svg
new file mode 100644
index 000000000..8c9054a17
--- /dev/null
+++ b/ico/breeze/22/go-home.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/go-next-skip.svg b/ico/breeze/22/go-next-skip.svg
new file mode 100644
index 000000000..0ec9674a1
--- /dev/null
+++ b/ico/breeze/22/go-next-skip.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/22/go-next.svg b/ico/breeze/22/go-next.svg
new file mode 100644
index 000000000..2ee6a448a
--- /dev/null
+++ b/ico/breeze/22/go-next.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/go-previous-skip.svg b/ico/breeze/22/go-previous-skip.svg
new file mode 100644
index 000000000..f9ef7544f
--- /dev/null
+++ b/ico/breeze/22/go-previous-skip.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/22/go-previous.svg b/ico/breeze/22/go-previous.svg
new file mode 100644
index 000000000..f2415f787
--- /dev/null
+++ b/ico/breeze/22/go-previous.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/go-top.svg b/ico/breeze/22/go-top.svg
new file mode 100644
index 000000000..600ecf60e
--- /dev/null
+++ b/ico/breeze/22/go-top.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/22/go-up-skip.svg b/ico/breeze/22/go-up-skip.svg
new file mode 100644
index 000000000..54da45352
--- /dev/null
+++ b/ico/breeze/22/go-up-skip.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/22/go-up.svg b/ico/breeze/22/go-up.svg
new file mode 100644
index 000000000..21f77e91b
--- /dev/null
+++ b/ico/breeze/22/go-up.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/22/gtk-index.svg b/ico/breeze/22/gtk-index.svg
new file mode 100644
index 000000000..765de2ec3
--- /dev/null
+++ b/ico/breeze/22/gtk-index.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/help-contents.svg b/ico/breeze/22/help-contents.svg
new file mode 100644
index 000000000..e6ea8347f
--- /dev/null
+++ b/ico/breeze/22/help-contents.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/im-user-busy.svg b/ico/breeze/22/im-user-busy.svg
new file mode 100644
index 000000000..223115161
--- /dev/null
+++ b/ico/breeze/22/im-user-busy.svg
@@ -0,0 +1,7 @@
+
diff --git a/ico/breeze/22/im-user-online.svg b/ico/breeze/22/im-user-online.svg
new file mode 100644
index 000000000..16d88e7e2
--- /dev/null
+++ b/ico/breeze/22/im-user-online.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/22/insert-image.svg b/ico/breeze/22/insert-image.svg
new file mode 100644
index 000000000..8938c7ed1
--- /dev/null
+++ b/ico/breeze/22/insert-image.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/insert-text.svg b/ico/breeze/22/insert-text.svg
new file mode 100644
index 000000000..84b306bec
--- /dev/null
+++ b/ico/breeze/22/insert-text.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/list-add.svg b/ico/breeze/22/list-add.svg
new file mode 100644
index 000000000..f9bae3c6d
--- /dev/null
+++ b/ico/breeze/22/list-add.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/love-amarok.svg b/ico/breeze/22/love-amarok.svg
new file mode 100644
index 000000000..b15ddbcd2
--- /dev/null
+++ b/ico/breeze/22/love-amarok.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/media-playback-start.svg b/ico/breeze/22/media-playback-start.svg
new file mode 100644
index 000000000..1bf9eb6bc
--- /dev/null
+++ b/ico/breeze/22/media-playback-start.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/22/object-flip-horizontal.svg b/ico/breeze/22/object-flip-horizontal.svg
new file mode 100644
index 000000000..7a7589f81
--- /dev/null
+++ b/ico/breeze/22/object-flip-horizontal.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/object-flip-vertical.svg b/ico/breeze/22/object-flip-vertical.svg
new file mode 100644
index 000000000..0165ec553
--- /dev/null
+++ b/ico/breeze/22/object-flip-vertical.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/object-group.svg b/ico/breeze/22/object-group.svg
new file mode 100644
index 000000000..200034ed0
--- /dev/null
+++ b/ico/breeze/22/object-group.svg
@@ -0,0 +1,17 @@
+
diff --git a/ico/breeze/22/object-rotate-right.svg b/ico/breeze/22/object-rotate-right.svg
new file mode 100644
index 000000000..dea6ecb3f
--- /dev/null
+++ b/ico/breeze/22/object-rotate-right.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/paint-none.svg b/ico/breeze/22/paint-none.svg
new file mode 100644
index 000000000..ba832828f
--- /dev/null
+++ b/ico/breeze/22/paint-none.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/22/preferences-desktop-user.svg b/ico/breeze/22/preferences-desktop-user.svg
new file mode 100644
index 000000000..ddf66efcb
--- /dev/null
+++ b/ico/breeze/22/preferences-desktop-user.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/ico/breeze/22/snap-page.svg b/ico/breeze/22/snap-page.svg
new file mode 100644
index 000000000..5a5331b39
--- /dev/null
+++ b/ico/breeze/22/snap-page.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/22/text-csv.svg b/ico/breeze/22/text-csv.svg
new file mode 100644
index 000000000..20f53dd51
--- /dev/null
+++ b/ico/breeze/22/text-csv.svg
@@ -0,0 +1,11 @@
+
+
+
+
diff --git a/ico/breeze/22/text-field.svg b/ico/breeze/22/text-field.svg
new file mode 100644
index 000000000..03947bedd
--- /dev/null
+++ b/ico/breeze/22/text-field.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/text-xml.svg b/ico/breeze/22/text-xml.svg
new file mode 100644
index 000000000..e627ee108
--- /dev/null
+++ b/ico/breeze/22/text-xml.svg
@@ -0,0 +1,38 @@
+
\ No newline at end of file
diff --git a/ico/breeze/22/transform-move.svg b/ico/breeze/22/transform-move.svg
new file mode 100644
index 000000000..f6226a658
--- /dev/null
+++ b/ico/breeze/22/transform-move.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/transform-rotate.svg b/ico/breeze/22/transform-rotate.svg
new file mode 100644
index 000000000..206d45453
--- /dev/null
+++ b/ico/breeze/22/transform-rotate.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/transform-scale.svg b/ico/breeze/22/transform-scale.svg
new file mode 100644
index 000000000..6f67e88e2
--- /dev/null
+++ b/ico/breeze/22/transform-scale.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/video-symbolic.svg b/ico/breeze/22/video-symbolic.svg
new file mode 100644
index 000000000..9eeca3e75
--- /dev/null
+++ b/ico/breeze/22/video-symbolic.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/view-calendar-journal.svg b/ico/breeze/22/view-calendar-journal.svg
new file mode 100644
index 000000000..195fc060d
--- /dev/null
+++ b/ico/breeze/22/view-calendar-journal.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/view-fullscreen.svg b/ico/breeze/22/view-fullscreen.svg
new file mode 100644
index 000000000..d4246b700
--- /dev/null
+++ b/ico/breeze/22/view-fullscreen.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/view-grid.svg b/ico/breeze/22/view-grid.svg
new file mode 100644
index 000000000..be4f4d07b
--- /dev/null
+++ b/ico/breeze/22/view-grid.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/view-hidden.svg b/ico/breeze/22/view-hidden.svg
new file mode 100644
index 000000000..17903d16e
--- /dev/null
+++ b/ico/breeze/22/view-hidden.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/view-pages-facing.svg b/ico/breeze/22/view-pages-facing.svg
new file mode 100644
index 000000000..4a6debb83
--- /dev/null
+++ b/ico/breeze/22/view-pages-facing.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/22/view-pages-overview.svg b/ico/breeze/22/view-pages-overview.svg
new file mode 100644
index 000000000..2b0e87053
--- /dev/null
+++ b/ico/breeze/22/view-pages-overview.svg
@@ -0,0 +1,9 @@
+
diff --git a/ico/breeze/22/view-refresh.svg b/ico/breeze/22/view-refresh.svg
new file mode 100644
index 000000000..9059500a9
--- /dev/null
+++ b/ico/breeze/22/view-refresh.svg
@@ -0,0 +1,6 @@
+
diff --git a/ico/breeze/22/view-restore.svg b/ico/breeze/22/view-restore.svg
new file mode 100644
index 000000000..43dfefe56
--- /dev/null
+++ b/ico/breeze/22/view-restore.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/view-visible.svg b/ico/breeze/22/view-visible.svg
new file mode 100644
index 000000000..9e6f35e75
--- /dev/null
+++ b/ico/breeze/22/view-visible.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/window-new.svg b/ico/breeze/22/window-new.svg
new file mode 100644
index 000000000..dc87144e0
--- /dev/null
+++ b/ico/breeze/22/window-new.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/22/zoom-fit-best.svg b/ico/breeze/22/zoom-fit-best.svg
new file mode 100644
index 000000000..eef41ad7d
--- /dev/null
+++ b/ico/breeze/22/zoom-fit-best.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/22/zoom-fit-width.svg b/ico/breeze/22/zoom-fit-width.svg
new file mode 100644
index 000000000..02313480d
--- /dev/null
+++ b/ico/breeze/22/zoom-fit-width.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/22/zoom-in.svg b/ico/breeze/22/zoom-in.svg
new file mode 100644
index 000000000..115a914d3
--- /dev/null
+++ b/ico/breeze/22/zoom-in.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/22/zoom-original.svg b/ico/breeze/22/zoom-original.svg
new file mode 100644
index 000000000..a53fef35a
--- /dev/null
+++ b/ico/breeze/22/zoom-original.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/22/zoom-out.svg b/ico/breeze/22/zoom-out.svg
new file mode 100644
index 000000000..93f879418
--- /dev/null
+++ b/ico/breeze/22/zoom-out.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/32/amarok_change_language.svg b/ico/breeze/32/amarok_change_language.svg
new file mode 100644
index 000000000..8b6449858
--- /dev/null
+++ b/ico/breeze/32/amarok_change_language.svg
@@ -0,0 +1,28 @@
+
+
+
+
diff --git a/ico/breeze/32/application-exit.svg b/ico/breeze/32/application-exit.svg
new file mode 100644
index 000000000..711462f56
--- /dev/null
+++ b/ico/breeze/32/application-exit.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/32/application-postscript.svg b/ico/breeze/32/application-postscript.svg
new file mode 100644
index 000000000..39441414c
--- /dev/null
+++ b/ico/breeze/32/application-postscript.svg
@@ -0,0 +1,28 @@
+
diff --git a/ico/breeze/32/configure.svg b/ico/breeze/32/configure.svg
new file mode 100644
index 000000000..9a91671d0
--- /dev/null
+++ b/ico/breeze/32/configure.svg
@@ -0,0 +1,17 @@
+
diff --git a/ico/breeze/32/dialog-cancel.svg b/ico/breeze/32/dialog-cancel.svg
new file mode 100644
index 000000000..2179310eb
--- /dev/null
+++ b/ico/breeze/32/dialog-cancel.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/32/dialog-ok-apply.svg b/ico/breeze/32/dialog-ok-apply.svg
new file mode 100644
index 000000000..d05eca7b2
--- /dev/null
+++ b/ico/breeze/32/dialog-ok-apply.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/ico/breeze/32/document-close.svg b/ico/breeze/32/document-close.svg
new file mode 100644
index 000000000..0e9240843
--- /dev/null
+++ b/ico/breeze/32/document-close.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/32/document-decrypt.svg b/ico/breeze/32/document-decrypt.svg
new file mode 100644
index 000000000..363ac8a6c
--- /dev/null
+++ b/ico/breeze/32/document-decrypt.svg
@@ -0,0 +1,18 @@
+
diff --git a/ico/breeze/32/document-edit.svg b/ico/breeze/32/document-edit.svg
new file mode 100644
index 000000000..99e364827
--- /dev/null
+++ b/ico/breeze/32/document-edit.svg
@@ -0,0 +1,14 @@
+
diff --git a/ico/breeze/32/document-encrypted.svg b/ico/breeze/32/document-encrypted.svg
new file mode 100644
index 000000000..d409ae15f
--- /dev/null
+++ b/ico/breeze/32/document-encrypted.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/32/document-export.svg b/ico/breeze/32/document-export.svg
new file mode 100644
index 000000000..d29db671d
--- /dev/null
+++ b/ico/breeze/32/document-export.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/ico/breeze/32/document-import.svg b/ico/breeze/32/document-import.svg
new file mode 100644
index 000000000..d3f79fafe
--- /dev/null
+++ b/ico/breeze/32/document-import.svg
@@ -0,0 +1,11 @@
+
+
diff --git a/ico/breeze/32/document-new.svg b/ico/breeze/32/document-new.svg
new file mode 100644
index 000000000..156cd5651
--- /dev/null
+++ b/ico/breeze/32/document-new.svg
@@ -0,0 +1,68 @@
+
+
diff --git a/ico/breeze/32/document-open-recent.svg b/ico/breeze/32/document-open-recent.svg
new file mode 100644
index 000000000..bad3613f3
--- /dev/null
+++ b/ico/breeze/32/document-open-recent.svg
@@ -0,0 +1,24 @@
+
+
diff --git a/ico/breeze/32/document-open.svg b/ico/breeze/32/document-open.svg
new file mode 100644
index 000000000..f73f75a01
--- /dev/null
+++ b/ico/breeze/32/document-open.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/32/document-print.svg b/ico/breeze/32/document-print.svg
new file mode 100644
index 000000000..2d05d7c04
--- /dev/null
+++ b/ico/breeze/32/document-print.svg
@@ -0,0 +1,16 @@
+
diff --git a/ico/breeze/32/document-properties.svg b/ico/breeze/32/document-properties.svg
new file mode 100644
index 000000000..f37a43ab1
--- /dev/null
+++ b/ico/breeze/32/document-properties.svg
@@ -0,0 +1,18 @@
+
diff --git a/ico/breeze/32/document-save-all.svg b/ico/breeze/32/document-save-all.svg
new file mode 100644
index 000000000..25a7dd413
--- /dev/null
+++ b/ico/breeze/32/document-save-all.svg
@@ -0,0 +1,18 @@
+
diff --git a/ico/breeze/32/document-save-as.svg b/ico/breeze/32/document-save-as.svg
new file mode 100644
index 000000000..4c3cf870e
--- /dev/null
+++ b/ico/breeze/32/document-save-as.svg
@@ -0,0 +1,18 @@
+
diff --git a/ico/breeze/32/document-save.svg b/ico/breeze/32/document-save.svg
new file mode 100644
index 000000000..822d681e2
--- /dev/null
+++ b/ico/breeze/32/document-save.svg
@@ -0,0 +1,18 @@
+
diff --git a/ico/breeze/32/edit-delete.svg b/ico/breeze/32/edit-delete.svg
new file mode 100644
index 000000000..0a62e5bc6
--- /dev/null
+++ b/ico/breeze/32/edit-delete.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/ico/breeze/32/edit-redo.svg b/ico/breeze/32/edit-redo.svg
new file mode 100644
index 000000000..8c36b94c2
--- /dev/null
+++ b/ico/breeze/32/edit-redo.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/32/edit-select.svg b/ico/breeze/32/edit-select.svg
new file mode 100644
index 000000000..ac4dff2bf
--- /dev/null
+++ b/ico/breeze/32/edit-select.svg
@@ -0,0 +1,17 @@
+
diff --git a/ico/breeze/32/edit-undo.svg b/ico/breeze/32/edit-undo.svg
new file mode 100644
index 000000000..fb3dfa29e
--- /dev/null
+++ b/ico/breeze/32/edit-undo.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/32/folder-new.svg b/ico/breeze/32/folder-new.svg
new file mode 100644
index 000000000..51babd764
--- /dev/null
+++ b/ico/breeze/32/folder-new.svg
@@ -0,0 +1,18 @@
+
diff --git a/ico/breeze/32/folder-open.svg b/ico/breeze/32/folder-open.svg
new file mode 100644
index 000000000..2f419ca8c
--- /dev/null
+++ b/ico/breeze/32/folder-open.svg
@@ -0,0 +1,30 @@
+
diff --git a/ico/breeze/32/folder.svg b/ico/breeze/32/folder.svg
new file mode 100644
index 000000000..15039f12a
--- /dev/null
+++ b/ico/breeze/32/folder.svg
@@ -0,0 +1,30 @@
+
diff --git a/ico/breeze/32/go-bottom.svg b/ico/breeze/32/go-bottom.svg
new file mode 100644
index 000000000..802ffc6a8
--- /dev/null
+++ b/ico/breeze/32/go-bottom.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/32/go-down-skip.svg b/ico/breeze/32/go-down-skip.svg
new file mode 100644
index 000000000..01d95f711
--- /dev/null
+++ b/ico/breeze/32/go-down-skip.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/32/go-down.svg b/ico/breeze/32/go-down.svg
new file mode 100644
index 000000000..839120539
--- /dev/null
+++ b/ico/breeze/32/go-down.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/32/go-next-skip.svg b/ico/breeze/32/go-next-skip.svg
new file mode 100644
index 000000000..f04490974
--- /dev/null
+++ b/ico/breeze/32/go-next-skip.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/32/go-next.svg b/ico/breeze/32/go-next.svg
new file mode 100644
index 000000000..1859a8e41
--- /dev/null
+++ b/ico/breeze/32/go-next.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/32/go-previous-skip.svg b/ico/breeze/32/go-previous-skip.svg
new file mode 100644
index 000000000..0197efd74
--- /dev/null
+++ b/ico/breeze/32/go-previous-skip.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/32/go-previous.svg b/ico/breeze/32/go-previous.svg
new file mode 100644
index 000000000..e5b8d0276
--- /dev/null
+++ b/ico/breeze/32/go-previous.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/32/go-top.svg b/ico/breeze/32/go-top.svg
new file mode 100644
index 000000000..5c9079cd0
--- /dev/null
+++ b/ico/breeze/32/go-top.svg
@@ -0,0 +1,13 @@
+
diff --git a/ico/breeze/32/go-up-skip.svg b/ico/breeze/32/go-up-skip.svg
new file mode 100644
index 000000000..035b27c34
--- /dev/null
+++ b/ico/breeze/32/go-up-skip.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/32/go-up.svg b/ico/breeze/32/go-up.svg
new file mode 100644
index 000000000..68d5c0357
--- /dev/null
+++ b/ico/breeze/32/go-up.svg
@@ -0,0 +1,10 @@
+
diff --git a/ico/breeze/32/media-playback-start.svg b/ico/breeze/32/media-playback-start.svg
new file mode 100644
index 000000000..28f7c9b3d
--- /dev/null
+++ b/ico/breeze/32/media-playback-start.svg
@@ -0,0 +1,18 @@
+
diff --git a/ico/breeze/32/preferences-desktop-user.svg b/ico/breeze/32/preferences-desktop-user.svg
new file mode 100644
index 000000000..1b27a07df
--- /dev/null
+++ b/ico/breeze/32/preferences-desktop-user.svg
@@ -0,0 +1,28 @@
+
+
+
+
diff --git a/ico/breeze/32/text-csv.svg b/ico/breeze/32/text-csv.svg
new file mode 100644
index 000000000..54e71c7b6
--- /dev/null
+++ b/ico/breeze/32/text-csv.svg
@@ -0,0 +1,28 @@
+
diff --git a/ico/breeze/32/text-xml.svg b/ico/breeze/32/text-xml.svg
new file mode 100644
index 000000000..412e09202
--- /dev/null
+++ b/ico/breeze/32/text-xml.svg
@@ -0,0 +1,26 @@
+
diff --git a/ico/breeze/32/view-refresh.svg b/ico/breeze/32/view-refresh.svg
new file mode 100644
index 000000000..0d74f59c3
--- /dev/null
+++ b/ico/breeze/32/view-refresh.svg
@@ -0,0 +1,6 @@
+
diff --git a/ico/breeze/32/zoom-fit-best.svg b/ico/breeze/32/zoom-fit-best.svg
new file mode 100644
index 000000000..fe29304a5
--- /dev/null
+++ b/ico/breeze/32/zoom-fit-best.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/32/zoom-fit-width.svg b/ico/breeze/32/zoom-fit-width.svg
new file mode 100644
index 000000000..7d2d3af83
--- /dev/null
+++ b/ico/breeze/32/zoom-fit-width.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/32/zoom-in.svg b/ico/breeze/32/zoom-in.svg
new file mode 100644
index 000000000..04d10c9b3
--- /dev/null
+++ b/ico/breeze/32/zoom-in.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/32/zoom-original.svg b/ico/breeze/32/zoom-original.svg
new file mode 100644
index 000000000..a730a7df3
--- /dev/null
+++ b/ico/breeze/32/zoom-original.svg
@@ -0,0 +1,8 @@
+
diff --git a/ico/breeze/32/zoom-out.svg b/ico/breeze/32/zoom-out.svg
new file mode 100644
index 000000000..20ae7caf5
--- /dev/null
+++ b/ico/breeze/32/zoom-out.svg
@@ -0,0 +1,8 @@
+
diff --git a/misc/import_breeze_icons.py b/misc/import_breeze_icons.py
new file mode 100644
index 000000000..e8bd9af4a
--- /dev/null
+++ b/misc/import_breeze_icons.py
@@ -0,0 +1,80 @@
+#!/usr/bin/env python3
+# Copyright 2006-2026 The QElectroTech Team
+# This file is part of QElectroTech.
+#
+# QElectroTech is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# QElectroTech is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with QElectroTech. If not, see .
+"""Copy the Breeze icons listed in misc/make_icon_themes.py into ico/breeze/.
+
+Run from the repository root with a checkout of
+https://github.com/KDE/breeze-icons:
+
+ python3 misc/import_breeze_icons.py /path/to/breeze-icons
+ python3 misc/make_icon_themes.py
+
+For each Breeze name in BREEZE it writes the art Breeze draws at 16, 22
+and 32 pixels, unchanged:
+
+ ico/breeze/16/.svg
+ ico/breeze/22/.svg
+ ico/breeze/32/.svg
+
+Many Breeze names are symbolic links to another file. The copy holds the
+linked file's content under the name BREEZE gives, so list the link's
+target in BREEZE and several QET icons share one copy. Every name needs
+22 pixel art; 16 and 32 are copied where Breeze has them.
+"""
+
+import sys
+from pathlib import Path
+
+sys.path.insert(0, str(Path(__file__).resolve().parent))
+from make_icon_themes import BREEZE, BREEZE_SIZES, ICO # noqa: E402
+
+CATEGORIES = ["actions", "places", "mimetypes", "status", "devices", "apps", "preferences"]
+OUT = ICO / "breeze"
+
+
+def find(checkout, name, size):
+ for category in CATEGORIES:
+ path = checkout / "icons" / category / str(size) / f"{name}.svg"
+ if path.exists():
+ return path.resolve()
+ return None
+
+
+def main():
+ if len(sys.argv) != 2:
+ sys.exit(__doc__)
+ checkout = Path(sys.argv[1])
+ names = sorted(set(BREEZE.values()))
+ wanted = set()
+ for name in names:
+ if not find(checkout, name, 22):
+ sys.exit(f"{name}: no 22 pixel icon in {checkout}")
+ for size in BREEZE_SIZES:
+ source = find(checkout, name, size)
+ if source:
+ target = OUT / str(size) / f"{name}.svg"
+ target.parent.mkdir(parents=True, exist_ok=True)
+ target.write_bytes(source.read_bytes())
+ wanted.add(target)
+ # Drop icons no longer listed, so ico/breeze/ holds only what the theme uses.
+ for old in sorted(OUT.glob("*/*.svg")):
+ if old not in wanted:
+ old.unlink()
+ print(f"{len(names)} Breeze icons, {len(wanted)} files written to {OUT.relative_to(ICO.parent)}")
+
+
+if __name__ == "__main__":
+ main()
diff --git a/misc/make_icon_themes.py b/misc/make_icon_themes.py
index 5e381c555..1a2a79bfb 100644
--- a/misc/make_icon_themes.py
+++ b/misc/make_icon_themes.py
@@ -26,8 +26,81 @@ It writes:
ico/themes/qet-dark/index.theme the dark theme, inherits "qet"
ico/themes/qet-dark//*.png light-ink copies of the line-art icons
ico/themes/qet-dark/scalable/*.svg the same for the SVG icons
+ ico/themes/qet-dark/breeze*/ the same for the Breeze SVGs
+ ico/themes/qet-dark/traced*/ the same for the traced SVGs
+ ico/generated/scalable-22/*.svg QET's 24 pixel canvas cut down to its 22 pixel art
+ ico/generated/breeze-24/*.svg Breeze 22 pixel art on a 24 pixel canvas
+ ico/generated/traced-24/*.svg traced 22 pixel art on a 24 pixel canvas
+ ico/generated/traced-large-24/*.svg the smooth 22 pixel design on that canvas
ico/icon-themes.qrc resource file listing both themes
+An icon listed in BREEZE comes from the KDE Breeze theme instead of its
+PNG files. misc/import_breeze_icons.py copies Breeze's 16, 22 and 32
+pixel art into ico/breeze/. The icon's PNG files are left out of the
+theme, so Qt never picks them over the SVG.
+
+Qt draws an SVG at the size asked for. Art drawn on a 16 pixel grid is
+sharp at 16, 32, 64 and 128 pixels, where each of its pixels covers
+whole screen pixels; at 24 its 1 pixel lines fall between pixels and
+blur. So each size folder of the theme aliases the art whose grid
+divides that size:
+
+ 16x16 16 pixel art
+ 22x22 22 pixel art
+ scalable 22 pixel art on a 24 pixel canvas, for Fusion's toolbar
+ 32x32 32 pixel art, else 16 pixel art doubled
+ 48x48 the 24 pixel canvas doubled
+ 64x64 32 pixel art doubled, else 16 pixel art
+ 128x128 32 pixel art, else 16 pixel art
+
+On a 2x screen Qt asks for twice the pixels and takes the scalable file
+unless a folder is declared for that scale. A 16 pixel menu icon would
+then be the 24 pixel canvas drawn at 32 pixels, blurred. So each size
+folder has a twin with Scale=2 (16x16@2 and so on) that aliases the art
+for twice the pixels, by the same rule.
+
+Where Breeze has no 16 pixel drawing, QET adds one in
+ico/breeze-added/16/, on Breeze's grid and in its colors, so every icon
+has art drawn for 16 pixels. Without one, the 32 pixel art is halved,
+which blurs.
+
+32 pixel art drawn in another style than the 22 pixel art (a blue
+folder for a line-art one) is not used; the 16 pixel art keeps the
+icon's look.
+
+Qt takes a Fixed folder only at its exact size and the scalable file for
+every other size, so a size not listed, such as the 50 pixels of the
+elements panel, is still scaled.
+
+An SVG of ico/scalable/ is 22 pixel art on a 24 pixel canvas: sharp in
+the toolbar and blurred at 16 pixels, in a menu. One with a 16 pixel
+drawing of the same name in ico/scalable/16/ (the Align icons) is
+served as a Breeze icon is: the 16 pixel drawing, the 22 pixel art cut
+out of the canvas, and the file itself at 24 and 48 pixels.
+
+An icon with files in ico/traced/ is QET's own PNG art redrawn as SVG.
+ico/traced/16 and ico/traced/22 hold the PNG copied pixel by pixel, so
+the icon looks as it did at those sizes. ico/traced/large16 and
+ico/traced/large22 hold the same two designs as smooth vectors, for the
+larger sizes and for 2x screens. A smooth vector still has its straight
+edges on the grid it was drawn on, so it follows the same rule as the
+Breeze art:
+
+ 16x16 the 16 pixel copy
+ 22x22 the 22 pixel copy
+ 24x24 the 22 pixel copy on a 24 pixel canvas
+ a multiple of 24 pixels (48, 96) the smooth 22 pixel design
+ on a 24 pixel canvas
+ another multiple of 16 (32, 64, 128...) the smooth 16 pixel design
+ 44 pixels and scalable the smooth 22 pixel design
+
+The Scale=2 folders follow the table at twice their size. Four icons
+have a 32 pixel design, used in place of both smooth vectors.
+
+An SVG is recolored for the dark theme through its text color (see
+dark_svg). A colored SVG, one without a text color, gets no dark copy
+and is inherited from the light theme, as a colored PNG is.
+
The light theme does not copy any file. The .qrc aliases the existing
ico//.png files into the theme layout Qt's icon loader
expects, so QIcon::fromTheme("name") finds them. The dark theme only holds
@@ -77,15 +150,18 @@ QRC = ICO / "icon-themes.qrc"
# Fixed-size folders that hold toolbar, menu and dialog icons. The 24x16
# flags, the 22x22/color swatches and the application icons are not theme
# icons and stay on their resource paths.
-SIZES = ["16x16", "22x22", "32x32", "48x48", "128x128"]
+SIZES = ["16x16", "22x22", "32x32", "48x48", "64x64", "128x128"]
+
+# The folder that holds the traced icons' 22 pixel art on a 24 pixel
+# canvas. It has no PNGs. Breeze icons use the scalable folder for this;
+# a traced icon's scalable file is its smooth vector.
+CANVAS_SIZE = "24x24"
# Table entries in sources/qeticons.cpp that pair a 16 pixel file with a
# 22 pixel file of another name. The theme needs one name per icon, so
# the 22 pixel file is exposed under the 16 pixel name as well. The folio
-# icons that used to be listed here are SVGs now (ico/scalable/).
-ALIASES = {
- "22x22/conductor2.png": "conductor-reset",
-}
+# and conductor icons that used to be listed here are SVGs now.
+ALIASES = {}
# SVG icons referenced from sources/qeticons.cpp. ico/scalable/ holds the
# ones drawn for QET as vectors; one file serves every size.
@@ -113,6 +189,132 @@ SVGS = [
"generated/rect-to-polyline.svg",
]
+# Icons served by Breeze SVGs in ico/breeze/, QET name to Breeze name.
+# The Breeze name is the file a symbolic link resolves to, so QET icons
+# that share art share one copy (misc/import_breeze_icons.py).
+BREEZE = {
+ "application-exit": "application-exit",
+ "applications-development-translation": "amarok_change_language",
+ "arrow-left": "go-previous",
+ "arrow-right": "go-next",
+ "circle": "draw-circle",
+ "configure": "configure",
+ "dialog-cancel": "dialog-cancel",
+ "dialog-ok": "dialog-ok-apply",
+ "document-close": "document-close",
+ "document-export": "document-export",
+ "document-import": "document-import",
+ "document-new": "document-new",
+ "document-open": "document-open",
+ "document-open-recent": "document-open-recent",
+ "document-print": "document-print",
+ "document-print-frame": "document-print",
+ "document-save": "document-save",
+ "document-save-all": "document-save-all",
+ "document-save-as": "document-save-as",
+ "edit-clear": "edit-clear",
+ "edit-clear-locationbar-ltr": "edit-clear-locationbar-ltr",
+ "edit-copy": "edit-copy",
+ "edit-cut": "edit-cut",
+ "edit-delete": "edit-delete",
+ "edit-download": "edit-download",
+ "edit-paste": "edit-paste",
+ "edit-redo": "edit-redo",
+ "edit-rename": "document-edit",
+ "edit-select-all": "edit-select-all",
+ "edit-select-invert": "edit-select-invert",
+ "edit-select-none": "edit-select-none",
+ "edit-table-cell-merge": "edit-table-cell-merge",
+ "edit-table-cell-split": "edit-table-cell-split",
+ "edit-table-delete-column": "edit-table-delete-column",
+ "edit-table-delete-row": "edit-table-delete-row",
+ "edit-table-insert-column-left": "edit-table-insert-column-left",
+ "edit-table-insert-column-right": "edit-table-insert-column-right",
+ "edit-table-insert-row-above": "edit-table-insert-row-above",
+ "edit-table-insert-row-under": "edit-table-insert-row-under",
+ "edit-undo": "edit-undo",
+ "ellipse": "draw-ellipse",
+ "flip": "object-flip-vertical",
+ "folder": "folder",
+ "folder-new": "folder-new",
+ "folder-open": "folder-open",
+ "folder-properties": "document-properties",
+ "format-text-bold": "format-text-bold",
+ "format-text-italic": "format-text-italic",
+ "format-text-subscript": "format-text-subscript",
+ "format-text-superscript": "format-text-superscript",
+ "format-text-underline": "format-text-underline",
+ "go-bottom": "go-bottom",
+ "go-down": "go-down",
+ "go-down-double": "go-down-skip",
+ "go-home": "go-home",
+ "go-top": "go-top",
+ "go-up": "go-up",
+ "go-up-double": "go-up-skip",
+ "grid": "view-grid",
+ "help-contents": "help-contents",
+ "help-donate": "love-amarok",
+ "image-x-eps": "application-postscript",
+ "insert-image": "insert-image",
+ "item-cancel": "dialog-cancel",
+ "item-copy": "edit-copy",
+ "item-move": "transform-move",
+ "kdenlive-show-video": "video-symbolic",
+ "line": "draw-line",
+ "list-add": "list-add",
+ "list-remove": "paint-none",
+ "masquer": "view-hidden",
+ "mirror": "object-flip-horizontal",
+ "object-group": "object-group",
+ "object-locked": "document-encrypted",
+ "object-rotate-right": "object-rotate-right",
+ "object-unlocked": "document-decrypt",
+ "polygon": "draw-polygon",
+ "preferences-desktop-user": "preferences-desktop-user",
+ "rectangle": "draw-rectangle",
+ "restaurer": "view-visible",
+ "select": "edit-select",
+ "single_page": "snap-page",
+ "start": "media-playback-start",
+ "table-of-content": "gtk-index",
+ "text": "insert-text",
+ "transform-rotate": "transform-rotate",
+ "transform-scale": "transform-scale",
+ "two_pages": "view-pages-facing",
+ "user-busy": "im-user-busy",
+ "user-online": "im-user-online",
+ "view-fit-window": "zoom-fit-best",
+ "view-fullscreen": "view-fullscreen",
+ "view-pim-journal": "view-calendar-journal",
+ "view-refresh": "view-refresh",
+ "view-restore": "view-restore",
+ "view_fit_width": "zoom-fit-width",
+ "window-new": "window-new",
+ "zoom-draw": "zoom-fit-best",
+ "zoom-in": "zoom-in",
+ "zoom-original": "zoom-original",
+ "zoom-out": "zoom-out",
+}
+
+# Sizes Breeze draws its action icons at, the folders of ico/breeze/.
+BREEZE_SIZES = [16, 22, 32]
+
+# Where the generator puts the 22 pixel Breeze art moved onto a 24 pixel
+# canvas (see on_24_canvas).
+BREEZE_24 = ICO / "generated" / "breeze-24"
+
+# Icons traced from QET's PNG art: every name with a file in ico/traced/16.
+TRACED = sorted(svg.stem for svg in (ICO / "traced" / "16").glob("*.svg"))
+
+# Where the generator puts the 22 pixel art cut out of the ico/scalable/
+# files that have a 16 pixel drawing (see grid_entries).
+SCALABLE_22 = ICO / "generated" / "scalable-22"
+
+# Where the generator puts the 22 pixel traced art on a 24 pixel canvas:
+# the pixel copy and the smooth vector.
+TRACED_24 = ICO / "generated" / "traced-24"
+TRACED_LARGE_24 = ICO / "generated" / "traced-large-24"
+
SATURATED_FRACTION = 0.20 # at or above this an icon is "colored"
WHITE_LIGHTNESS = 0.85 # a visible pixel this light counts as white
WHITE_FRACTION = 0.30 # at or above this an icon is "light art"
@@ -201,6 +403,152 @@ def invert_lightness(image):
return out
+TEXT_COLOR = re.compile(r"(\.ColorScheme-(?:Text|ButtonText)\s*\{[^}]*?color:\s*)#[0-9a-fA-F]{6}")
+TEXT_CLASS = re.compile(r'class="[^"]*\bColorScheme-(?:Text|ButtonText)\b')
+
+
+def dark_svg(text):
+ """The dark copy of an SVG, or None when the art is colored.
+
+ A Breeze SVG colors its parts through a stylesheet: ColorScheme-Text
+ for the ink, ColorScheme-NegativeText for red and so on. Only the text
+ colors change; a red delete icon stays red. A file whose stylesheet
+ declares the text color but draws nothing in it is colored. An SVG
+ without such a stylesheet has its currentColor replaced.
+ """
+ if "ColorScheme-" in text:
+ if not TEXT_CLASS.search(text):
+ return None
+ dark, count = TEXT_COLOR.subn(rf"\g<1>{SVG_INK}", text)
+ return dark if count else None
+ if "currentColor" in text:
+ return text.replace("currentColor", SVG_INK)
+ return None
+
+
+def svg_size(tag):
+ """The canvas width of an