Hello community,

here is the log from the commit of package cozy for openSUSE:Factory checked in 
at 2020-03-01 21:28:34
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/cozy (Old)
 and      /work/SRC/openSUSE:Factory/.cozy.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "cozy"

Sun Mar  1 21:28:34 2020 rev:11 rq:780753 version:0.6.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/cozy/cozy.changes        2020-02-28 
15:20:47.945826892 +0100
+++ /work/SRC/openSUSE:Factory/.cozy.new.26092/cozy.changes     2020-03-01 
21:29:06.516689888 +0100
@@ -1,0 +2,13 @@
+Sun Mar  1 16:39:55 UTC 2020 - [email protected]
+
+- Update to 0.6.14
+  * A warning is displayed in the titlebar if network/external drives are not 
connected
+  * MPRIS desktop integration is more stable
+  * Fix: Last book was loaded on startup even when the storage medium was 
offline
+  * Fix: Bugs in audiobook location settings window
+  * Fix: Bug which sometimes could prevent playback of an audiobook
+  * Fix: Crash which could occur on startup
+  * Fix: Jumping in titlebar while dragging the position slider with long 
audio files
+  * Updated translations
+
+-------------------------------------------------------------------

Old:
----
  cozy-0.6.13.tar.gz

New:
----
  cozy-0.6.14.tar.gz

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

Other differences:
------------------
++++++ cozy.spec ++++++
--- /var/tmp/diff_new_pack.1s5s6x/_old  2020-03-01 21:29:07.696692285 +0100
+++ /var/tmp/diff_new_pack.1s5s6x/_new  2020-03-01 21:29:07.696692285 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           cozy
-Version:        0.6.13
+Version:        0.6.14
 Release:        0
 Summary:        Audio Book Player
 License:        GPL-3.0-only

++++++ cozy-0.6.13.tar.gz -> cozy-0.6.14.tar.gz ++++++
++++ 1872 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/README.md new/cozy-0.6.14/README.md
--- old/cozy-0.6.13/README.md   2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/README.md   2020-03-01 17:33:29.000000000 +0100
@@ -41,6 +41,8 @@
 - `peewee >= 3.5` as object relation mapper
 - `python3-mutagen` for meta tag management
 - `python3-distro`
+- `python3-requests`
+- `python3-pytz`
 - `python3-gi-cairo`
 - `python3-gst-1.0`
 - `file`
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/control/artwork_cache.py 
new/cozy-0.6.14/cozy/control/artwork_cache.py
--- old/cozy-0.6.13/cozy/control/artwork_cache.py       2020-02-27 
17:20:04.000000000 +0100
+++ new/cozy-0.6.14/cozy/control/artwork_cache.py       2020-03-01 
17:33:29.000000000 +0100
@@ -106,7 +106,11 @@
 
     query = ArtworkCache.select().where(ArtworkCache.book == book.id)
     if query.exists():
