Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package pdfarranger for openSUSE:Factory 
checked in at 2021-04-12 15:49:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/pdfarranger (Old)
 and      /work/SRC/openSUSE:Factory/.pdfarranger.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "pdfarranger"

Mon Apr 12 15:49:44 2021 rev:2 rq:884623 version:1.7.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/pdfarranger/pdfarranger.changes  2021-04-01 
14:18:15.500068447 +0200
+++ /work/SRC/openSUSE:Factory/.pdfarranger.new.2401/pdfarranger.changes        
2021-04-12 15:49:58.605280278 +0200
@@ -1,0 +2,16 @@
+Mon Apr 12 10:30:11 UTC 2021 - Christophe Giboudeaux <[email protected]>
+
+- Update to 1.7.1
+  * Fix "TypeError: only pages can be inserted" with
+    libqpdf >= 10.2.0 & pikepdf < 2.7.0
+  * Display imported files in alphabetical order
+  * Release memory after rendering and deleting pages
+  * Installation instructions for FreeBSD
+  * Fix a segfault on "crop white borders" while rendering thumbnails
+  * Allow PDF Arranger to be recognized as a handler for all image
+    MIME type that it can handle
+  * Fix min & max zoom level limits
+  * Fix issue with pages copied with ctrl + dnd
+  * Fix displayed page range when using paste before
+
+-------------------------------------------------------------------

Old:
----
  pdfarranger-1.7.0.tar.gz

New:
----
  pdfarranger-1.7.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ pdfarranger.spec ++++++
--- /var/tmp/diff_new_pack.rp1p6p/_old  2021-04-12 15:49:59.157280946 +0200
+++ /var/tmp/diff_new_pack.rp1p6p/_new  2021-04-12 15:49:59.157280946 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package pdfarranger
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 # Copyright (c) 2020 Karl Cheng <[email protected]>
 #
 # All modifications and additions to the file contributed by third parties
@@ -18,7 +18,7 @@
 
 
 Name:           pdfarranger
-Version:        1.7.0
+Version:        1.7.1
 Release:        0
 Summary:        Merge, split, rotate, crop, and rearrange pages of PDF 
documents
 License:        GPL-3.0-only
@@ -36,6 +36,7 @@
 Requires:       python3-dateutil >= 2.4.0
 Requires:       python3-pikepdf >= 1.7.0
 Requires:       typelib-1_0-Poppler-0_18
+Requires:       python3-gobject-Gdk
 Recommends:     %{name}-lang
 BuildArch:      noarch
 

++++++ pdfarranger-1.7.0.tar.gz -> pdfarranger-1.7.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/.github/workflows/install.yml 
new/pdfarranger-1.7.1/.github/workflows/install.yml
--- old/pdfarranger-1.7.0/.github/workflows/install.yml 2021-01-24 
11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/.github/workflows/install.yml 2021-03-13 
18:37:08.000000000 +0100
@@ -1,7 +1,7 @@
 name: pdfarranger
 on:
   push:
-    branches: [ master ]
+    branches: [ main ]
   pull_request:
 jobs:
   build:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/README.md 
