Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package package-update-indicator for 
openSUSE:Factory checked in at 2022-09-25 15:34:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/package-update-indicator (Old)
 and      /work/SRC/openSUSE:Factory/.package-update-indicator.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "package-update-indicator"

Sun Sep 25 15:34:56 2022 rev:9 rq:1005628 version:8

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/package-update-indicator/package-update-indicator.changes
        2020-11-23 10:37:50.409844654 +0100
+++ 
/work/SRC/openSUSE:Factory/.package-update-indicator.new.2275/package-update-indicator.changes
      2022-09-25 15:35:16.091617892 +0200
@@ -1,0 +2,28 @@
+Wed Sep  7 18:03:50 UTC 2022 - Stefan Seyfried <[email protected]>
+
+- Update to version 8:
+  * Add setting to disable preferences widgets
+  * Fix typos and improve German translations
+  * Add new setting to hide indicator menu items
+  * Add new setting "always-active"
+  * Add Brazilian Portugese translations
+  * Add Dutch translations
+  * Do not hardcode pkg-config
+  * Fix desktop files
+  * Remove translated icon names
+  * Add Spanish translations
+- remove obsolete patch
+  org.guido-berhoerster.code.package-update-indicator.desktop.in.patch
+- Changes by Mihai Moldovan <[email protected]>:
+  * Update copyright notice.
+  * Add properly extracted license.
+  * Check destroot with fdupes for good measure.
+  * Make some dependencies more explicit and remove duplicate
+    ones (xsltproc vs. libxml2-tools).
+  * Add glib gsettings schemas macros.
+  * Reflow description to 67 characters.
+  * Use more (single) quotes.
+  * Re-sort files list alphabetically, use %{name} to avoid
+    redundancy.
+
+-------------------------------------------------------------------

Old:
----
  org.guido-berhoerster.code.package-update-indicator.desktop.in.patch
  package-update-indicator-7.tar.gz

New:
----
  LICENSE
  package-update-indicator-8.tar.gz

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

Other differences:
------------------
++++++ package-update-indicator.spec ++++++
--- /var/tmp/diff_new_pack.jX8PRL/_old  2022-09-25 15:35:16.523618933 +0200
+++ /var/tmp/diff_new_pack.jX8PRL/_new  2022-09-25 15:35:16.527618942 +0200
@@ -1,7 +1,8 @@
 #
 # spec file for package package-update-indicator
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2022 SUSE Software Solutions Germany GmbH, Nuernberg, Germany.
 # Copyright (c) 2018 B1 Systems GmbH, Vohburg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
@@ -18,18 +19,20 @@
 
 
 Name:           package-update-indicator
-Version:        7
+Version:        8
 Release:        0
 Summary:        Package update status notification applet
 License:        MIT
 Group:          System/Daemons
 URL:            
https://code.guido-berhoerster.org/projects/package-update-indicator
-Source:         
https://code.guido-berhoerster.org/projects/package-update-indicator/downloads/%{name}-%{version}.tar.gz
+Source0:        
https://code.guido-berhoerster.org/projects/package-update-indicator/downloads/%{name}-%{version}.tar.gz
 Source1:        10_opensuse_update_command.gschema.override
-Patch0:         
org.guido-berhoerster.code.package-update-indicator.desktop.in.patch
+Source2:        LICENSE
 BuildRequires:  docbook5-xsl-stylesheets
+BuildRequires:  fdupes
+BuildRequires:  gcc
 BuildRequires:  gettext >= 0.19
-BuildRequires:  libxml2-tools
+BuildRequires:  gmake >= 3.81
 BuildRequires:  pkgconfig
 BuildRequires:  xsltproc
 BuildRequires:  pkgconfig(appindicator3-0.1) >= 12.10.0
@@ -40,33 +43,47 @@
 BuildRequires:  pkgconfig(upower-glib) >= 0.99.0
 Obsoletes:      pk-update-icon <= 3
 Recommends:     gnome-packagekit
+%glib2_gsettings_schema_requires
 
 %description
-The package-update-indicator utility regularly checks for software updates and 
notifies the user about available updates using desktop notifications and 
either a status notifier icon or a system tray icon.
+The package-update-indicator utility regularly checks for software
+updates and notifies the user about available updates using
+desktop notifications and either a status notifier icon or a
+system tray icon.
+
+It is primarily intended for desktops which do not already have
+this functionality built-in, such as Xfce.
 
 %lang_package
 
 %prep
 %autosetup
+cp -av '%{SOURCE2}' '.'
 
 %build
-%make_build prefix=%{_prefix} GLIB_COMPILE_SCHEMAS=: CFLAGS="%{optflags}" 
CC=gcc
+%make_build 'prefix=%{_prefix}' 'GLIB_COMPILE_SCHEMAS=:' 'CFLAGS=%{optflags}' 
'CC=gcc'
 
 %install
-%make_install prefix=%{_prefix} GLIB_COMPILE_SCHEMAS=:
-install -m 0644 %{SOURCE1} %{buildroot}%{_datadir}/glib-2.0/schemas/
+%make_install 'prefix=%{_prefix}' 'GLIB_COMPILE_SCHEMAS=:'
+
+# Stage gsettings override into destroot.
+install -m 0644 '%{SOURCE1}' '%{buildroot}%{_datadir}/glib-2.0/schemas/'
+
+%fdupes %{buildroot}
+
 %find_lang %{name} %{?no_lang_C}
 
 %files
-%doc README NEWS
-%{_sysconfdir}/xdg/autostart/org.guido-berhoerster.code.package-update-indicator.desktop
-%{_bindir}/package-update-indicator
-%{_bindir}/package-update-indicator-prefs
-%{_datadir}/applications/org.guido-berhoerster.code.package-update-indicator.preferences.desktop
-%{_datadir}/glib-2.0/schemas/org.guido-berhoerster.code.package-update-indicator.gschema.xml
+%license LICENSE
+%doc NEWS README
+%config %{_sysconfdir}/xdg/autostart/org.guido-berhoerster.code.%{name}.desktop
+%{_bindir}/%{name}
+%{_bindir}/%{name}-prefs
+%{_datadir}/applications/org.guido-berhoerster.code.%{name}.preferences.desktop
 %{_datadir}/glib-2.0/schemas/10_opensuse_update_command.gschema.override
-%{_mandir}/man1/package-update-indicator-prefs.1%{?ext_man}
-%{_mandir}/man1/package-update-indicator.1%{?ext_man}
+%{_datadir}/glib-2.0/schemas/org.guido-berhoerster.code.%{name}.gschema.xml
+%{_mandir}/man1/%{name}-prefs.1%{?ext_man}
+%{_mandir}/man1/%{name}.1%{?ext_man}
 
 %files lang -f %{name}.lang
 

++++++ LICENSE ++++++
Copyright (C) 2018 Guido Berhoerster <[email protected]>

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

++++++ package-update-indicator-7.tar.gz -> package-update-indicator-8.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/Makefile 
new/package-update-indicator-8/Makefile
--- old/package-update-indicator-7/Makefile     2020-11-17 12:22:03.000000000 
+0100
+++ new/package-update-indicator-8/Makefile     2022-09-07 09:25:53.000000000 
+0200
@@ -24,7 +24,7 @@
 PACKAGE =      package-update-indicator
 APPLICATION_ID = org.guido-berhoerster.code.package-update-indicator
 PREFS_APPLICATION_ID = 
