Compare commits

...

5 Commits

Author SHA1 Message Date
Hugo Posnic
ccac87a2e4 Bump version to 1.5.0 2023-03-25 00:18:43 +01:00
Hugo Posnic
311c22b42c Update screen2.png 2023-03-25 00:18:13 +01:00
Hugo Posnic
5d96eb186e Update translations 2023-03-25 00:18:08 +01:00
Hugo Posnic
207c66242d Fix some margins 2023-03-25 00:18:01 +01:00
Hugo Posnic
aeb3f171cb Replace the treeview by a listbox 2023-03-25 00:04:30 +01:00
11 changed files with 480 additions and 414 deletions

View File

@ -1,6 +1,14 @@
# Change Log
All notable changes to this project will be documented in this file.
## [1.5.0] - 2023-03-25
### Changed
- More modern results page.
- Update translations.
### Fixed
- Reduce images one by one to avoid freezes.
## [1.4.0] - 2023-03-23
### Added
- Port to GTK 4 and Libadwaita.

View File

@ -34,6 +34,16 @@
<translation type="gettext">curtail</translation>
<launchable type="desktop-id">com.github.huluti.Curtail.desktop</launchable>
<releases>
<release version="1.5.0" date="2023-03-25">
<description>
<p>Here's the changelog of this version:</p>
<ul>
<li>More modern results page</li>
<li>Reduce images one by one to avoid freezes</li>
<li>Update translations</li>
</ul>
</description>
</release>
<release version="1.4.0" date="2023-03-23">
<description>
<p>Here's the changelog of this version:</p>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 32 KiB

8
debian/changelog vendored
View File

@ -1,3 +1,11 @@
curtail (1.5.0) focal; urgency=medium
* More modern results page.
* Reduce images one by one to avoid freezes.
* Update translations.
-- Archisman Panigrahi <apandada1@gmail.com> Sat, 25 Mar 2023 00:10 +0200
curtail (1.4.0) focal; urgency=medium
* Port to GTK 4 and Libadwaita.

View File