new/pdfarranger-1.7.1/README.md
--- old/pdfarranger-1.7.0/README.md     2021-01-24 11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/README.md     2021-03-13 18:37:08.000000000 +0100
@@ -3,8 +3,8 @@
 [![Total 
alerts](https://img.shields.io/lgtm/alerts/g/pdfarranger/pdfarranger.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/pdfarranger/pdfarranger/alerts/)
 [![Language grade: 
Python](https://img.shields.io/lgtm/grade/python/g/pdfarranger/pdfarranger.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/pdfarranger/pdfarranger/context:python)
 [![Codacy 
Badge](https://app.codacy.com/project/badge/Grade/1be9c9a69f3a44b79612cc5b2887c0f7)](https://www.codacy.com/gh/pdfarranger/pdfarranger/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=pdfarranger/pdfarranger&amp;utm_campaign=Badge_Grade)
-[![pdfarranger](https://github.com/pdfarranger/pdfarranger/workflows/pdfarranger/badge.svg)](https://github.com/pdfarranger/pdfarranger/actions?query=workflow%3Apdfarranger+branch%3Amaster)
-[![codecov](https://codecov.io/gh/pdfarranger/pdfarranger/branch/master/graph/badge.svg)](https://codecov.io/gh/pdfarranger/pdfarranger)
+[![pdfarranger](https://github.com/pdfarranger/pdfarranger/workflows/pdfarranger/badge.svg)](https://github.com/pdfarranger/pdfarranger/actions?query=workflow%3Apdfarranger+branch%3Amain)
+[![codecov](https://codecov.io/gh/pdfarranger/pdfarranger/branch/main/graph/badge.svg)](https://codecov.io/gh/pdfarranger/pdfarranger)
 
 *pdfarranger* is a small python-gtk application, which helps the user to merge
 or split pdf documents and rotate, crop and rearrange their pages using an
@@ -16,7 +16,7 @@
 [Sourceforge](http://sourceforge.net/projects/pdfshuffler)).
 It???s a humble attempt to make the project a bit more active.
 
-![screenshot of 
pdfarranger](https://github.com/pdfarranger/pdfarranger/raw/master/data/screenshot.png)
+![screenshot of 
pdfarranger](https://github.com/pdfarranger/pdfarranger/raw/main/data/screenshot.png)
 
 ## Downloads
 
@@ -37,8 +37,8 @@
 
 ## Install from source
 
-*pdfarranger* requires [pikepdf](https://github.com/pikepdf/pikepdf) >= 1.7.0. 
Older versions may work
-but are not supported. [pikepdf](https://github.com/pikepdf/pikepdf) >= 1.15.1 
is highly recommended.
+*pdfarranger* requires [pikepdf](https://github.com/pikepdf/pikepdf) >= 1.7.0, 
but pikepdf >= 1.15.1 is highly recommended.
+pip will automatically install the latest pikepdf if there is no pikepdf 
installed on the system.
 
 **On Debian based distributions**
 
@@ -55,14 +55,19 @@
 **On Fedora**
 
 ```
-sudo dnf install poppler-glib python3-distutils-extra python3-pip 
python3-gobject gtk3 python3-cairo python3-wheel
+sudo dnf install poppler-glib python3-distutils-extra python3-pip 
python3-gobject gtk3 python3-cairo python3-wheel python3-pikepdf 
python3-img2pdf python3-dateutil
+```
+
+**On FreeBSD**
+
+```
+sudo pkg install devel/gettext devel/py-gobject3 devel/py-pip 
devel/py-python-distutils-extra graphics/poppler-glib textproc/intltool 
textproc/py-pikepdf x11-toolkits/gtk30
 ```
-or `sudo dnf builddep pdfarranger`
 
 **Then**
 
 ```
-pip3 install --user --upgrade 
https://github.com/pdfarranger/pdfarranger/zipball/master
+pip3 install --user --upgrade 
https://github.com/pdfarranger/pdfarranger/zipball/main
 ```
 
 In addition, *pdfarranger* supports image file import if 
[img2pdf](https://gitlab.mister-muffin.de/josch/img2pdf) is installed.
@@ -72,7 +77,6 @@
 ```
 git clone https://github.com/pdfarranger/pdfarranger.git
 cd pdfarranger
-pip install -e .
 ./setup.py build
 python3 -m pdfarranger
 ```
@@ -81,7 +85,7 @@
 
 ## For translators
 
--   Download the master branch (see [For developers](#for-developers))
+-   Download the main branch (see [For developers](#for-developers))
 
 -   Run `po/genpot.sh`. The `pot` is an automatically generated file and as 
such
     should not be in the repository. It is to make life of some translators
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pdfarranger-1.7.0/data/com.github.jeromerobert.pdfarranger.desktop 
new/pdfarranger-1.7.1/data/com.github.jeromerobert.pdfarranger.desktop
--- old/pdfarranger-1.7.0/data/com.github.jeromerobert.pdfarranger.desktop      
2021-01-24 11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/data/com.github.jeromerobert.pdfarranger.desktop      
2021-03-13 18:37:08.000000000 +0100
@@ -16,7 +16,7 @@
 Type=Application
 Exec=pdfarranger %U
 Icon=com.github.jeromerobert.pdfarranger
-MimeType=application/pdf;
+MimeType=application/pdf;application/postscript;application/x-ext-pdf;image/x-bmp;image/bmp;image/gif;image/tiff;image/jp2;image/jpeg;image/jpg;image/png;image/x-icon;image/x-portable-pixmap;image/x-gray;image/x-ico;image/x-png;image/vnd.zbrush.pcx;image/x-pcx;
 Categories=Office;
 Terminal=false
 StartupNotify=false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pdfarranger-1.7.0/data/com.github.jeromerobert.pdfarranger.metainfo.xml 
new/pdfarranger-1.7.1/data/com.github.jeromerobert.pdfarranger.metainfo.xml
--- old/pdfarranger-1.7.0/data/com.github.jeromerobert.pdfarranger.metainfo.xml 
2021-01-24 11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/data/com.github.jeromerobert.pdfarranger.metainfo.xml 
2021-03-13 18:37:08.000000000 +0100
@@ -23,12 +23,13 @@
   <url type="homepage">https://github.com/pdfarranger/pdfarranger</url>
   <screenshots>
     <screenshot type="default">
-      
<image>https://github.com/pdfarranger/pdfarranger/raw/master/data/screenshot.png</image>
+      
<image>https://github.com/pdfarranger/pdfarranger/raw/main/data/screenshot.png</image>
       <caption/>
     </screenshot>
   </screenshots>
   <update_contact>[email protected]</update_contact>
   <releases>
+    <release date="2021-03-13" version="1.7.1"/>
     <release date="2021-01-24" version="1.7.0"/>
     <release date="2020-08-01" version="1.6.2"/>
     <release date="2020-07-31" version="1.6.1"/>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/pdfarranger/core.py 
new/pdfarranger-1.7.1/pdfarranger/core.py
--- old/pdfarranger-1.7.0/pdfarranger/core.py   2021-01-24 11:46:12.000000000 
+0100
+++ new/pdfarranger-1.7.1/pdfarranger/core.py   2021-03-13 18:37:08.000000000 
+0100
@@ -244,6 +244,7 @@
                     raise e
 
     def __init__(self, filename, basename, tmp_dir, parent):
+        self.render_lock = threading.Lock()
         self.filename = os.path.abspath(filename)
         self.mtime = os.path.getmtime(filename)
         if basename is None:  # When importing files
@@ -421,7 +422,7 @@
                 previous_p = self.start_p - cnt
                 next_p = self.start_p + cnt
                 if previous_p < 0 and next_p > len(self.model):
-                    return
+                    break
                 if previous_p >= 0:
                     self.update(previous_p, self.model[previous_p])
                 if next_p < len(self.model):
@@ -445,7 +446,8 @@
         cr = cairo.Context(thumbnail)
         if scale != 1.0:
             cr.scale(scale, scale)
-        page.render(cr)
+        with pdfdoc.render_lock:
+            page.render(cr)
         GObject.idle_add(
             self.emit,
             "update_thumbnail",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/pdfarranger/croputils.py 
new/pdfarranger-1.7.1/pdfarranger/croputils.py
--- old/pdfarranger-1.7.0/pdfarranger/croputils.py      2021-01-24 
11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/pdfarranger/croputils.py      2021-03-13 
18:37:08.000000000 +0100
@@ -271,7 +271,8 @@
         h = int(h)
         thumbnail = cairo.ImageSurface(cairo.FORMAT_ARGB32, w, h)
         cr = cairo.Context(thumbnail)
-        page.render(cr)
+        with pdfdoc.render_lock:
+            page.render(cr)
         # TODO: python list are dead slow compared to memoryview. It would
         # be faster to create a memoryview full of 0 and then compare each row
         # to it. memoryview have full native __eq__ operator which is fast.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/pdfarranger/exporter.py 
new/pdfarranger-1.7.1/pdfarranger/exporter.py
--- old/pdfarranger-1.7.0/pdfarranger/exporter.py       2021-01-24 
11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/pdfarranger/exporter.py       2021-03-13 
18:37:08.000000000 +0100
@@ -165,12 +165,20 @@
         if cropped:
             new_page.MediaBox = cropped
         new_page = _scale(pdf_output, new_page, row.scale)
+
+        # Workraround for pikepdf < 2.7.0
+        # https://github.com/pikepdf/pikepdf/issues/174
+        new_page = pdf_output.make_indirect(new_page)
+
         pdf_output.pages.append(new_page)
 
     if exportmode in ['ALL_TO_MULTIPLE', 'SELECTED_TO_MULTIPLE']:
         for n, page in enumerate(pdf_output.pages):
             outpdf = pikepdf.Pdf.new()
             _set_meta(mdata, pdf_input, outpdf)
+            # needed to add this, probably related to pikepdf < 2.7.0 
workaround
+            page = outpdf.copy_foreign(page)
+            # works without make_indirect as already applied to this page
             outpdf.pages.append(page)
             outname = file_out
             parts = file_out.rsplit('.', 1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/pdfarranger/pdfarranger.py 
new/pdfarranger-1.7.1/pdfarranger/pdfarranger.py
--- old/pdfarranger-1.7.0/pdfarranger/pdfarranger.py    2021-01-24 
11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/pdfarranger/pdfarranger.py    2021-03-13 
18:37:08.000000000 +0100
@@ -26,7 +26,9 @@
 import gettext
 import gc
 import subprocess
+import ctypes
 from urllib.request import url2pathname
+from functools import lru_cache
 
 
 sharedir = os.path.join(sys.prefix, 'share')
@@ -60,15 +62,14 @@
     except AttributeError:
         pass
 else:
-    from ctypes import cdll
     # Windows or musl
-    libintl = cdll['libintl-8' if os.name == 'nt' else 'libintl.so.8']
+    libintl = ctypes.cdll['libintl-8' if os.name == 'nt' else 'libintl.so.8']
     libintl.bindtextdomain(DOMAIN.encode(), 
localedir.encode(sys.getfilesystemencoding()))
     libintl.bind_textdomain_codeset(DOMAIN.encode(), 'UTF-8'.encode())
     del libintl
 
 APPNAME = 'PDF Arranger'
-VERSION = '1.7.0'
+VERSION = '1.7.1'
 WEBSITE = 'https://github.com/pdfarranger/pdfarranger'
 
 # Add support for dnd to other instance and insert file at drop location in 
Windows
@@ -163,6 +164,27 @@
     return wrapper
 
 
+def malloc_trim():
+    """Release free memory from the heap."""
+    if os.name == 'nt':
+        return
+    mtrim = malloc_trim_available()
+    if mtrim:
+        mtrim()
+
+
+@lru_cache()
+def malloc_trim_available():
+    try:
+        ctypes.CDLL('libc.so.6').malloc_trim(0)
+    except (FileNotFoundError, AttributeError, OSError):
+        print('malloc_trim not available. Application may not release memory 
properly.')
+        return
+    def mtrim():
+        ctypes.CDLL('libc.so.6').malloc_trim(0)
+    return mtrim
+
+
 def get_file_path_from_uri(uri):
     """Extracts the path from an uri"""
     uri = uri[5:]  # remove 'file:'
@@ -533,7 +555,7 @@
 
         all_files = self.active_file_names()
         if len(all_files) > 0:
-            title += ' [' + ', '.join(all_files) + ']'
+            title += ' [' + ', '.join(sorted(all_files)) + ']'
 
         title += ' ??? ' + APPNAME
         self.window.set_title(title)
@@ -559,6 +581,8 @@
             page.zoom = self.zoom_scale
             page.thumbnail = thumbnail
             self.model[num][0] = page
+        elif num == -2:
+            malloc_trim()
         self.update_progress_bar(num)
 
     def on_window_size_request(self, _window):
@@ -825,6 +849,7 @@
         self.iconview.grab_focus()
         if self.progress_bar.get_visible() and len(self.model) > 0:
             self.render()
+        malloc_trim()
 
     def copy_pages(self):
         """Collect data from selected pages"""
@@ -981,6 +1006,8 @@
                 self.paste_files(data, before, ref_to)
             else:
                 self.paste_pages(data, before, ref_to, select_added=False)
+            if pastemode == 'BEFORE':
+                self.__update_statusbar()
         elif pastemode in ['ODD', 'EVEN']:
             if data_is_filepaths:
                 # Generate data to send to paste_pages_interleave
@@ -1179,11 +1206,12 @@
                              for p in data]
             iter_to = self.model.get_iter(ref_to.get_path())
             for ref_from in ref_from_list:
-                row = model[model.get_iter(ref_from.get_path())]
+                iterator = model.get_iter(ref_from.get_path())
+                page = model.get_value(iterator, 0).duplicate()
                 if before:
-                    it = model.insert_before(iter_to, row[:])
+                    it = model.insert_before(iter_to, [page, 
page.description()])
                 else:
-                    it = model.insert_after(iter_to, row[:])
+                    it = model.insert_after(iter_to, [page, 
page.description()])
                 path = model.get_path(it)
                 iconview.select_path(path)
             if move:
@@ -1211,6 +1239,7 @@
         for ref_del in ref_del_list:
             path = ref_del.get_path()
             model.remove(model.get_iter(path))
+        malloc_trim()
 
     def iv_dnd_motion(self, iconview, context, x, y, etime):
         """Handles drag motion: autoscroll, select move or copy, select drag 
cursor location."""
@@ -1545,7 +1574,8 @@
 
     def zoom_set(self, level):
         """Sets the zoom level"""
-        if level < -10 or level > 40:
+        level = min(max(level, -10), 40)
+        if level == self.zoom_level:
             return
         if self.zoom_change_render:
             GObject.source_remove(self.zoom_change_render)
@@ -1582,7 +1612,6 @@
         selection = self.iconview.get_selected_items()
         if len(selection) != 1:
             return
-        self.zoom_full_page = True
 
         item_padding = self.iconview.get_item_padding()
         cell_image_renderer, cell_text_renderer = self.iconview.get_cells()
@@ -1601,6 +1630,8 @@
         zoom_scaleX_new = (sw_width - cell_extraX - margins) / page_width
         zoom_scaleY_new = (sw_height - cell_extraY - margins) / page_height
         self.zoom_scale = min(zoom_scaleY_new, zoom_scaleX_new)
+        if self.zoom_scale < 0.2 * (1.1 ** -10):
+            return
         for page, _ in self.model:
             page.zoom = self.zoom_scale
         selected_page_nr = Gtk.TreePath.get_indices(selection[0])[0]
@@ -1610,6 +1641,7 @@
         self.zoom_level = -10
         while self.zoom_scale > 0.2 * (1.1 ** self.zoom_level):
             self.zoom_level += 1
+        self.zoom_full_page = True
 
     def scroll_to_selection(self):
         """Scroll iconview so that selection is in center of window."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/po/de.po 
new/pdfarranger-1.7.1/po/de.po
--- old/pdfarranger-1.7.0/po/de.po      2021-01-24 11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/po/de.po      2021-03-13 18:37:08.000000000 +0100
@@ -274,7 +274,7 @@
 
 #: pdfarranger/splitter.py:26
 msgid "Split Pages"
-msgstr "Seiten zuschneiden"
+msgstr "Seiten teilen"
 
 #: pdfarranger/splitter.py:58
 msgid "Columns"
@@ -422,7 +422,7 @@
 
 #: data/menu.ui.h:19
 msgid "_Split Pages"
-msgstr "_Seiten zuschneiden"
+msgstr "_Seiten teilen"
 
 #: data/menu.ui.h:20
 msgid "Cu_t"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/po/fr.po 
new/pdfarranger-1.7.1/po/fr.po
--- old/pdfarranger-1.7.0/po/fr.po      2021-01-24 11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/po/fr.po      2021-03-13 18:37:08.000000000 +0100
@@ -6,22 +6,22 @@
 # Translators:
 # David VANTYGHEM <[email protected]>, 2014.
 # J??r??me Robert <[email protected]>, 2019.
-# Charles Monzat <[email protected]>, 2019.
+# Charles Monzat <[email protected]>, 2019-2021.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: unnamed project\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2021-01-01 22:06+0100\n"
-"PO-Revision-Date: 2020-12-26 10:03+0100\n"
-"Last-Translator: J??r??me Robert <[email protected]>\n"
+"PO-Revision-Date: 2021-02-04 14:22+0100\n"
+"Last-Translator: Charles Monzat <[email protected]>\n"
 "Language-Team: French - France <>\n"
 "Language: fr\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Poedit-SourceCharset: utf-8\n"
-"X-Generator: Poedit 2.4.2\n"
+"X-Generator: Gtranslator 3.38.0\n"
 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
 
 #: pdfarranger/core.py:80
@@ -34,15 +34,14 @@
 
 #: pdfarranger/core.py:186
 msgid "The password will be remembered until you close PDF-Arranger."
-msgstr ""
-"Le mot de passe sera m??moris?? jusqu'?? ce que vous fermiez PDF-Arranger."
+msgstr "Le mot de passe sera m??moris?? jusqu????? la fermeture de 
PDF-Arranger."
 
 #: pdfarranger/core.py:187
 msgid ""
 "The document ???{}??? is locked and requires a password before it can be 
opened."
 msgstr ""
-"Le document ?? {} ?? est verrouill?? et n??cessite un mot de passe avant de "
-"pouvoir ??tre ouvert."
+"Le document ????{}???? est verrouill?? et n??cessite un mot de passe avant 
son "
+"ouverture."
 
 #: pdfarranger/core.py:197
 msgid "Password"
@@ -54,7 +53,7 @@
 
 #: pdfarranger/core.py:256
 msgid "Image files are only supported with img2pdf"
-msgstr "Les fichiers images sont seulement pris en charge avec img2pdf"
+msgstr "Les fichiers image sont seulement pris en charge avec img2pdf"
 
 #: pdfarranger/core.py:278
 msgid "Image format is not supported by img2pdf"
@@ -62,11 +61,11 @@
 
 #: pdfarranger/core.py:280 pdfarranger/pdfarranger.py:1000
 msgid "File is neither pdf nor image"
-msgstr "Le fichier n'est pas un PDF ni une image"
+msgstr "Le fichier n???est ni un PDF ni une image"
 
 #: pdfarranger/croputils.py:124
 msgid "Scale factor"
-msgstr "Facteur d'??chelle"
+msgstr "Facteur d?????chelle"
 
 #: pdfarranger/croputils.py:130
 msgid "%"
@@ -134,7 +133,7 @@
 
 #: pdfarranger/croputils.py:339
 msgid "Insert Blank Page"
-msgstr "Inserer une page blanche"
+msgstr "Ins??rer une page blanche"
 
 #: pdfarranger/exporter.py:106
 msgid "Warning"
@@ -218,11 +217,11 @@
 
 #: pdfarranger/pdfarranger.py:626
 msgid "Save changes to ???{}??? before closing?"
-msgstr "Enregistrer les modifications du document ??{}?? avant la fermeture ?"
+msgstr "Enregistrer les modifications du document ????{}???? avant la 
fermeture???"
 
 #: pdfarranger/pdfarranger.py:628
 msgid "Save changes before closing?"
-msgstr "Enregistrer les modifications avant la fermeture ?"
+msgstr "Enregistrer les modifications avant la fermeture???"
 
 #: pdfarranger/pdfarranger.py:630
 msgid "Your changes will be lost if you don???t save them."
@@ -230,11 +229,11 @@
 
 #: pdfarranger/pdfarranger.py:631
 msgid "Do_n???t Save"
-msgstr "_Ne pas enregistrer"
+msgstr "Ne _pas enregistrer"
 
 #: pdfarranger/pdfarranger.py:631
 msgid "_Cancel"
-msgstr "_Annuler"
+msgstr "A_nnuler"
 
 #: pdfarranger/pdfarranger.py:631 data/menu.ui.h:3
 msgid "_Save"
@@ -250,7 +249,7 @@
 
 #: pdfarranger/pdfarranger.py:886
 msgid "Pasted data not valid. Aborting paste."
-msgstr "Donn??es coll??es invalides. Annulation du collage."
+msgstr "Donn??es coll??es non valides. Annulation du collage."
 
 #: pdfarranger/pdfarranger.py:994
 msgid "PDF document is damaged"
@@ -275,11 +274,11 @@
 
 #: pdfarranger/pdfarranger.py:1823
 msgid "Selected pages: "
-msgstr "Pages selectionn??es: "
+msgstr "Pages s??lectionn??es??: "
 
 #: pdfarranger/splitter.py:26
 msgid "Split Pages"
-msgstr ""
+msgstr "S??parer les pages"
 
 #: pdfarranger/splitter.py:58
 msgid "Columns"
@@ -295,7 +294,7 @@
 
 #: pdfarranger/splitter.py:59
 msgid "Horizontal Splits"
-msgstr "Numbre de lignes"
+msgstr "Nombre de lignes"
 
 #: pdfarranger/splitter.py:60
 msgid "Equal column width"
@@ -375,11 +374,11 @@
 
 #: data/menu.ui.h:6
 msgid "E_xport Selection to a Single File???"
-msgstr "E_xporter la selection vers un seul fichier???"
+msgstr "E_xporter la s??lection vers un seul fichier???"
 
 #: data/menu.ui.h:7
 msgid "Export Selection to _Individual Files???"
-msgstr "Exporter chaque page select_ionn??e vers un fichier???"
+msgstr "Exporter chaque page s??lect_ionn??e vers un fichier???"
 
 #: data/menu.ui.h:8
 msgid "Export _All Pages to Individual Files???"
@@ -455,19 +454,19 @@
 
 #: data/menu.ui.h:26
 msgid "Insert Blan_k Page"
-msgstr "Inserer une page _blanche"
+msgstr "Ins??rer une page _blanche"
 
 #: data/menu.ui.h:27
 msgid "_Select"
-msgstr "_Selectionner"
+msgstr "_S??lectionner"
 
 #: data/menu.ui.h:28
 msgid "Select _All"
-msgstr "Selectionner _tout"
+msgstr "_Tout s??lectionner"
 
 #: data/menu.ui.h:29
 msgid "_Deselect All"
-msgstr "_D??selectionner tout"
+msgstr "Tout _d??s??lectionner"
 
 #: data/menu.ui.h:30
 msgid "Select _Odd Pages"
@@ -487,7 +486,7 @@
 
 #: data/menu.ui.h:34
 msgid "_Invert Selection"
-msgstr "_Inverser la selection"
+msgstr "_Inverser la s??lection"
 
 #: data/menu.ui.h:35
 msgid "Zoom _In"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/setup.py 
new/pdfarranger-1.7.1/setup.py
--- old/pdfarranger-1.7.0/setup.py      2021-01-24 11:46:12.000000000 +0100
+++ new/pdfarranger-1.7.1/setup.py      2021-03-13 18:37:08.000000000 +0100
@@ -33,7 +33,7 @@
 
 setup(
     name='pdfarranger',
-    version='1.7.0',
+    version='1.7.1',
     author='Jerome Robert',
     author_email='[email protected]',
     description='A simple application for PDF Merging, Rearranging, and 
Splitting',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pdfarranger-1.7.0/setup_win32.py 
new/pdfarranger-1.7.1/setup_win32.py
--- old/pdfarranger-1.7.0/setup_win32.py        2021-01-24 11:46:12.000000000 
+0100
+++ new/pdfarranger-1.7.1/setup_win32.py        2021-03-13 18:37:08.000000000 
+0100
@@ -1,4 +1,4 @@
-VERSION='1.7.0'
+VERSION='1.7.1'
 
 from cx_Freeze import setup, Executable
 import os

Reply via email to