org.guido-berhoerster.code.package-update-indicator.preferences
-VERSION =      7
+VERSION =      8
 DISTNAME =     $(PACKAGE)-$(VERSION)
 AUTHOR =       Guido Berhoerster
 BUG_ADDRESS =  [email protected]
@@ -48,9 +48,10 @@
 PAX :=         pax
 GZIP :=                gzip
 SED :=         sed
-GLIB_COMPILE_SCHEMAS := $(shell pkg-config --variable=glib_compile_schemas 
gio-2.0)
-GLIB_COMPILE_RESOURCES := $(shell pkg-config --variable=glib_compile_resources 
gio-2.0)
-GLIB_MKENUMS :=        $(shell pkg-config --variable=glib_mkenums glib-2.0)
+PKG_CONFIG :=  pkg-config
+GLIB_COMPILE_SCHEMAS := $(shell $(PKG_CONFIG) --variable=glib_compile_schemas 
gio-2.0)
+GLIB_COMPILE_RESOURCES := $(shell $(PKG_CONFIG) 
--variable=glib_compile_resources gio-2.0)
+GLIB_MKENUMS :=        $(shell $(PKG_CONFIG) --variable=glib_mkenums glib-2.0)
 XSLTPROC :=    xsltproc
 DOCBOOK5_MANPAGES_STYLESHEET = 
http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl
 DOCBOOK5_MANPAGES_FLAGS = --stringparam man.authors.section.enabled 0 \