@ -1,5 +1,5 @@
project('curtail',
version: '1.4.0',
version: '1.5.0',
meson_version: '>= 0.59.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: curtail\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-22 14:05+0100\n"
"POT-Creation-Date: 2023-03-25 00:11+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -34,386 +34,405 @@ msgid ""
"whether keep or not metadata of images."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:41
#: data/com.github.huluti.Curtail.appdata.xml.in:55
#: data/com.github.huluti.Curtail.appdata.xml.in:66
#: data/com.github.huluti.Curtail.appdata.xml.in:83
#: data/com.github.huluti.Curtail.appdata.xml.in:92
#: data/com.github.huluti.Curtail.appdata.xml.in:108
#: data/com.github.huluti.Curtail.appdata.xml.in:126
#: data/com.github.huluti.Curtail.appdata.xml.in:136
#: data/com.github.huluti.Curtail.appdata.xml.in:144
#: data/com.github.huluti.Curtail.appdata.xml.in:152
#: data/com.github.huluti.Curtail.appdata.xml.in:161
#: data/com.github.huluti.Curtail.appdata.xml.in:169
#: data/com.github.huluti.Curtail.appdata.xml.in:179
#: data/com.github.huluti.Curtail.appdata.xml.in:190
#: data/com.github.huluti.Curtail.appdata.xml.in:204
#: data/com.github.huluti.Curtail.appdata.xml.in:212
#: data/com.github.huluti.Curtail.appdata.xml.in:222
#: data/com.github.huluti.Curtail.appdata.xml.in:234
#: data/com.github.huluti.Curtail.appdata.xml.in:248
#: data/com.github.huluti.Curtail.appdata.xml.in:257
#: data/com.github.huluti.Curtail.appdata.xml.in:266
#: data/com.github.huluti.Curtail.appdata.xml.in:275
#: data/com.github.huluti.Curtail.appdata.xml.in:39
#: data/com.github.huluti.Curtail.appdata.xml.in:50
#: data/com.github.huluti.Curtail.appdata.xml.in:61
#: data/com.github.huluti.Curtail.appdata.xml.in:75
#: data/com.github.huluti.Curtail.appdata.xml.in:86
#: data/com.github.huluti.Curtail.appdata.xml.in:103
#: data/com.github.huluti.Curtail.appdata.xml.in:112
#: data/com.github.huluti.Curtail.appdata.xml.in:128
#: data/com.github.huluti.Curtail.appdata.xml.in:146
#: data/com.github.huluti.Curtail.appdata.xml.in:156
#: data/com.github.huluti.Curtail.appdata.xml.in:164
#: data/com.github.huluti.Curtail.appdata.xml.in:172
#: data/com.github.huluti.Curtail.appdata.xml.in:181
#: data/com.github.huluti.Curtail.appdata.xml.in:189
#: data/com.github.huluti.Curtail.appdata.xml.in:199
#: data/com.github.huluti.Curtail.appdata.xml.in:210
#: data/com.github.huluti.Curtail.appdata.xml.in:224
#: data/com.github.huluti.Curtail.appdata.xml.in:232
#: data/com.github.huluti.Curtail.appdata.xml.in:242
#: data/com.github.huluti.Curtail.appdata.xml.in:254
#: data/com.github.huluti.Curtail.appdata.xml.in:268
#: data/com.github.huluti.Curtail.appdata.xml.in:277
#: data/com.github.huluti.Curtail.appdata.xml.in:286
#: data/com.github.huluti.Curtail.appdata.xml.in:295
#: data/com.github.huluti.Curtail.appdata.xml.in:306
msgid "Here's the changelog of this version:"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:41
#: data/com.github.huluti.Curtail.appdata.xml.in:52
msgid "Port to GTK 4 and Libadwaita"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:42
#: data/com.github.huluti.Curtail.appdata.xml.in:53
msgid "Update deps"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:43
msgid "Make size columns sortable."
#: data/com.github.huluti.Curtail.appdata.xml.in:54
msgid "Less annoying 'Apply dialog'"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:44
#: data/com.github.huluti.Curtail.appdata.xml.in:55
#: data/com.github.huluti.Curtail.appdata.xml.in:193
#: data/com.github.huluti.Curtail.appdata.xml.in:217
#: data/com.github.huluti.Curtail.appdata.xml.in:236
msgid "Update translations"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:63
msgid "Make size columns sortable."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:64
msgid "Add Korean translation. Thank's to @MarongHappy."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:45
#: data/com.github.huluti.Curtail.appdata.xml.in:65
msgid "Update screenshots."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:46
#: data/com.github.huluti.Curtail.appdata.xml.in:66
msgid "Update Turkish translation. Thank's to @libreajans."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:47
#: data/com.github.huluti.Curtail.appdata.xml.in:67
msgid "Update French translation. Thank's to @rene-coty."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:48
#: data/com.github.huluti.Curtail.appdata.xml.in:71
#: data/com.github.huluti.Curtail.appdata.xml.in:73
#: data/com.github.huluti.Curtail.appdata.xml.in:68
#: data/com.github.huluti.Curtail.appdata.xml.in:91
#: data/com.github.huluti.Curtail.appdata.xml.in:93
msgid "Update Dutch translation. Thank's to @Vistaus."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:49
#: data/com.github.huluti.Curtail.appdata.xml.in:69
msgid "Fix savings column sorting."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:57
#: data/com.github.huluti.Curtail.appdata.xml.in:77
msgid "Add option to preserve file attributes if possible."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:58
#: data/com.github.huluti.Curtail.appdata.xml.in:78
msgid "Update image libraries."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:59
#: data/com.github.huluti.Curtail.appdata.xml.in:79
msgid "Update French translation."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:60
#: data/com.github.huluti.Curtail.appdata.xml.in:80
msgid "Update Russian translation. Thank's to @prokoudine."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:68
#: data/com.github.huluti.Curtail.appdata.xml.in:88
msgid "Add Turkish translation. Thank's to @05akalan57."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:69
#: data/com.github.huluti.Curtail.appdata.xml.in:89
msgid "Add Occitan translation. Thank's to @Mejans."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:70
#: data/com.github.huluti.Curtail.appdata.xml.in:90
msgid "Add Galician translation. Thank's to @Fran Dieguez."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:72
#: data/com.github.huluti.Curtail.appdata.xml.in:96
#: data/com.github.huluti.Curtail.appdata.xml.in:92
#: data/com.github.huluti.Curtail.appdata.xml.in:116
msgid "Update Spanish translation. Thank's to @oscfdezdz."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:74
#: data/com.github.huluti.Curtail.appdata.xml.in:94
msgid "Update Croatian translation. Thank's to @milotype."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:75
#: data/com.github.huluti.Curtail.appdata.xml.in:95
msgid "Update German translation. Thank's to @Etamuk."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:76
#: data/com.github.huluti.Curtail.appdata.xml.in:96
msgid "Update Portuguese Brazil translation. Thank's to @fulvio-alves."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:77
#: data/com.github.huluti.Curtail.appdata.xml.in:97
msgid "Update Swedish translation. Thank's to @eson57."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:85
#: data/com.github.huluti.Curtail.appdata.xml.in:105
msgid "Add 'Apply to all queue' option for existing file dialog."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:86
#: data/com.github.huluti.Curtail.appdata.xml.in:106
msgid "Add Polish translation. Thank's to @olokelo."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:94
#: data/com.github.huluti.Curtail.appdata.xml.in:114
msgid "Add WebP support. Thank's to @olokelo."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:95
#: data/com.github.huluti.Curtail.appdata.xml.in:115
msgid "Add Croatian translation. Thank's to @milotype."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:97
#: data/com.github.huluti.Curtail.appdata.xml.in:117
msgid "Update Portuguese (Brazil) translation. Thank's to @fulvio-alves."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:98
#: data/com.github.huluti.Curtail.appdata.xml.in:118
msgid "Don't accept empty file. Thank's to @akozlovskiy119."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:99
#: data/com.github.huluti.Curtail.appdata.xml.in:119
msgid "Better guess of extensions. Thank's to @akozlovskiy119."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:100
#: data/com.github.huluti.Curtail.appdata.xml.in:120
msgid ""
"Use correct file listing format for drag-and-drop. Thank's to "
"@akozlovskiy119."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:101
#: data/com.github.huluti.Curtail.appdata.xml.in:121
msgid "Fix directory handling. Thank's to @akozlovskiy119."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:102
#: data/com.github.huluti.Curtail.appdata.xml.in:122
msgid "Fix missing icon in LXQt, MATE, XFCE (#76). Thank's to @apandada1."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:110
#: data/com.github.huluti.Curtail.appdata.xml.in:130
msgid "An option to progressive encode jpegs. Thank's to @trst."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:111
#: data/com.github.huluti.Curtail.appdata.xml.in:131
msgid "Add Russian translation."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:112
#: data/com.github.huluti.Curtail.appdata.xml.in:132
msgid "Add Slovak translation."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:113
#: data/com.github.huluti.Curtail.appdata.xml.in:133
msgid "Add Swedish translation."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:114
#: data/com.github.huluti.Curtail.appdata.xml.in:134
msgid "Better handling of existing files."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:115
#: data/com.github.huluti.Curtail.appdata.xml.in:135
msgid "Better appdata summary."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:116
#: data/com.github.huluti.Curtail.appdata.xml.in:136
msgid "Update Spanish translation."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:117
#: data/com.github.huluti.Curtail.appdata.xml.in:137
msgid "Compress images with extensions in uppercase."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:118
#: data/com.github.huluti.Curtail.appdata.xml.in:138
msgid "Center preferences window header switcher. Thank's to @andrenete."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:119
#: data/com.github.huluti.Curtail.appdata.xml.in:139
msgid "Fix columns sorting. Thank's to @andrenete."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:120
#: data/com.github.huluti.Curtail.appdata.xml.in:140
msgid ""
"Don't allow empty suffix (incorrect compression for JPEG). Thank's to "
"@andrenete."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:128
#: data/com.github.huluti.Curtail.appdata.xml.in:148
msgid "A new name. Thank's to @bertob, @jannuary and @jimmac."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:129
#: data/com.github.huluti.Curtail.appdata.xml.in:149
msgid "A new icon designed by @jimmac."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:130
#: data/com.github.huluti.Curtail.appdata.xml.in:150
msgid "Support for dragging folders."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:138
#: data/com.github.huluti.Curtail.appdata.xml.in:158
msgid "Just fix a packaging file."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:146
#: data/com.github.huluti.Curtail.appdata.xml.in:166
msgid "Just update GNOME runtime"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:154
#: data/com.github.huluti.Curtail.appdata.xml.in:174
msgid "Add Portuguese (Brazil) translation"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:155
#: data/com.github.huluti.Curtail.appdata.xml.in:175
msgid "Don't use legacy path for metadata"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:163
#: data/com.github.huluti.Curtail.appdata.xml.in:183
msgid "Fix compression of jpg files that produced 0b files"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:171
#: data/com.github.huluti.Curtail.appdata.xml.in:191
msgid "Add an option to whether keep or not metadata of images"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:172
#: data/com.github.huluti.Curtail.appdata.xml.in:192
msgid "Replace mozjpeg lib by jpegoptim"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:173
#: data/com.github.huluti.Curtail.appdata.xml.in:197
#: data/com.github.huluti.Curtail.appdata.xml.in:216
msgid "Update translations"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:181
#: data/com.github.huluti.Curtail.appdata.xml.in:201
msgid "Add a spinner to indicate the progress of the compression"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:182
#: data/com.github.huluti.Curtail.appdata.xml.in:202
msgid "Using threads to compress images simultaneously"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:183
#: data/com.github.huluti.Curtail.appdata.xml.in:203
msgid "Simplification of certain sentences"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:184
#: data/com.github.huluti.Curtail.appdata.xml.in:204
msgid "Really don't block the UI anymore when performing compression"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:192
#: data/com.github.huluti.Curtail.appdata.xml.in:212
msgid "Add lossy compression features"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:193
#: data/com.github.huluti.Curtail.appdata.xml.in:213
msgid "Add options to change compression levels"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:194
#: data/com.github.huluti.Curtail.appdata.xml.in:214
msgid "New layout for the preferences dialog"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:195
#: data/com.github.huluti.Curtail.appdata.xml.in:215
msgid "Don't permit higher resulting size"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:196
#: data/com.github.huluti.Curtail.appdata.xml.in:216
msgid "Better displaying of the drag area"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:198
#: data/com.github.huluti.Curtail.appdata.xml.in:218
msgid "Catch errors in subprocess to avoid crashing the app"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:206
#: data/com.github.huluti.Curtail.appdata.xml.in:226
msgid "Fix build"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:214
#: data/com.github.huluti.Curtail.appdata.xml.in:234
msgid "Fix opening files from file managers"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:215
#: data/com.github.huluti.Curtail.appdata.xml.in:235
msgid "Add Italian translation"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:224
#: data/com.github.huluti.Curtail.appdata.xml.in:244
msgid "Toggle the suffix entry according to new file option"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:225
#: data/com.github.huluti.Curtail.appdata.xml.in:245
msgid "Scroll automatically to last compressed image in the list"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:226
#: data/com.github.huluti.Curtail.appdata.xml.in:246
msgid "Add save info label also on homepage and displace it at bottom"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:227
#: data/com.github.huluti.Curtail.appdata.xml.in:247
msgid "Improve handling of filenames to avoid some errors (e.g., folders)"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:228
#: data/com.github.huluti.Curtail.appdata.xml.in:248
msgid "Various fixes"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:236
#: data/com.github.huluti.Curtail.appdata.xml.in:256
msgid "Add a setting to change the '-min' suffix"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:237
#: data/com.github.huluti.Curtail.appdata.xml.in:257
msgid "Add some explanations of applied settings"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:238
#: data/com.github.huluti.Curtail.appdata.xml.in:258
msgid "Add Ctrl+O shortcut to open files"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:239
#: data/com.github.huluti.Curtail.appdata.xml.in:259
msgid "Add Dutch and German translations"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:240
#: data/com.github.huluti.Curtail.appdata.xml.in:260
msgid "Display translators' names in about dialog"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:241
#: data/com.github.huluti.Curtail.appdata.xml.in:261
msgid "Don't block the UI anymore when performing compression"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:242
#: data/com.github.huluti.Curtail.appdata.xml.in:262
msgid "Fix size of the preferences window"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:250
#: data/com.github.huluti.Curtail.appdata.xml.in:270
msgid "Add a preferences window with new-file and dark-theme options"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:251
#: data/com.github.huluti.Curtail.appdata.xml.in:271
msgid "Various UI changes"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:259
#: data/com.github.huluti.Curtail.appdata.xml.in:279
msgid "Permit to sort results by name or saving ratio"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:260
#: data/com.github.huluti.Curtail.appdata.xml.in:280
msgid "Fix a crash when compressing an image with dots in its name"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:268
#: data/com.github.huluti.Curtail.appdata.xml.in:288
msgid "Stick back and forward buttons"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:269
#: data/com.github.huluti.Curtail.appdata.xml.in:289
msgid "Change APP id"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:277
#: data/com.github.huluti.Curtail.appdata.xml.in:297
msgid "Various optimizations"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:278
#: data/com.github.huluti.Curtail.appdata.xml.in:298
msgid "Improve error messages"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:279
#: data/com.github.huluti.Curtail.appdata.xml.in:299
msgid "Improve some texts"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:280
#: data/com.github.huluti.Curtail.appdata.xml.in:300
msgid "Change description"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:288
#: data/com.github.huluti.Curtail.appdata.xml.in:308
msgid "Initial version"
msgstr ""
@ -421,7 +440,8 @@ msgstr ""
msgid "Curtail"
msgstr ""
#: data/com.github.huluti.Curtail.desktop.in:14
#. Keywords, do not translate
#: data/com.github.huluti.Curtail.desktop.in:15
msgid "compress;optimize;image;photo;"
msgstr ""
@ -433,7 +453,7 @@ msgstr ""
msgid "Save the compressed image into a new file."
msgstr ""
#: data/com.github.huluti.Curtail.gschema.xml:11 src/ui/preferences.ui:64
#: data/com.github.huluti.Curtail.gschema.xml:11 src/ui/preferences.ui:30
msgid "Keep metadata"
msgstr ""
@ -442,7 +462,7 @@ msgstr ""
msgid "This setting preserves metadata of images."
msgstr ""
#: data/com.github.huluti.Curtail.gschema.xml:16 src/ui/preferences.ui:75
#: data/com.github.huluti.Curtail.gschema.xml:16 src/ui/preferences.ui:41
msgid "Preserve file attributes if possible"
msgstr ""
@ -454,7 +474,7 @@ msgstr ""
msgid "Use lossy mode to compress images."
msgstr ""
#: data/com.github.huluti.Curtail.gschema.xml:26 src/ui/preferences.ui:52
#: data/com.github.huluti.Curtail.gschema.xml:26 src/ui/preferences.ui:25
msgid "Suffix to append at end of new file"
msgstr ""
@ -462,7 +482,7 @@ msgstr ""
msgid "Suffix to append at end of new file."
msgstr ""
#: data/com.github.huluti.Curtail.gschema.xml:31 src/ui/preferences.ui:97
#: data/com.github.huluti.Curtail.gschema.xml:31 src/ui/preferences.ui:63
msgid "PNG Lossy Compression Level"
msgstr ""
@ -470,7 +490,7 @@ msgstr ""
msgid "Lossy compression level to use for PNG images."
msgstr ""
#: data/com.github.huluti.Curtail.gschema.xml:36 src/ui/preferences.ui:144
#: data/com.github.huluti.Curtail.gschema.xml:36 src/ui/preferences.ui:128
msgid "PNG Lossless Compression Level"
msgstr ""
@ -478,7 +498,7 @@ msgstr ""
msgid "Lossless compression level to use for PNG images."
msgstr ""
#: data/com.github.huluti.Curtail.gschema.xml:41 src/ui/preferences.ui:157
#: data/com.github.huluti.Curtail.gschema.xml:41 src/ui/preferences.ui:147
msgid "WebP Lossless Compression Level"
msgstr ""
@ -486,7 +506,7 @@ msgstr ""
msgid "Lossless compression level to use for WebP images."
msgstr ""
#: data/com.github.huluti.Curtail.gschema.xml:46 src/ui/preferences.ui:109
#: data/com.github.huluti.Curtail.gschema.xml:46 src/ui/preferences.ui:81
msgid "JPG Lossy Compression Level"
msgstr ""
@ -494,7 +514,7 @@ msgstr ""
msgid "Lossy compression level to use for JPG images."
msgstr ""
#: data/com.github.huluti.Curtail.gschema.xml:51 src/ui/preferences.ui:121
#: data/com.github.huluti.Curtail.gschema.xml:51 src/ui/preferences.ui:99
msgid "WebP Lossy Compression Level"
msgstr ""
@ -535,31 +555,31 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr ""
#: src/ui/preferences.ui:29 src/ui/menu.ui:6
#: src/ui/preferences.ui:4 src/ui/menu.ui:6
msgid "Preferences"
msgstr ""
#: src/ui/preferences.ui:35
#: src/ui/preferences.ui:8
msgid "General"
msgstr ""
#: src/ui/preferences.ui:41
#: src/ui/preferences.ui:14
msgid "Save the compressed image into a new file"
msgstr ""
#: src/ui/preferences.ui:91
#: src/ui/preferences.ui:57
msgid "Compression"
msgstr ""
#: src/ui/preferences.ui:138
#: src/ui/preferences.ui:122
msgid "Advanced"
msgstr ""
#: src/ui/preferences.ui:145 src/ui/preferences.ui:158
#: src/ui/preferences.ui:129 src/ui/preferences.ui:148
msgid "The higher it is, the slower it is"
msgstr ""
#: src/ui/preferences.ui:170
#: src/ui/preferences.ui:166
msgid "Progressive Encode JPG"
msgstr ""
@ -579,7 +599,7 @@ msgstr ""
msgid "or"
msgstr ""
#: src/ui/window.ui:47 src/window.py:169
#: src/ui/window.ui:47 src/window.py:165
msgid "Browse Files"
msgstr ""
@ -591,98 +611,86 @@ msgstr ""
msgid "Lossy"
msgstr ""
#: src/ui/window.ui:121
#: src/ui/window.ui:122
msgid "Compress Images"
msgstr ""
#: src/ui/window.ui:128
#: src/ui/window.ui:129
msgid "Saving Results"
msgstr ""
#: src/ui/window.ui:137
#: src/ui/window.ui:138
msgid "Main Menu"
msgstr ""
#: src/compressor.py:60
#: src/compressor.py:61
msgid "An error has occured"
msgstr ""
#: src/tools.py:47
#: src/tools.py:33
msgid "_Ok"
msgstr ""
#: src/tools.py:43
msgid "All images"
msgstr ""
#: src/tools.py:53
#: src/tools.py:49
msgid "PNG images"
msgstr ""
#: src/tools.py:57
#: src/tools.py:53
msgid "JPEG images"
msgstr ""
#: src/tools.py:61
#: src/tools.py:57
msgid "WebP images"
msgstr ""
#: src/window.py:86
msgid "Filename"
msgstr ""
#: src/window.py:87
msgid "Old Size"
msgstr ""
#: src/window.py:88
msgid "New Size"
msgstr ""
#: src/window.py:89
msgid "Savings"
msgstr ""
#: src/window.py:156
#: src/window.py:152
msgid "Images are saved with <b>'{}' suffix</b>."
msgstr ""
#: src/window.py:159
#: src/window.py:155
msgid "Images are <b>overwritten</b>."
msgstr ""
#: src/window.py:238
#: src/window.py:227
msgid "Format not supported"
msgstr ""
#: src/window.py:239
#: src/window.py:228
msgid "The format of {} is not supported."
msgstr ""
#: src/window.py:243
#: src/window.py:232
msgid "Path not valid"
msgstr ""
#: src/window.py:244
#: src/window.py:233
msgid "{} doesn't exist."
msgstr ""
#: src/window.py:273
msgid "If you continue, these files will be overwritten:"
msgstr ""
#: src/window.py:279
#: src/window.py:264
msgid "Some files already exists"
msgstr ""
#: src/window.py:282
#: src/window.py:265
msgid "If you continue, some files will be overwritten."
msgstr ""
#: src/window.py:267
msgid "_Cancel"
msgstr ""
#: src/window.py:283
#: src/window.py:268
msgid "C_onfirm"
msgstr ""
#: src/window.py:350
#: src/window.py:321
msgid "translator-credits"
msgstr ""
#: src/window.py:354
#: src/window.py:325
msgid "Contributors"
msgstr ""

358
po/fr.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: curtail\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-03-22 14:05+0100\n"
"PO-Revision-Date: 2023-03-23 11:44+0100\n"
"POT-Creation-Date: 2023-03-25 00:11+0100\n"
"PO-Revision-Date: 2023-03-25 00:12+0100\n"
"Last-Translator: Hugo Posnic <hugo.posnic@gmail.com>\n"
"Language-Team: \n"
"Language: fr\n"
@ -39,156 +39,183 @@ msgstr ""
"Il prend en charge les modes de compression sans perte et avec perte avec "
"une option permettant de conserver ou non les métadonnées des images."
#: data/com.github.huluti.Curtail.appdata.xml.in:41
#: data/com.github.huluti.Curtail.appdata.xml.in:55
#: data/com.github.huluti.Curtail.appdata.xml.in:66
#: data/com.github.huluti.Curtail.appdata.xml.in:83
#: data/com.github.huluti.Curtail.appdata.xml.in:92
#: data/com.github.huluti.Curtail.appdata.xml.in:108
#: data/com.github.huluti.Curtail.appdata.xml.in:126
#: data/com.github.huluti.Curtail.appdata.xml.in:136
#: data/com.github.huluti.Curtail.appdata.xml.in:144
#: data/com.github.huluti.Curtail.appdata.xml.in:152
#: data/com.github.huluti.Curtail.appdata.xml.in:161
#: data/com.github.huluti.Curtail.appdata.xml.in:169
#: data/com.github.huluti.Curtail.appdata.xml.in:179
#: data/com.github.huluti.Curtail.appdata.xml.in:190
#: data/com.github.huluti.Curtail.appdata.xml.in:204
#: data/com.github.huluti.Curtail.appdata.xml.in:212
#: data/com.github.huluti.Curtail.appdata.xml.in:222
#: data/com.github.huluti.Curtail.appdata.xml.in:234
#: data/com.github.huluti.Curtail.appdata.xml.in:248
#: data/com.github.huluti.Curtail.appdata.xml.in:257
#: data/com.github.huluti.Curtail.appdata.xml.in:266
#: data/com.github.huluti.Curtail.appdata.xml.in:275
#: data/com.github.huluti.Curtail.appdata.xml.in:39
#: data/com.github.huluti.Curtail.appdata.xml.in:50
#: data/com.github.huluti.Curtail.appdata.xml.in:61
#: data/com.github.huluti.Curtail.appdata.xml.in:75
#: data/com.github.huluti.Curtail.appdata.xml.in:86
#: data/com.github.huluti.Curtail.appdata.xml.in:103
#: data/com.github.huluti.Curtail.appdata.xml.in:112
#: data/com.github.huluti.Curtail.appdata.xml.in:128
#: data/com.github.huluti.Curtail.appdata.xml.in:146
#: data/com.github.huluti.Curtail.appdata.xml.in:156
#: data/com.github.huluti.Curtail.appdata.xml.in:164
#: data/com.github.huluti.Curtail.appdata.xml.in:172
#: data/com.github.huluti.Curtail.appdata.xml.in:181
#: data/com.github.huluti.Curtail.appdata.xml.in:189
#: data/com.github.huluti.Curtail.appdata.xml.in:199
#: data/com.github.huluti.Curtail.appdata.xml.in:210
#: data/com.github.huluti.Curtail.appdata.xml.in:224
#: data/com.github.huluti.Curtail.appdata.xml.in:232
#: data/com.github.huluti.Curtail.appdata.xml.in:242
#: data/com.github.huluti.Curtail.appdata.xml.in:254
#: data/com.github.huluti.Curtail.appdata.xml.in:268
#: data/com.github.huluti.Curtail.appdata.xml.in:277
#: data/com.github.huluti.Curtail.appdata.xml.in:286
#: data/com.github.huluti.Curtail.appdata.xml.in:295
#: data/com.github.huluti.Curtail.appdata.xml.in:306
msgid "Here's the changelog of this version:"
msgstr "Voici les changements pour cette version :"
#: data/com.github.huluti.Curtail.appdata.xml.in:41
#: data/com.github.huluti.Curtail.appdata.xml.in:52
msgid "Port to GTK 4 and Libadwaita"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:42
#: data/com.github.huluti.Curtail.appdata.xml.in:53
#, fuzzy
#| msgid "Update screenshots."
msgid "Update deps"
msgstr "Mise à jour des traductions."
#: data/com.github.huluti.Curtail.appdata.xml.in:43
#: data/com.github.huluti.Curtail.appdata.xml.in:54
msgid "Less annoying 'Apply dialog'"
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:44
#: data/com.github.huluti.Curtail.appdata.xml.in:55
#: data/com.github.huluti.Curtail.appdata.xml.in:193
#: data/com.github.huluti.Curtail.appdata.xml.in:217
#: data/com.github.huluti.Curtail.appdata.xml.in:236
msgid "Update translations"
msgstr "Mise à jour des traductions"
#: data/com.github.huluti.Curtail.appdata.xml.in:63
msgid "Make size columns sortable."
msgstr "Faire en sorte que les colonnes de taille puissent être triées."
#: data/com.github.huluti.Curtail.appdata.xml.in:44
#: data/com.github.huluti.Curtail.appdata.xml.in:64
#, fuzzy
#| msgid "Add Occitan translation. Thank's to @Mejans."
msgid "Add Korean translation. Thank's to @MarongHappy."
msgstr "Ajout d'une traduction occitane, grâce à @Mejans."
#: data/com.github.huluti.Curtail.appdata.xml.in:45
#: data/com.github.huluti.Curtail.appdata.xml.in:65
msgid "Update screenshots."
msgstr "Mise à jour des traductions."
#: data/com.github.huluti.Curtail.appdata.xml.in:46
#: data/com.github.huluti.Curtail.appdata.xml.in:66
#, fuzzy
#| msgid "Update Dutch translation. Thank's to @Vistaus."
msgid "Update Turkish translation. Thank's to @libreajans."
msgstr "Mise à jour de la traduction néerlandaise, grâce à @Vistaus."
#: data/com.github.huluti.Curtail.appdata.xml.in:47
#: data/com.github.huluti.Curtail.appdata.xml.in:67
#, fuzzy
#| msgid "Update Swedish translation. Thank's to @eson57."
msgid "Update French translation. Thank's to @rene-coty."
msgstr "Mise à jour de la traduction suédoise, grâce à @eson57."
#: data/com.github.huluti.Curtail.appdata.xml.in:48
#: data/com.github.huluti.Curtail.appdata.xml.in:71
#: data/com.github.huluti.Curtail.appdata.xml.in:73
#: data/com.github.huluti.Curtail.appdata.xml.in:68
#: data/com.github.huluti.Curtail.appdata.xml.in:91
#: data/com.github.huluti.Curtail.appdata.xml.in:93
msgid "Update Dutch translation. Thank's to @Vistaus."
msgstr "Mise à jour de la traduction néerlandaise, grâce à @Vistaus."
#: data/com.github.huluti.Curtail.appdata.xml.in:49
#: data/com.github.huluti.Curtail.appdata.xml.in:69
msgid "Fix savings column sorting."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:57
#: data/com.github.huluti.Curtail.appdata.xml.in:77
#, fuzzy
#| msgid "Preserve file attributes if possible"
msgid "Add option to preserve file attributes if possible."
msgstr "Préserver les attributs de fichier si possible"
#: data/com.github.huluti.Curtail.appdata.xml.in:58
#: data/com.github.huluti.Curtail.appdata.xml.in:78
msgid "Update image libraries."
msgstr ""
#: data/com.github.huluti.Curtail.appdata.xml.in:59
#: data/com.github.huluti.Curtail.appdata.xml.in:79
#, fuzzy
#| msgid "Update Spanish translation."
msgid "Update French translation."
msgstr "Mise à jour de la traduction espagnole."
#: data/com.github.huluti.Curtail.appdata.xml.in:60
#: data/com.github.huluti.Curtail.appdata.xml.in:80
#, fuzzy
#| msgid "Update Croatian translation. Thank's to @milotype."
msgid "Update Russian translation. Thank's to @prokoudine."
msgstr "Mise à jour de la traduction croate, grâce à @milotype."
#: data/com.github.huluti.Curtail.appdata.xml.in:68
#: data/com.github.huluti.Curtail.appdata.xml.in:88
msgid "Add Turkish translation. Thank's to @05akalan57."
msgstr "Ajout d'une traduction turque, grâce à @05akalan57."
#: data/com.github.huluti.Curtail.appdata.xml.in:69
#: data/com.github.huluti.Curtail.appdata.xml.in:89
msgid "Add Occitan translation. Thank's to @Mejans."
msgstr "Ajout d'une traduction occitane, grâce à @Mejans."
#: data/com.github.huluti.Curtail.appdata.xml.in:70
#: data/com.github.huluti.Curtail.appdata.xml.in:90
msgid "Add Galician translation. Thank's to @Fran Dieguez."
msgstr "Ajout d'une traduction galicienne, grâce à @Fran Dieguez."
#: data/com.github.huluti.Curtail.appdata.xml.in:72
#: data/com.github.huluti.Curtail.appdata.xml.in:96
#: data/com.github.huluti.Curtail.appdata.xml.in:92
#: data/com.github.huluti.Curtail.appdata.xml.in:116
msgid "Update Spanish translation. Thank's to @oscfdezdz."
msgstr "Mise à jour de la traduction espagnole, grâce à @oscfdezdz."
#: data/com.github.huluti.Curtail.appdata.xml.in:74
#: data/com.github.huluti.Curtail.appdata.xml.in:94
msgid "Update Croatian translation. Thank's to @milotype."
msgstr "Mise à jour de la traduction croate, grâce à @milotype."
#: data/com.github.huluti.Curtail.appdata.xml.in:75
#: data/com.github.huluti.Curtail.appdata.xml.in:95
msgid "Update German translation. Thank's to @Etamuk."
msgstr "Mise à jour de la traduction allemande, grâce à @Etamuk."
#: data/com.github.huluti.Curtail.appdata.xml.in:76
#: data/com.github.huluti.Curtail.appdata.xml.in:96
msgid "Update Portuguese Brazil translation. Thank's to @fulvio-alves."
msgstr ""
"Mise à jour de la traduction en portugais brésilien, grâce à @fulvio-alves."
#: data/com.github.huluti.Curtail.appdata.xml.in:77
#: data/com.github.huluti.Curtail.appdata.xml.in:97
msgid "Update Swedish translation. Thank's to @eson57."
msgstr "Mise à jour de la traduction suédoise, grâce à @eson57."
#: data/com.github.huluti.Curtail.appdata.xml.in:85
#: data/com.github.huluti.Curtail.appdata.xml.in:105
msgid "Add 'Apply to all queue' option for existing file dialog."
msgstr ""
"Ajout de l'option \"Appliquer à toute la file d'attente\" pour le dialogue "
"de fichier existant."
#: data/com.github.huluti.Curtail.appdata.xml.in:86
#: data/com.github.huluti.Curtail.appdata.xml.in:106
msgid "Add Polish translation. Thank's to @olokelo."
msgstr "Ajout d'une traduction polonaise, grâce à @olokelo."
#: data/com.github.huluti.Curtail.appdata.xml.in:94
#: data/com.github.huluti.Curtail.appdata.xml.in:114
msgid "Add WebP support. Thank's to @olokelo."
msgstr "Ajout du support WebP, grâce à @olokelo."
#: data/com.github.huluti.Curtail.appdata.xml.in:95
#: data/com.github.huluti.Curtail.appdata.xml.in:115
msgid "Add Croatian translation. Thank's to @milotype."
msgstr "Ajout d'une traduction croate, grâce à @milotype."
#: data/com.github.huluti.Curtail.appdata.xml.in:97
#: data/com.github.huluti.Curtail.appdata.xml.in:117
msgid "Update Portuguese (Brazil) translation. Thank's to @fulvio-alves."
msgstr ""
"Mise à jour de la traduction en portugais brésilien, grâce à @fulvio-alves."
#: data/com.github.huluti.Curtail.appdata.xml.in:98
#: data/com.github.huluti.Curtail.appdata.xml.in:118
msgid "Don't accept empty file. Thank's to @akozlovskiy119."
msgstr "Rejet des fichiers vides, grâce à @akozlovskiy119."
#: data/com.github.huluti.Curtail.appdata.xml.in:99
#: data/com.github.huluti.Curtail.appdata.xml.in:119
msgid "Better guess of extensions. Thank's to @akozlovskiy119."
msgstr "Meilleure estimation des extensions, grâce à @akozlovskiy119."
#: data/com.github.huluti.Curtail.appdata.xml.in:100
#: data/com.github.huluti.Curtail.appdata.xml.in:120
msgid ""
"Use correct file listing format for drag-and-drop. Thank's to "
"@akozlovskiy119."
@ -196,59 +223,59 @@ msgstr ""
"Utilisation du format de liste de fichiers correct pour le glisser-déposer, "
"grâce à @akozlovskiy119."
#: data/com.github.huluti.Curtail.appdata.xml.in:101
#: data/com.github.huluti.Curtail.appdata.xml.in:121
msgid "Fix directory handling. Thank's to @akozlovskiy119."
msgstr "Correction de la gestion du répertoire, grâce à @akozlovskiy119."
#: data/com.github.huluti.Curtail.appdata.xml.in:102
#: data/com.github.huluti.Curtail.appdata.xml.in:122
msgid "Fix missing icon in LXQt, MATE, XFCE (#76). Thank's to @apandada1."
msgstr ""
"Correction de l'icône manquante sur LXQT, MATE, XFCE (#76), grâce à "
"@apandada1."
#: data/com.github.huluti.Curtail.appdata.xml.in:110
#: data/com.github.huluti.Curtail.appdata.xml.in:130
msgid "An option to progressive encode jpegs. Thank's to @trst."
msgstr "Une option pour encoder progressivement les jpegs, grâce à @trst."
#: data/com.github.huluti.Curtail.appdata.xml.in:111
#: data/com.github.huluti.Curtail.appdata.xml.in:131
msgid "Add Russian translation."
msgstr "Ajout d'une traduction russe."
#: data/com.github.huluti.Curtail.appdata.xml.in:112
#: data/com.github.huluti.Curtail.appdata.xml.in:132
msgid "Add Slovak translation."
msgstr "Ajout d'une traduction slovaque."
#: data/com.github.huluti.Curtail.appdata.xml.in:113
#: data/com.github.huluti.Curtail.appdata.xml.in:133
msgid "Add Swedish translation."
msgstr "Ajout d'une traduction suédoise."
#: data/com.github.huluti.Curtail.appdata.xml.in:114
#: data/com.github.huluti.Curtail.appdata.xml.in:134
msgid "Better handling of existing files."
msgstr "Meilleure gestion des fichiers existants."
#: data/com.github.huluti.Curtail.appdata.xml.in:115
#: data/com.github.huluti.Curtail.appdata.xml.in:135
msgid "Better appdata summary."
msgstr "Meilleur résumé des données de l'application."
#: data/com.github.huluti.Curtail.appdata.xml.in:116
#: data/com.github.huluti.Curtail.appdata.xml.in:136
msgid "Update Spanish translation."
msgstr "Mise à jour de la traduction espagnole."
#: data/com.github.huluti.Curtail.appdata.xml.in:117
#: data/com.github.huluti.Curtail.appdata.xml.in:137
msgid "Compress images with extensions in uppercase."
msgstr "Compresse les images dont les extensions sont en majuscules."
#: data/com.github.huluti.Curtail.appdata.xml.in:118
#: data/com.github.huluti.Curtail.appdata.xml.in:138
msgid "Center preferences window header switcher. Thank's to @andrenete."
msgstr ""
"Changement de l'en-tête de la fenêtre des préférences centrales, grâce à "
"@andrenete."
#: data/com.github.huluti.Curtail.appdata.xml.in:119
#: data/com.github.huluti.Curtail.appdata.xml.in:139
msgid "Fix columns sorting. Thank's to @andrenete."
msgstr "Correction du tri des colonnes, grâce à @andrenete."
#: data/com.github.huluti.Curtail.appdata.xml.in:120
#: data/com.github.huluti.Curtail.appdata.xml.in:140
msgid ""
"Don't allow empty suffix (incorrect compression for JPEG). Thank's to "
"@andrenete."
@ -256,204 +283,198 @@ msgstr ""
"N'autorise pas les suffixes vides (compression incorrecte pour JPEG), grâce "
"à @andrenete."
#: data/com.github.huluti.Curtail.appdata.xml.in:128
#: data/com.github.huluti.Curtail.appdata.xml.in:148
msgid "A new name. Thank's to @bertob, @jannuary and @jimmac."
msgstr "Un nouveau nom, grâce à @bertob, @jannuary and @jimmac."
#: data/com.github.huluti.Curtail.appdata.xml.in:129
#: data/com.github.huluti.Curtail.appdata.xml.in:149
msgid "A new icon designed by @jimmac."
msgstr "Une nouvelle icône par @jimmac."
#: data/com.github.huluti.Curtail.appdata.xml.in:130
#: data/com.github.huluti.Curtail.appdata.xml.in:150
msgid "Support for dragging folders."
msgstr "Support pour glisser des dossiers."
#: data/com.github.huluti.Curtail.appdata.xml.in:138
#: data/com.github.huluti.Curtail.appdata.xml.in:158
msgid "Just fix a packaging file."
msgstr "Répare simplement un fichier de packaging."
#: data/com.github.huluti.Curtail.appdata.xml.in:146
#: data/com.github.huluti.Curtail.appdata.xml.in:166
msgid "Just update GNOME runtime"
msgstr "Met simplement à jour l'environnement d'exécution GNOME"
#: data/com.github.huluti.Curtail.appdata.xml.in:154
#: data/com.github.huluti.Curtail.appdata.xml.in:174
msgid "Add Portuguese (Brazil) translation"
msgstr "Ajout d'une traduction en portugais brésilien"
#: data/com.github.huluti.Curtail.appdata.xml.in:155
#: data/com.github.huluti.Curtail.appdata.xml.in:175
msgid "Don't use legacy path for metadata"
msgstr "N'utilise pas l'ancien chemin pour les métadonnées"
#: data/com.github.huluti.Curtail.appdata.xml.in:163
#: data/com.github.huluti.Curtail.appdata.xml.in:183
msgid "Fix compression of jpg files that produced 0b files"
msgstr "Répare la compression des fichiers jpg qui produisait des fichiers 0b"
#: data/com.github.huluti.Curtail.appdata.xml.in:171
#: data/com.github.huluti.Curtail.appdata.xml.in:191
msgid "Add an option to whether keep or not metadata of images"
msgstr "Ajout d'une option pour garder ou non les métadonnées des images"
#: data/com.github.huluti.Curtail.appdata.xml.in:172
#: data/com.github.huluti.Curtail.appdata.xml.in:192
msgid "Replace mozjpeg lib by jpegoptim"
msgstr "Remplace mozjpeg lib par jpegoptim"
#: data/com.github.huluti.Curtail.appdata.xml.in:173
#: data/com.github.huluti.Curtail.appdata.xml.in:197
#: data/com.github.huluti.Curtail.appdata.xml.in:216
msgid "Update translations"
msgstr "Mise à jour des traductions"
#: data/com.github.huluti.Curtail.appdata.xml.in:181
#: data/com.github.huluti.Curtail.appdata.xml.in:201
msgid "Add a spinner to indicate the progress of the compression"
msgstr "Ajout d'une animation pour indiquer la progression de la compression"
#: data/com.github.huluti.Curtail.appdata.xml.in:182
#: data/com.github.huluti.Curtail.appdata.xml.in:202
msgid "Using threads to compress images simultaneously"
msgstr "Utilisation de threads pour compresser des images simultanément"
#: data/com.github.huluti.Curtail.appdata.xml.in:183
#: data/com.github.huluti.Curtail.appdata.xml.in:203
msgid "Simplification of certain sentences"
msgstr "Simplification de certaines phrases"
#: data/com.github.huluti.Curtail.appdata.xml.in:184
#: data/com.github.huluti.Curtail.appdata.xml.in:204
msgid "Really don't block the UI anymore when performing compression"
msgstr "Ne bloque vraiment plus l'interface lors d'une compression"
#: data/com.github.huluti.Curtail.appdata.xml.in:192
#: data/com.github.huluti.Curtail.appdata.xml.in:212
msgid "Add lossy compression features"
msgstr "Ajout de fonctions de compression avec perte"
#: data/com.github.huluti.Curtail.appdata.xml.in:193
#: data/com.github.huluti.Curtail.appdata.xml.in:213
msgid "Add options to change compression levels"
msgstr "Ajout d'options pour changer les niveaux de compression"
#: data/com.github.huluti.Curtail.appdata.xml.in:194
#: data/com.github.huluti.Curtail.appdata.xml.in:214
msgid "New layout for the preferences dialog"
msgstr "Nouvelle présentation de la boîte de dialogue des préférences"
#: data/com.github.huluti.Curtail.appdata.xml.in:195
#: data/com.github.huluti.Curtail.appdata.xml.in:215
msgid "Don't permit higher resulting size"
msgstr "N'autorise plus une taille finale plus élevée"
#: data/com.github.huluti.Curtail.appdata.xml.in:196
#: data/com.github.huluti.Curtail.appdata.xml.in:216
msgid "Better displaying of the drag area"
msgstr "Meilleur affichage de l'aire de glisser-déposer"
#: data/com.github.huluti.Curtail.appdata.xml.in:198
#: data/com.github.huluti.Curtail.appdata.xml.in:218
msgid "Catch errors in subprocess to avoid crashing the app"
msgstr ""
"Récupère les erreurs dans le sous-processus pour éviter un crash de l'appli"
#: data/com.github.huluti.Curtail.appdata.xml.in:206
#: data/com.github.huluti.Curtail.appdata.xml.in:226
msgid "Fix build"
msgstr "Correction de la construction"
#: data/com.github.huluti.Curtail.appdata.xml.in:214
#: data/com.github.huluti.Curtail.appdata.xml.in:234
msgid "Fix opening files from file managers"
msgstr "Répare l'ouverte de fichiers depuis le gestionnaire de fichiers"
#: data/com.github.huluti.Curtail.appdata.xml.in:215
#: data/com.github.huluti.Curtail.appdata.xml.in:235
msgid "Add Italian translation"
msgstr "Ajout d'une traduction italienne"
#: data/com.github.huluti.Curtail.appdata.xml.in:224
#: data/com.github.huluti.Curtail.appdata.xml.in:244
msgid "Toggle the suffix entry according to new file option"
msgstr "Bascule l'entrée du suffixe selon l'option de nouveau fichier"
#: data/com.github.huluti.Curtail.appdata.xml.in:225
#: data/com.github.huluti.Curtail.appdata.xml.in:245
msgid "Scroll automatically to last compressed image in the list"
msgstr ""
"Défilement automatique jusqu'à la dernière image compressée de la liste"
#: data/com.github.huluti.Curtail.appdata.xml.in:226
#: data/com.github.huluti.Curtail.appdata.xml.in:246
msgid "Add save info label also on homepage and displace it at bottom"
msgstr ""
"Ajoute l'étiquette \"sauvegarde les infos\" également sur la page d'accueil "
"et la déplace en bas de page"
#: data/com.github.huluti.Curtail.appdata.xml.in:227
#: data/com.github.huluti.Curtail.appdata.xml.in:247
msgid "Improve handling of filenames to avoid some errors (e.g., folders)"
msgstr ""
"Améliore la gestion des noms de fichiers pour éviter des erreurs (ex.: les "
"dossiers)"
#: data/com.github.huluti.Curtail.appdata.xml.in:228
#: data/com.github.huluti.Curtail.appdata.xml.in:248
msgid "Various fixes"
msgstr "Diverses corrections"
#: data/com.github.huluti.Curtail.appdata.xml.in:236
#: data/com.github.huluti.Curtail.appdata.xml.in:256
msgid "Add a setting to change the '-min' suffix"
msgstr "Ajoute un paramètre pour changer le suffixe '-min'"
#: data/com.github.huluti.Curtail.appdata.xml.in:237
#: data/com.github.huluti.Curtail.appdata.xml.in:257
msgid "Add some explanations of applied settings"
msgstr "Ajoute des explications des paramètres appliqués"
#: data/com.github.huluti.Curtail.appdata.xml.in:238
#: data/com.github.huluti.Curtail.appdata.xml.in:258
msgid "Add Ctrl+O shortcut to open files"
msgstr "Ajout d'un raccourci Ctrl+O pour ouvrir des fichiers"
#: data/com.github.huluti.Curtail.appdata.xml.in:239
#: data/com.github.huluti.Curtail.appdata.xml.in:259
msgid "Add Dutch and German translations"
msgstr "Ajout de traductions allemandes et néerlandaises"
#: data/com.github.huluti.Curtail.appdata.xml.in:240
#: data/com.github.huluti.Curtail.appdata.xml.in:260
msgid "Display translators' names in about dialog"
msgstr "Affiche les noms des traducteurs dans la fenêtre \"À propos\""
#: data/com.github.huluti.Curtail.appdata.xml.in:241
#: data/com.github.huluti.Curtail.appdata.xml.in:261
msgid "Don't block the UI anymore when performing compression"
msgstr "Plus de blocage de l'interface lors d'une compression"
#: data/com.github.huluti.Curtail.appdata.xml.in:242
#: data/com.github.huluti.Curtail.appdata.xml.in:262
msgid "Fix size of the preferences window"
msgstr "Corrige la taille de la fenêtre des préférences"
#: data/com.github.huluti.Curtail.appdata.xml.in:250
#: data/com.github.huluti.Curtail.appdata.xml.in:270
msgid "Add a preferences window with new-file and dark-theme options"
msgstr ""
"Ajout d'une fenêtre de préférences avec les options \"nouveau fichier\" et "
"\"thème sombre\""
#: data/com.github.huluti.Curtail.appdata.xml.in:251
#: data/com.github.huluti.Curtail.appdata.xml.in:271
msgid "Various UI changes"
msgstr "Divers changements d'interface"
#: data/com.github.huluti.Curtail.appdata.xml.in:259
#: data/com.github.huluti.Curtail.appdata.xml.in:279
msgid "Permit to sort results by name or saving ratio"
msgstr ""
"Permet de trier les résultats par nom ou par rapport à l'enregistrement"
#: data/com.github.huluti.Curtail.appdata.xml.in:260
#: data/com.github.huluti.Curtail.appdata.xml.in:280
msgid "Fix a crash when compressing an image with dots in its name"
msgstr ""
"Corrige un crash qui survenait lors de la compression d'une image avec des "
"points dans son nom"
#: data/com.github.huluti.Curtail.appdata.xml.in:268
#: data/com.github.huluti.Curtail.appdata.xml.in:288
msgid "Stick back and forward buttons"
msgstr "Boutons d'avance et de recul"
#: data/com.github.huluti.Curtail.appdata.xml.in:269
#: data/com.github.huluti.Curtail.appdata.xml.in:289
msgid "Change APP id"
msgstr "Changement de l'id APP"
#: data/com.github.huluti.Curtail.appdata.xml.in:277
#: data/com.github.huluti.Curtail.appdata.xml.in:297
msgid "Various optimizations"
msgstr "Diverses optimisations"
#: data/com.github.huluti.Curtail.appdata.xml.in:278
#: data/com.github.huluti.Curtail.appdata.xml.in:298
msgid "Improve error messages"
msgstr "Amélioration des messages d'erreur"
#: data/com.github.huluti.Curtail.appdata.xml.in:279
#: data/com.github.huluti.Curtail.appdata.xml.in:299
msgid "Improve some texts"
msgstr "Amélioration de certains textes"
#: data/com.github.huluti.Curtail.appdata.xml.in:280
#: data/com.github.huluti.Curtail.appdata.xml.in:300
msgid "Change description"
msgstr "Description des changements"
#: data/com.github.huluti.Curtail.appdata.xml.in:288
#: data/com.github.huluti.Curtail.appdata.xml.in:308
msgid "Initial version"
msgstr "Version initiale"
@ -461,7 +482,8 @@ msgstr "Version initiale"
msgid "Curtail"
msgstr "Curtail"
#: data/com.github.huluti.Curtail.desktop.in:14
#. Keywords, do not translate
#: data/com.github.huluti.Curtail.desktop.in:15
msgid "compress;optimize;image;photo;"
msgstr ""
@ -473,7 +495,7 @@ msgstr "Sauvegarder dans un nouveau fichier"
msgid "Save the compressed image into a new file."
msgstr "Sauvegarder l'image compressée dans un nouveau fichier."
#: data/com.github.huluti.Curtail.gschema.xml:11 src/ui/preferences.ui:64
#: data/com.github.huluti.Curtail.gschema.xml:11 src/ui/preferences.ui:30
msgid "Keep metadata"
msgstr "Garder les métadonnées"
@ -482,7 +504,7 @@ msgstr "Garder les métadonnées"
msgid "This setting preserves metadata of images."
msgstr "Ce paramètre préserve les métadonnées de l'image."
#: data/com.github.huluti.Curtail.gschema.xml:16 src/ui/preferences.ui:75
#: data/com.github.huluti.Curtail.gschema.xml:16 src/ui/preferences.ui:41
msgid "Preserve file attributes if possible"
msgstr "Préserver les attributs de fichier si possible"
@ -494,7 +516,7 @@ msgstr "Activer le mode avec-perte"
msgid "Use lossy mode to compress images."
msgstr "Utilise le mode avec-perte pour compresser les images."
#: data/com.github.huluti.Curtail.gschema.xml:26 src/ui/preferences.ui:52
#: data/com.github.huluti.Curtail.gschema.xml:26 src/ui/preferences.ui:25
msgid "Suffix to append at end of new file"
msgstr "Suffixe à ajouter à la fin d'un nouveau fichier"
@ -502,7 +524,7 @@ msgstr "Suffixe à ajouter à la fin d'un nouveau fichier"
msgid "Suffix to append at end of new file."
msgstr "Suffixe à ajouter à la fin d'un nouveau fichier."
#: data/com.github.huluti.Curtail.gschema.xml:31 src/ui/preferences.ui:97
#: data/com.github.huluti.Curtail.gschema.xml:31 src/ui/preferences.ui:63
msgid "PNG Lossy Compression Level"
msgstr "Niveau de compression avec-perte des PNG"
@ -510,7 +532,7 @@ msgstr "Niveau de compression avec-perte des PNG"
msgid "Lossy compression level to use for PNG images."
msgstr "Niveau de compression avec-perte à utiliser pour les images PNG."
#: data/com.github.huluti.Curtail.gschema.xml:36 src/ui/preferences.ui:144
#: data/com.github.huluti.Curtail.gschema.xml:36 src/ui/preferences.ui:128
msgid "PNG Lossless Compression Level"
msgstr "Niveau de compression sans-perte des PNG"
@ -518,7 +540,7 @@ msgstr "Niveau de compression sans-perte des PNG"
msgid "Lossless compression level to use for PNG images."
msgstr "Niveau de compression sans-perte à utiliser pour les images PNG."
#: data/com.github.huluti.Curtail.gschema.xml:41 src/ui/preferences.ui:157
#: data/com.github.huluti.Curtail.gschema.xml:41 src/ui/preferences.ui:147
msgid "WebP Lossless Compression Level"
msgstr "Niveau de compression sans-perte des WebP"
@ -526,7 +548,7 @@ msgstr "Niveau de compression sans-perte des WebP"
msgid "Lossless compression level to use for WebP images."
msgstr "Niveau de compression sans-perte à utiliser pour les images WebP."
#: data/com.github.huluti.Curtail.gschema.xml:46 src/ui/preferences.ui:109
#: data/com.github.huluti.Curtail.gschema.xml:46 src/ui/preferences.ui:81
msgid "JPG Lossy Compression Level"
msgstr "Niveau de compression avec-perte des JPG"
@ -534,7 +556,7 @@ msgstr "Niveau de compression avec-perte des JPG"
msgid "Lossy compression level to use for JPG images."
msgstr "Niveau de compression avec-perte à utiliser pour les images JPG."
#: data/com.github.huluti.Curtail.gschema.xml:51 src/ui/preferences.ui:121
#: data/com.github.huluti.Curtail.gschema.xml:51 src/ui/preferences.ui:99
msgid "WebP Lossy Compression Level"
msgstr "Niveau de compression avec-perte des WebP"
@ -575,31 +597,31 @@ msgctxt "shortcut window"
msgid "Quit"
msgstr "Quitter"
#: src/ui/preferences.ui:29 src/ui/menu.ui:6
#: src/ui/preferences.ui:4 src/ui/menu.ui:6
msgid "Preferences"
msgstr "Préférences"
#: src/ui/preferences.ui:35
#: src/ui/preferences.ui:8
msgid "General"
msgstr "Général"
#: src/ui/preferences.ui:41
#: src/ui/preferences.ui:14
msgid "Save the compressed image into a new file"
msgstr "Sauvegarder l'image compressée dans un nouveau fichier"
#: src/ui/preferences.ui:91
#: src/ui/preferences.ui:57
msgid "Compression"
msgstr "Compression"
#: src/ui/preferences.ui:138
#: src/ui/preferences.ui:122
msgid "Advanced"
msgstr "Avancé"
#: src/ui/preferences.ui:145 src/ui/preferences.ui:158
#: src/ui/preferences.ui:129 src/ui/preferences.ui:148
msgid "The higher it is, the slower it is"
msgstr "Plus c'est haut, plus c'est lent"
#: src/ui/preferences.ui:170
#: src/ui/preferences.ui:166
msgid "Progressive Encode JPG"
msgstr "Encodage progressif JPG"
@ -619,7 +641,7 @@ msgstr "Faites glisser vos images ici…"
msgid "or"
msgstr "ou"
#: src/ui/window.ui:47 src/window.py:169
#: src/ui/window.ui:47 src/window.py:165
msgid "Browse Files"
msgstr "Parcourez vos fichiers"
@ -631,100 +653,88 @@ msgstr "Sans-perte"
msgid "Lossy"
msgstr "Avec-perte"
#: src/ui/window.ui:121
#: src/ui/window.ui:122
msgid "Compress Images"
msgstr "Compresser vos images"
#: src/ui/window.ui:128
#: src/ui/window.ui:129
msgid "Saving Results"
msgstr "Gains"
#: src/ui/window.ui:137
#: src/ui/window.ui:138
msgid "Main Menu"
msgstr "Menu Principal"
#: src/compressor.py:60
#: src/compressor.py:61
msgid "An error has occured"
msgstr "Une erreur est survenue"
#: src/tools.py:47
#: src/tools.py:33
msgid "_Ok"
msgstr ""
#: src/tools.py:43
msgid "All images"
msgstr "Toutes les images"
#: src/tools.py:53
#: src/tools.py:49
msgid "PNG images"
msgstr "Images PNG"
#: src/tools.py:57
#: src/tools.py:53
msgid "JPEG images"
msgstr "Images JPEG"
#: src/tools.py:61
#: src/tools.py:57
msgid "WebP images"
msgstr "Images WebP"
#: src/window.py:86
msgid "Filename"
msgstr "Fichier"
#: src/window.py:87
msgid "Old Size"
msgstr "Ancienne taille"
#: src/window.py:88
msgid "New Size"
msgstr "Nouvelle taille"
#: src/window.py:89
msgid "Savings"
msgstr "Gains"
#: src/window.py:156
#: src/window.py:152
msgid "Images are saved with <b>'{}' suffix</b>."
msgstr "Les images sont sauvegardées avec le suffixe <b>'{}'</b>."
#: src/window.py:159
#: src/window.py:155
msgid "Images are <b>overwritten</b>."
msgstr "Les images sont <b>écrasées</b>."
#: src/window.py:238
#: src/window.py:227
msgid "Format not supported"
msgstr "Format non supporté"
#: src/window.py:239
#: src/window.py:228
msgid "The format of {} is not supported."
msgstr "Le format de {} n'est pas supporté."
#: src/window.py:243
#: src/window.py:232
msgid "Path not valid"
msgstr "Chemin non-valide"
#: src/window.py:244
#: src/window.py:233
msgid "{} doesn't exist."
msgstr "{} n'existe pas."
#: src/window.py:273
msgid "If you continue, these files will be overwritten:"
msgstr "Si vous continuez, ces fichiers vont être écrasés :"
#: src/window.py:279
#: src/window.py:264
msgid "Some files already exists"
msgstr "Certains fichiers existent déjà"
#: src/window.py:282
#: src/window.py:265
msgid "If you continue, some files will be overwritten."
msgstr "Si vous continuez, certains fichiers seront écrasés."
#: src/window.py:267
msgid "_Cancel"
msgstr "_Annuler"
#: src/window.py:283
#: src/window.py:268
msgid "C_onfirm"
msgstr "_Confirmer"
#: src/window.py:350
#: src/window.py:321
msgid "translator-credits"
msgstr ""
"Hugo Posnic\n"
"Irénée Thirion"
#: src/window.py:354
#: src/window.py:325
msgid "Contributors"
msgstr "Contributeurs"

View File

@ -45,7 +45,7 @@ class Compressor():
self.size = self.file_data.stat().st_size
self.new_size = 0
self.tree_iter = None
self.row = None
def run_command(self, command):
try:
@ -63,7 +63,8 @@ class Compressor():
def compress_image(self):
file_type = get_file_type(self.filename)
if file_type:
self.tree_iter = self.win.create_treeview_row(str(self.full_name), self.size)
self.row = self.win.create_result_row(self.full_name, self.filename,
self.new_filename, self.size)
lossy = self._settings.get_boolean('lossy')
metadata = self._settings.get_boolean('metadata')
file_attributes = self._settings.get_boolean('file-attributes')
@ -81,7 +82,7 @@ class Compressor():
self.new_size = self.new_file_data.stat().st_size
savings = round(100 - (self.new_size * 100 / self.size), 2)
self.win.update_treeview_row(self.tree_iter, self.new_size, savings)
self.win.update_result_row(self.row, self.size, self.new_size, savings)
def build_png_command(self, lossy, metadata, file_attributes):
pngquant = 'pngquant --quality=0-{} -f "{}" --output "{}"'

View File

@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from gi.repository import Adw, Gtk, GLib, Gio
from gi.repository import Adw, Gtk, GLib, Gio, GdkPixbuf
from os import path
@ -80,3 +80,29 @@ def get_file_type(filename):
else:
return None
def create_image_from_file(filename, max_width, max_height):
# Image preview
pixbuf = GdkPixbuf.Pixbuf.new_from_file(filename)
# Calculate new dimensions while preserving aspect ratio
width = pixbuf.get_width()
height = pixbuf.get_height()
# If the image is wider than it is tall, scale it to fit the width
if width > height:
ratio = max_width / float(width)
new_width = max_width
new_height = int(height * ratio)
# Otherwise, scale it to fit the height
else:
ratio = max_height / float(height)
new_width = int(width * ratio)
new_height = max_height
scaled_pixbuf = pixbuf.scale_simple(new_width, new_height,
GdkPixbuf.InterpType.BILINEAR)
image = Gtk.Image.new_from_pixbuf(scaled_pixbuf)
return image

View File

@ -82,22 +82,27 @@
</object>
</child>
<child>
<object class="GtkBox" id="treeview_box">
<object class="GtkBox" id="resultbox">
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="orientation">vertical</property>
<property name="vexpand">true</property>
<child>
<object class="GtkScrolledWindow" id="treeview_scrolled_window">
<property name="child">
<object class="GtkTreeView" id="treeview">
<object class="GtkScrolledWindow" id="scrolled_window">
<property name="hscrollbar-policy">never</property>
<child>
<object class="GtkListBox" id="listbox">
<property name="margin-start">10</property>
<property name="margin-end">10</property>
<property name="margin-top">10</property>
<property name="margin-bottom">10</property>
<style>
<class name="boxed-list" />
</style>
<property name="hexpand">true</property>
<property name="vexpand">true</property>
<child internal-child="selection">
<object class="GtkTreeSelection"/>
</child>
<property name="selection-mode">none</property>
</object>
</property>
</child>
</object>
</child>
</object>

View File

@ -23,7 +23,7 @@ from pathlib import Path
from .preferences import CurtailPrefsWindow
from .compressor import Compressor
from .tools import message_dialog, add_filechooser_filters, \
sizeof_fmt, get_file_type
sizeof_fmt, get_file_type, create_image_from_file
UI_PATH = '/com/github/huluti/Curtail/ui/'
SETTINGS_SCHEMA = 'com.github.huluti.Curtail'
@ -45,9 +45,9 @@ class CurtailWindow(Gtk.ApplicationWindow):
menu_button = Gtk.Template.Child()
mainbox = Gtk.Template.Child()
homebox = Gtk.Template.Child()
treeview_box = Gtk.Template.Child()
treeview_scrolled_window = Gtk.Template.Child()
treeview = Gtk.Template.Child()
resultbox = Gtk.Template.Child()
scrolled_window = Gtk.Template.Child()
listbox = Gtk.Template.Child()
save_info_label = Gtk.Template.Child()
filechooser_button = Gtk.Template.Child()
toggle_lossy = Gtk.Template.Child()
@ -61,7 +61,7 @@ class CurtailWindow(Gtk.ApplicationWindow):
self.build_ui()
self.create_actions()
self.show_treeview(False)
self.show_results(False)
self.forward_button.set_sensitive(False)
def build_ui(self):
@ -75,20 +75,6 @@ class CurtailWindow(Gtk.ApplicationWindow):
drop_target_main.connect('drop', self.on_dnd_drop)
self.mainbox.add_controller(drop_target_main)
# Treeview
self.store = Gtk.ListStore(str, str, int, str, int, str, float)
self.treeview.set_model(self.store)
self.renderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn()
self.treeview.append_column(column)
self.add_column_to_treeview(_("Filename"), 0, True)
self.add_column_to_treeview(_("Old Size"), 1, True, 3)
self.add_column_to_treeview(_("New Size"), 3, True, 5)
self.add_column_to_treeview(_("Savings"), 5, True, 7)
self.adjustment = self.treeview_scrolled_window.get_vadjustment()
# Lossy toggle
self.toggle_lossy.set_active(self._settings.get_boolean('lossy'))
self.toggle_lossy.connect('notify::active', self.on_lossy_changed)
@ -96,6 +82,9 @@ class CurtailWindow(Gtk.ApplicationWindow):
# Info label
self.change_save_info_label()
# Results
self.adjustment = self.scrolled_window.get_vadjustment()
def create_simple_action(self, action_name, callback, shortcut=None):
action = Gio.SimpleAction.new(action_name, None)
action.connect('activate', callback)
@ -111,50 +100,51 @@ class CurtailWindow(Gtk.ApplicationWindow):
self.create_simple_action('about', self.on_about)
self.create_simple_action('quit', self.on_quit, '<Primary>q')
def add_column_to_treeview(self, title, column_id, allow_sort=False, sort_column_id=-1):
treeviewcolumn = Gtk.TreeViewColumn(title)
if allow_sort:
if sort_column_id > 0:
treeviewcolumn.set_sort_column_id(sort_column_id)
else:
treeviewcolumn.set_sort_column_id(column_id)
treeviewcolumn.set_spacing(10)
treeviewcolumn.set_resizable(True)
treeviewcolumn.set_expand(True)
treeviewcolumn.pack_start(self.renderer, False)
treeviewcolumn.add_attribute(self.renderer, 'text', column_id)
self.treeview.append_column(treeviewcolumn)
def show_treeview(self, show):
def show_results(self, show):
if show:
self.homebox.set_visible(False)
self.treeview_box.set_visible(True)
self.resultbox.set_visible(True)
else:
self.treeview_box.set_visible(False)
self.resultbox.set_visible(False)
self.homebox.set_visible(True)
self.back_button.set_sensitive(show)
self.forward_button.set_sensitive(not show)
self.sync_ui()
def go_end_scrolledwindow(self):
self.adjustment.set_value(self.adjustment.get_upper())
def sync_ui(self):
main_context = GLib.MainContext.default()
while main_context.pending():
main_context.iteration(False)
def create_treeview_row(self, name, size):
tree_iter = self.store.append([name, sizeof_fmt(size), size, '', 0, '0%', 0])
self.sync_ui()
return tree_iter
def create_result_row(self, name, filename, new_filename, size):
row = Adw.ActionRow()
row.set_title(name)
row.set_tooltip_text(new_filename)
subtitle = sizeof_fmt(size)
row.set_subtitle(subtitle)
image = create_image_from_file(filename, 60, 60)
row.add_prefix(image)
self.listbox.insert(row, -1) # insert at end
def update_treeview_row(self, tree_iter, new_size, savings):
self.store.set_value(tree_iter, 3, sizeof_fmt(new_size))
self.store.set_value(tree_iter, 4, new_size)
self.store.set_value(tree_iter, 5, '{}%'.format(str(savings)))
self.store.set_value(tree_iter, 6, savings)
self.sync_ui()
def go_end_treeview(self):
self.adjustment.set_value(self.adjustment.get_upper())
return row
def update_result_row(self, row, size, new_size, savings):
subtitle = sizeof_fmt(size) + ' -> ' + sizeof_fmt(new_size)
row.set_subtitle(subtitle)
savings_widget = Gtk.Label(label=str(savings) + '%')
color = 'success' if savings > 0 else 'error'
savings_widget.add_css_class(color)
row.add_suffix(savings_widget)
self.sync_ui()
def change_save_info_label(self):
label = '<span size="small">{}</span>'
@ -166,10 +156,10 @@ class CurtailWindow(Gtk.ApplicationWindow):
self.save_info_label.set_markup(label)
def on_back(self, *args):
self.show_treeview(False)
self.show_results(False)
def on_forward(self, *args):
self.show_treeview(True)
self.show_results(True)
def on_select(self, *args):
dialog = Gtk.FileDialog(title=_("Browse Files"))
@ -293,14 +283,14 @@ class CurtailWindow(Gtk.ApplicationWindow):
self.compress_images(files)
def compress_images(self, files):
self.show_treeview(True)
self.show_results(True)
for file in files:
# Call compressor
compressor = Compressor(self, file['filename'],
file['new_filename'])
compressor.compress_image()
self.go_end_treeview() # scroll to end of treeview
self.go_end_scrolledwindow()
def on_lossy_changed(self, switch, state):
self._settings.set_boolean('lossy', switch.get_active())
@ -320,7 +310,7 @@ class CurtailWindow(Gtk.ApplicationWindow):
license_type=Gtk.License.GPL_3_0,
website='https://github.com/Huluti/Curtail',
issue_url='https://github.com/Huluti/Curtail/issues/new',
version='1.4.0',
version='1.5.0',
developers=[
'Hugo Posnic https://github.com/Huluti'
],