app, icons, libgimpwidgets: merge Color and Symbolic icon themes into one.

The merged icon theme is simply named "Default" and contains a color and
symbolic variant for all icons. While in 2.10, it made sense to have both icon
themes because a theme had no concept of a "symbolic" variant back then, icon
themes in 3.0 have this concept and we support this in GIMP through the "Use
symbolic icons if available" option in Preferences.

Until now, it was confusing to have both themes + this option, even more as you
could use the Color icons with the "Use symbolic icons" option, which meant that
if some icons were missing, you could end up with a mix of color and symbolic
icons (and oppositely using the Symbolic theme with the option unchecked).

The new state is much simpler and less confusing. Just 1 icon theme with both
color and symbolic variants (the latter being used by default).

Note that the identical meson.build in each size subfolder is still mandatory
because of the inability of meson (still!) to generate files with
custom_target() in a subfolder as output.
This commit is contained in:
Jehan 2024-01-26 23:48:44 +01:00
parent e0373fba91
commit c4f5bae14a
740 changed files with 458 additions and 2114 deletions

View File

@ -25,7 +25,7 @@
#define GIMP_CONFIG_DEFAULT_THEME "Default"
#define GIMP_CONFIG_DEFAULT_ICON_THEME "Symbolic"
#define GIMP_CONFIG_DEFAULT_ICON_THEME "Default"
#define GIMP_TYPE_GUI_CONFIG (gimp_gui_config_get_type ())

View File

@ -40,16 +40,16 @@
#include "gimp-intl.h"
static void icons_apply_theme (Gimp *gimp,
const gchar *icon_theme_name);
static void icons_list_icons_foreach (gpointer key,
gpointer value,
gpointer data);
static gint icons_name_compare (const void *p1,
const void *p2);
static void icons_theme_change_notify (GimpGuiConfig *config,
GParamSpec *pspec,
Gimp *gimp);
static gboolean icons_apply_theme (Gimp *gimp,
const gchar *icon_theme_name);
static void icons_list_icons_foreach (gpointer key,
gpointer value,
gpointer data);
static gint icons_name_compare (const void *p1,
const void *p2);
static void icons_theme_change_notify (GimpGuiConfig *config,
GParamSpec *pspec,
Gimp *gimp);
static GHashTable *icon_themes_hash = NULL;
@ -207,11 +207,13 @@ icon_themes_get_theme_dir (Gimp *gimp,
return g_hash_table_lookup (icon_themes_hash, icon_theme_name);
}
static void
static gboolean
icons_apply_theme (Gimp *gimp,
const gchar *icon_theme_name)
{
g_return_if_fail (GIMP_IS_GIMP (gimp));
gboolean applied;
g_return_val_if_fail (GIMP_IS_GIMP (gimp), FALSE);
if (! icon_theme_name)
icon_theme_name = GIMP_CONFIG_DEFAULT_ICON_THEME;
@ -228,15 +230,17 @@ icons_apply_theme (Gimp *gimp,
"icons", icon_theme_name, NULL);
file = g_file_new_for_path (path);
gimp_icons_set_icon_theme (file);
applied = gimp_icons_set_icon_theme (file);
g_object_unref (file);
g_free (path);
}
else
{
gimp_icons_set_icon_theme (icon_themes_get_theme_dir (gimp, icon_theme_name));
applied = gimp_icons_set_icon_theme (icon_themes_get_theme_dir (gimp, icon_theme_name));
}
return applied;
}
static void
@ -263,5 +267,10 @@ icons_theme_change_notify (GimpGuiConfig *config,
GParamSpec *pspec,
Gimp *gimp)
{
icons_apply_theme (gimp, config->icon_theme);
if (! icons_apply_theme (gimp, config->icon_theme))
{
g_return_if_fail (g_strcmp0 (config->icon_theme, GIMP_CONFIG_DEFAULT_ICON_THEME) != 0);
g_object_set (config, "icon-theme", GIMP_CONFIG_DEFAULT_ICON_THEME, NULL);
}
}

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,17 +0,0 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -1,10 +0,0 @@
This work is licensed under the Creative Commons Attribution-ShareAlike
4.0 International License. To view a copy of this license, visit
http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to
Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
This icon theme is more of an original work with inspiration from other
FLOSS themes.
When attributing the artwork, "GIMP team" is enough.
Please link to https://www.gimp.org/ where available.

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

View File

Before

Width:  |  Height:  |  Size: 398 B

After

Width:  |  Height:  |  Size: 398 B

View File

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 198 B

View File

@ -19,6 +19,7 @@ if have_vector_icons
)
else
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
@ -37,5 +38,19 @@ else
elif icon == 'gimp-wilber-eek'
icon_wilber_eek = icon_tgt
endif
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach
endif

View File