@@ -71,9 +72,9 @@
                --keyword=g_dngettext:2,3 \
                --add-comments
 INDICATOR_LIB := $(or \
-                   $(shell pkg-config --exists appindicator3-0.1 && \
+                   $(shell $(PKG_CONFIG) --exists appindicator3-0.1 && \
                        printf '%s\\\n' appindicator3-0.1), \
-                   $(shell pkg-config --exists ayatana-appindicator3-0.1 && \
+                   $(shell $(PKG_CONFIG) --exists ayatana-appindicator3-0.1 && 
\
                        printf '%s\\\n' ayatana-appindicator3-0.1), \
                    appindicator3-0.1)
 INDICATOR_FLAG := $(if $(findstring ayatana,$(INDICATOR_LIB)), \
@@ -160,10 +161,10 @@
                        -DSETTINGS_SCHEMA_ID=\"$(APPLICATION_ID)\" \
                        -DI_KNOW_THE_PACKAGEKIT_GLIB2_API_IS_SUBJECT_TO_CHANGE \
                        $(INDICATOR_FLAG)
-$(PACKAGE): XCFLAGS =  $(shell pkg-config --cflags gtk+-3.0 \
+$(PACKAGE): XCFLAGS =  $(shell $(PKG_CONFIG) --cflags gtk+-3.0 \
                            $(INDICATOR_LIB) packagekit-glib2 \
                            polkit-gobject-1 upower-glib)
-$(PACKAGE): LDLIBS =   $(shell pkg-config --libs gtk+-3.0 \
+$(PACKAGE): LDLIBS =   $(shell $(PKG_CONFIG) --libs gtk+-3.0 \
                            $(INDICATOR_LIB) packagekit-glib2 \
                            polkit-gobject-1 upower-glib)
 
@@ -174,8 +175,8 @@
                        -DPACKAGE_LOCALE_DIR="\"$(localedir)\"" \
                        -DGETTEXT_PACKAGE=\"$(PACKAGE)\" \
                        -DSETTINGS_SCHEMA_ID=\"$(APPLICATION_ID)\"
-$(PACKAGE)-prefs: XCFLAGS = $(shell pkg-config --cflags gtk+-3.0)
-$(PACKAGE)-prefs: LDLIBS = $(shell pkg-config --libs gtk+-3.0)
+$(PACKAGE)-prefs: XCFLAGS = $(shell $(PKG_CONFIG) --cflags gtk+-3.0)
+$(PACKAGE)-prefs: LDLIBS = $(shell $(PKG_CONFIG) --libs gtk+-3.0)
 
 ifneq ($(findstring $(OS_NAME),FreeBSD DragonFly OpenBSD),)
   $(PACKAGE): XCPPFLAGS +=     -I/usr/local/include
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/NEWS 
new/package-update-indicator-8/NEWS
--- old/package-update-indicator-7/NEWS 2020-11-17 12:21:57.000000000 +0100
+++ new/package-update-indicator-8/NEWS 2022-09-07 09:25:53.000000000 +0200
@@ -1,6 +1,20 @@
 News
 ====
 
+package-update-indicator 8 (2022-09-07T08:45:19+02:00)
+------------------------------------------------------
+
+- Add setting to disable preferences widgets
+- Fix typos and improve German translations
+- Add new setting to hide indicator menu items
+- Add new setting "always-active"
+- Add Brazilian Portugese translations
+- Add Dutch translations
+- Do not hardcode pkg-config
+- Fix desktop files
+- Remove translated icon names
+- Add Spanish translations
+
 package-update-indicator 7 (2020-11-17T12:21:47+01:00)
 ------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/package-update-indicator-7/org.guido-berhoerster.code.package-update-indicator.desktop.in
 
new/package-update-indicator-8/org.guido-berhoerster.code.package-update-indicator.desktop.in
--- 
old/package-update-indicator-7/org.guido-berhoerster.code.package-update-indicator.desktop.in
       2018-07-05 15:09:20.000000000 +0200
+++ 
new/package-update-indicator-8/org.guido-berhoerster.code.package-update-indicator.desktop.in
       2020-12-03 08:51:43.000000000 +0100
@@ -6,5 +6,5 @@
 Exec=package-update-indicator
 Terminal=false
 Type=Application
-Categories=Utility;GTK;TrayIcon;
-NotShowIn=GNOME;
+Categories=Utility;GTK;
+NotShowIn=GNOME;KDE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/package-update-indicator-7/org.guido-berhoerster.code.package-update-indicator.gschema.xml
 
new/package-update-indicator-8/org.guido-berhoerster.code.package-update-indicator.gschema.xml
--- 
old/package-update-indicator-7/org.guido-berhoerster.code.package-update-indicator.gschema.xml
      2018-07-05 15:09:52.000000000 +0200
+++ 
new/package-update-indicator-8/org.guido-berhoerster.code.package-update-indicator.gschema.xml
      2022-09-07 09:25:53.000000000 +0200
@@ -19,5 +19,21 @@
       <description>If enabled, use a mobile connection refreshing the package
       cache.</description>
     </key>
+    <key name="always-active" type="b">
+      <default>true</default>
+      <summary>Whether the indicator is always active</summary>
+      <description>Whether the indicator is active even when packages are up to
+      date.</description>
+    </key>
+    <key name="hide-menu-items" type="as">
+      <default>[]</default>
+      <summary>Hide menu items</summary>
+      <description>List of indicator menu items to be hidden.</description>
+    </key>
+    <key name="disable-preferences" type="as">
+      <default>[]</default>
+      <summary>Disable preferences</summary>
+      <description>List of preference widgets to be disabled.</description>
+    </key>
   </schema>
 </schemalist>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/package-update-indicator-7/org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in
 
new/package-update-indicator-8/org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in
--- 
old/package-update-indicator-7/org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in
   2018-12-08 09:50:39.000000000 +0100
+++ 
new/package-update-indicator-8/org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in
   2020-12-03 08:50:52.000000000 +0100
@@ -7,5 +7,5 @@
 Exec=package-update-indicator-prefs
 Terminal=false
 Type=Application
-Categories=Settings;PackageManager;GTK;
-NotShowIn=GNOME;
+Categories=Settings;PackageManager;GTK;X-XFCE-SettingsDialog;X-XFCE-SettingsSystem;
+NotShowIn=GNOME;KDE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/po/LINGUAS 
new/package-update-indicator-8/po/LINGUAS
--- old/package-update-indicator-7/po/LINGUAS   2020-10-05 12:39:32.000000000 
+0200
+++ new/package-update-indicator-8/po/LINGUAS   2022-02-27 22:16:27.000000000 
+0100
@@ -4,4 +4,6 @@
 fr
 id
 it
+nl
+pt_BR
 ru
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/po/de.po 
new/package-update-indicator-8/po/de.po
--- old/package-update-indicator-7/po/de.po     2019-07-24 10:30:24.000000000 
+0200
+++ new/package-update-indicator-8/po/de.po     2022-09-07 09:25:53.000000000 
+0200
@@ -38,7 +38,7 @@
 
 #: org.guido-berhoerster.code.package-update-indicator.gschema.xml:8
 msgid "Command for installing updates."
-msgstr "Befehl zu Installieren von Aktualisierungen."
+msgstr "Befehl zum Installieren von Aktualisierungen."
 
 #: org.guido-berhoerster.code.package-update-indicator.gschema.xml:12
 msgid "Refresh interval"
@@ -156,16 +156,16 @@
 #: pui-application.c:271
 msgid "You need to log out and back in for the update to take effect."
 msgstr ""
-"Sie m??ssen sich aus- und wieder einloggen, damit die Aktualisierung wirksam 
wird."
+"Sie m??ssen sich an- und wieder abmelden, damit die Aktualisierung wirksam 
wird."
 
 #: pui-application.c:275
 msgid "Restart Required"
-msgstr "Neutstart Erforderlich"
+msgstr "Neustart erforderlich"
 
 #: pui-application.c:276
 msgid "The computer has to be restarted for the updates to take effect."
 msgstr ""
-"Der Computer muss neu gestarte werden damit die Aktualisierungen wirksam 
werden."
+"Der Computer muss neu gestartet werden, damit die Aktualisierungen wirksam 
werden."
 
 #: pui-application.c:324
 msgid "Install Updates"
@@ -193,7 +193,7 @@
 
 #: pui-prefs-window.ui:22
 msgid "every hour"
-msgstr "einmal die Stunde"
+msgstr "einmal pro Stunde"
 
 #: pui-prefs-window.ui:27
 msgid "every 8 hours"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/po/es.po 
new/package-update-indicator-8/po/es.po
--- old/package-update-indicator-7/po/es.po     1970-01-01 01:00:00.000000000 
+0100
+++ new/package-update-indicator-8/po/es.po     2020-11-18 08:08:58.000000000 
+0100
@@ -0,0 +1,224 @@
+# Spanish translations for package-update-indicator package.
+# Copyright (C) 2020 Joel Barrios
+# This file is distributed under the same license as the 
package-update-indicator package.
+# Joel Barrios <[email protected]>, 2020.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: package-update-indicator 1\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2020-11-18 00:33-0060\n"
+"PO-Revision-Date: 2020-11-18 00:33-0060\n"
+"Last-Translator: Joel Barrios <[email protected]>\n"
+"Language-Team: none\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:3
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:4
+#: package-update-indicator.c:59 pui-application.c:489
+msgid "Package Update Indicator"
+msgstr "Indicador de Actualizaciones de Paquetes"
+
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:5
+#: pui-about-dialog.ui:12
+msgid "Notify about available software updates"
+msgstr "Notifica acerca de actualizaciones de software disponibles"
+
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:6
+msgid "system-software-update"
+msgstr "system-software-update"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:7
+msgid "Update command"
+msgstr "Orden para actualizar"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:8
+msgid "Command for installing updates."
+msgstr "Orden pata instalar actualizaciones."
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:12
+msgid "Refresh interval"
+msgstr "Intervalo de refresco"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:13
+msgid "The interval in seconds for refreshing metadata."
+msgstr "El intervalo en segundos para refrescar meta-datos."
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:18
+msgid "Whether to use a mobile connection"
+msgstr "Definir si se usa conexi??n m??vil"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:19
+msgid "If enabled, use a mobile connection refreshing the package cache."
+msgstr "Si se habilita, utilizar?? una conexi??n m??vil para refrescar el 
cache de paquetes."
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:3
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:4
+#: package-update-indicator-prefs.c:43
+msgid "Package Update Indicator Preferences"
+msgstr "Preferencias Indicador de Actualizaciones de Paquetes"
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:5
+msgid "Edit the Preferences for Package Update Indicator"
+msgstr "Editar las preferencias para el Indicador de Actualizaciones de 
Paquetes"
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:6
+msgid "updates;preferences;"
+msgstr "actualizar;actualizaciones;preferencias;paquetes;software;"
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:7
+msgid "preferences-other"
+msgstr "preferences-other"
+
+#: pui-about-dialog.ui:7
+msgid "About Package Update Indicator"
+msgstr "Acerca del Indicador de Actualizaciones de Paquetes"
+
+#: pui-about-dialog.ui:11
+msgid "Copyright ?? 2018 Guido Berh??rster"
+msgstr "Derechos de Autor ?? 2018 Guido Berh??rster"
+
+#. Place your name here.
+#: pui-about-dialog.ui:15
+msgid "Translator"
+msgstr "Joel Barrios <[email protected]>"
+
+#: pui-application.c:73
+msgid "Enable debugging messages"
+msgstr "Habilitar mensajes de depuraci??n"
+
+#: pui-application.c:75
+msgid "Quit running instance of Package Update Indicator"
+msgstr "Salir de instancia en ejecuci??n de Indicador de Actualizaciones de 
Paquetes"
+
+#: pui-application.c:77
+msgid "Print the version number and quit"
+msgstr "Muestra el n??mero de versi??n y sale"
+
+#: pui-application.c:232
+msgid "Up to Date"
+msgstr "Actualizar"
+
+#: pui-application.c:233
+msgid "The system is up to date."
+msgstr "El sistema est?? actualizado."
+
+#: pui-application.c:236
+msgid "Software Update"
+msgid_plural "Software Updates"
+msgstr[0] "Actualizaci??n de paquete"
+msgstr[1] "Actualizaci??n de paquetes"
+
+#: pui-application.c:239
+msgid "There is a software update available."
+msgstr "Hay un paquete disponible para actualizar."
+
+#: pui-application.c:242
+#, c-format
+msgid "There are %u software updates available."
+msgstr "Hay %u paquetes disponibles para actualizar."
+
+#: pui-application.c:247
+msgid "Important Software Update"
+msgid_plural "Important Software Updates"
+msgstr[0] "Actualizaci??n Importante de Paquete"
+msgstr[1] "Actualizaciones Importantes de Paquetes"
+
+#: pui-application.c:250
+msgid "There is an important software update available."
+msgstr "Hay una actualizaci??n disponible de paquete importante."
+
+#: pui-application.c:253
+#, c-format
+msgid "There are %u important software updates available."
+msgstr "Hay %u actualizaciones disponibles de paquetes importantes."
+
+#: pui-application.c:257
+#, c-format
+msgid "There are %u software updates available, one of them is important."
+msgstr "Hay %u actualizaciones de paquetes disponibles, una es importante."
+
+#: pui-application.c:262
+#, c-format
+msgid "There are %u software updates available, %u of them are important."
+msgstr "Hay %u actualizaciones de paquetes disponibles, %u de estas son 
importantes."
+
+#: pui-application.c:270
+msgid "Logout Required"
+msgstr "Se requiere cerrar sesi??n"
+
+#: pui-application.c:271
+msgid "You need to log out and back in for the update to take effect."
+msgstr "Necesita cerrar sesi??n y volver a ingresar para que quede aplicada la 
actualizaci??n."
+
+#: pui-application.c:275
+msgid "Restart Required"
+msgstr "Reinicio requerido"
+
+#: pui-application.c:276
+msgid "The computer has to be restarted for the updates to take effect."
+msgstr "Este sistema debe ser reiniciado para que queden aplicadas las 
actualizaciones."
+
+#: pui-application.c:324
+msgid "Install Updates"
+msgstr "Instalar actualizaciones"
+
+#: pui-application.c:434
+msgid "Update notifications are not supported."
+msgstr "Sin soporte para notificaciones de actualizaciones."
+
+#: pui-menu.ui:13
+msgid "_Install updates"
+msgstr "_Instalar actualizaciones"
+
+#: pui-menu.ui:22
+msgid "_Preferences???"
+msgstr "_Preferencias???"
+
+#: pui-menu.ui:31
+msgid "_About???"
+msgstr "_Acerca de???"
+
+#: pui-prefs-window.ui:17
+msgid "always"
+msgstr "siempre"
+
+#: pui-prefs-window.ui:22
+msgid "every hour"
+msgstr "cada hora"
+
+#: pui-prefs-window.ui:27
+msgid "every 8 hours"
+msgstr "cada 8 horas"
+
+#: pui-prefs-window.ui:32
+msgid "twice a day"
+msgstr "dos veces al d??a"
+
+#: pui-prefs-window.ui:37
+msgid "daily"
+msgstr "diariamente"
+
+#: pui-prefs-window.ui:42
+msgid "weekly"
+msgstr "semanalmente"
+
+#: pui-prefs-window.ui:47
+msgid "never"
+msgstr "nunca"
+
+#: pui-prefs-window.ui:76
+msgid "_Refresh cache:"
+msgstr "_Refrescar cache:"
+
+#: pui-prefs-window.ui:89
+msgid "_Command for installing updates:"
+msgstr "_Orden para instalar actualizaciones:"
+
+#: pui-prefs-window.ui:130
+msgid "Use _mobile connection"
+msgstr "Usar conexi??n _m??vil"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/po/fr.po 
new/package-update-indicator-8/po/fr.po
--- old/package-update-indicator-7/po/fr.po     2019-12-11 13:08:02.000000000 
+0100
+++ new/package-update-indicator-8/po/fr.po     2020-11-19 15:54:31.000000000 
+0100
@@ -30,7 +30,7 @@
 
 #: org.guido-berhoerster.code.package-update-indicator.desktop.in:6
 msgid "system-software-update"
-msgstr "Mise ?? jour des logiciels du syst??me"
+msgstr "system-software-update"
 
 #: org.guido-berhoerster.code.package-update-indicator.gschema.xml:7
 msgid "Update command"
@@ -74,7 +74,7 @@
 
 #: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:7
 msgid "preferences-other"
-msgstr "param??tres-autres"
+msgstr "preferences-other"
 
 #: pui-about-dialog.ui:7
 msgid "About Package Update Indicator"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/po/it.po 
new/package-update-indicator-8/po/it.po
--- old/package-update-indicator-7/po/it.po     2020-08-21 15:21:27.000000000 
+0200
+++ new/package-update-indicator-8/po/it.po     2020-11-19 15:54:05.000000000 
+0100
@@ -75,7 +75,7 @@
 
 #: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:7
 msgid "preferences-other"
-msgstr "preferenze-altro"
+msgstr "preferences-other"
 
 #: pui-about-dialog.ui:7
 msgid "About Package Update Indicator"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/po/nl.po 
new/package-update-indicator-8/po/nl.po
--- old/package-update-indicator-7/po/nl.po     1970-01-01 01:00:00.000000000 
+0100
+++ new/package-update-indicator-8/po/nl.po     2022-02-27 22:50:01.000000000 
+0100
@@ -0,0 +1,227 @@
+# Dutch translations for package-update-indicator.
+# This file is distributed under the same license as the 
package-update-indicator package.
+# Pjotr <[email protected]>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: package-update-indicator 1\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2018-12-08 08:50+0000\n"
+"PO-Revision-Date: 2022-02-22 12:27+0100\n"
+"Last-Translator: Pjotr <[email protected]>\n"
+"Language-Team: none\n"
+"Language: nl\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Poedit 2.3\n"
+
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:3
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:4 
package-update-indicator.c:59
+#: pui-application.c:489
+msgid "Package Update Indicator"
+msgstr "Indicator voor bijgewerkte pakketten"
+
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:5 
pui-about-dialog.ui:12
+msgid "Notify about available software updates"
+msgstr "Maak melding van beschikbare actualiseringen"
+
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:6
+msgid "system-software-update"
+msgstr ""
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:7
+msgid "Update command"
+msgstr "Bijwerkopdracht"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:8
+msgid "Command for installing updates."
+msgstr "Opdracht voor het installeren van actualiseringen."
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:12
+msgid "Refresh interval"
+msgstr "Tussenpoze voor verversen"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:13
+msgid "The interval in seconds for refreshing metadata."
+msgstr "De tussenpoze in seconden voor het verversen van metagegevens."
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:18
+msgid "Whether to use a mobile connection"
+msgstr "Of er een mobiele verbinding gebruikt kan worden"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:19
+msgid "If enabled, use a mobile connection refreshing the package cache."
+msgstr ""
+"Wanneer ingeschakeld, gebruik een mobiele verbinding voor verversen van de 
tijdelijke "
+"pakketopslag."
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:3
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:4
+#: package-update-indicator-prefs.c:43
+msgid "Package Update Indicator Preferences"
+msgstr "Instellingen van Indicator voor bijgewerkte pakketten"
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:5
+msgid "Edit the Preferences for Package Update Indicator"
+msgstr "Instellingen bewerken van Indicator voor bijgewerkte pakketten"
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:6
+msgid "updates;preferences;"
+msgstr "actualiseringen;updates;instellingen;"
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:7
+msgid "preferences-other"
+msgstr ""
+
+#: pui-about-dialog.ui:7
+msgid "About Package Update Indicator"
+msgstr "Over Indicator voor bijgewerkte pakketten"
+
+#: pui-about-dialog.ui:11
+msgid "Copyright ?? 2018 Guido Berh??rster"
+msgstr "Auteursrecht ?? 2018 Guido Berh??rster"
+
+#. Place your name here.
+#: pui-about-dialog.ui:15
+msgid "Translator"
+msgstr "Pjotr"
+
+#: pui-application.c:73
+msgid "Enable debugging messages"
+msgstr "Foutopsporingsberichten inschakelen"
+
+#: pui-application.c:75
+msgid "Quit running instance of Package Update Indicator"
+msgstr "Be??indig draaiende instantie van Indicator voor bijgewerkte pakketten"
+
+#: pui-application.c:77
+msgid "Print the version number and quit"
+msgstr "Versienummer tonen en afsluiten"
+
+#: pui-application.c:232
+msgid "Up to Date"
+msgstr "Bijgewerkt"
+
+#: pui-application.c:233
+msgid "The system is up to date."
+msgstr "Het systeem is bijgewerkt."
+
+#: pui-application.c:236
+msgid "Software Update"
+msgid_plural "Software Updates"
+msgstr[0] "Actualisering"
+msgstr[1] "Actualiseringen"
+
+#: pui-application.c:239
+msgid "There is a software update available."
+msgstr "Er is een actualisering beschikbaar."
+
+#: pui-application.c:242
+#, c-format
+msgid "There are %u software updates available."
+msgstr "Er zijn %u actualiseringen beschikbaar."
+
+#: pui-application.c:247
+msgid "Important Software Update"
+msgid_plural "Important Software Updates"
+msgstr[0] "Belangrijke actualisering"
+msgstr[1] "Belangrijke actualiseringen"
+
+#: pui-application.c:250
+msgid "There is an important software update available."
+msgstr "Er is een belangrijke actualisering beschikbaar."
+
+#: pui-application.c:253
+#, c-format
+msgid "There are %u important software updates available."
+msgstr "Er zijn %u belangrijke actualiseringen beschikbaar."
+
+#: pui-application.c:257
+#, c-format
+msgid "There are %u software updates available, one of them is important."
+msgstr "Er zijn %u actualiseringen beschikbaar, ????n ervan is belangrijk."
+
+#: pui-application.c:262
+#, c-format
+msgid "There are %u software updates available, %u of them are important."
+msgstr "Er zijn %u actualiseringen beschikbaar, %u daarvan zijn belangrijk."
+
+#: pui-application.c:270
+msgid "Logout Required"
+msgstr "Afmelden vereist"
+
+#: pui-application.c:271
+msgid "You need to log out and back in for the update to take effect."
+msgstr ""
+"U dient zich af te melden en weer aan te melden om de actualisering van 
kracht te laten worden."
+
+#: pui-application.c:275
+msgid "Restart Required"
+msgstr "Herstart vereist"
+
+#: pui-application.c:276
+msgid "The computer has to be restarted for the updates to take effect."
+msgstr ""
+"De computer moet opnieuw worden opgestart om de actualiseringen van kracht te 
laten worden."
+
+#: pui-application.c:324
+msgid "Install Updates"
+msgstr "Actualiseringen installeren"
+
+#: pui-application.c:434
+msgid "Update notifications are not supported."
+msgstr "Actualiseringsmeldingen worden niet ondersteund."
+
+#: pui-menu.ui:13
+msgid "_Install updates"
+msgstr "_Installeer actualiseringen"
+
+#: pui-menu.ui:22
+msgid "_Preferences???"
+msgstr "_Instellingen???"
+
+#: pui-menu.ui:31
+msgid "_About???"
+msgstr "_Over???"
+
+#: pui-prefs-window.ui:17
+msgid "always"
+msgstr "altijd"
+
+#: pui-prefs-window.ui:22
+msgid "every hour"
+msgstr "elk uur"
+
+#: pui-prefs-window.ui:27
+msgid "every 8 hours"
+msgstr "elke acht uur"
+
+#: pui-prefs-window.ui:32
+msgid "twice a day"
+msgstr "tweemaal daags"
+
+#: pui-prefs-window.ui:37
+msgid "daily"
+msgstr "dagelijks"
+
+#: pui-prefs-window.ui:42
+msgid "weekly"
+msgstr "wekelijks"
+
+#: pui-prefs-window.ui:47
+msgid "never"
+msgstr "nooit"
+
+#: pui-prefs-window.ui:76
+msgid "_Refresh cache:"
+msgstr "Tijdelijke opslag _verversen:"
+
+#: pui-prefs-window.ui:89
+msgid "_Command for installing updates:"
+msgstr "_Opdracht voor het installeren van actualiseringen:"
+
+#: pui-prefs-window.ui:130
+msgid "Use _mobile connection"
+msgstr "_Mobiele verbinding gebruiken"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/po/pt_BR.po 
new/package-update-indicator-8/po/pt_BR.po
--- old/package-update-indicator-7/po/pt_BR.po  1970-01-01 01:00:00.000000000 
+0100
+++ new/package-update-indicator-8/po/pt_BR.po  2022-02-27 22:50:01.000000000 
+0100
@@ -0,0 +1,229 @@
+# Portuguese translations for package-update-indicator package
+# Tradu????es em portugu??s brasileiro para o pacote package-update-indicator.
+# Copyright (C) 2018 Guido Berhoerster
+# This file is distributed under the same license as the 
package-update-indicator package.
+# Juliano de Souza Camargo <[email protected]>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: package-update-indicator 1\n"
+"Report-Msgid-Bugs-To: [email protected]\n"
+"POT-Creation-Date: 2018-12-08 08:50+0000\n"
+"PO-Revision-Date: 2022-02-25 17:11-0300\n"
+"Last-Translator: Juliano de Souza Camargo <[email protected]>\n"
+"Language-Team: Brazilian Portuguese <none>\n"
+"Language: pt_BR\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1)\n"
+"X-Generator: Gtranslator 40.0\n"
+
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:3
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:4
+#: package-update-indicator.c:59 pui-application.c:489
+msgid "Package Update Indicator"
+msgstr "Indicador de atualiza????o de pacotes"
+
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:5
+#: pui-about-dialog.ui:12
+msgid "Notify about available software updates"
+msgstr "Informa sobre as atualiza????es de software dispon??veis"
+
+#: org.guido-berhoerster.code.package-update-indicator.desktop.in:6
+msgid "system-software-update"
+msgstr "system-software-update"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:7
+msgid "Update command"
+msgstr "Comando para atualizar"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:8
+msgid "Command for installing updates."
+msgstr "O comando usado para instalar as atualiza????es."
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:12
+msgid "Refresh interval"
+msgstr "Intervalo de atualiza????o"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:13
+msgid "The interval in seconds for refreshing metadata."
+msgstr "O intervalo em segundos para atualizar os metadados."
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:18
+msgid "Whether to use a mobile connection"
+msgstr "Se deve usar a conex??o m??vel"
+
+#: org.guido-berhoerster.code.package-update-indicator.gschema.xml:19
+msgid "If enabled, use a mobile connection refreshing the package cache."
+msgstr "Se ativado, usa a conex??o m??vel para atualizar o cache de pacotes."
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:3
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:4
+#: package-update-indicator-prefs.c:43
+msgid "Package Update Indicator Preferences"
+msgstr "Prefer??ncias do Indicador de atualiza????o de pacotes"
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:5
+msgid "Edit the Preferences for Package Update Indicator"
+msgstr "Editar as prefer??ncias do Indicador de atualiza????o de pacotes"
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:6
+msgid "updates;preferences;"
+msgstr "atualiza????es;prefer??ncias;"
+
+#: org.guido-berhoerster.code.package-update-indicator.preferences.desktop.in:7
+msgid "preferences-other"
+msgstr "preferences-other"
+
+#: pui-about-dialog.ui:7
+msgid "About Package Update Indicator"
+msgstr "Sobre o Indicador de atualiza????o de pacotes"
+
+#: pui-about-dialog.ui:11
+msgid "Copyright ?? 2018 Guido Berh??rster"
+msgstr "Copyright ?? 2018 Guido Berh??rster"
+
+#. Place your name here.
+#: pui-about-dialog.ui:15
+msgid "Translator"
+msgstr "Juliano de Souza Camargo <[email protected]>"
+
+#: pui-application.c:73
+msgid "Enable debugging messages"
+msgstr "Ativar as mensagens de depura????o"
+
+#: pui-application.c:75
+msgid "Quit running instance of Package Update Indicator"
+msgstr "Sair da inst??ncia ativa do Indicador de atualiza????o de pacotes"
+
+#: pui-application.c:77
+msgid "Print the version number and quit"
+msgstr "Exibir o n??mero de vers??o e sair"
+
+#: pui-application.c:232
+msgid "Up to Date"
+msgstr "Atualizado"
+
+#: pui-application.c:233
+msgid "The system is up to date."
+msgstr "O sistema est?? atualizado."
+
+#: pui-application.c:236
+msgid "Software Update"
+msgid_plural "Software Updates"
+msgstr[0] "Atualiza????o de software"
+msgstr[1] "Atualiza????es de software"
+
+#: pui-application.c:239
+msgid "There is a software update available."
+msgstr "Uma atualiza????o de software est?? dispon??vel."
+
+#: pui-application.c:242
+#, c-format
+msgid "There are %u software updates available."
+msgstr "%u atualiza????es de software est??o dispon??veis."
+
+#: pui-application.c:247
+msgid "Important Software Update"
+msgid_plural "Important Software Updates"
+msgstr[0] "Atualiza????o importante de software"
+msgstr[1] "Atualiza????es importantes de software"
+
+#: pui-application.c:250
+msgid "There is an important software update available."
+msgstr "Uma atualiza????o importante de software est?? dispon??vel."
+
+#: pui-application.c:253
+#, c-format
+msgid "There are %u important software updates available."
+msgstr "%u atualiza????es importantes de software est??o dispon??veis."
+
+#: pui-application.c:257
+#, c-format
+msgid "There are %u software updates available, one of them is important."
+msgstr "%u atualiza????es de software dispon??veis, uma delas ?? importante."
+
+#: pui-application.c:262
+#, c-format
+msgid "There are %u software updates available, %u of them are important."
+msgstr "%u atualiza????es de software dispon??veis, %u delas s??o importantes."
+
+#: pui-application.c:270
+msgid "Logout Required"
+msgstr "O encerrar da sess??o ?? necess??rio"
+
+#: pui-application.c:271
+msgid "You need to log out and back in for the update to take effect."
+msgstr ""
+"Voc?? precisa encerrar a sess??o e voltar a inici??-la para que as 
atualiza????es "
+"tenham efeito."
+
+#: pui-application.c:275
+msgid "Restart Required"
+msgstr "O reiniciar ?? necess??rio"
+
+#: pui-application.c:276
+msgid "The computer has to be restarted for the updates to take effect."
+msgstr ""
+"O computador precisa ser reiniciado para que as atualiza????es tenham efeito."
+
+#: pui-application.c:324
+msgid "Install Updates"
+msgstr "Instalar as atualiza????es"
+
+#: pui-application.c:434
+msgid "Update notifications are not supported."
+msgstr "As notifica????es de atualiza????es n??o s??o suportadas."
+
+#: pui-menu.ui:13
+msgid "_Install updates"
+msgstr "_Instalar as atualiza????es"
+
+#: pui-menu.ui:22
+msgid "_Preferences???"
+msgstr "_Prefer??ncias???"
+
+#: pui-menu.ui:31
+msgid "_About???"
+msgstr "So_bre..."
+
+#: pui-prefs-window.ui:17
+msgid "always"
+msgstr "sempre"
+
+#: pui-prefs-window.ui:22
+msgid "every hour"
+msgstr "a cada hora"
+
+#: pui-prefs-window.ui:27
+msgid "every 8 hours"
+msgstr "a cada 8 horas"
+
+#: pui-prefs-window.ui:32
+msgid "twice a day"
+msgstr "duas vezes ao dia"
+
+#: pui-prefs-window.ui:37
+msgid "daily"
+msgstr "diariamente"
+
+#: pui-prefs-window.ui:42
+msgid "weekly"
+msgstr "semanalmente"
+
+#: pui-prefs-window.ui:47
+msgid "never"
+msgstr "nunca"
+
+#: pui-prefs-window.ui:76
+msgid "_Refresh cache:"
+msgstr "Atualiza_r o cache:"
+
+#: pui-prefs-window.ui:89
+msgid "_Command for installing updates:"
+msgstr "_Comando para instalar as atualiza????es:"
+
+#: pui-prefs-window.ui:130
+msgid "Use _mobile connection"
+msgstr "Usar a conex??o _m??vel"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/pui-application.c 
new/package-update-indicator-8/pui-application.c
--- old/package-update-indicator-7/pui-application.c    2019-09-06 
13:49:54.000000000 +0200
+++ new/package-update-indicator-8/pui-application.c    2022-09-07 
09:25:53.000000000 +0200
@@ -48,6 +48,7 @@
        PuiState        state;
        gchar           *update_command;
        gchar           *error_message;
+       gboolean        always_active;
 };
 
 G_DEFINE_TYPE(PuiApplication, pui_application, G_TYPE_APPLICATION)
@@ -55,6 +56,7 @@
 enum {
     PROP_0,
     PROP_UPDATE_COMMAND,
+    PROP_ALWAYS_ACTIVE,
     PROP_LAST
 };
 
@@ -189,6 +191,109 @@
 }
 
 static void
+update_menu_item(GtkWidget* widget, gpointer user_data)
+{
+       gchar **        hidden_menu_items = user_data;
+       const gchar *   action_name;
+       const gchar *   name;
+
+       g_return_if_fail(GTK_IS_MENU_ITEM(widget));
+       action_name = gtk_actionable_get_action_name(GTK_ACTIONABLE(widget));
+       if (!g_str_has_prefix(action_name, "app.")) {
+               return;
+       }
+       name = action_name + strlen("app.");
+       gtk_widget_set_visible(widget,
+           !g_strv_contains((const gchar * const *)hidden_menu_items, name));
+}
+
+static void
+update_menu_items(PuiApplication *self)
+{
+       gchar **        hidden_menu_items;
+       GtkMenu *       menu;
+
+       menu = app_indicator_get_menu(self->indicator);
+       hidden_menu_items = g_settings_get_strv(self->settings,
+           "hide-menu-items");
+       g_return_if_fail(hidden_menu_items != NULL);
+       g_return_if_fail((menu != NULL) && GTK_IS_CONTAINER(menu));
+       gtk_container_foreach(GTK_CONTAINER(menu), update_menu_item,
+           hidden_menu_items);
+       g_strfreev(hidden_menu_items);
+}
+
+static void
+update_indicator(PuiApplication *self, const gchar *title)
+{
+       switch (self->state) {
+       case PUI_STATE_INITIAL:
+               app_indicator_set_status(self->indicator,
+                   APP_INDICATOR_STATUS_PASSIVE);
+               break;
+       case PUI_STATE_UP_TO_DATE:
+               app_indicator_set_status(self->indicator, self->always_active ?
+                   APP_INDICATOR_STATUS_ACTIVE :
+                   APP_INDICATOR_STATUS_PASSIVE);
+               break;
+       case PUI_STATE_NORMAL_UPDATES_AVAILABLE:        /* FALLTHGROUGH */
+       case PUI_STATE_IMPORTANT_UPDATES_AVAILABLE:     /* FALLTHGROUGH */
+       case PUI_STATE_SESSION_RESTART_REQUIRED:        /* FALLTHGROUGH */
+       case PUI_STATE_SYSTEM_RESTART_REQUIRED:         /* FALLTHGROUGH */
+       case PUI_STATE_ERROR:
+               app_indicator_set_status(self->indicator,
+                   APP_INDICATOR_STATUS_ACTIVE);
+               break;
+       }
+       app_indicator_set_icon_full(self->indicator, icon_names[self->state],
+           title);
+}
+
+static void
+update_notification(PuiApplication *self, const gchar *title, const gchar 
*body)
+{
+       GSimpleAction   *install_updates_action;
+       GApplication    *application = G_APPLICATION(self);
+       GNotification   *notification = NULL;
+
+       install_updates_action =
+           G_SIMPLE_ACTION(g_action_map_lookup_action(G_ACTION_MAP(self),
+           "install-updates"));
+
+       switch (self->state) {
+       case PUI_STATE_INITIAL:                         /* FALLTHGROUGH */
+       case PUI_STATE_UP_TO_DATE:                      /* FALLTHGROUGH */
+       case PUI_STATE_ERROR:
+               /* withdraw exisiting notification */
+               g_application_withdraw_notification(application,
+                   "package-updates-or-restart-required");
+               break;
+       case PUI_STATE_NORMAL_UPDATES_AVAILABLE:        /* FALLTHGROUGH */
+       case PUI_STATE_IMPORTANT_UPDATES_AVAILABLE:     /* FALLTHGROUGH */
+       case PUI_STATE_SESSION_RESTART_REQUIRED:        /* FALLTHGROUGH */
+       case PUI_STATE_SYSTEM_RESTART_REQUIRED:
+               /* create notification */
+               notification = g_notification_new(title);
+               g_notification_set_body(notification, body);
+               g_notification_set_icon(notification, self->icons[self->state]);
+               g_notification_set_priority(notification,
+                   G_NOTIFICATION_PRIORITY_NORMAL);
+               if (g_action_get_enabled(G_ACTION(install_updates_action))) {
+                       g_notification_add_button(notification,
+                           _("Install Updates"),
+                           "app.install-updates");
+               }
+               g_application_send_notification(application,
+                   "package-updates-or-restart-required", notification);
+               break;
+       }
+
+       if (notification != NULL) {
+               g_object_unref(notification);
+       }
+}
+
+static void
 update_ui(PuiApplication *self)
 {
        GSimpleAction   *install_updates_action;
@@ -197,7 +302,6 @@
        gchar           *title = NULL;
        gchar           *body = NULL;
        GApplication    *application = G_APPLICATION(self);
-       GNotification   *notification = NULL;
 
        install_updates_action =
            G_SIMPLE_ACTION(g_action_map_lookup_action(G_ACTION_MAP(self),
@@ -285,57 +389,9 @@
                break;
        }
 
-       /* indicator */
-       switch (self->state) {
-       case PUI_STATE_INITIAL:
-               app_indicator_set_status(self->indicator,
-                   APP_INDICATOR_STATUS_PASSIVE);
-               break;
-       case PUI_STATE_UP_TO_DATE:                      /* FALLTHGROUGH */
-       case PUI_STATE_NORMAL_UPDATES_AVAILABLE:        /* FALLTHGROUGH */
-       case PUI_STATE_IMPORTANT_UPDATES_AVAILABLE:     /* FALLTHGROUGH */
-       case PUI_STATE_SESSION_RESTART_REQUIRED:        /* FALLTHGROUGH */
-       case PUI_STATE_SYSTEM_RESTART_REQUIRED:         /* FALLTHGROUGH */
-       case PUI_STATE_ERROR:
-               app_indicator_set_status(self->indicator,
-                   APP_INDICATOR_STATUS_ACTIVE);
-               break;
-       }
-       app_indicator_set_icon_full(self->indicator, icon_names[self->state],
-           title);
-
-       /* notification */
-       switch (self->state) {
-       case PUI_STATE_INITIAL:                         /* FALLTHGROUGH */
-       case PUI_STATE_UP_TO_DATE:                      /* FALLTHGROUGH */
-       case PUI_STATE_ERROR:
-               /* withdraw exisiting notification */
-               g_application_withdraw_notification(application,
-                   "package-updates-or-restart-required");
-               break;
-       case PUI_STATE_NORMAL_UPDATES_AVAILABLE:        /* FALLTHGROUGH */
-       case PUI_STATE_IMPORTANT_UPDATES_AVAILABLE:     /* FALLTHGROUGH */
-       case PUI_STATE_SESSION_RESTART_REQUIRED:        /* FALLTHGROUGH */
-       case PUI_STATE_SYSTEM_RESTART_REQUIRED:
-               /* create notification */
-               notification = g_notification_new(title);
-               g_notification_set_body(notification, body);
-               g_notification_set_icon(notification, self->icons[self->state]);
-               g_notification_set_priority(notification,
-                   G_NOTIFICATION_PRIORITY_NORMAL);
-               if (g_action_get_enabled(G_ACTION(install_updates_action))) {
-                       g_notification_add_button(notification,
-                           _("Install Updates"),
-                           "app.install-updates");
-               }
-               g_application_send_notification(application,
-                   "package-updates-or-restart-required", notification);
-               break;
-       }
-
-       if (notification != NULL) {
-               g_object_unref(notification);
-       }
+       update_indicator(self, title);
+       update_menu_items(self);
+       update_notification(self, title, body);
 
        g_debug("indicator icon: %s, notification title: \"%s\", "
            "notification body: \"%s\"", icon_names[self->state], title, body);
@@ -406,6 +462,13 @@
 }
 
 static void
+on_hide_menu_items_changed(GSettings *settings, gchar *key, gpointer user_data)
+{
+       g_debug("setting hide-menu-items changed");
+       update_menu_items(user_data);
+}
+
+static void
 on_backend_restart_required(PuiBackend *backend, gpointer user_data)
 {
        PuiApplication  *self = user_data;
@@ -478,10 +541,8 @@
                self->icons[i] = g_themed_icon_new(icon_names[i]);
        }
 
-       /* create settings */
+       /* create settings backend */
        self->settings = pui_settings_new();
-       g_settings_bind(self->settings, "update-command", self,
-           "update-command", G_SETTINGS_BIND_GET);
 
        /* start instantiating backend */
        pui_backend_new_async(self->cancellable, on_pui_backend_finished, self);
@@ -500,6 +561,22 @@
        gtk_widget_show_all(menu);
        app_indicator_set_menu(self->indicator, GTK_MENU(menu));
 
+       /*
+        * bind settings to properties after indicator with its menu are
+        * initialized, if the setting "always-active" is set by the user the
+        * corresponding property is set accordingly which in turn invokes
+        * update_ui() so order matters here
+        */
+       g_settings_bind(self->settings, "update-command", self,
+           "update-command", G_SETTINGS_BIND_GET);
+       g_settings_bind(self->settings, "always-active", self,
+           "always-active", G_SETTINGS_BIND_GET);
+
+       /* watch hide-menu-items setting in order to update the menu */
+       g_signal_connect(self->settings, "changed::hide-menu-items",
+           G_CALLBACK(on_hide_menu_items_changed), self);
+
+       /* ensure the ui reflects the current state */
        update_ui(self);
 
        /* keep GApplication running */
@@ -603,6 +680,12 @@
                g_debug("property \"update-command\" set to \"%s\"",
                    self->update_command);
                break;
+       case PROP_ALWAYS_ACTIVE:
+               self->always_active = g_value_get_boolean(value);
+               g_debug("property \"always-active\" set to \"%s\"",
+                   self->always_active ? "TRUE" : "FALSE");
+               update_ui(self);
+               break;
        default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
                break;
@@ -619,6 +702,9 @@
        case PROP_UPDATE_COMMAND:
                g_value_set_string(value, self->update_command);
                break;
+       case PROP_ALWAYS_ACTIVE:
+               g_value_set_boolean(value, self->always_active);
+               break;
        default:
                G_OBJECT_WARN_INVALID_PROPERTY_ID(object, property_id, pspec);
                break;
@@ -650,8 +736,7 @@
        }
 
        if (self->about_dialog != NULL) {
-               g_clear_pointer(&self->about_dialog,
-                   (GDestroyNotify)(gtk_widget_destroy));
+               g_clear_pointer(&self->about_dialog, gtk_widget_destroy);
        }
 
        for (i = 0; i < G_N_ELEMENTS(self->icons); i++) {
@@ -688,6 +773,10 @@
        properties[PROP_UPDATE_COMMAND] = g_param_spec_string("update-command",
            "Update command", "Command for installing updates", NULL,
            G_PARAM_READWRITE);
+       properties[PROP_ALWAYS_ACTIVE] = g_param_spec_boolean("always-active",
+           "Whether the indicator is always active",
+           "Whether the indicator is active even when packages are up to date",
+           TRUE, G_PARAM_READWRITE);
 
        g_object_class_install_properties(object_class, PROP_LAST, properties);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/package-update-indicator-7/pui-prefs-application.c 
new/package-update-indicator-8/pui-prefs-application.c
--- old/package-update-indicator-7/pui-prefs-application.c      2018-07-05 
15:09:52.000000000 +0200
+++ new/package-update-indicator-8/pui-prefs-application.c      2022-09-07 
09:25:53.000000000 +0200
@@ -32,6 +32,9 @@
 struct _PuiPrefsApplication {
        GtkApplication  parent_instance;
        GSettings       *settings;
+       GtkWidget       *update_command_entry;
+       GtkWidget       *refresh_interval_combo_box;
+       GtkWidget       *use_mobile_check_button;
 };
 
 G_DEFINE_TYPE(PuiPrefsApplication, pui_prefs_application, GTK_TYPE_APPLICATION)
@@ -117,6 +120,38 @@
 }
 
 static void
+update_widgets(PuiPrefsApplication *self)
+{
+       gchar **        disabled_preferences;
+
+       g_return_if_fail(self->update_command_entry != NULL);
+       g_return_if_fail(self->refresh_interval_combo_box != NULL);
+       g_return_if_fail(self->use_mobile_check_button != NULL);
+
+       disabled_preferences = g_settings_get_strv(self->settings,
+           "disable-preferences");
+       g_return_if_fail(disabled_preferences != NULL);
+       gtk_widget_set_sensitive(self->update_command_entry,
+           !g_strv_contains((const gchar * const *)disabled_preferences,
+           "update-command"));
+       gtk_widget_set_sensitive(self->refresh_interval_combo_box,
+           !g_strv_contains((const gchar * const *)disabled_preferences,
+           "refresh-interval"));
+       gtk_widget_set_sensitive(self->use_mobile_check_button,
+           !g_strv_contains((const gchar * const *)disabled_preferences,
+           "use-mobile-connection"));
+       g_strfreev(disabled_preferences);
+}
+
+static void
+on_disable_preferences_changed(GSettings *settings, gchar *key,
+    gpointer user_data)
+{
+       g_debug("setting disable-preferences changed");
+       update_widgets(user_data);
+}
+
+static void
 pui_prefs_application_startup(GApplication *application)
 {
        PuiPrefsApplication *self = PUI_PREFS_APPLICATION(application);
@@ -125,9 +160,6 @@
        GtkBuilder      *builder;
        GtkWidget       *window;
        GtkTreeModel    *tree_model;
-       GtkWidget       *update_command_entry;
-       GtkWidget       *refresh_interval_combo_box;
-       GtkWidget       *use_mobile_check_button;
 
        application_class->startup(application);
 
@@ -141,25 +173,31 @@
            "package-update-indicator/preferences/pui-prefs-window.ui");
        window = GTK_WIDGET(gtk_builder_get_object(builder, "window"));
        gtk_application_add_window(GTK_APPLICATION(self), GTK_WINDOW(window));
-       update_command_entry = GTK_WIDGET(gtk_builder_get_object(builder,
+       self->update_command_entry = GTK_WIDGET(gtk_builder_get_object(builder,
            "update-command"));
-       refresh_interval_combo_box = GTK_WIDGET(gtk_builder_get_object(builder,
-           "refresh-interval"));
-       tree_model =
-           gtk_combo_box_get_model(GTK_COMBO_BOX(refresh_interval_combo_box));
-       use_mobile_check_button = GTK_WIDGET(gtk_builder_get_object(builder,
+       self->refresh_interval_combo_box =
+           GTK_WIDGET(gtk_builder_get_object(builder, "refresh-interval"));
+       tree_model = gtk_combo_box_get_model(
+           GTK_COMBO_BOX(self->refresh_interval_combo_box));
+       self->use_mobile_check_button =
+           GTK_WIDGET(gtk_builder_get_object(builder,
            "use-mobile-connection"));
 
        /* bind settings to widgets */
        self->settings = pui_settings_new();
        g_settings_bind(self->settings, "update-command",
-           update_command_entry, "text", G_SETTINGS_BIND_DEFAULT);
+           self->update_command_entry, "text", G_SETTINGS_BIND_DEFAULT);
        g_settings_bind_with_mapping(self->settings, "refresh-interval",
-           refresh_interval_combo_box, "active", G_SETTINGS_BIND_DEFAULT,
-           map_refresh_interval_to_index, map_index_to_refresh_interval,
-           tree_model, NULL);
+           self->refresh_interval_combo_box, "active",
+           G_SETTINGS_BIND_DEFAULT, map_refresh_interval_to_index,
+           map_index_to_refresh_interval, tree_model, NULL);
        g_settings_bind(self->settings, "use-mobile-connection",
-           use_mobile_check_button, "active", G_SETTINGS_BIND_DEFAULT);
+           self->use_mobile_check_button, "active", G_SETTINGS_BIND_DEFAULT);
+
+       /* watch disable-preferences setting in order to update the window */
+       g_signal_connect(self->settings, "changed::disable-preferences",
+           G_CALLBACK(on_disable_preferences_changed), self);
+       update_widgets(self);
 
        /* show window */
        gtk_widget_show(window);
@@ -189,6 +227,10 @@
                g_clear_object(&self->settings);
        }
 
+       self->update_command_entry = NULL;
+       self->refresh_interval_combo_box = NULL;
+       self->use_mobile_check_button = NULL;
+
        G_OBJECT_CLASS(pui_prefs_application_parent_class)->dispose(object);
 }
 

Reply via email to