Accepting request 331615 from GNOME:Next

Update to 3.17.92

OBS-URL: https://build.opensuse.org/request/show/331615
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gnome-shell-extensions?expand=0&rev=85
This commit is contained in:
Dominique Leuenberger 2015-09-17 12:52:02 +00:00 committed by Git OBS Bridge
parent 22b5e4b01c
commit 13e7825f75
5 changed files with 13 additions and 140 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f7b60af75e06aaf3f1aaf2d72c4ef36e5ac7306fe88243f172258b4a3094b722
size 230400

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:67b4147083bbe8d2b9ef68e1580a7adf62db59f697d28ad42243562012915d27
size 230740

View File

@ -1,3 +1,12 @@
-------------------------------------------------------------------
Wed Sep 16 17:53:24 UTC 2015 - dimstar@opensuse.org
- Update to version 3.17.92:
+ places: Include DESKTOP when desktop icons are enabled.
+ Updated translations.
- Drop gnome-shell-reload-specials-when-xdg-user-dirs-changes.patch:
Upstream reworked the directory monitoring.
-------------------------------------------------------------------
Thu Sep 3 19:20:34 UTC 2015 - zaitor@opensuse.org

View File

@ -18,7 +18,7 @@
Name: gnome-shell-extensions
Version: 3.17.91
Version: 3.17.92
Release: 0
Summary: A collection of extensions for GNOME Shell
License: GPL-2.0+
@ -26,8 +26,6 @@ Group: System/GUI/GNOME
Url: http://live.gnome.org/GnomeShell/Extensions
Source: http://download.gnome.org/sources/gnome-shell-extensions/3.17/%{name}-%{version}.tar.xz
Source1: README.SUSE
# PATCH-FIX-UPSTREAM gnome-shell-reload-specials-when-xdg-user-dirs-changes.patch bnc#885490 bgo#746338 cxiong@suse.com -- let place menu handles changes of special user directories properly
Patch1: gnome-shell-reload-specials-when-xdg-user-dirs-changes.patch
# Needed because we build a tarball generated with "git archive"
BuildRequires: gnome-common
# Needed for directory ownership
@ -82,7 +80,6 @@ and also installs the required session files.
%lang_package -n %{name}-common
%prep
%setup -q
%patch1 -p1
# In openSUSE GNOME, we don't launch gnome-session directly, but wrap this through a shell script, /usr/bin/gnome
sed -i "s:Exec=gnome-session:Exec=gnome:g" data/gnome-classic.desktop.in
cp %{S:1} .

View File

@ -1,133 +0,0 @@
From cac578ad835e4aa08e8c238c99fa2918f95813b6 Mon Sep 17 00:00:00 2001
From: Carl Xiong <xiongc05@gmail.com>
Date: Tue, 17 Mar 2015 19:30:13 +0800
Subject: [PATCH] Reload specials when XDG user dirs changes
---
extensions/places-menu/placeDisplay.js | 95 +++++++++++++++++++++++++---------
1 file changed, 70 insertions(+), 25 deletions(-)
diff --git a/extensions/places-menu/placeDisplay.js b/extensions/places-menu/placeDisplay.js
index f7a2567..ec321bc 100644
--- a/extensions/places-menu/placeDisplay.js
+++ b/extensions/places-menu/placeDisplay.js
@@ -193,32 +193,30 @@ const PlacesManager = new Lang.Class({
network: [],
};
- let homePath = GLib.get_home_dir();
-
- this._places.special.push(new PlaceInfo('special',
- Gio.File.new_for_path(homePath),
- _("Home")));
-
- let specials = [];
- for (let i = 0; i < DEFAULT_DIRECTORIES.length; i++) {
- let specialPath = GLib.get_user_special_dir(DEFAULT_DIRECTORIES[i]);
- if (specialPath == null || specialPath == homePath)
- continue;
-
- let file = Gio.File.new_for_path(specialPath), info;
- try {
- info = new PlaceInfo('special', file);
- } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) {
- continue;
- }
-
- specials.push(info);
+ // unlike bookmark file, XDG's 'user-dirs.dirs' here only serves as a
+ // signal gnerator: when 'reload_user_special_dirs_cache' should be
+ // invoked, not a definitive source for user special dirs, which is
+ // handled by GLib as before.
+ this._userDirsFile = this._findUserDirsFile();
+ this._userDirsTimeoutId = 0;
+ this._userDirsMonitor = null;
+
+ if (this._userDirsFile) {
+ this._userDirsMonitor = this._userDirsFile.monitor_file(Gio.FileMonitorFlags.NONE, null);
+ this._userDirsMonitor.connect('changed', Lang.bind(this, function () {
+ if (this._userDirsTimeoutId > 0)
+ return;
+ /* Defensive event compression */
+ this._userDirsTimeoutId = Mainloop.timeout_add(100, Lang.bind(this, function () {
+ this._userDirsTimeoutId = 0;
+ this._reloadSpecial();
+ return false;
+ }));
+ }));
}
-
- specials.sort(function(a, b) {
- return GLib.utf8_collate(a.name, b.name);
- });
- this._places.special = this._places.special.concat(specials);
+ // as stated above, special will always get loaded, even
+ // 'user-dirs.dirs' are not found.
+ this._reloadSpecial();
/*
* Show devices, code more or less ported from nautilus-places-sidebar.c
@@ -248,6 +246,40 @@ const PlacesManager = new Lang.Class({
}
},
+ _reloadSpecial: function() {
+ let homePath = GLib.get_home_dir();
+ this._places.special = [];
+
+ this._places.special.push(new PlaceInfo('special',
+ Gio.File.new_for_path(homePath),
+ _("Home")));
+
+ // Reload cache s.t. the changes on disk would appear here immediately
+ GLib.reload_user_special_dirs_cache();
+ let specials = [];
+ for (let i = 0; i < DEFAULT_DIRECTORIES.length; i++) {
+ let specialPath = GLib.get_user_special_dir(DEFAULT_DIRECTORIES[i]);
+ if (specialPath == homePath)
+ continue;
+
+ let file = Gio.File.new_for_path(specialPath), info;
+ try {
+ info = new PlaceInfo('special', file);
+ } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) {
+ continue;
+ }
+
+ specials.push(info);
+ }
+
+ specials.sort(function(a, b) {
+ return GLib.utf8_collate(a.name, b.name);
+ });
+ this._places.special = this._places.special.concat(specials);
+
+ this.emit('special-updated');
+ },
+
_connectVolumeMonitorSignals: function() {
const signals = ['volume-added', 'volume-removed', 'volume-changed',
'mount-added', 'mount-removed', 'mount-changed',
@@ -354,6 +386,19 @@ const PlacesManager = new Lang.Class({
this.emit('network-updated');
},
+ _findUserDirsFile: function() {
+ let paths = [
+ GLib.build_filenamev([GLib.get_user_config_dir(), 'user-dirs.dirs']),
+ ];
+
+ for (let i = 0; i < paths.length; i++) {
+ if (GLib.file_test(paths[i], GLib.FileTest.EXISTS))
+ return Gio.File.new_for_path(paths[i]);
+ }
+
+ return null;
+ },
+
_findBookmarksFile: function() {
let paths = [
GLib.build_filenamev([GLib.get_user_config_dir(), 'gtk-3.0', 'bookmarks']),
--
1.8.1.4