@ -0,0 +1,31 @@
icons_dir = size + 'x' + size
foreach icon : source_icons
# Install the color variant.
icon_name = icon + '.png'
input_path = '../scalable/' + icon + '.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
colorsvg2png, '@INPUT@', '@OUTPUT@', size,
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
# Install the symbolic variant.
icon_name = icon + '-symbolic.symbolic.png'
input_path = '../scalable/' + icon + '-symbolic.svg'
custom_target(icon_name,
input : [ input_path ],
output: [ icon_name ],
command: [
gtk_encode_symbolic_svg, '-o', '@OUTDIR@', '@INPUT@', icons_dir
],
install: true,
install_dir: gimpiconsdir / theme / icons_dir / 'apps',
)
endforeach

26
icons/Default/COPYING Normal file
View File

@ -0,0 +1,26 @@
A major part of the Symbolic variant icons are a derived work from the
art-libre-symbolic theme made by the GNOME design team, taken in its 2015 form
and modified since (including new icons, modified ones, possibly removed ones):
https://github.com/gnome-design-team/gnome-icons/blob/master/art-libre-symbolic/src/art-libre.svg
All icons (modified or not) taken from the art-libre-symbolic theme are licensed
under the Creative Commons Attribution-Share Alike 3.0 United States License.
A few more Symbolic icons are taken (e.g. gimp-lock) or derived (gimp-lock-*)
from the Adwaita icon theme as Creative Commons Attribution-Share Alike 3.0
United States License as well.
The Color icons are more of an original work with inspiration from other FLOSS
themes. These icons, as well as all new icons (both in Symbolic or Color
variants) are licensed under the Creative Commons Attribution-ShareAlike 4.0
International License.
To view a copy of these licenses, visit either:
http://creativecommons.org/licenses/by-sa/3.0/ or
http://creativecommons.org/licenses/by-sa/4.0/ respectively or send a letter to
Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.
When attributing the artwork, "GIMP team" is enough for icons which were fully
created for GIMP. For icons taken and modified from the GNOME design team,
attribute them to "GNOME Project" and "GIMP team".
Please link to https://www.gimp.org/ where available.

View File

Before

Width:  |  Height:  |  Size: 3.4 MiB

After

Width:  |  Height:  |  Size: 3.4 MiB

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,14 @@ if have_vector_icons
# Only process the 64x64 icons for the 2 resource icons.
subdir('64')
else
gtk_encode_symbolic_svg = find_program('gtk-encode-symbolic-svg', native: true)
foreach size, source_icons : build_icons
# Note: I originally wanted to implement it here in a loop but
# custom_target() doesn't accept an output path with a folder! So I
# end up creating as many empty directories as generated sizes and
# copying the same meson.build everywhere (which is really stupid,
# let's admit it). Only the 64x64 size has a slightly different
# meson.build as it also installs some non-symbolic images.
subdir(size)
endforeach
endif
@ -17,32 +24,39 @@ foreach install : install_icons
inputs = install['files']
outdir = install['outdir']
indir = install['indir']
suffix = install['suffix']
py_cmd = 'print(",".join(["@0@/" + line.strip() + "@1@" for line in open("@2@") if line.strip() != "" and line.strip()[0] != "#"]))'
dup_icons = []
foreach input : inputs
input = '../icon-lists/@0@.list'.format(input)
cmd = run_command(python, '-c',
py_cmd.format(indir, suffix, input),
check: true)
dup_icons += cmd.stdout().strip().split(',')
endforeach
foreach icon : dup_icons
if not icons.contains(icon)
# remove duplicates.
icons += [icon]
foreach suffix : install['suffixes']
foreach input : inputs
input = '../icon-lists/@0@.list'.format(input)
cmd = run_command(python, '-c',
py_cmd.format(indir, suffix, input),
check: true)
dup_icons += cmd.stdout().strip().split(',')
endforeach
foreach icon : dup_icons
if not icons.contains(icon)
# remove duplicates.
icons += [icon]
endif
endforeach
install_data(icons, install_dir: gimpiconsdir / theme / outdir / 'apps')
wilber_eek = '@0@/gimp-wilber-eek@1@'.format(indir, suffix)
if wilber_eek in icons
# Note: since this is just a copy of gimp-wilber-week, we could just do a
# symlink with install_symlink(), but this is only available in meson 0.61.0
# and looking at its code, it would apparently fail if symlinks are not
# available in the target OS (instead of silently and intelligently falling
# back to doing a copy).
install_data(wilber_eek,
rename: 'image-missing@0@'.format(suffix),
install_dir: gimpiconsdir / theme / outdir / 'apps')
endif
endforeach
install_data(icons, install_dir: gimpiconsdir / theme / outdir / 'apps')
wilber_eek = '@0@/gimp-wilber-eek@1@'.format(indir, suffix)
if wilber_eek in icons
install_data(wilber_eek,
rename: 'image-missing@0@'.format(suffix),
install_dir: gimpiconsdir / theme / outdir / 'apps')
endif
endforeach
icons_core = [ '64/dialog-question.png', ]

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

View File

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View File

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

Before

Width:  |  Height:  |  Size: 6.6 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Some files were not shown because too many files have changed in this diff Show More