-        uuid = query.first().uuid
+        try:
+            uuid = query.first().uuid
+        except Exception as e:
+            reporter.error("artwork_cache", "load_pixbuf_from_cache: query 
exists but query.first().uuid crashed.")
+            return None
     else:
         return None
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/control/mpris.py new/cozy-0.6.14/cozy/control/mpris.py
--- old/cozy-0.6.13/cozy/control/mpris.py       2020-02-27 17:20:04.000000000 
+0100
+++ new/cozy-0.6.14/cozy/control/mpris.py       2020-03-01 17:33:29.000000000 
+0100
@@ -40,9 +40,12 @@
                 method_inargs[method.name] = tuple(
                     arg.signature for arg in method.in_args)
 
-            con.register_object(object_path=path,
-                                interface_info=interface,
-                                method_call_closure=self.on_method_call)
+            try:
+                con.register_object(object_path=path,
+                                    interface_info=interface,
+                                    method_call_closure=self.on_method_call)
+            except:
+                log.error("MPRIS is already connected from another cozy 
process.")
 
         self.method_inargs = method_inargs
         self.method_outargs = method_outargs
@@ -58,7 +61,7 @@
 
         args = list(parameters.unpack())
         for i, sig in enumerate(self.method_inargs[method_name]):
-            if sig is "h":
+            if sig == "h":
                 msg = invocation.get_message()
                 fd_list = msg.get_unix_fd_list()
                 args[i] = fd_list.get(args[i])
@@ -77,8 +80,9 @@
                 invocation.return_value(variant)
             else:
                 invocation.return_value(None)
-        except:
-            reporter.error("mpris", "MPRIS method call failed")
+        except Exception as e:
+            log.error(e)
+            reporter.exception("mpris", e)
             pass
 
 
@@ -195,25 +199,31 @@
         self.__app.quit()
 
     def Next(self):
-        next_track()
+        if get_current_track():
+            next_track()
 
     def Previous(self):
-        prev_track()
+        if get_current_track():
+            prev_track()
 
     def Pause(self):
-        play_pause(None)
+        if get_current_track():
+            play_pause(None)
 
     def PlayPause(self):
-        play_pause(None)
+        if get_current_track():
+            play_pause(None)
 
     def Stop(self):
         stop()
 
     def Play(self):
-        play_pause(None)
+        if get_current_track():
+            play_pause(None)
 
     def SetPosition(self, track_id, position):
-        jump_to_ns(position)
+        print(position)
+        jump_to_ns(position * 1e3)
 
     def Seek(self, offset):
         pass
@@ -250,7 +260,7 @@
         elif property_name == "Position":
             return GLib.Variant(
                 "x",
-                get_current_duration())
+                round(get_current_duration() * 1e-3))
         elif property_name in ["CanGoNext", "CanGoPrevious",
                                "CanPlay", "CanPause"]:
             return GLib.Variant("b", get_current_track() is not None)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/control/player.py new/cozy-0.6.14/cozy/control/player.py
--- old/cozy-0.6.13/cozy/control/player.py      2020-02-27 17:20:04.000000000 
+0100
+++ new/cozy-0.6.14/cozy/control/player.py      2020-03-01 17:33:29.000000000 
+0100
@@ -377,7 +377,11 @@
         if get_playbin().query(query):
             fmt, seek_enabled, start, end = query.parse_seeking()
             if seek_enabled:
-                jump_to_ns(get_current_track().position)
+                track = get_current_track()
+                if not track:
+                    return
+
+                jump_to_ns(track.position)
                 __wait_to_seek = False
                 __set_speed = False
             if __set_speed:
@@ -498,7 +502,7 @@
                 else:
                     path = OfflineCache().get_cached_path(last_track)
                     if not path:
-                        path = last_track.file
+                        return
                 __player.set_property("uri", "file://" + path)
                 __player.set_state(Gst.State.PAUSED)
                 __current_track = last_track
@@ -544,9 +548,10 @@
 
     if track is None:
         track = get_current_track()
-    
-    Track.update(position=pos).where(
-        Track.id == track.id).execute()
+
+    if track:
+        Track.update(position=pos).where(
+            Track.id == track.id).execute()
 
 
 def emit_event(event, message=None):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/control/string_representation.py 
new/cozy-0.6.14/cozy/control/string_representation.py
--- old/cozy-0.6.13/cozy/control/string_representation.py       1970-01-01 
01:00:00.000000000 +0100
+++ new/cozy-0.6.14/cozy/control/string_representation.py       2020-03-01 
17:33:29.000000000 +0100
@@ -0,0 +1,29 @@
+def seconds_to_str(seconds, max_length=None, include_seconds=True):
+    """
+    Converts seconds to a string with the following apperance:
+    hh:mm:ss
+
+    :param seconds: The seconds as float
+    """
+    m, s = divmod(seconds, 60)
+    h, m = divmod(m, 60)
+
+    if max_length:
+        max_m, max_s = divmod(max_length, 60)
+        max_h, max_m = divmod(max_m, 60)
+    else:
+        max_h = h
+        max_m = m
+        max_s = s
+
+    if (max_h >= 10):
+        result = "%02d:%02d" % (h, m)
+    elif (max_h >= 1):
+        result = "%d:%02d" % (h, m)
+    else:
+        result = "%02d" % (m)
+
+    if include_seconds:
+        result += ":%02d" % (s)
+
+    return result
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/magic/magic.py new/cozy-0.6.14/cozy/magic/magic.py
--- old/cozy-0.6.13/cozy/magic/magic.py 2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/cozy/magic/magic.py 2020-03-01 17:33:29.000000000 +0100
@@ -195,7 +195,7 @@
         return result
 
 def errorcheck_negative_one(result, func, args):
-    if result is -1:
+    if result == -1:
         err = magic_error(args[0])
         raise MagicException(err)
     else:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/report/report_to_loki.py 
new/cozy-0.6.14/cozy/report/report_to_loki.py
--- old/cozy-0.6.13/cozy/report/report_to_loki.py       2020-02-27 
17:20:04.000000000 +0100
+++ new/cozy-0.6.14/cozy/report/report_to_loki.py       2020-03-01 
17:33:29.000000000 +0100
@@ -1,3 +1,5 @@
+import os
+
 import requests
 import datetime
 import pytz
@@ -46,6 +48,7 @@
     labels = __append_label(labels, "peewee_version", PeeweeVersion)
     labels = __append_label(labels, "mutagen_version", MutagenVersion)
     labels = __append_label(labels, "gtk_version", 
"{}.{}".format(Gtk.get_major_version(), Gtk.get_minor_version()))
+    labels = __append_label(labels, "desktop_environment", 
os.environ.get('DESKTOP_SESSION'))
 
     labels = __append_label(labels, "version", CozyVersion)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/tools.py new/cozy-0.6.14/cozy/tools.py
--- old/cozy-0.6.13/cozy/tools.py       2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/cozy/tools.py       2020-03-01 17:33:29.000000000 +0100
@@ -9,10 +9,12 @@
 from gi.repository import Gio
 import cozy.magic.magic as magic
 
+
 class Platform(Enum):
     Linux = 0
     Mac = 1
 
+
 def system_platform():
     os = get_system().upper()
     if "LINUX" in os:
@@ -30,23 +32,27 @@
     """
     return (string[:length] + '…') if len(string) > length else string
 
+
 def is_elementary():
-        """
-        Currently we are only checking for elementaryOS
-        """
-        dist = distro.linux_distribution(full_distribution_name=False)
-        log.debug(dist)
-        if '"elementary"' in dist or 'elementary' in dist:
-            return True
-        else:
-            return False
+    """
+    Currently we are only checking for elementaryOS
+    """
+    dist = distro.linux_distribution(full_distribution_name=False)
+    log.debug(dist)
+    if '"elementary"' in dist or 'elementary' in dist:
+        return True
+    else:
+        return False
 
 
 settings = Gio.Settings.new("com.github.geigi.cozy")
+
+
 def get_glib_settings():
     global settings
     return settings
 
+
 # 
https://stackoverflow.com/questions/323972/is-there-any-way-to-kill-a-thread-in-python
 class StoppableThread(threading.Thread):
     """Thread class with a stop() method. The thread itself has to check
@@ -62,6 +68,7 @@
     def stopped(self):
         return self._stop_event.is_set()
 
+
 # From 
https://stackoverflow.com/questions/11488877/periodically-execute-function-in-thread-in-real-time-every-n-seconds
 class IntervalTimer(StoppableThread):
 
@@ -76,41 +83,6 @@
             time.sleep(self._interval)
 
 
-def seconds_to_str(seconds, include_seconds=True, display_zero_h=False):
-    """
-    Converts seconds to a string with the following apperance:
-    hh:mm:ss
-
-    :param seconds: The seconds as float
-    """
-    m, s = divmod(seconds, 60)
-    h, m = divmod(m, 60)
-
-    if include_seconds:
-        if (h > 0):
-            result = "%d:%02d:%02d" % (h, m, s)
-        elif (m > 0):
-            result = "%02d:%02d" % (m, s)
-            if display_zero_h:
-                result = "0:" + result
-        else:
-            result = "00:%02d" % (s)
-            if display_zero_h:
-                result = "0:" + result
-    else:
-        if (h > 0):
-            result = "%d:%02d" % (h, m)
-        elif (m > 0):
-            result = "00:%02d" % (m)
-            if display_zero_h:
-                result = "0:" + result
-        else:
-            result = "00:00"
-            if display_zero_h:
-                result = "0:" + result
-
-    return result
-
 def remove_all_children(container):
     """
     Removes all widgets from a gtk container.
@@ -119,9 +91,10 @@
     childs = container.get_children()
     for element in childs:
         container.remove(element)
-        #element.destroy()
+        # element.destroy()
     container.set_visible(True)
 
+
 def seconds_to_human_readable(seconds):
     """
     Create a string with the following format:
@@ -143,7 +116,7 @@
             result += _("hours")
         else:
             result += _("hour")
-    
+
         if m > 0:
             result += " "
 
@@ -153,7 +126,7 @@
             result += _("minutes")
         else:
             result += _("minute")
-    
+
     if h < 1 and m < 1:
         if s < 1:
             result += _("finished")
@@ -166,6 +139,7 @@
 
     return result
 
+
 def past_date_to_human_readable(unix_time):
     """
     Converts the date to the following strings (from today):
@@ -199,6 +173,7 @@
     else:
         return ngettext('{years} year ago', '{years} years ago', 
years).format(years=years)
 
+
 def __get_media_type(path):
     """
     Get the mime type of a file.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/ui/book_element.py new/cozy-0.6.14/cozy/ui/book_element.py
--- old/cozy-0.6.13/cozy/ui/book_element.py     2020-02-27 17:20:04.000000000 
+0100
+++ new/cozy-0.6.14/cozy/ui/book_element.py     2020-03-01 17:33:29.000000000 
+0100
@@ -7,6 +7,7 @@
 import cozy.ui
 from cozy.control.db import get_track_for_playback, is_external, 
blacklist_book, get_tracks
 from cozy.control.filesystem_monitor import FilesystemMonitor
+from cozy.control.string_representation import seconds_to_str
 from cozy.model.book import Book
 from cozy.model.track import Track
 from cozy.report import reporter
@@ -366,11 +367,18 @@
             if message in get_tracks(self.book).first().file:
                 super().set_sensitive(True)
                 self.box.set_tooltip_text(self.ONLINE_TOOLTIP_TEXT)
-        elif (event == "storage-offline" and super().get_sensitive()) or event 
== "external-storage-added":
+        elif (event == "storage-offline" and super().get_sensitive()):
             self.refresh_book_object()
             if message in get_tracks(self.book).first().file and not 
self.book.offline:
                 super().set_sensitive(False)
                 self.box.set_tooltip_text(self.OFFLINE_TOOLTIP_TEXT)
+        elif event == "external-storage-added":
+            self.refresh_book_object()
+            if FilesystemMonitor().is_book_online(self.book):
+                super().set_sensitive(True)
+            else:
+                super().set_sensitive(False)
+                self.box.set_tooltip_text(self.OFFLINE_TOOLTIP_TEXT)
         if event == "external-storage-removed":
             first_track = get_tracks(self.book).first()
             if first_track and message in first_track.file:
@@ -431,7 +439,7 @@
         title_label.props.xalign = 0.0
         title_label.set_ellipsize(Pango.EllipsizeMode.MIDDLE)
 
-        dur_label.set_text(tools.seconds_to_str(self.track.length))
+        dur_label.set_text(seconds_to_str(self.track.length))
         dur_label.set_halign(Gtk.Align.END)
         dur_label.props.margin = 4
         dur_label.set_margin_left(60)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/ui/settings.py new/cozy-0.6.14/cozy/ui/settings.py
--- old/cozy-0.6.13/cozy/ui/settings.py 2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/cozy/ui/settings.py 2020-03-01 17:33:29.000000000 +0100
@@ -41,7 +41,7 @@
         self.remove_storage_button = 
self.builder.get_object("remove_location_button")
         self.remove_storage_button.connect("clicked", 
self.__on_remove_storage_clicked)        
         self.external_button = self.builder.get_object("external_button")
-        self.external_button.connect("clicked", self.__on_external_clicked)
+        self.external_button_handle_id = 
self.external_button.connect("clicked", self.__on_external_clicked)
         self.default_storage_button = 
self.builder.get_object("default_location_button")
         self.default_storage_button.connect("clicked", 
self.__on_default_storage_clicked)
         self.storage_list_box = self.builder.get_object("storage_list_box")
@@ -213,8 +213,9 @@
                 default_sensitive = False
             else:
                 default_sensitive = True
-            
+            self.external_button.handler_block(self.external_button_handle_id)
             self.external_button.set_active(row.external)
+            
self.external_button.handler_unblock(self.external_button_handle_id)
 
         self.remove_storage_button.set_sensitive(default_sensitive)
         self.external_button.set_sensitive(sensitive)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/ui/titlebar.py new/cozy-0.6.14/cozy/ui/titlebar.py
--- old/cozy-0.6.13/cozy/ui/titlebar.py 2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/cozy/ui/titlebar.py 2020-03-01 17:33:29.000000000 +0100
@@ -3,17 +3,23 @@
 import cozy.tools as tools
 import cozy.ui
 from cozy.control.db import get_book_remaining, get_book_progress, 
get_track_from_book_time, get_book_duration
+from cozy.control.string_representation import seconds_to_str
 from cozy.model.settings import Settings
 from cozy.tools import IntervalTimer
 
 import gi
+
+from cozy.ui.warnings import Warnings
+
 gi.require_version('Gtk', '3.0')
 gi.require_version('Gst', '1.0')
 from gi.repository import Gtk, Gdk, GLib
 
 import logging
+
 log = logging.getLogger("titlebar")
 
+
 class Titlebar:
     """
     This class contains all titlebar logic.
@@ -46,6 +52,7 @@
         self.playback_speed_button = self.ui.get_object(
             "playback_speed_button")
         self.search_button = self.ui.get_object("search_button")
+        self.warnings_button = self.ui.get_object("warnings_button")
         self.menu_button = self.ui.get_object("menu_button")
         self.remaining_event_box = self.ui.get_object("remaining_event_box")
 
@@ -119,6 +126,8 @@
         self.timer_button.set_popover(self.ui.sleep_timer.get_popover())
         self.playback_speed_button.set_popover(self.ui.speed.get_popover())
         self.search_button.set_popover(self.ui.search.get_popover())
+        self.warnings = Warnings(self.warnings_button)
+        self.warnings_button.set_popover(self.warnings.get_popover())
 
     def block_ui_buttons(self, block, scan=False):
         """
@@ -192,27 +201,25 @@
         """
         Displays the value of the progress slider in the text boxes as time.
         """
+        track = player.get_current_track()
+
+        if not track:
+            log.debug("update_ui_time: track was None.")
+            return
+
         val = int(self.progress_scale.get_value())
         if tools.get_glib_settings().get_boolean("titlebar-remaining-time"):
-            label_text = tools.seconds_to_str(val, display_zero_h=True)
+            total = self.progress_scale.get_adjustment().get_upper()
+            remaining_secs: int = int((total - val))
+            current_text = seconds_to_str(val, total)
+            remaining_text = seconds_to_str(remaining_secs, total)
         else:
-            label_text = tools.seconds_to_str(val)
+            remaining_secs = int((track.length / self.ui.speed.get_speed()) - 
val)
+            remaining_text = seconds_to_str(remaining_secs, track.length)
+            current_text = seconds_to_str(val, track.length)
 
-        self.current_label.set_markup(
-            "<tt><b>" + label_text + "</b></tt>")
-        track = player.get_current_track()
-
-        if track:
-            if 
tools.get_glib_settings().get_boolean("titlebar-remaining-time"):
-                total = self.progress_scale.get_adjustment().get_upper()
-                remaining_secs: int = int((total - val))
-                self.remaining_label.set_markup(
-                    "<tt><b>-" + tools.seconds_to_str(remaining_secs, 
display_zero_h=True) + "</b></tt>")
-            else:
-                remaining_secs: int = int(
-                    (track.length / self.ui.speed.get_speed()) - val)
-                self.remaining_label.set_markup(
-                    "<tt><b>-" + tools.seconds_to_str(remaining_secs, 
display_zero_h=False) + "</b></tt>")
+        self.current_label.set_markup("<tt><b>" + current_text + "</b></tt>")
+        self.remaining_label.set_markup("<tt><b>-" + remaining_text + 
"</b></tt>")
 
         if self.ui.book_overview.book and self.current_book.id == 
self.ui.book_overview.book.id:
             self.ui.book_overview.update_time()
@@ -298,7 +305,7 @@
         """
         Switch between displaying the time for a track or the whole book.
         """
-        if widget.get_name is not "titlebar_remaining_time_eventbox":
+        if widget.get_name != "titlebar_remaining_time_eventbox":
             if 
tools.get_glib_settings().get_boolean("titlebar-remaining-time"):
                 
tools.get_glib_settings().set_boolean("titlebar-remaining-time", False)
             else:
@@ -454,6 +461,8 @@
         """
         Handler for events that occur the playback speed object.
         """
+        self.__ensure_book_object_is_up_to_date()
+
         if event == "playback-speed-changed":
             speed = message
             m, s = player.get_current_duration_ui()
@@ -462,6 +471,14 @@
             self.__set_progress_scale_value(value)
             self.update_ui_time(None)
 
+    def __ensure_book_object_is_up_to_date(self):
+        # Racecondition: Sometimes the "track-changed" event is fired in 
playback_speed first before titlebar. Then it might happen, that the 
current_book is None or not uptodate.
+        # Only way to fix this is having a global truth that is accessed from 
everywhere.
+        # TODO
+        if player.get_current_track() and (
+                not self.current_book or player.get_current_track() and 
self.current_book.id != player.get_current_track().book.id):
+            self.update_track_ui()
+
     def __player_changed(self, event, message):
         """
         Listen to and handle all gst player messages that are important for 
the ui.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/cozy/ui/warnings.py new/cozy-0.6.14/cozy/ui/warnings.py
--- old/cozy-0.6.13/cozy/ui/warnings.py 1970-01-01 01:00:00.000000000 +0100
+++ new/cozy-0.6.14/cozy/ui/warnings.py 2020-03-01 17:33:29.000000000 +0100
@@ -0,0 +1,51 @@
+from gettext import gettext
+
+import gi
+
+from cozy.control.filesystem_monitor import FilesystemMonitor
+
+gi.require_version('Gtk', '3.0')
+from gi.repository import Gtk
+
+
+class Warnings():
+    def __init__(self, button: Gtk.MenuButton):
+        self.button = button
+
+        self.builder = Gtk.Builder.new_from_resource(
+            "/de/geigi/cozy/warning_popover.ui")
+
+        self.popover = self.builder.get_object("warning_popover")
+        self.warning_container: Gtk.Box = 
self.builder.get_object("warning_container")
+
+        FilesystemMonitor().add_listener(self.__on_storage_changed)
+
+        for storage in FilesystemMonitor().get_offline_storages():
+            self.append_text(gettext('{storage} is 
offline.').format(storage=storage))
+
+        self.__hide_show_button()
+
+    def get_popover(self):
+        return self.popover
+
+    def append_text(self, text):
+        label = Gtk.Label()
+        self.warning_container.add(label)
+        label.set_visible(True)
+        label.set_text(text)
+
+    def __on_storage_changed(self, event, message):
+        if event == "storage-offline":
+            self.append_text(gettext('{storage} is 
offline.').format(storage=message))
+        if event == "storage-online":
+            for label in self.warning_container.get_children():
+                if message in label.get_text():
+                    self.warning_container.remove(label)
+
+        self.__hide_show_button()
+
+    def __hide_show_button(self):
+        if len(self.warning_container.get_children()) > 0:
+            self.button.set_visible(True)
+        else:
+            self.button.set_visible(False)
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/data/com.github.geigi.cozy.appdata.xml.in 
new/cozy-0.6.14/data/com.github.geigi.cozy.appdata.xml.in
--- old/cozy-0.6.13/data/com.github.geigi.cozy.appdata.xml.in   2020-02-27 
17:20:04.000000000 +0100
+++ new/cozy-0.6.14/data/com.github.geigi.cozy.appdata.xml.in   2020-03-01 
17:33:29.000000000 +0100
@@ -49,6 +49,20 @@
   <url type="donation">https://www.patreon.com/geigi</url>
   <update_contact>[email protected]</update_contact>
   <releases>
+    <release version="0.6.14" timestamp="1583080049">
+      <description>
+        <ul>
+          <li>A warning is displayed in the titlebar if network/external 
drives are not connected</li>
+          <li>MPRIS desktop integration is more stable</li>
+          <li>Fix: Last book was loaded on startup even when the storage 
medium was offline</li>
+          <li>Fix: Bugs in audiobook location settings window</li>
+          <li>Fix: Bug which sometimes could prevent playback of an 
audiobook</li>
+          <li>Fix: Crash which could occur on startup</li>
+          <li>Fix: Jumping in titlebar while dragging the position slider with 
long audio files</li>
+          <li>Updated translations</li>
+        </ul>
+      </description>
+    </release>
     <release version="0.6.13" timestamp="1582820006">
       <description>
         <ul>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/data/ui/gresource.xml new/cozy-0.6.14/data/ui/gresource.xml
--- old/cozy-0.6.13/data/ui/gresource.xml       2020-02-27 17:20:04.000000000 
+0100
+++ new/cozy-0.6.14/data/ui/gresource.xml       2020-03-01 17:33:29.000000000 
+0100
@@ -13,5 +13,6 @@
     <file preprocess="xml-stripblanks">import_failed.ui</file>
     <file preprocess="xml-stripblanks">playback_speed_popover.ui</file>
     <file preprocess="xml-stripblanks">titlebar_menu.ui</file>
+    <file preprocess="xml-stripblanks">warning_popover.ui</file>
   </gresource>
 </gresources>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/data/ui/main_window.ui new/cozy-0.6.14/data/ui/main_window.ui
--- old/cozy-0.6.13/data/ui/main_window.ui      2020-02-27 17:20:04.000000000 
+0100
+++ new/cozy-0.6.14/data/ui/main_window.ui      2020-03-01 17:33:29.000000000 
+0100
@@ -163,6 +163,31 @@
               </packing>
             </child>
             <child>
+              <object class="GtkMenuButton" id="warnings_button">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="receives_default">True</property>
+                <property name="tooltip_text" 
translatable="yes">Warnings</property>
+                <property name="halign">center</property>
+                <property name="valign">center</property>
+                <property name="margin_left">5</property>
+                <property name="margin_right">5</property>
+                <child>
+                  <object class="GtkImage">
+                    <property name="visible">True</property>
+                    <property name="can_focus">False</property>
+                    <property name="stock">gtk-dialog-warning</property>
+                    <property name="icon_size">3</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">True</property>
+                <property name="position">1</property>
+              </packing>
+            </child>
+            <child>
               <object class="GtkBox" id="cover_img_box">
                 <property name="width_request">40</property>
                 <property name="height_request">40</property>
@@ -189,7 +214,7 @@
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">True</property>
-                <property name="position">1</property>
+                <property name="position">2</property>
               </packing>
             </child>
             <child>
@@ -259,7 +284,7 @@
               <packing>
                 <property name="expand">False</property>
                 <property name="fill">True</property>
-                <property name="position">2</property>
+                <property name="position">3</property>
               </packing>
             </child>
           </object>
@@ -1608,7 +1633,7 @@
               </object>
               <packing>
                 <property name="name">book_overview</property>
-                <property name="title" translatable="no">page0</property>
+                <property name="title">page0</property>
                 <property name="position">3</property>
               </packing>
             </child>
@@ -1641,7 +1666,7 @@
               </object>
               <packing>
                 <property name="name">nothing_here</property>
-                <property name="title" translatable="no">page0</property>
+                <property name="title">page0</property>
                 <property name="position">4</property>
               </packing>
             </child>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/data/ui/warning_popover.ui 
new/cozy-0.6.14/data/ui/warning_popover.ui
--- old/cozy-0.6.13/data/ui/warning_popover.ui  1970-01-01 01:00:00.000000000 
+0100
+++ new/cozy-0.6.14/data/ui/warning_popover.ui  2020-03-01 17:33:29.000000000 
+0100
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Generated with glade 3.22.1 -->
+<interface>
+  <requires lib="gtk+" version="3.20"/>
+  <object class="GtkPopover" id="warning_popover">
+    <property name="can_focus">False</property>
+    <child>
+      <object class="GtkBox" id="warning_container">
+        <property name="visible">True</property>
+        <property name="can_focus">False</property>
+        <property name="margin_left">10</property>
+        <property name="margin_right">10</property>
+        <property name="margin_top">10</property>
+        <property name="margin_bottom">10</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">5</property>
+        <child>
+          <placeholder/>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/meson.build new/cozy-0.6.14/meson.build
--- old/cozy-0.6.13/meson.build 2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/meson.build 2020-03-01 17:33:29.000000000 +0100
@@ -1,4 +1,4 @@
-project('com.github.geigi.cozy', version: '0.6.13')
+project('com.github.geigi.cozy', version: '0.6.14')
 
 python = import('python3')
 i18n = import('i18n')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/po/POTFILES new/cozy-0.6.14/po/POTFILES
--- old/cozy-0.6.13/po/POTFILES 2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/po/POTFILES 2020-03-01 17:33:29.000000000 +0100
@@ -13,6 +13,7 @@
 cozy/control/sleep_timer.py
 cozy/ui/settings.py
 cozy/ui/disk_element.py
+cozy/ui/warnings.py
 data/ui/main_window.ui
 data/ui/about.ui
 data/ui/file_not_found.ui
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/po/de.po new/cozy-0.6.14/po/de.po
--- old/cozy-0.6.13/po/de.po    2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/po/de.po    2020-03-01 17:33:29.000000000 +0100
@@ -2,7 +2,7 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the com.github.geigi.cozy 
package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+# 
 # Translators:
 # Julian Geywitz <[email protected]>, 2020
 # 
@@ -11,41 +11,41 @@
 msgstr ""
 "Project-Id-Version: com.github.geigi.cozy\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-02-27 17:01+0100\n"
+"POT-Creation-Date: 2020-03-01 14:44+0100\n"
 "PO-Revision-Date: 2019-09-08 09:31+0000\n"
 "Last-Translator: Julian Geywitz <[email protected]>, 2020\n"
 "Language-Team: German (https://www.transifex.com/geigi/teams/78138/de/)\n"
-"Language: de\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Language: de\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
-#: cozy/ui/book_element.py:70 cozy/ui/search_results.py:123
+#: cozy/ui/book_element.py:71 cozy/ui/search_results.py:123
 msgid "Play this book"
 msgstr "Höre dieses Buch"
 
-#: cozy/ui/book_element.py:215
+#: cozy/ui/book_element.py:216
 msgid "Open book overview"
 msgstr "Öffne die Buchübersicht"
 
-#: cozy/ui/book_element.py:216
+#: cozy/ui/book_element.py:217
 msgid "Currently offline"
 msgstr "Aktuell offline"
 
-#: cozy/ui/book_element.py:322
+#: cozy/ui/book_element.py:323
 msgid "Mark as read"
 msgstr "Markiere: Abgeschlossen"
 
-#: cozy/ui/book_element.py:325
+#: cozy/ui/book_element.py:326
 msgid "Open in file browser"
 msgstr "Öffne in Dateibrowser"
 
-#: cozy/ui/book_element.py:328
+#: cozy/ui/book_element.py:329
 msgid "Remove from library"
 msgstr "Aus Bibliothek entfernen"
 
-#: cozy/ui/book_element.py:398
+#: cozy/ui/book_element.py:399
 msgid "Play this part"
 msgstr "Höre dieses Kapitel"
 
@@ -53,7 +53,7 @@
 msgid "Downloaded"
 msgstr "Heruntergeladen"
 
-#: cozy/ui/book_overview.py:233 data/ui/main_window.ui:1328
+#: cozy/ui/book_overview.py:233 data/ui/main_window.ui:1353
 msgid "Download"
 msgstr "Herunterladen"
 
@@ -81,66 +81,66 @@
 msgid "Unknown Reader"
 msgstr "Unbekannter Leser"
 
-#: cozy/tools.py:143
+#: cozy/tools.py:116
 msgid "hours"
 msgstr "Stunden"
 
-#: cozy/tools.py:145
+#: cozy/tools.py:118
 msgid "hour"
 msgstr "Stunde"
 
-#: cozy/tools.py:153
+#: cozy/tools.py:126
 msgid "minutes"
 msgstr "Minuten"
 
-#: cozy/tools.py:155
+#: cozy/tools.py:128
 msgid "minute"
 msgstr "Minute"
 
-#: cozy/tools.py:159
+#: cozy/tools.py:132
 msgid "finished"
 msgstr "fertig"
 
-#: cozy/tools.py:163
+#: cozy/tools.py:136
 msgid "seconds"
 msgstr "Sekunden"
 
-#: cozy/tools.py:165
+#: cozy/tools.py:138
 msgid "second"
 msgstr "Sekunde"
 
-#: cozy/tools.py:188
+#: cozy/tools.py:162
 msgid "never"
 msgstr "nie"
 
-#: cozy/tools.py:190
+#: cozy/tools.py:164
 msgid "today"
 msgstr "heute"
 
-#: cozy/tools.py:192
+#: cozy/tools.py:166
 msgid "yesterday"
 msgstr "gestern"
 
-#: cozy/tools.py:194
+#: cozy/tools.py:168
 #, python-format
 msgid "%s days ago"
 msgstr "vor %s Tagen"
 
-#: cozy/tools.py:196
+#: cozy/tools.py:170
 #, python-brace-format
 msgid "{weeks} week ago"
 msgid_plural "{weeks} weeks ago"
 msgstr[0] "vor {weeks} Woche"
 msgstr[1] "vor {weeks} Wochen"
 
-#: cozy/tools.py:198
+#: cozy/tools.py:172
 #, python-brace-format
 msgid "{months} month ago"
 msgid_plural "{months} months ago"
 msgstr[0] "vor {months} Monat"
 msgstr[1] "vor {months} Monaten"
 
-#: cozy/tools.py:200
+#: cozy/tools.py:174
 #, python-brace-format
 msgid "{years} year ago"
 msgid_plural "{years} years ago"
@@ -188,6 +188,11 @@
 msgid "Disc"
 msgstr "Disc"
 
+#: cozy/ui/warnings.py:24 cozy/ui/warnings.py:39
+#, python-brace-format
+msgid "{storage} is offline."
+msgstr "{storage} ist offline."
+
 #: data/ui/main_window.ui:71
 msgid "Rewind 30 seconds"
 msgstr "Springe 30 Sekunden zurück"
@@ -216,193 +221,198 @@
 msgid "Volume control"
 msgstr "Lautstärke"
 
-#: data/ui/main_window.ui:200
+#: data/ui/main_window.ui:170
+msgid "Warnings"
+msgstr "Warnungen"
+
+#: data/ui/main_window.ui:225
 msgid "Currently playing"
 msgstr "Wird gerade wiedergegeben"
 
-#: data/ui/main_window.ui:218
+#: data/ui/main_window.ui:243
 msgid "Booktitle"
 msgstr "Buchtitel"
 
-#: data/ui/main_window.ui:219
+#: data/ui/main_window.ui:244
 msgid "Title of currently playing book"
 msgstr "Titel des aktuellen Buches"
 
-#: data/ui/main_window.ui:244
+#: data/ui/main_window.ui:269
 msgid "Part name"
 msgstr "Kapitelname"
 
-#: data/ui/main_window.ui:245
+#: data/ui/main_window.ui:270
 msgid "Title of the currently playing part"
 msgstr "Name des aktuell abgespielten Kapitels"
 
-#: data/ui/main_window.ui:287
+#: data/ui/main_window.ui:312
 msgid "Elapsed time"
 msgstr "Vergangene Zeit"
 
-#: data/ui/main_window.ui:295
+#: data/ui/main_window.ui:320
 msgid "Time elapsed"
 msgstr "Vergangene Zeit"
 
-#: data/ui/main_window.ui:296
+#: data/ui/main_window.ui:321
 msgid "Elapsed time of current part"
 msgstr "Vergangene Zeit des aktuellen Kapitels"
 
-#: data/ui/main_window.ui:311
+#: data/ui/main_window.ui:336
 msgid "Jump to position in current chapter"
 msgstr "Springe zu einer Position im aktuellen Kapitel"
 
-#: data/ui/main_window.ui:317
+#: data/ui/main_window.ui:342
 msgid "Position slider"
 msgstr "Positions-Slider"
 
-#: data/ui/main_window.ui:318
+#: data/ui/main_window.ui:343
 msgid "Position of the current part in seconds"
 msgstr "Position des aktuell abgespielten Kapitels in Sekunden"
 
-#: data/ui/main_window.ui:336
+#: data/ui/main_window.ui:361
 msgid "Remaining time"
 msgstr "Verbleibende Zeit"
 
-#: data/ui/main_window.ui:344
+#: data/ui/main_window.ui:369
 msgid "Time remaining"
 msgstr "Verbleibende Zeit"
 
-#: data/ui/main_window.ui:345
+#: data/ui/main_window.ui:370
 msgid "Remaining time of current part"
 msgstr "Verbleibende Zeit des aktuellen Kapitels"
 
-#: data/ui/main_window.ui:421
+#: data/ui/main_window.ui:446
 msgid "Working…"
 msgstr "Arbeite…"
 
-#: data/ui/main_window.ui:426
+#: data/ui/main_window.ui:451
 msgid "Currently working"
 msgstr "Am arbeiten..."
 
-#: data/ui/main_window.ui:442
+#: data/ui/main_window.ui:467
 msgid "Playback speed"
 msgstr "Geschwindigkeit"
 
-#: data/ui/main_window.ui:464 data/ui/settings.ui:566
+#: data/ui/main_window.ui:489 data/ui/settings.ui:566
 msgid "Sleep timer"
 msgstr "Schlafen Timer"
 
-#: data/ui/main_window.ui:475
+#: data/ui/main_window.ui:500
 msgid "Timer menu button"
 msgstr "Timer Menü-Knopf"
 
-#: data/ui/main_window.ui:476
+#: data/ui/main_window.ui:501
 msgid "Open the sleep timer popover"
 msgstr "Öffne das Schlafen Timer Popover"
 
-#: data/ui/main_window.ui:492
+#: data/ui/main_window.ui:517
 msgid "Search your library"
 msgstr "Durchsuche deine Bibliothek"
 
-#: data/ui/main_window.ui:503
+#: data/ui/main_window.ui:528
 msgid "Search menu button"
 msgstr "Suche Menü-Knopf"
 
-#: data/ui/main_window.ui:504
+#: data/ui/main_window.ui:529
 msgid "Open the search popover"
 msgstr "Öffne das Suchen Popover"
 
-#: data/ui/main_window.ui:518
+#: data/ui/main_window.ui:543
 msgid "Options"
 msgstr "Optionen"
 
-#: data/ui/main_window.ui:529
+#: data/ui/main_window.ui:554
 msgid "Options menu button"
 msgstr "Optionen Menü-Knopf"
 
-#: data/ui/main_window.ui:530
+#: data/ui/main_window.ui:555
 msgid "Open the options popover"
 msgstr "Öffne das Optionen Popover"
 
-#: data/ui/main_window.ui:655
+#: data/ui/main_window.ui:680
 msgid "Recent"
 msgstr "Zuletzt"
 
-#: data/ui/main_window.ui:674
+#: data/ui/main_window.ui:699
 msgid "List of authors"
 msgstr "Liste der Autoren"
 
-#: data/ui/main_window.ui:690 data/ui/main_window.ui:798
+#: data/ui/main_window.ui:715 data/ui/main_window.ui:823
 #: data/ui/search_popover.ui:107
 msgid "Author"
 msgstr "Autor"
 
-#: data/ui/main_window.ui:709
+#: data/ui/main_window.ui:734
 msgid "List of readers"
 msgstr "Liste der Leser"
 
-#: data/ui/main_window.ui:725 data/ui/search_popover.ui:201
+#: data/ui/main_window.ui:750 data/ui/search_popover.ui:201
 msgid "Reader"
 msgstr "Leser"
 
-#: data/ui/main_window.ui:778
+#: data/ui/main_window.ui:803
 msgid "List of books"
 msgstr "Liste aller Bücher"
 
-#: data/ui/main_window.ui:814
+#: data/ui/main_window.ui:839
 msgid "Importing your audiobooks…"
 msgstr "Importiere deine Hörbücher…"
 
-#: data/ui/main_window.ui:866
+#: data/ui/main_window.ui:891
 msgid "Import your Audiobooks"
 msgstr "Importiere deine Hörbücher"
 
-#: data/ui/main_window.ui:882
+#: data/ui/main_window.ui:907
 msgid ""
 "Cozy automatically imports your audiobooks in one directory - your library"
 msgstr ""
-"Cozy verwaltet automatisch alle Hörbücher in einem Ordner - deiner Bibliothek"
+"Cozy verwaltet automatisch alle Hörbücher in einem Ordner - deiner "
+"Bibliothek"
 
-#: data/ui/main_window.ui:910
+#: data/ui/main_window.ui:935
 msgid "External or Network drive?"
 msgstr "Externer Datenträger oder Netzwerklaufwerk?"
 
-#: data/ui/main_window.ui:927
+#: data/ui/main_window.ui:952
 msgid "Are your audiobooks stored on an external or network drive?"
 msgstr ""
-"Sind Deine Hörbücher auf einem externen oder Netzwerkdatenträger gespeichert?"
+"Sind Deine Hörbücher auf einem externen oder Netzwerkdatenträger "
+"gespeichert?"
 
-#: data/ui/main_window.ui:942
+#: data/ui/main_window.ui:967
 msgid ""
 "If they are you can enable offline mode for a book in the book overview\n"
 "This keeps a local copy of the book that you can listen to on the go"
 msgstr ""
-"Ist das der Fall, kannst du den Offline Modus in der Buchübersicht "
-"aktivieren.\n"
+"Ist das der Fall, kannst du den Offline Modus in der Buchübersicht 
aktivieren.\n"
 "Diese Funktion behält eine lokale Kopie des Buches, um es unterwegs zu hören."
 
-#: data/ui/main_window.ui:968 data/ui/main_window.ui:1025
+#: data/ui/main_window.ui:993 data/ui/main_window.ui:1050
 msgid "Auto scan switch"
 msgstr "Auto-Scan Schalter"
 
-#: data/ui/main_window.ui:969 data/ui/main_window.ui:1007
-#: data/ui/main_window.ui:1026
+#: data/ui/main_window.ui:994 data/ui/main_window.ui:1032
+#: data/ui/main_window.ui:1051
 msgid "Automatically import new audiobooks on startup"
 msgstr "Importiere neue Hörbücher automatisch beim Start"
 
-#: data/ui/main_window.ui:1069
+#: data/ui/main_window.ui:1094
 msgid "Drag & Drop"
 msgstr "Drag & Drop"
 
-#: data/ui/main_window.ui:1086
+#: data/ui/main_window.ui:1111
 msgid "Drag your audiobooks into cozy and they will be automatically imported"
 msgstr "Ziehe deine Hörbücher in Cozy um sie automatisch zu importieren"
 
-#: data/ui/main_window.ui:1107
+#: data/ui/main_window.ui:1132
 msgid "Location of your audiobooks"
 msgstr "Speicherort Deiner Hörbücher"
 
-#: data/ui/main_window.ui:1128
+#: data/ui/main_window.ui:1153
 msgid "Set Audiobooks Directory"
 msgstr "Wähle den Speicherort der Hörbücher"
 
-#: data/ui/main_window.ui:1145
+#: data/ui/main_window.ui:1170
 msgid ""
 "Load audiobooks from a directory, network drive or an external disk\n"
 "You can add more storage locations later in the settings"
@@ -410,25 +420,26 @@
 "Lade Hörbücher von einem Ordner, Netzwerklaufwerk oder externem Laufwerk\n"
 "Du kannst später mehr Speicherorte in den Einstellungen hinzufügen"
 
-#: data/ui/main_window.ui:1376
+#: data/ui/main_window.ui:1401
 msgid "Remaining"
 msgstr "Verbleibend"
 
-#: data/ui/main_window.ui:1432
+#: data/ui/main_window.ui:1457
 msgid "Total"
 msgstr "Gesamt"
 
-#: data/ui/main_window.ui:1449
+#: data/ui/main_window.ui:1474
 msgid "Last played"
 msgstr "Zuletzt gehört"
 
-#: data/ui/main_window.ui:1466
+#: data/ui/main_window.ui:1491
 msgid "Published"
 msgstr "Veröffentlicht"
 
-#: data/ui/main_window.ui:1630
+#: data/ui/main_window.ui:1655
 msgid ""
-"Start exploring your library by switching to the Author or Reader view above."
+"Start exploring your library by switching to the Author or Reader view "
+"above."
 msgstr ""
 "Erkunde Deine Bibliothek indem du zur Autor oder Leser Ansicht wechselst."
 
@@ -656,7 +667,7 @@
 
 #: data/ui/timer_popover.ui:221
 msgid "suspend"
-msgstr "Schlafen"
+msgstr "Energiesparen"
 
 #: data/ui/timer_popover.ui:237
 msgid "shutdown"
@@ -685,13 +696,3 @@
 #: data/ui/titlebar_menu.ui:33
 msgid "_Quit"
 msgstr "_Beenden"
-
-#~ msgid "By request"
-#~ msgstr "Auf Nachfrage"
-
-#~ msgid "Use crc32 checksum for file modification detection"
-#~ msgstr "Nutze crc32 Prüfsumme um geänderte Dateien zu erkennen"
-
-#~ msgid ""
-#~ "Only recommended if cozy doesn't detect file modifications while scanning"
-#~ msgstr "Nur empfohlen falls Cozy geänderte Dateien beim Scan nicht erkennt"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/po/extra/it.po new/cozy-0.6.14/po/extra/it.po
--- old/cozy-0.6.13/po/extra/it.po      2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/po/extra/it.po      2020-03-01 17:33:29.000000000 +0100
@@ -112,6 +112,7 @@
 #: data/com.github.geigi.cozy.appdata.xml.in:55
 msgid "Sleep timer: Automatic system power control"
 msgstr ""
+"Timer di spegnimento: controllo automatico dell'alimentazione del sistema"
 
 #: data/com.github.geigi.cozy.appdata.xml.in:56
 #: data/com.github.geigi.cozy.appdata.xml.in:73
@@ -124,18 +125,16 @@
 msgstr "Traduzioni aggiornate"
 
 #: data/com.github.geigi.cozy.appdata.xml.in:63
-#, fuzzy
 msgid "Support for opus files"
-msgstr "Supporto per file wav"
+msgstr "Supporto per file opus"
 
 #: data/com.github.geigi.cozy.appdata.xml.in:64
 msgid "Better support for ogg cover art"
-msgstr ""
+msgstr "Migliore supporto per la copertina  ogg"
 
 #: data/com.github.geigi.cozy.appdata.xml.in:65
-#, fuzzy
 msgid "Swedish translation"
-msgstr "Traduzioni aggiornate"
+msgstr "Traduzione svedese"
 
 #: data/com.github.geigi.cozy.appdata.xml.in:72
 msgid "Fix: some valid media files were not detected"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/po/it.po new/cozy-0.6.14/po/it.po
--- old/cozy-0.6.13/po/it.po    2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/po/it.po    2020-03-01 17:33:29.000000000 +0100
@@ -4,9 +4,9 @@
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
 # Translators:
-# Julian Geywitz <[email protected]>, 2019
-# albanobattistella <[email protected]>, 2019
-#
+# Julian Geywitz <[email protected]>, 2020
+# albanobattistella <[email protected]>, 2020
+# 
 #, fuzzy
 msgid ""
 msgstr ""
@@ -14,7 +14,7 @@
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-02-27 17:01+0100\n"
 "PO-Revision-Date: 2019-09-08 09:31+0000\n"
-"Last-Translator: albanobattistella <[email protected]>, 2019\n"
+"Last-Translator: albanobattistella <[email protected]>, 2020\n"
 "Language-Team: Italian (https://www.transifex.com/geigi/teams/78138/it/)\n"
 "Language: it\n"
 "MIME-Version: 1.0\n"
@@ -132,7 +132,7 @@
 msgid "{weeks} week ago"
 msgid_plural "{weeks} weeks ago"
 msgstr[0] "{weeks} settimane fa"
-msgstr[1] "{weeks} weeks ago"
+msgstr[1] "{weeks} settimane fa"
 
 #: cozy/tools.py:198
 #, python-brace-format
@@ -146,7 +146,7 @@
 msgid "{years} year ago"
 msgid_plural "{years} years ago"
 msgstr[0] "{years} anni fa"
-msgstr[1] "{years}  ago"
+msgstr[1] "{years}  anni fa"
 
 #: cozy/ui/main_view.py:405
 msgid "Audiobooks"
@@ -642,7 +642,7 @@
 
 #: data/ui/timer_popover.ui:164
 msgid "Enable system power control"
-msgstr ""
+msgstr "Abilita il controllo dell'alimentazione del sistema"
 
 #: data/ui/timer_popover.ui:201
 msgid ""
@@ -650,20 +650,25 @@
 "\"shutdown\" will attempt to turn your system off (also known as power off)\n"
 "\"suspend\" will attempt to suspend your system (also known as sleep)."
 msgstr ""
+"Tipo di azione al termine del timer.\n"
+"\"spegnimento\" tenterà di spegnere il sistema (noto anche come power off)\n"
+"\"suspendi\" tenterà di sospendere il tuo sistema (noto anche come sleep)."
 
 #: data/ui/timer_popover.ui:205
 msgid ""
 "System power action\n"
 "to perform"
 msgstr ""
+"Azione di alimentazione del sistema\n"
+"da eseguire"
 
 #: data/ui/timer_popover.ui:221
 msgid "suspend"
-msgstr ""
+msgstr "sospendere"
 
 #: data/ui/timer_popover.ui:237
 msgid "shutdown"
-msgstr ""
+msgstr "Spegnere"
 
 #: data/ui/titlebar_menu.ui:7
 msgid "_Scan Directory"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/po/nl.po new/cozy-0.6.14/po/nl.po
--- old/cozy-0.6.13/po/nl.po    2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/po/nl.po    2020-03-01 17:33:29.000000000 +0100
@@ -4,9 +4,9 @@
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
 #
 # Translators:
-# Julian Geywitz <[email protected]>, 2019
-# Heimen Stoffels <[email protected]>, 2019
-#
+# Julian Geywitz <[email protected]>, 2020
+# Heimen Stoffels <[email protected]>, 2020
+# 
 #, fuzzy
 msgid ""
 msgstr ""
@@ -14,7 +14,7 @@
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2020-02-27 17:01+0100\n"
 "PO-Revision-Date: 2019-09-08 09:31+0000\n"
-"Last-Translator: Heimen Stoffels <[email protected]>, 2019\n"
+"Last-Translator: Heimen Stoffels <[email protected]>, 2020\n"
 "Language-Team: Dutch (https://www.transifex.com/geigi/teams/78138/nl/)\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
@@ -635,13 +635,12 @@
 msgstr "De slaaptimerduur, in minuten"
 
 #: data/ui/timer_popover.ui:116
-#, fuzzy
 msgid "Stop after current chapter"
 msgstr "Stoppen na huidig hoofdstuk"
 
 #: data/ui/timer_popover.ui:164
 msgid "Enable system power control"
-msgstr ""
+msgstr "Energiebeheer inschakelen"
 
 #: data/ui/timer_popover.ui:201
 msgid ""
@@ -649,20 +648,25 @@
 "\"shutdown\" will attempt to turn your system off (also known as power off)\n"
 "\"suspend\" will attempt to suspend your system (also known as sleep)."
 msgstr ""
+"De uit te voeren actie na afloop van de timer.\n"
+"'Afsluiten' tracht de computer af te sluiten (ook wel: 'uitschakelen')\n"
+"'Pauzestand' tracht de computer in de pauzestand te zetten (ook wel: 
'slaapstand')"
 
 #: data/ui/timer_popover.ui:205
 msgid ""
 "System power action\n"
 "to perform"
 msgstr ""
+"De uit te voeren\n"
+"energie-actie"
 
 #: data/ui/timer_popover.ui:221
 msgid "suspend"
-msgstr ""
+msgstr "Pauzestand"
 
 #: data/ui/timer_popover.ui:237
 msgid "shutdown"
-msgstr ""
+msgstr "Afsluiten"
 
 #: data/ui/titlebar_menu.ui:7
 msgid "_Scan Directory"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/cozy-0.6.13/po/sv.po new/cozy-0.6.14/po/sv.po
--- old/cozy-0.6.13/po/sv.po    2020-02-27 17:20:04.000000000 +0100
+++ new/cozy-0.6.14/po/sv.po    2020-03-01 17:33:29.000000000 +0100
@@ -629,13 +629,12 @@
 msgstr "Ange varaktighet för insomningsuret i minuter"
 
 #: data/ui/timer_popover.ui:116
-#, fuzzy
 msgid "Stop after current chapter"
 msgstr "Stoppa efter aktuell kapitel"
 
 #: data/ui/timer_popover.ui:164
 msgid "Enable system power control"
-msgstr ""
+msgstr "Aktivera systemkraftkontroll"
 
 #: data/ui/timer_popover.ui:201
 msgid ""
@@ -643,20 +642,25 @@
 "\"shutdown\" will attempt to turn your system off (also known as power off)\n"
 "\"suspend\" will attempt to suspend your system (also known as sleep)."
 msgstr ""
+"Typ av åtgärd när insomningstiden gått ut.\n"
+"\"Stäng av\" försöker stänga av systemet.\n"
+"\"Viloläge\" försöker försätta datorn i viloläge."
 
 #: data/ui/timer_popover.ui:205
 msgid ""
 "System power action\n"
 "to perform"
 msgstr ""
+"Systemkraftåtgärd\n"
+"att utföra"
 
 #: data/ui/timer_popover.ui:221
 msgid "suspend"
-msgstr ""
+msgstr "Viloläge"
 
 #: data/ui/timer_popover.ui:237
 msgid "shutdown"
-msgstr ""
+msgstr "Stäng av"
 
 #: data/ui/titlebar_menu.ui:7
 msgid "_Scan Directory"


Reply via email to