!17 update to 1.24.0 and fix build error in openeuler

From: @longcheng01 
Reviewed-by: @tangjie02 
Signed-off-by: @tangjie02
This commit is contained in:
openeuler-ci-bot 2022-08-09 08:09:05 +00:00 committed by Gitee
commit dfb4ca50bb
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 288 additions and 10 deletions

View File

@ -2,7 +2,7 @@
%global rel_build 1
# This is needed, because src-url contains branched part of versioning-scheme.
%global branch 1.22
%global branch 1.24
# Settings used for build from snapshots.
%{!?rel_build:%global commit d5b35083e4de1d7457ebd937172bb0054e1fa089}
@ -13,9 +13,9 @@
%{!?rel_build:%global git_tar %{name}-%{version}-%{git_ver}.tar.xz}
Name: mate-screensaver
Version: %{branch}.2
Version: %{branch}.0
%if 0%{?rel_build}
Release: 3
Release: 5
%else
Release: 0.13%{?git_rel}
%endif
@ -29,6 +29,9 @@ URL: http://pub.mate-desktop.org
# Source for snapshot-builds.
%{!?rel_build:Source0: http://git.mate-desktop.org/%{name}/snapshot/%{name}-%{commit}.tar.xz#/%{git_tar}}
# https://github.com/mate-desktop/mate-screensaver/pull/224
Patch1: mate-screensaver_0001-Custom-background-image-for-lock-screen.patch
Requires: openEuler-menus
Requires: system-logos
Requires: gnome-keyring-pam
@ -111,8 +114,7 @@ desktop-file-install \
%{buildroot}%{_datadir}/applications/screensavers/*.desktop
# fix versioned doc dir
#%if 0%{?fedora} > 19 || 0%{?rhel} > 7
%if 1
%if 0%{?fedora} > 19 || 0%{?rhel} > 7 || 0%{?openEuler}
mkdir -p %{buildroot}%{_datadir}/doc/mate-screensaver
mv %{buildroot}%{_datadir}/doc/mate-screensaver-%{version}/mate-screensaver.html %{buildroot}%{_datadir}/doc/mate-screensaver/mate-screensaver.html
%endif
@ -138,7 +140,9 @@ mv %{buildroot}%{_datadir}/doc/mate-screensaver-%{version}/mate-screensaver.html
%{_datadir}/glib-2.0/schemas/org.mate.screensaver.gschema.xml
%{_datadir}/mate-background-properties/cosmos.xml
%{_datadir}/dbus-1/services/org.mate.ScreenSaver.service
%{_datadir}/doc/mate-screensaver/mate-screensaver.html
%if 0%{?fedora} > 19 || 0%{?rhel} > 7 || 0%{?openEuler}
%{_docdir}/mate-screensaver/mate-screensaver.html
%endif
%{_mandir}/man1/*
%files devel
@ -146,11 +150,27 @@ mv %{buildroot}%{_datadir}/doc/mate-screensaver-%{version}/mate-screensaver.html
%changelog
* Mon Dec 13 2021 wangqing <wangqing@uniontech.com> - 1.22.2-3
- delete %dist
* Wed Jul 27 2022 longcheng <longcheng@kylinos.com.cn> - 1.24.0-5
- fix build error in openeuler
* Fri Dec 10 2021 tangjie02 <tangjie02@kylinsec.com.cn> - 1.22.2-2
- Modify the require isoft-menus to openEuler-menus.
* Thu Jul 14 2022 longcheng <longcheng@kylinos.com.cn> - 1.24.0-4
- Modify the require redhats-menus to openEuler-menus
- delete %{?dist}
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.24.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Mar 27 2020 Wolfgang Ulbrich <fedora@raveit.de> - 1.24.0-2
- update UI to add a custom background-image for the lock-screen
* Mon Feb 10 2020 Wolfgang Ulbrich <fedora@raveit.de> - 1.24.0-1
- update to 1.24.0
* Mon Feb 03 2020 Wolfgang Ulbrich <fedora@raveit.de> - 1.23.1-1
- update to 1.23.1
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sat Sep 21 2019 Wolfgang Ulbrich <fedora@raveit.de> - 1.22.2-1
- update to 1.22.2

View File

@ -0,0 +1,258 @@
From 0978e25db8d8032347df820a25f2ea18159e258c Mon Sep 17 00:00:00 2001
From: rbuj <robert.buj@gmail.com>
Date: Sun, 15 Mar 2020 22:36:39 +0100
Subject: [PATCH] Custom background image for lock screen
---
configure.ac | 1 -
data/Makefile.am | 3 ++
data/mate-screensaver-preferences.ui | 61 +++++++++++++++++++++++-
data/org.mate.screensaver.gschema.xml.in | 7 ++-
src/gs-manager.c | 20 +++++++-
src/mate-screensaver-preferences.c | 15 ++++++
6 files changed, 102 insertions(+), 5 deletions(-)
diff --git a/configure.ac b/configure.ac
index e6b1b4f..6a30794 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1112,7 +1112,6 @@ data/Makefile
data/mate-screensavers.menu
data/mate-screensaver.pc
data/org.mate.ScreenSaver.service
-data/org.mate.screensaver.gschema.xml
data/images/Makefile
data/images/cosmos/Makefile
savers/Makefile
diff --git a/data/Makefile.am b/data/Makefile.am
index 942fd55..f842873 100644
--- a/data/Makefile.am
+++ b/data/Makefile.am
@@ -46,6 +46,9 @@ dbussessionservice_DATA = org.mate.ScreenSaver.service
gsettingsschema_in_files = org.mate.screensaver.gschema.xml.in
gsettings_SCHEMAS = $(gsettingsschema_in_files:.xml.in=.xml)
+org.mate.screensaver.gschema.xml: org.mate.screensaver.gschema.xml.in
+ $(AM_V_GEN) sed -e 's|@datadir[@]|$(datadir)|g' $< > $@
+
EXTRA_DIST = \
$(gsettingsschema_in_files) \
$(desktop_in_files) \
diff --git a/data/mate-screensaver-preferences.ui b/data/mate-screensaver-preferences.ui
index cd3855b..0311064 100644
--- a/data/mate-screensaver-preferences.ui
+++ b/data/mate-screensaver-preferences.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.20.0 -->
+<!-- Generated with glade 3.22.2 -->
<interface>
<requires lib="gtk+" version="3.14"/>
<!-- interface-license-type gplv2 -->
@@ -24,6 +24,9 @@
<property name="skip_taskbar_hint">True</property>
<property name="skip_pager_hint">True</property>
<property name="decorated">False</property>
+ <child type="titlebar">
+ <placeholder/>
+ </child>
<child>
<object class="GtkBox" id="vbox10">
<property name="visible">True</property>
@@ -149,6 +152,7 @@
</object>
</child>
</object>
+ <object class="GtkFileFilter" id="picture_filefilter"/>
<object class="GtkImage" id="power_image">
<property name="can_focus">False</property>
<property name="stock">gtk-jump-to</property>
@@ -165,6 +169,9 @@
<property name="default_width">600</property>
<property name="default_height">400</property>
<property name="type_hint">dialog</property>
+ <child type="titlebar">
+ <placeholder/>
+ </child>
<child internal-child="vbox">
<object class="GtkBox" id="dialog-vbox1">
<property name="visible">True</property>
@@ -458,6 +465,56 @@
<property name="position">2</property>
</packing>
</child>
+ <child>
+ <object class="GtkBox" id="activate_delay_hbox1">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Background picture for lock screen:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="hbox5">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkFileChooserButton" id="picture_filename">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="create_folders">False</property>
+ <property name="filter">picture_filefilter</property>
+ <property name="title" translatable="yes">Select Background Image</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
<child>
<object class="GtkLabel" id="root_warning_label">
<property name="can_focus">False</property>
@@ -469,7 +526,7 @@
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">3</property>
+ <property name="position">4</property>
</packing>
</child>
</object>
diff --git a/data/org.mate.screensaver.gschema.xml.in b/data/org.mate.screensaver.gschema.xml.in
index 7671144..5e2cf06 100644
--- a/data/org.mate.screensaver.gschema.xml.in
+++ b/data/org.mate.screensaver.gschema.xml.in
@@ -1,4 +1,4 @@
-<schemalist gettext-domain="@GETTEXT_PACKAGE@">
+<schemalist gettext-domain="mate-screensaver">
<enum id="org.mate.screensaver.Mode">
<value nick="blank-only" value="0"/>
<value nick="random" value="1"/>
@@ -80,5 +80,10 @@
<summary>Allow the session status message to be displayed</summary>
<description>Allow the session status message to be displayed when the screen is locked.</description>
</key>
+ <key name="picture-filename" type="s">
+ <default>'@datadir@/backgrounds/mate/desktop/Stripes.png'</default>
+ <summary>Picture Filename</summary>
+ <description>File to use for the background image.</description>
+ </key>
</schema>
</schemalist>
diff --git a/src/gs-manager.c b/src/gs-manager.c
index cca90d8..139a305 100644
--- a/src/gs-manager.c
+++ b/src/gs-manager.c
@@ -1048,6 +1048,13 @@ gs_manager_init (GSManager *manager)
manager);
mate_bg_load_from_preferences (manager->priv->bg);
+ GSettings *settings = g_settings_new ("org.mate.screensaver");
+ char *filename= g_settings_get_string (settings, "picture-filename");
+ if (g_file_test (filename, G_FILE_TEST_EXISTS)) {
+ mate_bg_set_filename (manager->priv->bg, filename);
+ }
+ g_free (filename);
+ g_object_unref (settings);
}
static void
@@ -1260,11 +1267,22 @@ static void
apply_background_to_window (GSManager *manager,
GSWindow *window)
{
+ GSettings *settings;
+ char *filename;
cairo_surface_t *surface;
int width;
int height;
- mate_bg_load_from_preferences (manager->priv->bg);
+ mate_bg_load_from_preferences(manager->priv->bg);
+
+ settings = g_settings_new ("org.mate.screensaver");
+ filename = g_settings_get_string (settings, "picture-filename");
+
+ if (g_file_test (filename, G_FILE_TEST_EXISTS)) {
+ mate_bg_set_filename (manager->priv->bg, filename);
+ }
+ g_free (filename);
+ g_object_unref (settings);
if (manager->priv->bg == NULL)
{
diff --git a/src/mate-screensaver-preferences.c b/src/mate-screensaver-preferences.c
index 4ead5ed..8efb25a 100644
--- a/src/mate-screensaver-preferences.c
+++ b/src/mate-screensaver-preferences.c
@@ -1085,6 +1085,12 @@ enabled_checkbox_toggled (GtkToggleButton *button, gpointer user_data)
config_set_enabled (gtk_toggle_button_get_active (button));
}
+static void
+picture_filename_changed (GtkFileChooserButton *button, gpointer user_data)
+{
+ g_settings_set_string (screensaver_settings, "picture-filename", gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (button)));
+}
+
static void
ui_disable_lock (gboolean disable)
{
@@ -1533,6 +1539,7 @@ init_capplet (void)
GtkWidget *fullscreen_preview_previous;
GtkWidget *fullscreen_preview_next;
GtkWidget *fullscreen_preview_close;
+ GtkWidget *picture_filename;
gdouble activate_delay;
gboolean enabled;
gboolean is_writable;
@@ -1579,6 +1586,7 @@ init_capplet (void)
fullscreen_preview_close = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_close"));
fullscreen_preview_previous = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_previous_button"));
fullscreen_preview_next = GTK_WIDGET (gtk_builder_get_object (builder, "fullscreen_preview_next_button"));
+ picture_filename = GTK_WIDGET (gtk_builder_get_object (builder, "picture_filename"));
label = GTK_WIDGET (gtk_builder_get_object (builder, "activate_delay_label"));
gtk_label_set_mnemonic_widget (GTK_LABEL (label), activate_delay_hscale);
@@ -1629,6 +1637,13 @@ init_capplet (void)
g_signal_connect (lock_checkbox, "toggled",
G_CALLBACK (lock_checkbox_toggled), NULL);
+ char *path = g_settings_get_string (screensaver_settings, "picture-filename");
+ gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (gtk_builder_get_object (builder, "picture_filename")), path);
+ gtk_file_filter_add_pixbuf_formats (GTK_FILE_FILTER (gtk_builder_get_object (builder, "picture_filefilter")));
+ g_free (path);
+ g_signal_connect (picture_filename, "selection-changed",
+ G_CALLBACK (picture_filename_changed), NULL);
+
enabled = config_get_enabled (&is_writable);
ui_set_enabled (enabled);
if (! is_writable)
--
2.21.1