From 6123eab8b66429cee554b7bfb33e6790dbcb59e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Danilovi=C4=87?= Date: Tue, 3 Jan 2017 06:15:36 +0100 Subject: [PATCH 1/4] Add dark icon style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These icons are the color inverted original ones ( otherwise umodified ) Signed-off-by: Filip Danilović --- share/git-cola/icons/dark/README.md | 118 ++++++++++ share/git-cola/icons/dark/check.svg | 53 +++++ .../git-cola/icons/dark/circle-slash-red.svg | 53 +++++ share/git-cola/icons/dark/circle-slash.svg | 53 +++++ .../git-cola/icons/dark/desktop-download.svg | 53 +++++ share/git-cola/icons/dark/diff.svg | 53 +++++ share/git-cola/icons/dark/edit-copy.svg | 55 +++++ share/git-cola/icons/dark/edit-select-all.svg | 82 +++++++ share/git-cola/icons/dark/edit-undo.svg | 82 +++++++ share/git-cola/icons/dark/ellipsis.svg | 53 +++++ share/git-cola/icons/dark/eye.svg | 53 +++++ share/git-cola/icons/dark/file-binary.svg | 53 +++++ share/git-cola/icons/dark/file-code.svg | 53 +++++ share/git-cola/icons/dark/file-directory.svg | 53 +++++ share/git-cola/icons/dark/file-download.svg | 52 +++++ share/git-cola/icons/dark/file-media.svg | 53 +++++ share/git-cola/icons/dark/file-text.svg | 53 +++++ share/git-cola/icons/dark/file-zip.svg | 53 +++++ share/git-cola/icons/dark/fold.svg | 53 +++++ share/git-cola/icons/dark/folder-new.svg | 87 ++++++++ share/git-cola/icons/dark/folder.svg | 82 +++++++ share/git-cola/icons/dark/gear.svg | 53 +++++ share/git-cola/icons/dark/git-branch.svg | 53 +++++ share/git-cola/icons/dark/git-cola.ico | Bin 0 -> 370070 bytes share/git-cola/icons/dark/git-cola.svg | 71 ++++++ share/git-cola/icons/dark/git-compare.svg | 53 +++++ share/git-cola/icons/dark/git-merge.svg | 53 +++++ share/git-cola/icons/dark/link-external.svg | 53 +++++ share/git-cola/icons/dark/modified.svg | 62 ++++++ share/git-cola/icons/dark/partial.svg | 65 ++++++ share/git-cola/icons/dark/pencil.svg | 53 +++++ share/git-cola/icons/dark/plus.svg | 53 +++++ share/git-cola/icons/dark/primitive-dot.svg | 53 +++++ share/git-cola/icons/dark/question-plain.svg | 55 +++++ share/git-cola/icons/dark/question.svg | 53 +++++ share/git-cola/icons/dark/repo-pull.svg | 53 +++++ share/git-cola/icons/dark/repo-push.svg | 53 +++++ share/git-cola/icons/dark/repo.svg | 53 +++++ share/git-cola/icons/dark/screen-full.svg | 53 +++++ share/git-cola/icons/dark/search.svg | 53 +++++ share/git-cola/icons/dark/staged.svg | 65 ++++++ share/git-cola/icons/dark/star.svg | 53 +++++ share/git-cola/icons/dark/sync.svg | 53 +++++ share/git-cola/icons/dark/tag.svg | 53 +++++ share/git-cola/icons/dark/telescope.svg | 53 +++++ share/git-cola/icons/dark/trashcan.svg | 53 +++++ share/git-cola/icons/dark/unfold.svg | 53 +++++ share/git-cola/icons/dark/upstream.svg | 61 ++++++ share/git-cola/icons/dark/x.svg | 53 +++++ share/git-cola/icons/dark/zoom-fit-best.svg | 200 +++++++++++++++++ share/git-cola/icons/dark/zoom-in.svg | 203 ++++++++++++++++++ share/git-cola/icons/dark/zoom-out.svg | 198 +++++++++++++++++ 52 files changed, 3393 insertions(+) create mode 100644 share/git-cola/icons/dark/README.md create mode 100644 share/git-cola/icons/dark/check.svg create mode 100644 share/git-cola/icons/dark/circle-slash-red.svg create mode 100644 share/git-cola/icons/dark/circle-slash.svg create mode 100644 share/git-cola/icons/dark/desktop-download.svg create mode 100644 share/git-cola/icons/dark/diff.svg create mode 100644 share/git-cola/icons/dark/edit-copy.svg create mode 100644 share/git-cola/icons/dark/edit-select-all.svg create mode 100644 share/git-cola/icons/dark/edit-undo.svg create mode 100644 share/git-cola/icons/dark/ellipsis.svg create mode 100644 share/git-cola/icons/dark/eye.svg create mode 100644 share/git-cola/icons/dark/file-binary.svg create mode 100644 share/git-cola/icons/dark/file-code.svg create mode 100644 share/git-cola/icons/dark/file-directory.svg create mode 100644 share/git-cola/icons/dark/file-download.svg create mode 100644 share/git-cola/icons/dark/file-media.svg create mode 100644 share/git-cola/icons/dark/file-text.svg create mode 100644 share/git-cola/icons/dark/file-zip.svg create mode 100644 share/git-cola/icons/dark/fold.svg create mode 100644 share/git-cola/icons/dark/folder-new.svg create mode 100644 share/git-cola/icons/dark/folder.svg create mode 100644 share/git-cola/icons/dark/gear.svg create mode 100644 share/git-cola/icons/dark/git-branch.svg create mode 100644 share/git-cola/icons/dark/git-cola.ico create mode 100644 share/git-cola/icons/dark/git-cola.svg create mode 100644 share/git-cola/icons/dark/git-compare.svg create mode 100644 share/git-cola/icons/dark/git-merge.svg create mode 100644 share/git-cola/icons/dark/link-external.svg create mode 100644 share/git-cola/icons/dark/modified.svg create mode 100644 share/git-cola/icons/dark/partial.svg create mode 100644 share/git-cola/icons/dark/pencil.svg create mode 100644 share/git-cola/icons/dark/plus.svg create mode 100644 share/git-cola/icons/dark/primitive-dot.svg create mode 100644 share/git-cola/icons/dark/question-plain.svg create mode 100644 share/git-cola/icons/dark/question.svg create mode 100644 share/git-cola/icons/dark/repo-pull.svg create mode 100644 share/git-cola/icons/dark/repo-push.svg create mode 100644 share/git-cola/icons/dark/repo.svg create mode 100644 share/git-cola/icons/dark/screen-full.svg create mode 100644 share/git-cola/icons/dark/search.svg create mode 100644 share/git-cola/icons/dark/staged.svg create mode 100644 share/git-cola/icons/dark/star.svg create mode 100644 share/git-cola/icons/dark/sync.svg create mode 100644 share/git-cola/icons/dark/tag.svg create mode 100644 share/git-cola/icons/dark/telescope.svg create mode 100644 share/git-cola/icons/dark/trashcan.svg create mode 100644 share/git-cola/icons/dark/unfold.svg create mode 100644 share/git-cola/icons/dark/upstream.svg create mode 100644 share/git-cola/icons/dark/x.svg create mode 100644 share/git-cola/icons/dark/zoom-fit-best.svg create mode 100644 share/git-cola/icons/dark/zoom-in.svg create mode 100644 share/git-cola/icons/dark/zoom-out.svg diff --git a/share/git-cola/icons/dark/README.md b/share/git-cola/icons/dark/README.md new file mode 100644 index 000000000..59b8a22d7 --- /dev/null +++ b/share/git-cola/icons/dark/README.md @@ -0,0 +1,118 @@ +Git Cola Dark Icons +-------------- +All icons in this directory, besides color inversion, +are unmodified original ones. All kudos and copyrights go to their +respective authors ( see original readme bellow ). + +2017 Filip Danilovic + +-------------------- + +Git Cola Icons +-------------- + +The following icons are based on the based on the original .png icon designs +for git-cola's File Browser by Uri Okrent. + +staged.svg +modified.svg +partial.svg +upstream.svg + +Copyright (C) 2011 Uri Okrent +Copyright (C) 2015-2016 David Aguilar and contributors + +License: MIT + + +Git Logo +-------- +Git Logo by Jason Long is licensed under the +Creative Commons Attribution 3.0 Unported License. +http://git-scm.com/downloads/logos + +git-cola.svg is based on the original Git Logo. + + +Octicons +-------- +The following files are from Github's +[octicons](https://github.com/github/octicons) icon set: + +check.svg +circle-slash.svg +desktop-download.svg +diff.svg +ellipsis.svg +eye.svg +file-binary.svg +file-code.svg +file-directory.svg +file-media.svg +file-text.svg +file-zip.svg +fold.svg +gear.svg +git-branch.svg +git-compare.svg +git-merge.svg +link-external.svg +pencil.svg +plus.svg +primitive-dot.svg +question.svg +question-plain.svg +repo-pull.svg +repo-push.svg +repo.svg +screen-full.svg +search.svg +star.svg +sync.svg +tag.svg +telescope.svg +trashcan.svg +unfold.svg +x.svg + +Copyright (C) 2012-2015 GitHub +License: [MIT](http://choosealicense.com/licenses/mit/) + + +Gnome High Contrast Icons +------------------------- +The following files are from the Gnome High Contrast Icon set: + +zoom-fit-best.svg +zoom-in.svg +zoom-out.svg + +License: LGPL v2+ + + +Flaticon.com Icons +------------------ + +The following files are designed by Freepik from http://www.flaticons.com/ + +edit-undo.svg + +License: [Flatpik Basic License](http://cdn.flaticon.com/license/license.pdf) + + +The following files are by Linh Pham from http://flaticons.com/ + +edit-copy.svg + +License: [Creative Commons BY 3.0](http://creativecommons.org/licenses/by/3.0/) + + +Google Icons +------------ + +The following files are by Google: + +edit-select-all.svg +file-download.svg + +License: [Creative Commons BY 3.0](http://creativecommons.org/licenses/by/3.0/) diff --git a/share/git-cola/icons/dark/check.svg b/share/git-cola/icons/dark/check.svg new file mode 100644 index 000000000..ef26d17fd --- /dev/null +++ b/share/git-cola/icons/dark/check.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/circle-slash-red.svg b/share/git-cola/icons/dark/circle-slash-red.svg new file mode 100644 index 000000000..3298a03e8 --- /dev/null +++ b/share/git-cola/icons/dark/circle-slash-red.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/circle-slash.svg b/share/git-cola/icons/dark/circle-slash.svg new file mode 100644 index 000000000..26d46d144 --- /dev/null +++ b/share/git-cola/icons/dark/circle-slash.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/desktop-download.svg b/share/git-cola/icons/dark/desktop-download.svg new file mode 100644 index 000000000..5dcbcc72b --- /dev/null +++ b/share/git-cola/icons/dark/desktop-download.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/diff.svg b/share/git-cola/icons/dark/diff.svg new file mode 100644 index 000000000..1e68c7df8 --- /dev/null +++ b/share/git-cola/icons/dark/diff.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/edit-copy.svg b/share/git-cola/icons/dark/edit-copy.svg new file mode 100644 index 000000000..a18c92d9a --- /dev/null +++ b/share/git-cola/icons/dark/edit-copy.svg @@ -0,0 +1,55 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/share/git-cola/icons/dark/edit-select-all.svg b/share/git-cola/icons/dark/edit-select-all.svg new file mode 100644 index 000000000..b9684160f --- /dev/null +++ b/share/git-cola/icons/dark/edit-select-all.svg @@ -0,0 +1,82 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/share/git-cola/icons/dark/edit-undo.svg b/share/git-cola/icons/dark/edit-undo.svg new file mode 100644 index 000000000..71b1d60f6 --- /dev/null +++ b/share/git-cola/icons/dark/edit-undo.svg @@ -0,0 +1,82 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/share/git-cola/icons/dark/ellipsis.svg b/share/git-cola/icons/dark/ellipsis.svg new file mode 100644 index 000000000..4a55b247b --- /dev/null +++ b/share/git-cola/icons/dark/ellipsis.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/eye.svg b/share/git-cola/icons/dark/eye.svg new file mode 100644 index 000000000..b92029e6f --- /dev/null +++ b/share/git-cola/icons/dark/eye.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/file-binary.svg b/share/git-cola/icons/dark/file-binary.svg new file mode 100644 index 000000000..21076ca9c --- /dev/null +++ b/share/git-cola/icons/dark/file-binary.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/file-code.svg b/share/git-cola/icons/dark/file-code.svg new file mode 100644 index 000000000..f7cf3bf9f --- /dev/null +++ b/share/git-cola/icons/dark/file-code.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/file-directory.svg b/share/git-cola/icons/dark/file-directory.svg new file mode 100644 index 000000000..045631005 --- /dev/null +++ b/share/git-cola/icons/dark/file-directory.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/file-download.svg b/share/git-cola/icons/dark/file-download.svg new file mode 100644 index 000000000..9bf652055 --- /dev/null +++ b/share/git-cola/icons/dark/file-download.svg @@ -0,0 +1,52 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/share/git-cola/icons/dark/file-media.svg b/share/git-cola/icons/dark/file-media.svg new file mode 100644 index 000000000..693aa0e14 --- /dev/null +++ b/share/git-cola/icons/dark/file-media.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/file-text.svg b/share/git-cola/icons/dark/file-text.svg new file mode 100644 index 000000000..87480161c --- /dev/null +++ b/share/git-cola/icons/dark/file-text.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/file-zip.svg b/share/git-cola/icons/dark/file-zip.svg new file mode 100644 index 000000000..b6db024b8 --- /dev/null +++ b/share/git-cola/icons/dark/file-zip.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/fold.svg b/share/git-cola/icons/dark/fold.svg new file mode 100644 index 000000000..1eb7c0195 --- /dev/null +++ b/share/git-cola/icons/dark/fold.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/folder-new.svg b/share/git-cola/icons/dark/folder-new.svg new file mode 100644 index 000000000..c571898d6 --- /dev/null +++ b/share/git-cola/icons/dark/folder-new.svg @@ -0,0 +1,87 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/share/git-cola/icons/dark/folder.svg b/share/git-cola/icons/dark/folder.svg new file mode 100644 index 000000000..f1aaf2dd6 --- /dev/null +++ b/share/git-cola/icons/dark/folder.svg @@ -0,0 +1,82 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/share/git-cola/icons/dark/gear.svg b/share/git-cola/icons/dark/gear.svg new file mode 100644 index 000000000..19e5e289b --- /dev/null +++ b/share/git-cola/icons/dark/gear.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/git-branch.svg b/share/git-cola/icons/dark/git-branch.svg new file mode 100644 index 000000000..4c37daac6 --- /dev/null +++ b/share/git-cola/icons/dark/git-branch.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/git-cola.ico b/share/git-cola/icons/dark/git-cola.ico new file mode 100644 index 0000000000000000000000000000000000000000..4c1fc34e9098207dd8dc3456fe5c8f71443b19ef GIT binary patch literal 370070 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 literal 0 HcmV?d00001 diff --git a/share/git-cola/icons/dark/git-cola.svg b/share/git-cola/icons/dark/git-cola.svg new file mode 100644 index 000000000..652211e82 --- /dev/null +++ b/share/git-cola/icons/dark/git-cola.svg @@ -0,0 +1,71 @@ + + + +image/svg+xml + + + + + diff --git a/share/git-cola/icons/dark/git-compare.svg b/share/git-cola/icons/dark/git-compare.svg new file mode 100644 index 000000000..ccc9b88c4 --- /dev/null +++ b/share/git-cola/icons/dark/git-compare.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/git-merge.svg b/share/git-cola/icons/dark/git-merge.svg new file mode 100644 index 000000000..84ea072a7 --- /dev/null +++ b/share/git-cola/icons/dark/git-merge.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/link-external.svg b/share/git-cola/icons/dark/link-external.svg new file mode 100644 index 000000000..69e773900 --- /dev/null +++ b/share/git-cola/icons/dark/link-external.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/modified.svg b/share/git-cola/icons/dark/modified.svg new file mode 100644 index 000000000..af617b5d1 --- /dev/null +++ b/share/git-cola/icons/dark/modified.svg @@ -0,0 +1,62 @@ + + + + + + + + + + image/svg+xml + + + + + + + diff --git a/share/git-cola/icons/dark/partial.svg b/share/git-cola/icons/dark/partial.svg new file mode 100644 index 000000000..b3483afbb --- /dev/null +++ b/share/git-cola/icons/dark/partial.svg @@ -0,0 +1,65 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/share/git-cola/icons/dark/pencil.svg b/share/git-cola/icons/dark/pencil.svg new file mode 100644 index 000000000..b9031dc75 --- /dev/null +++ b/share/git-cola/icons/dark/pencil.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/plus.svg b/share/git-cola/icons/dark/plus.svg new file mode 100644 index 000000000..332beba8c --- /dev/null +++ b/share/git-cola/icons/dark/plus.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/primitive-dot.svg b/share/git-cola/icons/dark/primitive-dot.svg new file mode 100644 index 000000000..571875e16 --- /dev/null +++ b/share/git-cola/icons/dark/primitive-dot.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/question-plain.svg b/share/git-cola/icons/dark/question-plain.svg new file mode 100644 index 000000000..d4dd9c3aa --- /dev/null +++ b/share/git-cola/icons/dark/question-plain.svg @@ -0,0 +1,55 @@ + + + + + + image/svg+xml + + + + + + + + + diff --git a/share/git-cola/icons/dark/question.svg b/share/git-cola/icons/dark/question.svg new file mode 100644 index 000000000..7c0b42f23 --- /dev/null +++ b/share/git-cola/icons/dark/question.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/repo-pull.svg b/share/git-cola/icons/dark/repo-pull.svg new file mode 100644 index 000000000..566bc96df --- /dev/null +++ b/share/git-cola/icons/dark/repo-pull.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/repo-push.svg b/share/git-cola/icons/dark/repo-push.svg new file mode 100644 index 000000000..9900d905d --- /dev/null +++ b/share/git-cola/icons/dark/repo-push.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/repo.svg b/share/git-cola/icons/dark/repo.svg new file mode 100644 index 000000000..f4b925bf1 --- /dev/null +++ b/share/git-cola/icons/dark/repo.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/screen-full.svg b/share/git-cola/icons/dark/screen-full.svg new file mode 100644 index 000000000..ed798665c --- /dev/null +++ b/share/git-cola/icons/dark/screen-full.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/search.svg b/share/git-cola/icons/dark/search.svg new file mode 100644 index 000000000..00d4db8b7 --- /dev/null +++ b/share/git-cola/icons/dark/search.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/staged.svg b/share/git-cola/icons/dark/staged.svg new file mode 100644 index 000000000..7e56e6c12 --- /dev/null +++ b/share/git-cola/icons/dark/staged.svg @@ -0,0 +1,65 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + diff --git a/share/git-cola/icons/dark/star.svg b/share/git-cola/icons/dark/star.svg new file mode 100644 index 000000000..27c86cd3a --- /dev/null +++ b/share/git-cola/icons/dark/star.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/sync.svg b/share/git-cola/icons/dark/sync.svg new file mode 100644 index 000000000..2158a74ce --- /dev/null +++ b/share/git-cola/icons/dark/sync.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/tag.svg b/share/git-cola/icons/dark/tag.svg new file mode 100644 index 000000000..c6c92ee5a --- /dev/null +++ b/share/git-cola/icons/dark/tag.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/telescope.svg b/share/git-cola/icons/dark/telescope.svg new file mode 100644 index 000000000..311b2c118 --- /dev/null +++ b/share/git-cola/icons/dark/telescope.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/trashcan.svg b/share/git-cola/icons/dark/trashcan.svg new file mode 100644 index 000000000..7be3092be --- /dev/null +++ b/share/git-cola/icons/dark/trashcan.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/unfold.svg b/share/git-cola/icons/dark/unfold.svg new file mode 100644 index 000000000..6b8958399 --- /dev/null +++ b/share/git-cola/icons/dark/unfold.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/upstream.svg b/share/git-cola/icons/dark/upstream.svg new file mode 100644 index 000000000..c9bdaaf0a --- /dev/null +++ b/share/git-cola/icons/dark/upstream.svg @@ -0,0 +1,61 @@ + + + + + + + + + + image/svg+xml + + + + + + + diff --git a/share/git-cola/icons/dark/x.svg b/share/git-cola/icons/dark/x.svg new file mode 100644 index 000000000..85e672a64 --- /dev/null +++ b/share/git-cola/icons/dark/x.svg @@ -0,0 +1,53 @@ + + + + + + image/svg+xml + + + + + + + + diff --git a/share/git-cola/icons/dark/zoom-fit-best.svg b/share/git-cola/icons/dark/zoom-fit-best.svg new file mode 100644 index 000000000..401db16c3 --- /dev/null +++ b/share/git-cola/icons/dark/zoom-fit-best.svg @@ -0,0 +1,200 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Zoom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/share/git-cola/icons/dark/zoom-in.svg b/share/git-cola/icons/dark/zoom-in.svg new file mode 100644 index 000000000..4420beb05 --- /dev/null +++ b/share/git-cola/icons/dark/zoom-in.svg @@ -0,0 +1,203 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Zoom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/share/git-cola/icons/dark/zoom-out.svg b/share/git-cola/icons/dark/zoom-out.svg new file mode 100644 index 000000000..e5d20844d --- /dev/null +++ b/share/git-cola/icons/dark/zoom-out.svg @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + Zoom + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From eb09b68bc9fbfa2e59523e86bec2b6c57f59eb57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Danilovi=C4=87?= Date: Tue, 3 Jan 2017 06:18:30 +0100 Subject: [PATCH 2/4] doc: document cola.iconstyle MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Danilović --- share/doc/git-cola/git-cola.rst | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/share/doc/git-cola/git-cola.rst b/share/doc/git-cola/git-cola.rst index 22b75d933..d1728c3f1 100644 --- a/share/doc/git-cola/git-cola.rst +++ b/share/doc/git-cola/git-cola.rst @@ -416,6 +416,13 @@ cola.fontdiff ------------- Specifies the font to use for `git cola`'s diff display. +cola.iconstyle +-------------- +Specifies the icon style to use throughout `git-cola`. The style specified +must be the name of the subdirectory containing the icons, which in turn must be +placed in the main "icons" directory. If unset, or set to "light", then the +default style will be used. + cola.inotify ------------ Set to `false` to disable file system change monitoring. Defaults to `true`, From a9bb67615fa08ffedf82a6e830b4867c869acfd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Danilovi=C4=87?= Date: Tue, 3 Jan 2017 06:19:08 +0100 Subject: [PATCH 3/4] Add ability to load custom icons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Custom icon theme consists of a subdirectory of the main "icons" dir containing all icons existing in the original theme, using the same names and same file format (svg) Theme is set, as usual, with git config: git config (--global) cola.iconstyle style_name Where "style_name" is the exact name of the dir containing the icons. If the specified style doesn't exist, is set to "light", or not set at all, original icons will be used. Signed-off-by: Filip Danilović --- cola/gitcfg.py | 4 ++++ cola/icons.py | 8 +++++++- cola/resources.py | 11 +++++++++-- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/cola/gitcfg.py b/cola/gitcfg.py index b5b521d27..47553545d 100644 --- a/cola/gitcfg.py +++ b/cola/gitcfg.py @@ -413,3 +413,7 @@ def color(self, key, default): except Exception: r, g, b = struct.unpack(struct_layout, unhexlify(default)) return (r, g, b) + + def icon_style(self): + theme = self.get('cola.iconstyle', None) + return theme diff --git a/cola/icons.py b/cola/icons.py index c8aa349ac..3a0bc10b1 100644 --- a/cola/icons.py +++ b/cola/icons.py @@ -6,6 +6,7 @@ from qtpy import QtGui +from . import gitcfg from . import qtcompat from . import resources from .compat import ustr @@ -31,9 +32,14 @@ '.cxx': 'file-code.svg', } +cfg = gitcfg.current() +style = cfg.icon_style() def install(): - icon_dir = resources.icon_dir() + if not style or style == "light": + icon_dir = resources.icon_dir() + else: + icon_dir = resources.icon_dir(style) qtcompat.add_search_path('icons', icon_dir) diff --git a/cola/resources.py b/cola/resources.py index add9fbb25..796685092 100644 --- a/cola/resources.py +++ b/cola/resources.py @@ -57,9 +57,16 @@ def share(*args): return prefix('share', 'git-cola', *args) -def icon_dir(): +def icon_dir(style=None): """Return the path to the style dir within the cola install tree.""" - return share('icons') + if style: + style_dir = share('icons', style) + if os.path.isdir(style_dir): + return style_dir + else: + return share('icons') + else: + return share('icons') def config_home(*args): From d65eb0b4ff2e9bb94755adfe42b73e8113aefbb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Filip=20Danilovi=C4=87?= Date: Tue, 3 Jan 2017 06:54:01 +0100 Subject: [PATCH 4/4] setup: install dark icon set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Filip Danilović --- setup.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.py b/setup.py index 2cbcd8bce..d4c7a8f29 100755 --- a/setup.py +++ b/setup.py @@ -67,6 +67,8 @@ def cola_data_files(vendor_libs): _app_path('share/git-cola/bin', '*'), _app_path('share/git-cola/icons', '*.png'), _app_path('share/git-cola/icons', '*.svg'), + _app_path('share/git-cola/icons/dark', '*.png'), + _app_path('share/git-cola/icons/dark', '*.svg'), _app_path('share/appdata', '*.xml'), _app_path('share/applications', '*.desktop'), _app_path('share/doc/git-cola', '*.rst'),