Śmoer
This commit is contained in:
parent
47f130b2d0
commit
240031530a
3
.github/FUNDING.yml
vendored
3
.github/FUNDING.yml
vendored
|
@ -1,3 +0,0 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: qarmin # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
239
.github/workflows/linux.yml
vendored
239
.github/workflows/linux.yml
vendored
|
@ -1,239 +0,0 @@
|
|||
name: 🐧 Linux
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: '0 0 * * 2'
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
||||
jobs:
|
||||
linux-cli:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable ]
|
||||
type: [ release ]
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.toolchain }}
|
||||
override: true
|
||||
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
target
|
||||
key: linux-cli-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
linux-cli-${{github.ref}}-${{github.sha}}
|
||||
|
||||
- name: Install basic libraries
|
||||
run: sudo apt-get update; sudo apt install libgtk-3-dev libasound2-dev -y
|
||||
|
||||
- name: Build CLI Debug
|
||||
run: cargo build --bin czkawka_cli
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'debug'}}
|
||||
|
||||
- name: Build CLI Release
|
||||
run: cargo build --release --bin czkawka_cli
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'release'}}
|
||||
|
||||
- name: Store Linux CLI
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-${{ matrix.toolchain }}
|
||||
path: target/release/czkawka_cli
|
||||
if: ${{ matrix.type == 'release' }}
|
||||
|
||||
# Duplicate finder checks included and excluded directories
|
||||
# Others are just check delete files number
|
||||
- name: Linux Regression Test
|
||||
run: |
|
||||
wget https://github.com/qarmin/czkawka/releases/download/1.1.0/TestSuite.zip
|
||||
unzip TestSuite.zip -d TestSuite
|
||||
python3 misc/check_results.py TestSuite 15 8
|
||||
|
||||
|
||||
target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -D aen -m 1024
|
||||
python3 misc/check_results.py TestSuite 7 8
|
||||
|
||||
rm -rf TestSuite
|
||||
unzip TestSuite.zip -d TestSuite
|
||||
|
||||
target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -D aen -m 1024
|
||||
python3 misc/check_results.py TestSuite 7 8
|
||||
|
||||
rm -rf TestSuite
|
||||
unzip TestSuite.zip -d TestSuite
|
||||
|
||||
target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -x TEXT -D aeo -m 1024
|
||||
python3 misc/check_results.py TestSuite 14 8
|
||||
|
||||
rm -rf TestSuite
|
||||
unzip TestSuite.zip -d TestSuite
|
||||
|
||||
target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -e "$(pwd)/TestSuite/SubFolder" -D aeo -m 1024
|
||||
python3 misc/check_results.py TestSuite 13 8
|
||||
|
||||
rm -rf TestSuite
|
||||
unzip TestSuite.zip -d TestSuite
|
||||
|
||||
target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -m 1500 -D aeo
|
||||
python3 misc/check_results.py TestSuite 8 8
|
||||
|
||||
rm -rf TestSuite
|
||||
unzip TestSuite.zip -d TestSuite
|
||||
|
||||
target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -R -m 1024
|
||||
python3 misc/check_results.py TestSuite 15 8
|
||||
target/release/czkawka_cli dup -d "$(pwd)/TestSuite" -R -D aeo -m 1024
|
||||
python3 misc/check_results.py TestSuite 13 8
|
||||
|
||||
|
||||
target/release/czkawka_cli big -d "$(pwd)/TestSuite"
|
||||
|
||||
rm -rf TestSuite
|
||||
unzip TestSuite.zip -d TestSuite
|
||||
|
||||
target/release/czkawka_cli empty-files -d "$(pwd)/TestSuite"
|
||||
python3 misc/check_results.py TestSuite 15 8
|
||||
target/release/czkawka_cli empty-files -d "$(pwd)/TestSuite" -D
|
||||
python3 misc/check_results.py TestSuite 13 8
|
||||
|
||||
rm -rf TestSuite
|
||||
unzip TestSuite.zip -d TestSuite
|
||||
|
||||
target/release/czkawka_cli empty-folders -d "$(pwd)/TestSuite"
|
||||
python3 misc/check_results.py TestSuite 15 8
|
||||
target/release/czkawka_cli empty-folders -d "$(pwd)/TestSuite" -D
|
||||
python3 misc/check_results.py TestSuite 15 2
|
||||
|
||||
rm -rf TestSuite
|
||||
unzip TestSuite.zip -d TestSuite
|
||||
|
||||
target/release/czkawka_cli temp -d "$(pwd)/TestSuite"
|
||||
python3 misc/check_results.py TestSuite 15 8
|
||||
target/release/czkawka_cli temp -d "$(pwd)/TestSuite" -D
|
||||
python3 misc/check_results.py TestSuite 14 8
|
||||
if: ${{ matrix.type == 'release' }}
|
||||
|
||||
linux-gui:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable, 1.53.0 ]
|
||||
type: [ release ]
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.toolchain }}
|
||||
override: true
|
||||
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
target
|
||||
key: linux-gui-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
linux-gui-${{github.ref}}-${{github.sha}}
|
||||
|
||||
- name: Install Gtk, Mingw, unzip, zip and wget
|
||||
run: sudo apt-get update; sudo apt install libgtk-3-dev libasound2-dev -y
|
||||
|
||||
- name: Build GUI Debug
|
||||
run: cargo build --bin czkawka_gui
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'debug'}}
|
||||
|
||||
- name: Build GUI Release
|
||||
run: cargo build --release --bin czkawka_gui
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'release'}}
|
||||
|
||||
- name: Store Linux GUI
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}
|
||||
path: target/release/czkawka_gui
|
||||
if: ${{ matrix.type == 'release' }}
|
||||
|
||||
- name: Minimal AppImage
|
||||
run: |
|
||||
pwd
|
||||
rm -rf czkawka_gui
|
||||
cp target/release/czkawka_gui .
|
||||
strip czkawka_gui
|
||||
wget https://github.com/AppImage/pkg2appimage/releases/download/continuous/pkg2appimage-1807-x86_64.AppImage
|
||||
chmod +x pkg2appimage-1807-x86_64.AppImage
|
||||
./pkg2appimage-1807-x86_64.AppImage misc/czkawka-appimage-recipe.yml
|
||||
mv out/Czkawka*.AppImage out/czkawka_gui-minimal.AppImage
|
||||
|
||||
- name: Minimal Appimage Upload
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_gui-${{ matrix.toolchain }}_minimal_AppImage
|
||||
path: out/*.AppImage
|
||||
|
||||
|
||||
linux-appimage-gui:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable ]
|
||||
type: [ release ]
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.toolchain }}
|
||||
override: true
|
||||
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
target
|
||||
key: linux-appimage-gui-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
linux-appimage-gui-${{github.ref}}-${{github.sha}}
|
||||
|
||||
- name: Install Gtk,
|
||||
run: sudo apt-get update; sudo apt install libgtk-3-dev libasound2-dev librsvg2-dev wget -y
|
||||
|
||||
- name: Build GUI Release
|
||||
run: cargo build --release --bin czkawka_gui
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
|
||||
- name: Download appimage dependiences
|
||||
run: |
|
||||
wget -c "https://raw.githubusercontent.com/linuxdeploy/linuxdeploy-plugin-gtk/master/linuxdeploy-plugin-gtk.sh"
|
||||
wget -c "https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage"
|
||||
chmod +x linuxdeploy-plugin-gtk.sh
|
||||
chmod +x linuxdeploy-x86_64.AppImage
|
||||
mkdir -p AppDir/usr/bin
|
||||
cp target/release/czkawka_gui AppDir/usr/bin
|
||||
./linuxdeploy-x86_64.AppImage --appdir AppDir --plugin gtk --output appimage --icon-file data/icons/com.github.qarmin.czkawka.svg --desktop-file data/com.github.qarmin.czkawka.desktop
|
||||
|
||||
- name: Store Linux Appimage GUI
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_gui-appimage-${{ runner.os }}-${{ matrix.toolchain }}
|
||||
path: Czkawka*.AppImage
|
97
.github/workflows/mac.yml
vendored
97
.github/workflows/mac.yml
vendored
|
@ -1,97 +0,0 @@
|
|||
name: 🍎 MacOS
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: '0 0 * * 2'
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
||||
jobs:
|
||||
macos-cli:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable ]
|
||||
type: [ release ]
|
||||
runs-on: macos-10.15
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.toolchain }}
|
||||
override: true
|
||||
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
target
|
||||
key: mac-cli-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
mac-cli-${{github.ref}}-${{github.sha}}
|
||||
|
||||
- name: Build CLI Debug
|
||||
run: cargo build --bin czkawka_cli
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'debug'}}
|
||||
|
||||
- name: Build CLI Release
|
||||
run: cargo build --release --bin czkawka_cli
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'release'}}
|
||||
|
||||
- name: Store MacOS CLI
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_cli-${{ runner.os }}-${{ matrix.toolchain }}
|
||||
path: target/release/czkawka_cli
|
||||
if: ${{ matrix.type == 'release' }}
|
||||
|
||||
macos-gui:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable ]
|
||||
type: [ release ]
|
||||
runs-on: macos-10.15
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.toolchain }}
|
||||
override: true
|
||||
|
||||
- name: Install Homebrew
|
||||
run: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
||||
|
||||
- name: Override link[WORKAROUND] # Looks that this is a bug with current homebrew or Github CI
|
||||
run: rm '/usr/local/bin/2to3'
|
||||
|
||||
- name: Install GTK3
|
||||
run: brew install rust gtk+3
|
||||
|
||||
- name: Build GUI Debug
|
||||
run: cargo build --bin czkawka_gui
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'debug'}}
|
||||
|
||||
- name: Build GUI Release
|
||||
run: cargo build --release --bin czkawka_gui
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'release'}}
|
||||
|
||||
- name: Store MacOS GUI
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_gui-${{ runner.os }}-${{ matrix.toolchain }}
|
||||
path: target/release/czkawka_gui
|
||||
if: ${{ matrix.type == 'release' }}
|
44
.github/workflows/quality.yml
vendored
44
.github/workflows/quality.yml
vendored
|
@ -1,44 +0,0 @@
|
|||
name: Quality
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: '0 0 * * 2'
|
||||
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
|
||||
jobs:
|
||||
quality:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
target
|
||||
key: quality-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
quality-cli-${{github.ref}}-${{github.sha}}
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
components: rustfmt, clippy
|
||||
override: true
|
||||
|
||||
- name: Install Gtk
|
||||
run: sudo apt-get update; sudo apt install -y libgtk-3-dev libasound2-dev
|
||||
|
||||
- name: Check the format
|
||||
run: cargo fmt --all -- --check
|
||||
|
||||
# type complexity must be ignored because we use huge templates for queries
|
||||
- name: Run clippy
|
||||
run: >
|
||||
cargo clippy
|
||||
--all-targets
|
||||
--all-features
|
||||
--
|
||||
-D warnings
|
343
.github/workflows/windows.yml
vendored
343
.github/workflows/windows.yml
vendored
|
@ -148,7 +148,7 @@ jobs:
|
|||
python misc/check_results.py TestSuite 14 8
|
||||
if: ${{ matrix.type == 'release' }}
|
||||
|
||||
windows-gui:
|
||||
windows-release-gui:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable ]
|
||||
|
@ -173,7 +173,7 @@ jobs:
|
|||
- name: Install Gtk, Mingw, unzip, zip and wget
|
||||
run: sudo apt-get update; sudo apt install mingw-w64 libgtk-3-dev unzip wget zip -y
|
||||
|
||||
- name: Build GUI Release Cross Compile
|
||||
- name: Release normal(gui)
|
||||
run: |
|
||||
rustup target add x86_64-pc-windows-gnu
|
||||
|
||||
|
@ -181,74 +181,19 @@ jobs:
|
|||
echo "linker = \"x86_64-w64-mingw32-gcc\"" >> ~/.cargo/config
|
||||
echo "ar = \"x86_64-w64-mingw32-gcc-ar\"" >> ~/.cargo/config
|
||||
|
||||
GTK_LIBRARY="$(pwd)/gtk_library"
|
||||
GTK_APP="$(pwd)/gtk_app"
|
||||
GTK_THEME="$(pwd)/gtk_theme"
|
||||
|
||||
wget https://github.com/qarmin/gtk_library_store/releases/download/3.24.0/mingw64.zip
|
||||
unzip mingw64.zip -d $GTK_LIBRARY
|
||||
GTK_LIBRARY="$GTK_LIBRARY/mingw64"
|
||||
|
||||
wget https://github.com/nrhodes91/AdMin/archive/master.zip
|
||||
unzip master.zip -d $GTK_THEME
|
||||
|
||||
PKG_CONFIG_ALLOW_CROSS=1 PKG_CONFIG_PATH="$GTK_LIBRARY/lib/pkgconfig" RUSTFLAGS="-L $GTK_LIBRARY/lib" cargo build --target=x86_64-pc-windows-gnu --bin czkawka_gui --release
|
||||
|
||||
strip target/x86_64-pc-windows-gnu/release/czkawka_gui.exe
|
||||
|
||||
mkdir $GTK_APP
|
||||
cp target/x86_64-pc-windows-gnu/release/czkawka_gui.exe $GTK_APP
|
||||
cp $GTK_LIBRARY/bin/*.dll $GTK_APP
|
||||
mkdir -p $GTK_APP/share/glib-2.0/schemas
|
||||
mkdir $GTK_APP/share/icons
|
||||
cp $GTK_LIBRARY/share/glib-2.0/schemas/* $GTK_APP/share/glib-2.0/schemas
|
||||
cp -r $GTK_LIBRARY/share/icons/* $GTK_APP/share/icons
|
||||
mkdir $GTK_APP/lib
|
||||
cp -r $GTK_LIBRARY/lib/gdk-pixbuf-2.0 $GTK_APP/lib
|
||||
|
||||
mkdir -p $GTK_APP/share/themes
|
||||
mkdir -p $GTK_APP/share/gtk-3.0
|
||||
echo "[Settings]" > $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-theme-name = admin-gtk3-dark-osx" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-font-name = Segoe UI 10" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-xft-rgba = rgb" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
cp $GTK_THEME/AdMin-master/admin-gtk3-dark-osx $GTK_APP/share/themes -r -L
|
||||
|
||||
# This part is only unique for Czkawka
|
||||
# This code allows to check which icons are used in Czkawka
|
||||
# cd czkawka/ui
|
||||
# rg icon-name
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/16x16
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/22x22
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/24x24
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/256x256
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/32x32
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/48x48
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/512x512
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/64x64
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/8x8
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/96x96
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/cursors
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/scalable
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/scalable-up-to-32
|
||||
rm -rf $GTK_APP/share/icons/hicolor
|
||||
wget https://github.com/qarmin/gtk_library_store/releases/download/3.24.0/czkawka_icons.zip
|
||||
unzip czkawka_icons.zip -d $GTK_APP/share/icons/Adwaita
|
||||
|
||||
zip -r gtk_app.zip $GTK_APP
|
||||
PKG_CONFIG_ALLOW_CROSS=1 cargo build --target=x86_64-pc-windows-gnu --bin czkawka_gui --release
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'release'}}
|
||||
|
||||
- name: Store Windows GUI CrossComplile
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_gui-Windows-${{ matrix.toolchain }}
|
||||
path: gtk_app.zip
|
||||
if: ${{ matrix.type == 'release' }}
|
||||
name: czkawka_gui-Windows-release-normal-${{ matrix.toolchain }}
|
||||
path: target/release/czkawka_gui.exe
|
||||
|
||||
windows-gui-relase-console:
|
||||
windows-debug-gui:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable ]
|
||||
|
@ -273,83 +218,73 @@ jobs:
|
|||
- name: Install Gtk, Mingw, unzip, zip and wget
|
||||
run: sudo apt-get update; sudo apt install mingw-w64 libgtk-3-dev unzip wget zip -y
|
||||
|
||||
- name: Build GUI Release Cross Compile
|
||||
- name: Release debug(gui)
|
||||
run: |
|
||||
sed -i 's/windows_subsystem = "windows"/windows_subsystem = "console"/' czkawka_gui/src/main.rs
|
||||
rustup target add x86_64-pc-windows-gnu
|
||||
|
||||
echo "[target.x86_64-pc-windows-gnu]" > ~/.cargo/config
|
||||
echo "linker = \"x86_64-w64-mingw32-gcc\"" >> ~/.cargo/config
|
||||
echo "ar = \"x86_64-w64-mingw32-gcc-ar\"" >> ~/.cargo/config
|
||||
|
||||
GTK_LIBRARY="$(pwd)/gtk_library"
|
||||
GTK_APP="$(pwd)/gtk_app"
|
||||
GTK_THEME="$(pwd)/gtk_theme"
|
||||
|
||||
wget https://github.com/qarmin/gtk_library_store/releases/download/3.24.0/mingw64.zip
|
||||
unzip mingw64.zip -d $GTK_LIBRARY
|
||||
GTK_LIBRARY="$GTK_LIBRARY/mingw64"
|
||||
|
||||
wget https://github.com/nrhodes91/AdMin/archive/master.zip
|
||||
unzip master.zip -d $GTK_THEME
|
||||
|
||||
PKG_CONFIG_ALLOW_CROSS=1 PKG_CONFIG_PATH="$GTK_LIBRARY/lib/pkgconfig" RUSTFLAGS="-L $GTK_LIBRARY/lib" cargo build --target=x86_64-pc-windows-gnu --bin czkawka_gui --release
|
||||
|
||||
strip target/x86_64-pc-windows-gnu/release/czkawka_gui.exe
|
||||
|
||||
mkdir $GTK_APP
|
||||
cp target/x86_64-pc-windows-gnu/release/czkawka_gui.exe $GTK_APP
|
||||
cp $GTK_LIBRARY/bin/*.dll $GTK_APP
|
||||
mkdir -p $GTK_APP/share/glib-2.0/schemas
|
||||
mkdir $GTK_APP/share/icons
|
||||
cp $GTK_LIBRARY/share/glib-2.0/schemas/* $GTK_APP/share/glib-2.0/schemas
|
||||
cp -r $GTK_LIBRARY/share/icons/* $GTK_APP/share/icons
|
||||
mkdir $GTK_APP/lib
|
||||
cp -r $GTK_LIBRARY/lib/gdk-pixbuf-2.0 $GTK_APP/lib
|
||||
|
||||
mkdir -p $GTK_APP/share/themes
|
||||
mkdir -p $GTK_APP/share/gtk-3.0
|
||||
echo "[Settings]" > $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-theme-name = admin-gtk3-dark-osx" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-font-name = Segoe UI 10" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-xft-rgba = rgb" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
cp $GTK_THEME/AdMin-master/admin-gtk3-dark-osx $GTK_APP/share/themes -r -L
|
||||
|
||||
# This part is only unique for Czkawka
|
||||
# This code allows to check which icons are used in Czkawka
|
||||
# cd czkawka/ui
|
||||
# rg icon-name
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/16x16
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/22x22
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/24x24
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/256x256
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/32x32
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/48x48
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/512x512
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/64x64
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/8x8
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/96x96
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/cursors
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/scalable
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/scalable-up-to-32
|
||||
rm -rf $GTK_APP/share/icons/hicolor
|
||||
wget https://github.com/qarmin/gtk_library_store/releases/download/3.24.0/czkawka_icons.zip
|
||||
unzip czkawka_icons.zip -d $GTK_APP/share/icons/Adwaita
|
||||
|
||||
zip -r gtk_app.zip $GTK_APP
|
||||
PKG_CONFIG_ALLOW_CROSS=1 cargo build --target=x86_64-pc-windows-gnu --bin czkawka_gui
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'release'}}
|
||||
|
||||
- name: Store Windows GUI CrossComplile
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_gui-Windows-release-normal-${{ matrix.toolchain }}
|
||||
path: target/debug/czkawka_gui.exe
|
||||
|
||||
windows-release-console:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable ]
|
||||
type: [ release ]
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.toolchain }}
|
||||
override: true
|
||||
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
target
|
||||
key: windows-gui-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
windows-gui-${{github.ref}}-${{github.sha}}
|
||||
|
||||
- name: Install Gtk, Mingw, unzip, zip and wget
|
||||
run: sudo apt-get update; sudo apt install mingw-w64 libgtk-3-dev unzip wget zip -y
|
||||
|
||||
- name: Release normal(gui)
|
||||
run: |
|
||||
sed -i 's/windows_subsystem = "windows"/windows_subsystem = "console"/' src/main.rs
|
||||
rustup target add x86_64-pc-windows-gnu
|
||||
|
||||
echo "[target.x86_64-pc-windows-gnu]" > ~/.cargo/config
|
||||
echo "linker = \"x86_64-w64-mingw32-gcc\"" >> ~/.cargo/config
|
||||
echo "ar = \"x86_64-w64-mingw32-gcc-ar\"" >> ~/.cargo/config
|
||||
|
||||
|
||||
PKG_CONFIG_ALLOW_CROSS=1 cargo build --target=x86_64-pc-windows-gnu --bin czkawka_gui --release
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
|
||||
- name: F
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_gui-Windows-release-console-${{ matrix.toolchain }}
|
||||
path: gtk_app.zip
|
||||
if: ${{ matrix.type == 'release' }}
|
||||
path: target/release/czkawka_gui.exe
|
||||
|
||||
windows-gui-windows:
|
||||
windows-debug-console:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable ]
|
||||
|
@ -374,179 +309,23 @@ jobs:
|
|||
- name: Install Gtk, Mingw, unzip, zip and wget
|
||||
run: sudo apt-get update; sudo apt install mingw-w64 libgtk-3-dev unzip wget zip -y
|
||||
|
||||
- name: Build GUI Debug Cross Compile
|
||||
- name: Release debug(gui)
|
||||
run: |
|
||||
sed -i 's/windows_subsystem = "windows"/windows_subsystem = "console"/' src/main.rs
|
||||
rustup target add x86_64-pc-windows-gnu
|
||||
|
||||
echo "[target.x86_64-pc-windows-gnu]" > ~/.cargo/config
|
||||
echo "linker = \"x86_64-w64-mingw32-gcc\"" >> ~/.cargo/config
|
||||
echo "ar = \"x86_64-w64-mingw32-gcc-ar\"" >> ~/.cargo/config
|
||||
|
||||
GTK_LIBRARY="$(pwd)/gtk_library"
|
||||
GTK_APP="$(pwd)/gtk_app"
|
||||
GTK_THEME="$(pwd)/gtk_theme"
|
||||
|
||||
wget https://github.com/qarmin/gtk_library_store/releases/download/3.24.0/mingw64.zip
|
||||
unzip mingw64.zip -d $GTK_LIBRARY
|
||||
GTK_LIBRARY="$GTK_LIBRARY/mingw64"
|
||||
|
||||
wget https://github.com/nrhodes91/AdMin/archive/master.zip
|
||||
unzip master.zip -d $GTK_THEME
|
||||
|
||||
PKG_CONFIG_ALLOW_CROSS=1 PKG_CONFIG_PATH="$GTK_LIBRARY/lib/pkgconfig" RUSTFLAGS="-L $GTK_LIBRARY/lib" cargo build --target=x86_64-pc-windows-gnu --bin czkawka_gui
|
||||
|
||||
strip target/x86_64-pc-windows-gnu/debug/czkawka_gui.exe
|
||||
|
||||
mkdir $GTK_APP
|
||||
cp target/x86_64-pc-windows-gnu/debug/czkawka_gui.exe $GTK_APP
|
||||
cp $GTK_LIBRARY/bin/*.dll $GTK_APP
|
||||
mkdir -p $GTK_APP/share/glib-2.0/schemas
|
||||
mkdir $GTK_APP/share/icons
|
||||
cp $GTK_LIBRARY/share/glib-2.0/schemas/* $GTK_APP/share/glib-2.0/schemas
|
||||
cp -r $GTK_LIBRARY/share/icons/* $GTK_APP/share/icons
|
||||
mkdir $GTK_APP/lib
|
||||
cp -r $GTK_LIBRARY/lib/gdk-pixbuf-2.0 $GTK_APP/lib
|
||||
|
||||
mkdir -p $GTK_APP/share/themes
|
||||
mkdir -p $GTK_APP/share/gtk-3.0
|
||||
echo "[Settings]" > $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-theme-name = admin-gtk3-dark-osx" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-font-name = Segoe UI 10" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-xft-rgba = rgb" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
cp $GTK_THEME/AdMin-master/admin-gtk3-dark-osx $GTK_APP/share/themes -r -L
|
||||
|
||||
# This part is only unique for Czkawka
|
||||
# This code allows to check which icons are used in Czkawka
|
||||
# cd czkawka/ui
|
||||
# rg icon-name
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/16x16
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/22x22
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/24x24
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/256x256
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/32x32
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/48x48
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/512x512
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/64x64
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/8x8
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/96x96
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/cursors
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/scalable
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/scalable-up-to-32
|
||||
rm -rf $GTK_APP/share/icons/hicolor
|
||||
wget https://github.com/qarmin/gtk_library_store/releases/download/3.24.0/czkawka_icons.zip
|
||||
unzip czkawka_icons.zip -d $GTK_APP/share/icons/Adwaita
|
||||
|
||||
zip -r gtk_app.zip $GTK_APP
|
||||
PKG_CONFIG_ALLOW_CROSS=1 cargo build --target=x86_64-pc-windows-gnu --bin czkawka_gui
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'release'}}
|
||||
|
||||
- name: Store Windows GUI CrossComplile
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_gui-Windows-windows-${{ matrix.toolchain }}
|
||||
path: gtk_app.zip
|
||||
if: ${{ matrix.type == 'release' }}
|
||||
|
||||
|
||||
windows-gui-console:
|
||||
strategy:
|
||||
matrix:
|
||||
toolchain: [ stable ]
|
||||
type: [ release ]
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: ${{ matrix.toolchain }}
|
||||
override: true
|
||||
|
||||
- uses: actions/cache@v2
|
||||
with:
|
||||
path: |
|
||||
target
|
||||
key: windows-gui-${{github.ref}}-${{github.sha}}
|
||||
restore-keys: |
|
||||
windows-gui-${{github.ref}}-${{github.sha}}
|
||||
|
||||
- name: Install Gtk, Mingw, unzip, zip and wget
|
||||
run: sudo apt-get update; sudo apt install mingw-w64 libgtk-3-dev unzip wget zip -y
|
||||
|
||||
- name: Build GUI Debug Cross Compile
|
||||
run: |
|
||||
sed -i 's/windows_subsystem = "windows"/windows_subsystem = "console"/' czkawka_gui/src/main.rs
|
||||
rustup target add x86_64-pc-windows-gnu
|
||||
|
||||
echo "[target.x86_64-pc-windows-gnu]" > ~/.cargo/config
|
||||
echo "linker = \"x86_64-w64-mingw32-gcc\"" >> ~/.cargo/config
|
||||
echo "ar = \"x86_64-w64-mingw32-gcc-ar\"" >> ~/.cargo/config
|
||||
|
||||
GTK_LIBRARY="$(pwd)/gtk_library"
|
||||
GTK_APP="$(pwd)/gtk_app"
|
||||
GTK_THEME="$(pwd)/gtk_theme"
|
||||
|
||||
wget https://github.com/qarmin/gtk_library_store/releases/download/3.24.0/mingw64.zip
|
||||
unzip mingw64.zip -d $GTK_LIBRARY
|
||||
GTK_LIBRARY="$GTK_LIBRARY/mingw64"
|
||||
|
||||
wget https://github.com/nrhodes91/AdMin/archive/master.zip
|
||||
unzip master.zip -d $GTK_THEME
|
||||
|
||||
PKG_CONFIG_ALLOW_CROSS=1 PKG_CONFIG_PATH="$GTK_LIBRARY/lib/pkgconfig" RUSTFLAGS="-L $GTK_LIBRARY/lib" cargo build --target=x86_64-pc-windows-gnu --bin czkawka_gui
|
||||
|
||||
strip target/x86_64-pc-windows-gnu/debug/czkawka_gui.exe
|
||||
|
||||
mkdir $GTK_APP
|
||||
cp target/x86_64-pc-windows-gnu/debug/czkawka_gui.exe $GTK_APP
|
||||
cp $GTK_LIBRARY/bin/*.dll $GTK_APP
|
||||
mkdir -p $GTK_APP/share/glib-2.0/schemas
|
||||
mkdir $GTK_APP/share/icons
|
||||
cp $GTK_LIBRARY/share/glib-2.0/schemas/* $GTK_APP/share/glib-2.0/schemas
|
||||
cp -r $GTK_LIBRARY/share/icons/* $GTK_APP/share/icons
|
||||
mkdir $GTK_APP/lib
|
||||
cp -r $GTK_LIBRARY/lib/gdk-pixbuf-2.0 $GTK_APP/lib
|
||||
|
||||
mkdir -p $GTK_APP/share/themes
|
||||
mkdir -p $GTK_APP/share/gtk-3.0
|
||||
echo "[Settings]" > $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-theme-name = admin-gtk3-dark-osx" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-font-name = Segoe UI 10" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
echo "gtk-xft-rgba = rgb" >> $GTK_APP/share/gtk-3.0/settings.ini
|
||||
cp $GTK_THEME/AdMin-master/admin-gtk3-dark-osx $GTK_APP/share/themes -r -L
|
||||
|
||||
# This part is only unique for Czkawka
|
||||
# This code allows to check which icons are used in Czkawka
|
||||
# cd czkawka/ui
|
||||
# rg icon-name
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/16x16
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/22x22
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/24x24
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/256x256
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/32x32
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/48x48
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/512x512
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/64x64
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/8x8
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/96x96
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/cursors
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/scalable
|
||||
rm -rf $GTK_APP/share/icons/Adwaita/scalable-up-to-32
|
||||
rm -rf $GTK_APP/share/icons/hicolor
|
||||
wget https://github.com/qarmin/gtk_library_store/releases/download/3.24.0/czkawka_icons.zip
|
||||
unzip czkawka_icons.zip -d $GTK_APP/share/icons/Adwaita
|
||||
|
||||
zip -r gtk_app.zip $GTK_APP
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUSTFLAGS: "-C debuginfo=0 -D warnings"
|
||||
if: ${{ matrix.type == 'release'}}
|
||||
|
||||
- name: Store Windows GUI CrossComplile
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: czkawka_gui-Windows-console-${{ matrix.toolchain }}
|
||||
path: gtk_app.zip
|
||||
if: ${{ matrix.type == 'release' }}
|
||||
name: czkawka_gui-Windows-debug-console-${{ matrix.toolchain }}
|
||||
path: target/debug/czkawka_gui.exe
|
||||
|
|
11
Cargo.lock
generated
11
Cargo.lock
generated
|
@ -57,17 +57,6 @@ dependencies = [
|
|||
"rust-embed",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "czkawka_gui"
|
||||
version = "3.3.1"
|
||||
dependencies = [
|
||||
"czkawka_core",
|
||||
"i18n-embed",
|
||||
"i18n-embed-fl",
|
||||
"once_cell",
|
||||
"rust-embed",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dashmap"
|
||||
version = "4.0.2"
|
||||
|
|
27
Cargo.toml
27
Cargo.toml
|
@ -1,12 +1,17 @@
|
|||
[workspace]
|
||||
members = [
|
||||
"czkawka_core",
|
||||
"czkawka_gui",
|
||||
]
|
||||
[profile.release]
|
||||
# Panic = "abort" will crash entire app when processing invalid image file.
|
||||
# Since crash happens in external library, this is only way to handle this(I think).
|
||||
panic = "unwind"
|
||||
[package]
|
||||
name = "czkawka_core"
|
||||
version = "3.3.1"
|
||||
authors = ["Rafał Mikrut <mikrutrafal@protonmail.com>"]
|
||||
edition = "2018"
|
||||
description = "Core of Czkawka app"
|
||||
license = "MIT"
|
||||
homepage = "https://github.com/qarmin/czkawka"
|
||||
repository = "https://github.com/qarmin/czkawka"
|
||||
|
||||
# LTO setting is disabled by default, because release mode is usually needed to develop app and compilation with LTO would take a lot of time
|
||||
#lto = "fat"
|
||||
|
||||
[dependencies]
|
||||
# Language
|
||||
i18n-embed = { version = "0.13", features = ["fluent-system", "desktop-requester"] }
|
||||
i18n-embed-fl = "0.6"
|
||||
rust-embed = "6.2.0"
|
||||
once_cell = "1.8.0"
|
|
@ -1,17 +0,0 @@
|
|||
[package]
|
||||
name = "czkawka_core"
|
||||
version = "3.3.1"
|
||||
authors = ["Rafał Mikrut <mikrutrafal@protonmail.com>"]
|
||||
edition = "2018"
|
||||
description = "Core of Czkawka app"
|
||||
license = "MIT"
|
||||
homepage = "https://github.com/qarmin/czkawka"
|
||||
repository = "https://github.com/qarmin/czkawka"
|
||||
|
||||
|
||||
[dependencies]
|
||||
# Language
|
||||
i18n-embed = { version = "0.13", features = ["fluent-system", "desktop-requester"] }
|
||||
i18n-embed-fl = "0.6.1"
|
||||
rust-embed = "6.3.0"
|
||||
once_cell = "1.9.0"
|
|
@ -1,13 +0,0 @@
|
|||
# (Required) The language identifier of the language used in the
|
||||
# source code for gettext system, and the primary fallback language
|
||||
# (for which all strings must be present) when using the fluent
|
||||
# system.
|
||||
fallback_language = "en"
|
||||
|
||||
# Use the fluent localization system.
|
||||
[fluent]
|
||||
# (Required) The path to the assets directory.
|
||||
# The paths inside the assets directory should be structured like so:
|
||||
# `assets_dir/{language}/{domain}.ftl`
|
||||
assets_dir = "../i18n"
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
pub mod localizer;
|
||||
|
||||
pub const CZKAWKA_VERSION: &str = env!("CARGO_PKG_VERSION");
|
|
@ -1,44 +0,0 @@
|
|||
use std::collections::HashMap;
|
||||
|
||||
use i18n_embed::{
|
||||
fluent::{fluent_language_loader, FluentLanguageLoader},
|
||||
DefaultLocalizer, LanguageLoader, Localizer,
|
||||
};
|
||||
use once_cell::sync::Lazy;
|
||||
use rust_embed::RustEmbed;
|
||||
|
||||
#[derive(RustEmbed)]
|
||||
#[folder = "../i18n/"]
|
||||
struct Localizations;
|
||||
|
||||
pub static LANGUAGE_LOADER: Lazy<FluentLanguageLoader> = Lazy::new(|| {
|
||||
let loader: FluentLanguageLoader = fluent_language_loader!();
|
||||
|
||||
loader.load_fallback_language(&Localizations).expect("Error while loading fallback language");
|
||||
|
||||
loader
|
||||
});
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! fl {
|
||||
($message_id:literal) => {{
|
||||
i18n_embed_fl::fl!($crate::localizer::LANGUAGE_LOADER, $message_id)
|
||||
}};
|
||||
|
||||
($message_id:literal, $($args:expr),*) => {{
|
||||
i18n_embed_fl::fl!($crate::localizer::LANGUAGE_LOADER, $message_id, $($args), *)
|
||||
}};
|
||||
}
|
||||
|
||||
// Get the `Localizer` to be used for localizing this library.
|
||||
pub fn localizer() -> Box<dyn Localizer> {
|
||||
Box::from(DefaultLocalizer::new(&*LANGUAGE_LOADER, &Localizations))
|
||||
}
|
||||
|
||||
pub fn generate_translation_hashmap(vec: Vec<(&'static str, String)>) -> HashMap<&'static str, String> {
|
||||
let mut hashmap: HashMap<&'static str, String> = Default::default();
|
||||
for (key, value) in vec {
|
||||
hashmap.insert(key, value);
|
||||
}
|
||||
hashmap
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
[package]
|
||||
name = "czkawka_gui"
|
||||
version = "3.3.1"
|
||||
authors = ["Rafał Mikrut <mikrutrafal@protonmail.com>"]
|
||||
edition = "2018"
|
||||
description = "GTK frontend of Czkawka"
|
||||
license = "MIT"
|
||||
homepage = "https://github.com/qarmin/czkawka"
|
||||
repository = "https://github.com/qarmin/czkawka"
|
||||
|
||||
[dependencies]
|
||||
czkawka_core = { path = "../czkawka_core", version = "3.3.1"}
|
||||
|
||||
# Language
|
||||
i18n-embed = { version = "0.13", features = ["fluent-system", "desktop-requester"] }
|
||||
i18n-embed-fl = "0.6.1"
|
||||
rust-embed = "6.3.0"
|
||||
once_cell = "1.9.0"
|
||||
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
# (Required) The language identifier of the language used in the
|
||||
# source code for gettext system, and the primary fallback language
|
||||
# (for which all strings must be present) when using the fluent
|
||||
# system.
|
||||
fallback_language = "en"
|
||||
|
||||
# Use the fluent localization system.
|
||||
[fluent]
|
||||
# (Required) The path to the assets directory.
|
||||
# The paths inside the assets directory should be structured like so:
|
||||
# `assets_dir/{language}/{domain}.ftl`
|
||||
assets_dir = "../i18n"
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.39.0
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Author: Rafał Mikrut
|
||||
|
||||
-->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.24"/>
|
||||
<!-- interface-license-type mit -->
|
||||
<!-- interface-name Czkawka -->
|
||||
<!-- interface-description Czkawka is simple and fast app to find duplicates, empty folders, similar images etc. -->
|
||||
<!-- interface-authors Rafa\305\202 Mikrut -->
|
||||
<object class="GtkAboutDialog" id="about_dialog">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="window-position">center</property>
|
||||
<property name="type-hint">dialog</property>
|
||||
<property name="program-name">Czkawka</property>
|
||||
<property name="version">3.3.1</property>
|
||||
<property name="comments" translatable="yes">2020 - 2021 Rafał Mikrut(qarmin)
|
||||
|
||||
This program is free to use and will always be.
|
||||
</property>
|
||||
<property name="authors">Rafał Mikrut(qarmin)</property>
|
||||
<property name="logo-icon-name">system-search</property>
|
||||
<property name="license-type">mit-x11</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">2</property>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="layout-style">end</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-bottom">3</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_repository">
|
||||
<property name="label" translatable="yes">Repository</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_instruction">
|
||||
<property name="label" translatable="yes">Instruction</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_donation">
|
||||
<property name="label" translatable="yes">Donation</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_translation">
|
||||
<property name="label" translatable="yes">Translation</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
File diff suppressed because it is too large
Load diff
|
@ -1,72 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.38.2
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Author: Rafał Mikrut
|
||||
|
||||
-->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.24"/>
|
||||
<!-- interface-license-type mit -->
|
||||
<!-- interface-name Czkawka -->
|
||||
<!-- interface-description Czkawka is simple and fast app to find duplicates, empty folders, similar images etc. -->
|
||||
<!-- interface-authors Rafa\305\202 Mikrut -->
|
||||
<object class="GtkPopover" id="popover_right_click">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="position">left</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_right_click_open_file">
|
||||
<property name="label" translatable="yes">Open File</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_right_click_open_folder">
|
||||
<property name="label" translatable="yes">Open Folder</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
|
@ -1,232 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.38.2
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Author: Rafał Mikrut
|
||||
|
||||
-->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.24"/>
|
||||
<!-- interface-license-type mit -->
|
||||
<!-- interface-name Czkawka -->
|
||||
<!-- interface-description Czkawka is simple and fast app to find duplicates, empty folders, similar images etc. -->
|
||||
<!-- interface-authors Rafa\305\202 Mikrut -->
|
||||
<object class="GtkPopover" id="popover_select">
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_select_custom">
|
||||
<property name="label" translatable="yes">Select custom</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_unselect_custom">
|
||||
<property name="label" translatable="yes">Unselect custom</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparator" id="separator_select_custom">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_select_all_images_except_biggest">
|
||||
<property name="label" translatable="yes">Select all except biggest</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_select_all_images_except_smallest">
|
||||
<property name="label" translatable="yes">Select all except smallest</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparator" id="separator_select_image_size">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_select_all_except_oldest">
|
||||
<property name="label" translatable="yes">Select all except oldest</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">6</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_select_all_except_newest">
|
||||
<property name="label" translatable="yes">Select all except newest</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">7</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_select_one_oldest">
|
||||
<property name="label" translatable="yes">Select one oldest</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">8</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_select_one_newest">
|
||||
<property name="label" translatable="yes">Select one newest</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">9</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparator" id="separator_select_date">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">10</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_reverse">
|
||||
<property name="label" translatable="yes">Reverse Selection</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">11</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkSeparator" id="separator_select_reverse">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">12</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_select_all">
|
||||
<property name="label" translatable="yes">Select All</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">13</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="buttons_popover_unselect_all">
|
||||
<property name="label" translatable="yes">Unselect All</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">14</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
|
@ -1,202 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.39.0
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Author: Rafał Mikrut
|
||||
|
||||
-->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.24"/>
|
||||
<!-- interface-license-type mit -->
|
||||
<!-- interface-name Czkawka -->
|
||||
<!-- interface-description Czkawka is simple and fast app to find duplicates, empty folders, similar images etc. -->
|
||||
<!-- interface-authors Rafa\305\202 Mikrut -->
|
||||
<object class="GtkDialog" id="window_progress">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="type-hint">dialog</property>
|
||||
<property name="gravity">center</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">2</property>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="layout-style">end</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-start">10</property>
|
||||
<property name="margin-end">10</property>
|
||||
<property name="margin-top">10</property>
|
||||
<property name="margin-bottom">10</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">10</property>
|
||||
<child>
|
||||
<!-- n-columns=2 n-rows=2 -->
|
||||
<object class="GtkGrid" id="grid_progress_stages">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="valign">center</property>
|
||||
<property name="margin-start">2</property>
|
||||
<property name="margin-end">2</property>
|
||||
<property name="margin-top">2</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label_progress_all_stages">
|
||||
<property name="name">label_progress_all_stages</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">All stages: </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">0</property>
|
||||
<property name="top-attach">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkProgressBar" id="progress_bar_all_stages">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="hexpand">True</property>
|
||||
<property name="pulse-step">0.099999999776482579</property>
|
||||
<property name="show-text">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">1</property>
|
||||
<property name="top-attach">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label_progress_current_stage">
|
||||
<property name="name">label_progress_current_stage</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Current stage: </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">0</property>
|
||||
<property name="top-attach">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkProgressBar" id="progress_bar_current_stage">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="show-text">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left-attach">1</property>
|
||||
<property name="top-attach">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label_stage">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Stage 1/2</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_stop_in_dialog">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="margin-end">2</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="icon-name">dialog-cancel</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Stop</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
|
@ -1,681 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.39.0
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Author: Rafał Mikrut
|
||||
|
||||
-->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.24"/>
|
||||
<!-- interface-license-type mit -->
|
||||
<!-- interface-name Czkawka -->
|
||||
<!-- interface-description Czkawka is simple and fast app to find duplicates, empty folders, similar images etc. -->
|
||||
<!-- interface-authors Rafa\305\202 Mikrut -->
|
||||
<object class="GtkDialog" id="window_settings">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="title" translatable="yes">Czkawka Options</property>
|
||||
<property name="modal">True</property>
|
||||
<property name="type-hint">dialog</property>
|
||||
<child internal-child="vbox">
|
||||
<object class="GtkBox">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<property name="spacing">2</property>
|
||||
<child internal-child="action_area">
|
||||
<object class="GtkButtonBox">
|
||||
<property name="can-focus">False</property>
|
||||
<property name="layout-style">end</property>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkComboBoxText">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkNotebook" id="notebook_settings">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="tab-pos">left</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label_settings_general_language">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-start">5</property>
|
||||
<property name="margin-end">10</property>
|
||||
<property name="label" translatable="yes">Language</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkComboBoxText" id="combo_box_settings_language">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_load_at_start">
|
||||
<property name="label" translatable="yes">Load configuration at start</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_save_at_exit">
|
||||
<property name="label" translatable="yes">Save configuration at exit</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_confirm_deletion">
|
||||
<property name="label" translatable="yes">Show confirm dialog when deleting any files</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_confirm_link">
|
||||
<property name="label" translatable="yes">Show confirm dialog when hard/symlinks any files</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_confirm_group_deletion">
|
||||
<property name="label" translatable="yes">Show confirm dialog when deleting all files in group</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_show_text_view">
|
||||
<property name="label" translatable="yes">Show bottom text panel</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">6</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_use_cache">
|
||||
<property name="label" translatable="yes">Use cache</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">7</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_use_trash">
|
||||
<property name="label" translatable="yes">Move deleted files to trash</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">8</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_settings_open_cache_folder">
|
||||
<property name="label" translatable="yes">Open cache folder</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_settings_open_settings_folder">
|
||||
<property name="label" translatable="yes">Open settings folder</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="tab">
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">General</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="tab-fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_hide_hard_links">
|
||||
<property name="label" translatable="yes">Hide hard links(only Linux and MacOS)</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_show_preview_duplicates">
|
||||
<property name="label" translatable="yes">Show image preview</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_duplicates_delete_outdated_cache">
|
||||
<property name="label" translatable="yes">Delete outdated cache entries automatically</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-start">4</property>
|
||||
<property name="margin-end">4</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label_settings_duplicate_minimal_size_cache">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Minimal size of files in bytes saved to cache</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="entry_settings_cache_file_minimal_size">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="max-length">15</property>
|
||||
<property name="text" translatable="yes">257144</property>
|
||||
<property name="caps-lock-warning">False</property>
|
||||
<property name="input-purpose">number</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_duplicates_use_prehash_cache">
|
||||
<property name="label" translatable="yes">Use prehash cache</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_settings_duplicates_clear_cache">
|
||||
<property name="label" translatable="yes">Remove outdated results from duplicates cache</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-start">4</property>
|
||||
<property name="margin-end">4</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label_settings_duplicate_minimal_size_cache_prehash">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Minimal size of files in bytes saved to prehash cache</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkEntry" id="entry_settings_prehash_cache_file_minimal_size">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="max-length">15</property>
|
||||
<property name="text" translatable="yes">1</property>
|
||||
<property name="caps-lock-warning">False</property>
|
||||
<property name="input-purpose">number</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">6</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child type="tab">
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Duplicate Finder</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
<property name="tab-fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_show_preview_similar_images">
|
||||
<property name="label" translatable="yes">Show image preview</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_similar_images_delete_outdated_cache">
|
||||
<property name="label" translatable="yes">Delete outdated cache entries automatically</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_settings_similar_images_clear_cache">
|
||||
<property name="label" translatable="yes">Remove outdated results from images cache</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child type="tab">
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Similar Images</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">2</property>
|
||||
<property name="tab-fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_settings_similar_videos_clear_cache">
|
||||
<property name="label" translatable="yes">Remove outdated results from videos cache</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="check_button_settings_similar_videos_delete_outdated_cache">
|
||||
<property name="label" translatable="yes">Delete outdated cache entries automatically</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">False</property>
|
||||
<property name="draw-indicator">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child type="tab">
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="label" translatable="yes">Similar Videos</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">3</property>
|
||||
<property name="tab-fill">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="margin-start">3</property>
|
||||
<property name="margin-end">3</property>
|
||||
<property name="spacing">3</property>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_settings_load_configuration">
|
||||
<property name="label" translatable="yes">Load configuration</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_settings_reset_configuration">
|
||||
<property name="label" translatable="yes">Reset configuration</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button_settings_save_configuration">
|
||||
<property name="label" translatable="yes">Save configuration</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="pack-type">end</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="padding">3</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
|
@ -1,12 +0,0 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Terminal=false
|
||||
Exec=czkawka_gui
|
||||
Name=Czkawka
|
||||
Name[it]=Singhiozzo
|
||||
Comment=Multi functional app to clean OS which allow to find duplicates, empty folders, similar files etc.
|
||||
Comment[it]=Programma multifunzionale per pulire il sistema, che permette di trovare file duplicati, cartelle vuote, file simili, ecc...
|
||||
Icon=com.github.qarmin.czkawka
|
||||
Categories=System;
|
||||
StartupWMClass=czkawka_gui
|
||||
TryExec=czkawka_gui
|
|
@ -1,30 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop-application">
|
||||
<id>com.github.qarmin.czkawka</id>
|
||||
<name>Czkawka</name>
|
||||
<summary>Multi functional app to find duplicates, empty folders, similar images, broken files etc.</summary>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<project_license>MIT</project_license>
|
||||
<description>
|
||||
<p>
|
||||
Czkawka is simple, fast and easy to use app to remove unnecessary files from your computer.
|
||||
</p>
|
||||
</description>
|
||||
<launchable type="desktop-id">com.github.qarmin.czkawka.desktop</launchable>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://user-images.githubusercontent.com/41945903/147875238-7f82fa27-c6dd-47e7-87ed-e253fb2cbc3e.png</image>
|
||||
<image>https://user-images.githubusercontent.com/41945903/147875239-bcf9776c-885d-45ac-ba82-5a426d8e1647.png</image>
|
||||
<image>https://user-images.githubusercontent.com/41945903/147875243-e654e683-37f7-46fa-8321-119a4c5775e7.png</image>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<releases>
|
||||
<release version="3.3.1" date="2021-11-22"/>
|
||||
</releases>
|
||||
<content_rating type="oars-1.0"/>
|
||||
<developer_name>Rafał Mikrut</developer_name>
|
||||
<url type="homepage">https://github.com/qarmin/czkawka</url>
|
||||
<url type="bugtracker">https://github.com/qarmin/czkawka/issues</url>
|
||||
<url type="donation">https://github.com/sponsors/qarmin</url>
|
||||
<url type="translation">https://crowdin.com/project/czkawka</url>
|
||||
</component>
|
|
@ -1,60 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="16px" viewBox="0 0 16 16" width="16px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<filter id="a" height="100%" width="100%" x="0%" y="0%">
|
||||
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
</filter>
|
||||
<mask id="b">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="16" width="16"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient id="c" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0"/>
|
||||
<stop offset="1" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="d" cx="448.010223" cy="51.543747" gradientTransform="matrix(0.112144 0.00038317 -0.00021629 0.0633011 26.761475 154.313576)" r="224" xlink:href="#c"/>
|
||||
<clipPath id="e">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<mask id="f">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.4" height="16" width="16"/>
|
||||
</g>
|
||||
</mask>
|
||||
<mask id="g">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="16" width="16"/>
|
||||
</g>
|
||||
</mask>
|
||||
<radialGradient id="h" cx="70" cy="295.183136" gradientTransform="matrix(1.312499 -0.0312501 0.00967013 0.406135 -16.729404 5.303345)" r="32.000004" xlink:href="#c"/>
|
||||
<clipPath id="i">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<mask id="j">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="16" width="16"/>
|
||||
</g>
|
||||
</mask>
|
||||
<radialGradient id="k" cx="70" cy="295.183136" gradientTransform="matrix(1.312499 -0.0312501 0.00967013 0.406135 -16.729404 9.303345)" r="32.000004" xlink:href="#c"/>
|
||||
<clipPath id="l">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<g clip-path="url(#e)" mask="url(#b)" transform="matrix(1 0 0 1 -168 -16)">
|
||||
<path d="m -29 150 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 0" fill="url(#d)"/>
|
||||
</g>
|
||||
<image height="152" mask="url(#f)" transform="matrix(1 0 0 1 -168 -16)" width="192" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAACYCAYAAACyAeadAAAABmJLR0QA/wD/AP+gvaeTAAAAiElEQVR4nO3BMQEAAADCoPVP7WsIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAPIpwABWLk4FQAAAABJRU5ErkJggg=="/>
|
||||
<g fill="#474747" fill-rule="evenodd">
|
||||
<path d="m 3 0 c -0.550781 0 -1 0.449219 -1 1 v 7 h 2 v -6 h 5.085938 l 2.914062 2.914062 v 3.085938 h 2 v -3.5 c 0 -0.265625 -0.105469 -0.519531 -0.292969 -0.707031 l -3.5 -3.5 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 z m 0 0"/>
|
||||
<path d="m 9 1 v 4 h 4 z m 0 0"/>
|
||||
<path d="m 2 10 h 2 v 6 h -2 z m 0 0"/>
|
||||
<path d="m 6 10 h 2 v 4 h -2 z m 0 0"/>
|
||||
<path d="m 12 10 h 2 v 6 h -2 z m 0 0"/>
|
||||
<path d="m 8 10 h 2 v 6 h -2 z m 0 0"/>
|
||||
</g>
|
||||
<g clip-path="url(#i)" mask="url(#g)" transform="matrix(1 0 0 1 -168 -16)">
|
||||
<path d="m 27.398438 123.054688 c -1.988282 -0.410157 -4.296876 -0.3125 -4.859376 -2.179688 c -0.175781 -0.589844 -0.539062 -1.238281 -0.539062 -4.105469 l 0.003906 -1.300781 l 0.714844 2.339844 c 0.402344 1.324218 2.058594 2.28125 3.480469 2.664062 c 1.449219 0.390625 54.734375 0.378906 55.902343 -0.011718 c 1.371094 -0.460938 2.375 -1.363282 3.089844 -2.773438 l 0.808594 -3.6875 v 5 c -0.636719 2.582031 -1.746094 3.355469 -3.476562 4.160156 l -27.125 0.035156 c -14.410157 0.019532 -26.660157 -0.039062 -27.90625 -0.132812 c -0.046876 -0.003906 -0.074219 -0.007812 -0.09375 -0.007812 z m 0 0" fill="url(#h)"/>
|
||||
</g>
|
||||
<g clip-path="url(#l)" mask="url(#j)" transform="matrix(1 0 0 1 -168 -16)">
|
||||
<path d="m 27.398438 127.054688 c -1.988282 -0.410157 -4.296876 -0.3125 -4.859376 -2.179688 c -0.175781 -0.589844 -0.539062 -1.238281 -0.539062 -4.105469 l 0.003906 -1.300781 l 0.714844 2.339844 c 0.402344 1.324218 2.058594 2.28125 3.480469 2.664062 c 1.449219 0.390625 53.574219 0.632813 54.800781 0.527344 c 1.855469 -0.15625 3.730469 -1.214844 4.191406 -3.3125 l 0.808594 -3.6875 v 5 c -0.636719 2.582031 -1.746094 3.355469 -3.476562 4.160156 l -27.125 0.035156 c -14.410157 0.019532 -26.660157 -0.039062 -27.90625 -0.132812 c -0.046876 -0.003906 -0.074219 -0.007812 -0.09375 -0.007812 z m 0 0" fill="url(#k)"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 4.9 KiB |
|
@ -1,211 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<defs>
|
||||
<filter id="a" height="100%" width="100%" x="0%" y="0%">
|
||||
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
</filter>
|
||||
<mask id="b">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<mask id="c">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.4" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient id="d" gradientTransform="matrix(0.183804 0 0 0.183435 95.760605 92.654816)" gradientUnits="userSpaceOnUse" x1="-91.187302" x2="-450.265167" y1="100.009354" y2="100.009354">
|
||||
<stop offset="0" stop-color="#9a9996"/>
|
||||
<stop offset="0.0357143" stop-color="#f6f5f4"/>
|
||||
<stop offset="0.106061" stop-color="#c0bfbc"/>
|
||||
<stop offset="0.893939" stop-color="#c0bfbc"/>
|
||||
<stop offset="0.939394" stop-color="#deddda"/>
|
||||
<stop offset="1" stop-color="#9a9996"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="e" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#c0bfbc"/>
|
||||
<stop offset="0.895452" stop-color="#c0bfbc"/>
|
||||
<stop offset="0.941856" stop-color="#deddda"/>
|
||||
<stop offset="1" stop-color="#9a9996"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="f" gradientTransform="matrix(0.183804 0 0 0.183435 95.760605 92.654816)" x1="-444.824585" x2="-96.627876" xlink:href="#e" y1="-126.472778" y2="-126.472778"/>
|
||||
<linearGradient id="g" gradientTransform="matrix(0.183804 0 0 -0.183435 95.760605 92.654816)" x1="-444.824585" x2="-96.627876" xlink:href="#e" y1="-126.472778" y2="-126.472778"/>
|
||||
<mask id="h">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient id="i" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0"/>
|
||||
<stop offset="1" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="j" gradientTransform="matrix(0.183804 0 0 0.183435 95.760605 92.654816)" x1="-444.824585" x2="-96.627876" xlink:href="#i" y1="-126.472794" y2="-126.472794"/>
|
||||
<linearGradient id="k" gradientTransform="matrix(0.183804 0 0 -0.183435 95.760605 92.654816)" x1="-444.824585" x2="-96.627876" xlink:href="#i" y1="-126.472794" y2="-126.472794"/>
|
||||
<linearGradient id="l" gradientUnits="userSpaceOnUse" x1="24" x2="44" y1="48" y2="62">
|
||||
<stop offset="0" stop-color="#9141ac"/>
|
||||
<stop offset="1" stop-color="#1c71d8"/>
|
||||
</linearGradient>
|
||||
<mask id="m">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient id="n" gradientUnits="userSpaceOnUse" x1="55.999998" x2="75.999998" y1="35.999996" y2="49.999996">
|
||||
<stop offset="0" stop-color="#c061cb"/>
|
||||
<stop offset="1" stop-color="#3584e4"/>
|
||||
</linearGradient>
|
||||
<mask id="o">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<radialGradient id="p" cx="448.010223" cy="51.543747" gradientTransform="matrix(0.112144 0.00038317 -0.00021629 0.0633011 26.761475 154.313576)" r="224" xlink:href="#i"/>
|
||||
<clipPath id="q">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<g id="r" clip-path="url(#q)">
|
||||
<path d="m -29 150 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 0" fill="url(#p)"/>
|
||||
</g>
|
||||
<mask id="s">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.4" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<image id="t" height="152" width="192" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAACYCAYAAACyAeadAAAABmJLR0QA/wD/AP+gvaeTAAAAiElEQVR4nO3BMQEAAADCoPVP7WsIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAPIpwABWLk4FQAAAABJRU5ErkJggg=="/>
|
||||
<mask id="u">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<radialGradient id="v" cx="70" cy="295.183136" gradientTransform="matrix(1.312499 -0.0312501 0.00967013 0.406135 -16.729404 5.303345)" r="32.000004" xlink:href="#i"/>
|
||||
<clipPath id="w">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<g id="x" clip-path="url(#w)">
|
||||
<path d="m 27.398438 123.054688 c -1.988282 -0.410157 -4.296876 -0.3125 -4.859376 -2.179688 c -0.175781 -0.589844 -0.539062 -1.238281 -0.539062 -4.105469 l 0.003906 -1.300781 l 0.714844 2.339844 c 0.402344 1.324218 2.058594 2.28125 3.480469 2.664062 c 1.449219 0.390625 54.734375 0.378906 55.902343 -0.011718 c 1.371094 -0.460938 2.375 -1.363282 3.089844 -2.773438 l 0.808594 -3.6875 v 5 c -0.636719 2.582031 -1.746094 3.355469 -3.476562 4.160156 l -27.125 0.035156 c -14.410157 0.019532 -26.660157 -0.039062 -27.90625 -0.132812 c -0.046876 -0.003906 -0.074219 -0.007812 -0.09375 -0.007812 z m 0 0" fill="url(#v)"/>
|
||||
</g>
|
||||
<mask id="y">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<radialGradient id="z" cx="70" cy="295.183136" gradientTransform="matrix(1.312499 -0.0312501 0.00967013 0.406135 -16.729404 9.303345)" r="32.000004" xlink:href="#i"/>
|
||||
<clipPath id="A">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<g id="B" clip-path="url(#A)">
|
||||
<path d="m 27.398438 127.054688 c -1.988282 -0.410157 -4.296876 -0.3125 -4.859376 -2.179688 c -0.175781 -0.589844 -0.539062 -1.238281 -0.539062 -4.105469 l 0.003906 -1.300781 l 0.714844 2.339844 c 0.402344 1.324218 2.058594 2.28125 3.480469 2.664062 c 1.449219 0.390625 53.574219 0.632813 54.800781 0.527344 c 1.855469 -0.15625 3.730469 -1.214844 4.191406 -3.3125 l 0.808594 -3.6875 v 5 c -0.636719 2.582031 -1.746094 3.355469 -3.476562 4.160156 l -27.125 0.035156 c -14.410157 0.019532 -26.660157 -0.039062 -27.90625 -0.132812 c -0.046876 -0.003906 -0.074219 -0.007812 -0.09375 -0.007812 z m 0 0" fill="url(#z)"/>
|
||||
</g>
|
||||
<clipPath id="C">
|
||||
<rect height="128" width="128"/>
|
||||
</clipPath>
|
||||
<clipPath id="D">
|
||||
<rect height="128" width="128"/>
|
||||
</clipPath>
|
||||
<mask id="E">
|
||||
<g clip-path="url(#D)" filter="url(#a)">
|
||||
<g clip-path="url(#C)">
|
||||
<path d="m 52 64 h 8 v 32 h -8 z m 0 0" fill="#f6f5f4"/>
|
||||
<use mask="url(#o)" transform="matrix(1 0 0 1 -8 -16)" xlink:href="#r"/>
|
||||
<use mask="url(#s)" transform="matrix(1 0 0 1 -8 -16)" xlink:href="#t"/>
|
||||
<path d="m 19.882812 28.496094 l 36.675782 -5.585938 l 21.441406 22.089844 v 65 c 0 3.460938 -1.925781 6 -5.183594 6 h -52.933594 c -3.257812 0 -5.882812 -2.789062 -5.882812 -6.25 v -75.003906 c 0 -3.460938 2.625 -6.25 5.882812 -6.25 z m 0 0" fill="url(#d)"/>
|
||||
<path d="m 58.679688 76.75 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335938 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.339844 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m -33.820313 -7.335938 h 44.113281 v 2.933594 h -44.113281 z m 0 -7.339844 h 27.9375 v 2.9375 h -27.9375 z m 0 -7.335937 h 27.9375 v 2.933594 h -27.9375 z m 0 0" fill="url(#f)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#g)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#g)"/>
|
||||
<use mask="url(#u)" transform="matrix(1 0 0 1 -8 -16)" xlink:href="#x"/>
|
||||
<path d="m 58.679688 76.75 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335938 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.339844 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m -33.820313 -7.335938 h 44.113281 v 2.933594 h -44.113281 z m 0 -7.339844 h 27.9375 v 2.9375 h -27.9375 z m 0 -7.335937 h 27.9375 v 2.933594 h -27.9375 z m 0 0" fill="url(#j)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#k)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#k)"/>
|
||||
<path d="m 56.558594 22.910156 v 16.144532 c 0 3.25 2.648437 5.8125 5.898437 5.8125 l 16.144531 -0.003907 z m 0 0" fill="#deddda"/>
|
||||
<path d="m 19.871094 22.910156 h 36.6875 l 21.441406 22.089844 v 54 c 0 3.25 -2.050781 6.089844 -5.300781 6.089844 h -52.828125 c -3.253906 0 -5.871094 -2.617188 -5.871094 -5.871094 v -70.4375 c 0 -3.253906 2.617188 -5.871094 5.871094 -5.871094 z m 0 0" fill="#deddda"/>
|
||||
<path d="m 24 90 h 22 v 4 h -22 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 82 h 48 v 4 h -48 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 74 h 48 v 4 h -48 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 48 52 h 16 v 4 h -16 z m 0 0" fill="#9a9996"/>
|
||||
<path d="m 24 32 h 22 v 4 h -22 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 40 h 24 v 4 h -24 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 48 60 h 22 v 4 h -22 z m 0 0" fill="#9a9996"/>
|
||||
<path d="m 53.3125 13 c -3.25 0 -5.3125 2.75 -5.3125 6 v 77 h 6 v -32 h 6 v 24 h 6 v -24 h 6 v 12 h 6 v -12 h 5 v 32 h 6 v -32 h 5 v 38 h 6 v -38 h 6 v 32 h 6 v -32 l 0.042969 -29.050781 l -22.042969 -21.949219 z m 0 0" fill="#f6f5f4"/>
|
||||
<path d="m 90 13 v 16.140625 c 0 3.253906 2.648438 5.816406 5.902344 5.816406 l 16.140625 -0.003906 z m 0 0" fill="#deddda"/>
|
||||
<path d="m 94 64 h 6 v 32 h -6 z m 0 0" fill="#f6f5f4"/>
|
||||
<path d="m 24 48 h 20 v 14 h -20 z m 0 0" fill="url(#l)"/>
|
||||
<path d="m 56 20 h 22 v 4 h -22 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 56 28 h 26 v 4 h -26 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 80 46 h 24 v 4 h -24 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 80 38 h 16 v 4 h -16 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 66 h 24 v 4 h -24 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 56 54 h 48 v 4 h -48 z m 0 0" fill="#c0bfbc"/>
|
||||
<use mask="url(#y)" transform="matrix(1 0 0 1 -8 -16)" xlink:href="#B"/>
|
||||
<path d="m 94 98 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 106 92 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 83 92 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 72 72 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 60 84 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 48 92 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 56 36 h 20 v 14 h -20 z m 0 0" fill="url(#n)"/>
|
||||
</g>
|
||||
</g>
|
||||
</mask>
|
||||
<mask id="F">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.8" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient id="G" gradientTransform="matrix(0 0.37 -0.98462 0 295.38501 -30.360001)" gradientUnits="userSpaceOnUse" x1="300" x2="428" y1="235" y2="235">
|
||||
<stop offset="0" stop-color="#f9f06b"/>
|
||||
<stop offset="1" stop-color="#f5c211"/>
|
||||
</linearGradient>
|
||||
<clipPath id="H">
|
||||
<rect height="128" width="128"/>
|
||||
</clipPath>
|
||||
<clipPath id="I">
|
||||
<rect height="128" width="128"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<path d="m 52 64 h 8 v 32 h -8 z m 0 0" fill="#f6f5f4"/>
|
||||
<use mask="url(#b)" transform="matrix(1 0 0 1 -8 -16)" xlink:href="#r"/>
|
||||
<use mask="url(#c)" transform="matrix(1 0 0 1 -8 -16)" xlink:href="#t"/>
|
||||
<path d="m 19.882812 28.496094 l 36.675782 -5.585938 l 21.441406 22.089844 v 65 c 0 3.460938 -1.925781 6 -5.183594 6 h -52.933594 c -3.257812 0 -5.882812 -2.789062 -5.882812 -6.25 v -75.003906 c 0 -3.460938 2.625 -6.25 5.882812 -6.25 z m 0 0" fill="url(#d)"/>
|
||||
<path d="m 58.679688 76.75 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335938 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.339844 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m -33.820313 -7.335938 h 44.113281 v 2.933594 h -44.113281 z m 0 -7.339844 h 27.9375 v 2.9375 h -27.9375 z m 0 -7.335937 h 27.9375 v 2.933594 h -27.9375 z m 0 0" fill="url(#f)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#g)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#g)"/>
|
||||
<use mask="url(#h)" transform="matrix(1 0 0 1 -8 -16)" xlink:href="#x"/>
|
||||
<path d="m 58.679688 76.75 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335938 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.339844 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m -33.820313 -7.335938 h 44.113281 v 2.933594 h -44.113281 z m 0 -7.339844 h 27.9375 v 2.9375 h -27.9375 z m 0 -7.335937 h 27.9375 v 2.933594 h -27.9375 z m 0 0" fill="url(#j)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#k)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#k)"/>
|
||||
<path d="m 56.558594 22.910156 v 16.144532 c 0 3.25 2.648437 5.8125 5.898437 5.8125 l 16.144531 -0.003907 z m 0 0" fill="#deddda"/>
|
||||
<path d="m 19.871094 22.910156 h 36.6875 l 21.441406 22.089844 v 54 c 0 3.25 -2.050781 6.089844 -5.300781 6.089844 h -52.828125 c -3.253906 0 -5.871094 -2.617188 -5.871094 -5.871094 v -70.4375 c 0 -3.253906 2.617188 -5.871094 5.871094 -5.871094 z m 0 0" fill="#deddda"/>
|
||||
<path d="m 24 90 h 22 v 4 h -22 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 82 h 48 v 4 h -48 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 74 h 48 v 4 h -48 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 48 52 h 16 v 4 h -16 z m 0 0" fill="#9a9996"/>
|
||||
<path d="m 24 32 h 22 v 4 h -22 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 40 h 24 v 4 h -24 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 48 60 h 22 v 4 h -22 z m 0 0" fill="#9a9996"/>
|
||||
<path d="m 53.3125 13 c -3.25 0 -5.3125 2.75 -5.3125 6 v 77 h 6 v -32 h 6 v 24 h 6 v -24 h 6 v 12 h 6 v -12 h 5 v 32 h 6 v -32 h 5 v 38 h 6 v -38 h 6 v 32 h 6 v -32 l 0.042969 -29.050781 l -22.042969 -21.949219 z m 0 0" fill="#f6f5f4"/>
|
||||
<path d="m 90 13 v 16.140625 c 0 3.253906 2.648438 5.816406 5.902344 5.816406 l 16.140625 -0.003906 z m 0 0" fill="#deddda"/>
|
||||
<path d="m 94 64 h 6 v 32 h -6 z m 0 0" fill="#f6f5f4"/>
|
||||
<path d="m 24 48 h 20 v 14 h -20 z m 0 0" fill="url(#l)"/>
|
||||
<g fill="#c0bfbc">
|
||||
<path d="m 56 20 h 22 v 4 h -22 z m 0 0"/>
|
||||
<path d="m 56 28 h 26 v 4 h -26 z m 0 0"/>
|
||||
<path d="m 80 46 h 24 v 4 h -24 z m 0 0"/>
|
||||
<path d="m 80 38 h 16 v 4 h -16 z m 0 0"/>
|
||||
<path d="m 24 66 h 24 v 4 h -24 z m 0 0"/>
|
||||
<path d="m 56 54 h 48 v 4 h -48 z m 0 0"/>
|
||||
</g>
|
||||
<use mask="url(#m)" transform="matrix(1 0 0 1 -8 -16)" xlink:href="#B"/>
|
||||
<path d="m 94 98 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 106 92 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 83 92 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 72 72 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 60 84 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 48 92 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 56 36 h 20 v 14 h -20 z m 0 0" fill="url(#n)"/>
|
||||
<g clip-path="url(#I)" mask="url(#E)">
|
||||
<g clip-path="url(#H)" mask="url(#F)">
|
||||
<path d="m 128 80.640625 v 47.359375 h -128 v -47.359375 z m 0 0" fill="url(#G)"/>
|
||||
<path d="m 13.308594 80.640625 l 47.355468 47.359375 h 21.214844 l -47.359375 -47.359375 z m 42.421875 0 l 47.363281 47.359375 h 21.214844 l -47.363282 -47.359375 z m 42.429687 0 l 29.839844 29.839844 v -21.210938 l -8.628906 -8.628906 z m -98.160156 7.90625 v 21.214844 l 18.238281 18.238281 h 21.214844 z m 0 0"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 17 KiB |
|
@ -1,114 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<filter id="a" height="100%" width="100%" x="0%" y="0%">
|
||||
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0"/>
|
||||
</filter>
|
||||
<mask id="b">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient id="c" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0"/>
|
||||
<stop offset="1" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<radialGradient id="d" cx="448.010223" cy="51.543747" gradientTransform="matrix(0.112144 0.00038317 -0.00021629 0.0633011 26.761475 154.313576)" r="224" xlink:href="#c"/>
|
||||
<clipPath id="e">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<mask id="f">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.4" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<linearGradient id="g" gradientTransform="matrix(0.183804 0 0 0.183435 95.760605 92.654816)" gradientUnits="userSpaceOnUse" x1="-91.187302" x2="-450.265167" y1="100.009354" y2="100.009354">
|
||||
<stop offset="0" stop-color="#9a9996"/>
|
||||
<stop offset="0.0357143" stop-color="#f6f5f4"/>
|
||||
<stop offset="0.106061" stop-color="#c0bfbc"/>
|
||||
<stop offset="0.893939" stop-color="#c0bfbc"/>
|
||||
<stop offset="0.939394" stop-color="#deddda"/>
|
||||
<stop offset="1" stop-color="#9a9996"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="h" gradientUnits="userSpaceOnUse">
|
||||
<stop offset="0" stop-color="#c0bfbc"/>
|
||||
<stop offset="0.895452" stop-color="#c0bfbc"/>
|
||||
<stop offset="0.941856" stop-color="#deddda"/>
|
||||
<stop offset="1" stop-color="#9a9996"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="i" gradientTransform="matrix(0.183804 0 0 0.183435 95.760605 92.654816)" x1="-444.824585" x2="-96.627876" xlink:href="#h" y1="-126.472778" y2="-126.472778"/>
|
||||
<linearGradient id="j" gradientTransform="matrix(0.183804 0 0 -0.183435 95.760605 92.654816)" x1="-444.824585" x2="-96.627876" xlink:href="#h" y1="-126.472778" y2="-126.472778"/>
|
||||
<mask id="k">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<radialGradient id="l" cx="70" cy="295.183136" gradientTransform="matrix(1.312499 -0.0312501 0.00967013 0.406135 -16.729404 5.303345)" r="32.000004" xlink:href="#c"/>
|
||||
<clipPath id="m">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<linearGradient id="n" gradientTransform="matrix(0.183804 0 0 0.183435 95.760605 92.654816)" x1="-444.824585" x2="-96.627876" xlink:href="#c" y1="-126.472794" y2="-126.472794"/>
|
||||
<linearGradient id="o" gradientTransform="matrix(0.183804 0 0 -0.183435 95.760605 92.654816)" x1="-444.824585" x2="-96.627876" xlink:href="#c" y1="-126.472794" y2="-126.472794"/>
|
||||
<linearGradient id="p" gradientUnits="userSpaceOnUse" x1="24" x2="44" y1="48" y2="62">
|
||||
<stop offset="0" stop-color="#9141ac"/>
|
||||
<stop offset="1" stop-color="#1c71d8"/>
|
||||
</linearGradient>
|
||||
<mask id="q">
|
||||
<g filter="url(#a)">
|
||||
<rect fill-opacity="0.104" height="128" width="128"/>
|
||||
</g>
|
||||
</mask>
|
||||
<radialGradient id="r" cx="70" cy="295.183136" gradientTransform="matrix(1.312499 -0.0312501 0.00967013 0.406135 -16.729404 9.303345)" r="32.000004" xlink:href="#c"/>
|
||||
<clipPath id="s">
|
||||
<rect height="152" width="192"/>
|
||||
</clipPath>
|
||||
<linearGradient id="t" gradientUnits="userSpaceOnUse" x1="55.999998" x2="75.999998" y1="35.999996" y2="49.999996">
|
||||
<stop offset="0" stop-color="#c061cb"/>
|
||||
<stop offset="1" stop-color="#3584e4"/>
|
||||
</linearGradient>
|
||||
<path d="m 52 64 h 8 v 32 h -8 z m 0 0" fill="#f6f5f4"/>
|
||||
<g clip-path="url(#e)" mask="url(#b)" transform="matrix(1 0 0 1 -8 -16)">
|
||||
<path d="m -29 150 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 4 v 2 c 0 4.433594 3.566406 8 8 8 h 96 c 4.433594 0 8 -3.566406 8 -8 v -2 c 0 4.433594 -3.566406 8 -8 8 h -96 c -4.433594 0 -8 -3.566406 -8 -8 z m 0 0" fill="url(#d)"/>
|
||||
</g>
|
||||
<image height="152" mask="url(#f)" transform="matrix(1 0 0 1 -8 -16)" width="192" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAACYCAYAAACyAeadAAAABmJLR0QA/wD/AP+gvaeTAAAAiElEQVR4nO3BMQEAAADCoPVP7WsIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAPIpwABWLk4FQAAAABJRU5ErkJggg=="/>
|
||||
<path d="m 19.882812 28.496094 l 36.675782 -5.585938 l 21.441406 22.089844 v 65 c 0 3.460938 -1.925781 6 -5.183594 6 h -52.933594 c -3.257812 0 -5.882812 -2.789062 -5.882812 -6.25 v -75.003906 c 0 -3.460938 2.625 -6.25 5.882812 -6.25 z m 0 0" fill="url(#g)"/>
|
||||
<path d="m 58.679688 76.75 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335938 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.339844 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m -33.820313 -7.335938 h 44.113281 v 2.933594 h -44.113281 z m 0 -7.339844 h 27.9375 v 2.9375 h -27.9375 z m 0 -7.335937 h 27.9375 v 2.933594 h -27.9375 z m 0 0" fill="url(#i)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#j)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#j)"/>
|
||||
<g clip-path="url(#m)" mask="url(#k)" transform="matrix(1 0 0 1 -8 -16)">
|
||||
<path d="m 27.398438 123.054688 c -1.988282 -0.410157 -4.296876 -0.3125 -4.859376 -2.179688 c -0.175781 -0.589844 -0.539062 -1.238281 -0.539062 -4.105469 l 0.003906 -1.300781 l 0.714844 2.339844 c 0.402344 1.324218 2.058594 2.28125 3.480469 2.664062 c 1.449219 0.390625 54.734375 0.378906 55.902343 -0.011718 c 1.371094 -0.460938 2.375 -1.363282 3.089844 -2.773438 l 0.808594 -3.6875 v 5 c -0.636719 2.582031 -1.746094 3.355469 -3.476562 4.160156 l -27.125 0.035156 c -14.410157 0.019532 -26.660157 -0.039062 -27.90625 -0.132812 c -0.046876 -0.003906 -0.074219 -0.007812 -0.09375 -0.007812 z m 0 0" fill="url(#l)"/>
|
||||
</g>
|
||||
<path d="m 58.679688 76.75 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335938 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m 0 -7.339844 h 10.292968 v 2.9375 h -10.292968 z m 0 -7.335937 h 10.292968 v 2.933594 h -10.292968 z m -33.820313 -7.335938 h 44.113281 v 2.933594 h -44.113281 z m 0 -7.339844 h 27.9375 v 2.9375 h -27.9375 z m 0 -7.335937 h 27.9375 v 2.933594 h -27.9375 z m 0 0" fill="url(#n)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#o)"/>
|
||||
<path d="m 24.859375 84.089844 h 30.878906 v -36.710938 h -30.878906 z m 0 0" fill="url(#o)"/>
|
||||
<path d="m 56.558594 22.910156 v 16.144532 c 0 3.25 2.648437 5.8125 5.898437 5.8125 l 16.144531 -0.003907 z m 0 0" fill="#deddda"/>
|
||||
<path d="m 19.871094 22.910156 h 36.6875 l 21.441406 22.089844 v 54 c 0 3.25 -2.050781 6.089844 -5.300781 6.089844 h -52.828125 c -3.253906 0 -5.871094 -2.617188 -5.871094 -5.871094 v -70.4375 c 0 -3.253906 2.617188 -5.871094 5.871094 -5.871094 z m 0 0" fill="#deddda"/>
|
||||
<path d="m 24 90 h 22 v 4 h -22 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 82 h 48 v 4 h -48 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 74 h 48 v 4 h -48 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 48 52 h 16 v 4 h -16 z m 0 0" fill="#9a9996"/>
|
||||
<path d="m 24 32 h 22 v 4 h -22 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 24 40 h 24 v 4 h -24 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 48 60 h 22 v 4 h -22 z m 0 0" fill="#9a9996"/>
|
||||
<path d="m 53.3125 13 c -3.25 0 -5.3125 2.75 -5.3125 6 v 77 h 6 v -32 h 6 v 24 h 6 v -24 h 6 v 12 h 6 v -12 h 5 v 32 h 6 v -32 h 5 v 38 h 6 v -38 h 6 v 32 h 6 v -32 l 0.042969 -29.050781 l -22.042969 -21.949219 z m 0 0" fill="#f6f5f4"/>
|
||||
<path d="m 90 13 v 16.140625 c 0 3.253906 2.648438 5.816406 5.902344 5.816406 l 16.140625 -0.003906 z m 0 0" fill="#deddda"/>
|
||||
<path d="m 94 64 h 6 v 32 h -6 z m 0 0" fill="#f6f5f4"/>
|
||||
<path d="m 24 48 h 20 v 14 h -20 z m 0 0" fill="url(#p)"/>
|
||||
<g fill="#c0bfbc">
|
||||
<path d="m 56 20 h 22 v 4 h -22 z m 0 0"/>
|
||||
<path d="m 56 28 h 26 v 4 h -26 z m 0 0"/>
|
||||
<path d="m 80 46 h 24 v 4 h -24 z m 0 0"/>
|
||||
<path d="m 80 38 h 16 v 4 h -16 z m 0 0"/>
|
||||
<path d="m 24 66 h 24 v 4 h -24 z m 0 0"/>
|
||||
<path d="m 56 54 h 48 v 4 h -48 z m 0 0"/>
|
||||
</g>
|
||||
<g clip-path="url(#s)" mask="url(#q)" transform="matrix(1 0 0 1 -8 -16)">
|
||||
<path d="m 27.398438 127.054688 c -1.988282 -0.410157 -4.296876 -0.3125 -4.859376 -2.179688 c -0.175781 -0.589844 -0.539062 -1.238281 -0.539062 -4.105469 l 0.003906 -1.300781 l 0.714844 2.339844 c 0.402344 1.324218 2.058594 2.28125 3.480469 2.664062 c 1.449219 0.390625 53.574219 0.632813 54.800781 0.527344 c 1.855469 -0.15625 3.730469 -1.214844 4.191406 -3.3125 l 0.808594 -3.6875 v 5 c -0.636719 2.582031 -1.746094 3.355469 -3.476562 4.160156 l -27.125 0.035156 c -14.410157 0.019532 -26.660157 -0.039062 -27.90625 -0.132812 c -0.046876 -0.003906 -0.074219 -0.007812 -0.09375 -0.007812 z m 0 0" fill="url(#r)"/>
|
||||
</g>
|
||||
<path d="m 94 98 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 106 92 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 83 92 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 72 72 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 60 84 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 48 92 h 6 v 4 h -6 z m 0 0" fill="#c0bfbc"/>
|
||||
<path d="m 56 36 h 20 v 14 h -20 z m 0 0" fill="url(#t)"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 10 KiB |
|
@ -4,6 +4,15 @@
|
|||
use i18n_embed::unic_langid::LanguageIdentifier;
|
||||
use i18n_embed::DesktopLanguageRequester;
|
||||
|
||||
use std::collections::HashMap;
|
||||
|
||||
use i18n_embed::{
|
||||
fluent::{fluent_language_loader, FluentLanguageLoader},
|
||||
DefaultLocalizer, LanguageLoader, Localizer,
|
||||
};
|
||||
use once_cell::sync::Lazy;
|
||||
use rust_embed::RustEmbed;
|
||||
|
||||
fn main() {
|
||||
load_system_language(); // Check for default system language, must be loaded after initializing GUI and before loading settings from file
|
||||
connect_change_language();
|
||||
|
@ -14,7 +23,7 @@ pub fn connect_change_language() {
|
|||
|
||||
fn change_language() {
|
||||
println!("Change language");
|
||||
let localizers = vec![("czkawka_gui", czkawka_core::localizer::localizer())];
|
||||
let localizers = vec![("czkawka_gui", localizer())];
|
||||
|
||||
let lang_identifier = vec![LanguageIdentifier::from_bytes("en".as_bytes()).unwrap()];
|
||||
for (lib, localizer) in localizers {
|
||||
|
@ -43,3 +52,39 @@ pub fn load_system_language() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(RustEmbed)]
|
||||
#[folder = "i18n/"]
|
||||
struct Localizations;
|
||||
|
||||
pub static LANGUAGE_LOADER: Lazy<FluentLanguageLoader> = Lazy::new(|| {
|
||||
let loader: FluentLanguageLoader = fluent_language_loader!();
|
||||
|
||||
loader.load_fallback_language(&Localizations).expect("Error while loading fallback language");
|
||||
|
||||
loader
|
||||
});
|
||||
|
||||
#[macro_export]
|
||||
macro_rules! fl {
|
||||
($message_id:literal) => {{
|
||||
i18n_embed_fl::fl!($crate::localizer::LANGUAGE_LOADER, $message_id)
|
||||
}};
|
||||
|
||||
($message_id:literal, $($args:expr),*) => {{
|
||||
i18n_embed_fl::fl!($crate::localizer::LANGUAGE_LOADER, $message_id, $($args), *)
|
||||
}};
|
||||
}
|
||||
|
||||
// Get the `Localizer` to be used for localizing this library.
|
||||
pub fn localizer() -> Box<dyn Localizer> {
|
||||
Box::from(DefaultLocalizer::new(&*LANGUAGE_LOADER, &Localizations))
|
||||
}
|
||||
|
||||
pub fn generate_translation_hashmap(vec: Vec<(&'static str, String)>) -> HashMap<&'static str, String> {
|
||||
let mut hashmap: HashMap<&'static str, String> = Default::default();
|
||||
for (key, value) in vec {
|
||||
hashmap.insert(key, value);
|
||||
}
|
||||
hashmap
|
||||
}
|
Loading…
Reference in a new issue