Merge lp:~larsu/nautilus/lp1480217 into lp:~ubuntu-desktop/nautilus/ubuntu

Proposed by Lars Karlitski on 2015-10-30
Status: Merged
Approved by: Iain Lane on 2015-11-02
Approved revision: 474
Merged at revision: 474
Proposed branch: lp:~larsu/nautilus/lp1480217
Merge into: lp:~ubuntu-desktop/nautilus/ubuntu
Diff against target: 225 lines (+91/-31)
2 files modified
debian/changelog (+7/-0)
debian/patches/ubuntu_revert_no_wallpaper.patch (+84/-31)
To merge this branch: bzr merge lp:~larsu/nautilus/lp1480217
Reviewer Review Type Date Requested Status
Iain Lane Approve on 2015-11-02
Sebastien Bacher 2015-10-30 Needs Fixing on 2015-10-30
Review via email: mp+276228@code.launchpad.net

Description of the Change

Update wallpaper patch to listen to scale factor changes

To post a comment you must log in.
Sebastien Bacher (seb128) wrote :

thanks but that doesn't seem to work, the callback is never called here...

review: Needs Fixing
lp:~larsu/nautilus/lp1480217 updated on 2015-10-30
473. By Lars Karlitski on 2015-10-30

Update wallpaper patch to listen to scale factor changes

Fixes LP: #1480217

Lars Karlitski (larsu) wrote :

Indeed, I was on the wrong track there sorry. Force-pushed a new branch.

The problem was that the underlying gdk window never changed size because it only listened to the screen's size-changed signals, but dpi changes are apparently only notified via monitors-changed.

lp:~larsu/nautilus/lp1480217 updated on 2015-11-02
474. By Lars Karlitski on 2015-11-02

wallpaper patch: update desktop icons when device scale changes

Iain Lane (laney) wrote :

this rules! you rule!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/changelog'
2--- debian/changelog 2015-10-22 10:03:30 +0000
3+++ debian/changelog 2015-11-02 11:03:52 +0000
4@@ -1,3 +1,10 @@
5+nautilus (1:3.14.2-0ubuntu14) UNRELEASED; urgency=medium
6+
7+ * debian/patches/ubuntu_revert_no_wallpaper.patch:
8+ - update to listen to scale factor changes (lp: #1480217)
9+
10+ -- Lars Uebernickel <lars.uebernickel@ubuntu.com> Fri, 30 Oct 2015 16:47:46 +0100
11+
12 nautilus (1:3.14.2-0ubuntu13) wily; urgency=medium
13
14 * debian/patches/0001-Respect-gtk-dialogs-use-header-for-all-dialogs.patch:
15
16=== modified file 'debian/patches/ubuntu_revert_no_wallpaper.patch'
17--- debian/patches/ubuntu_revert_no_wallpaper.patch 2014-01-15 01:39:50 +0000
18+++ debian/patches/ubuntu_revert_no_wallpaper.patch 2015-11-02 11:03:52 +0000
19@@ -1,8 +1,23 @@
20-Index: nautilus-3.8.2/libnautilus-private/Makefile.am
21-===================================================================
22---- nautilus-3.8.2.orig/libnautilus-private/Makefile.am 2014-01-15 14:32:04.681605034 +1300
23-+++ nautilus-3.8.2/libnautilus-private/Makefile.am 2014-01-15 14:32:04.677605034 +1300
24-@@ -78,6 +78,8 @@
25+From 90625221ec1ef82fe221c3d376d92f40154cae69 Mon Sep 17 00:00:00 2001
26+From: Lars Uebernickel <lars.uebernickel@canonical.com>
27+Date: Fri, 30 Oct 2015 10:42:23 +0100
28+Subject: [PATCH] Restore background drawing
29+
30+---
31+ libnautilus-private/Makefile.am | 2 +
32+ libnautilus-private/nautilus-desktop-background.c | 601 ++++++++++++++++++++++
33+ libnautilus-private/nautilus-desktop-background.h | 68 +++
34+ src/nautilus-desktop-canvas-view.c | 39 +-
35+ src/nautilus-desktop-window.c | 16 +-
36+ 5 files changed, 706 insertions(+), 20 deletions(-)
37+ create mode 100644 libnautilus-private/nautilus-desktop-background.c
38+ create mode 100644 libnautilus-private/nautilus-desktop-background.h
39+
40+diff --git a/libnautilus-private/Makefile.am b/libnautilus-private/Makefile.am
41+index df31a39..7d3fa83 100644
42+--- a/libnautilus-private/Makefile.am
43++++ b/libnautilus-private/Makefile.am
44+@@ -60,6 +60,8 @@ libnautilus_private_la_SOURCES = \
45 nautilus-debug.h \
46 nautilus-default-file-icon.c \
47 nautilus-default-file-icon.h \
48@@ -11,11 +26,12 @@
49 nautilus-desktop-directory-file.c \
50 nautilus-desktop-directory-file.h \
51 nautilus-desktop-directory.c \
52-Index: nautilus-3.8.2/libnautilus-private/nautilus-desktop-background.c
53-===================================================================
54---- /dev/null 1970-01-01 00:00:00.000000000 +0000
55-+++ nautilus-3.8.2/libnautilus-private/nautilus-desktop-background.c 2014-01-15 14:32:04.677605034 +1300
56-@@ -0,0 +1,599 @@
57+diff --git a/libnautilus-private/nautilus-desktop-background.c b/libnautilus-private/nautilus-desktop-background.c
58+new file mode 100644
59+index 0000000..ec0c70d
60+--- /dev/null
61++++ b/libnautilus-private/nautilus-desktop-background.c
62+@@ -0,0 +1,601 @@
63 +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
64 +
65 +/*
66@@ -352,6 +368,8 @@
67 +
68 + gtk_widget_queue_draw (self->details->widget);
69 +
70++ nautilus_canvas_container_request_update_all (NAUTILUS_CANVAS_CONTAINER (self->details->widget));
71++
72 + return FALSE;
73 +}
74 +
75@@ -615,10 +633,11 @@
76 + "widget", container,
77 + NULL);
78 +}
79-Index: nautilus-3.8.2/libnautilus-private/nautilus-desktop-background.h
80-===================================================================
81---- /dev/null 1970-01-01 00:00:00.000000000 +0000
82-+++ nautilus-3.8.2/libnautilus-private/nautilus-desktop-background.h 2014-01-15 14:32:04.677605034 +1300
83+diff --git a/libnautilus-private/nautilus-desktop-background.h b/libnautilus-private/nautilus-desktop-background.h
84+new file mode 100644
85+index 0000000..aa306ba
86+--- /dev/null
87++++ b/libnautilus-private/nautilus-desktop-background.h
88 @@ -0,0 +1,68 @@
89 +/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
90 +
91@@ -688,11 +707,11 @@
92 +};
93 +
94 +#endif /* __NAUTILIUS_DESKTOP_BACKGROUND_H__ */
95-Index: nautilus-3.8.2/src/nautilus-desktop-canvas-view.c
96-===================================================================
97---- nautilus-3.8.2.orig/src/nautilus-desktop-canvas-view.c 2014-01-15 14:32:04.681605034 +1300
98-+++ nautilus-3.8.2/src/nautilus-desktop-canvas-view.c 2014-01-15 14:32:04.677605034 +1300
99-@@ -41,6 +41,7 @@
100+diff --git a/src/nautilus-desktop-canvas-view.c b/src/nautilus-desktop-canvas-view.c
101+index c6971f5..d66f013 100644
102+--- a/src/nautilus-desktop-canvas-view.c
103++++ b/src/nautilus-desktop-canvas-view.c
104+@@ -39,6 +39,7 @@
105 #include <fcntl.h>
106 #include <gdk/gdkx.h>
107 #include <glib/gi18n.h>
108@@ -700,7 +719,7 @@
109 #include <libnautilus-private/nautilus-desktop-icon-file.h>
110 #include <libnautilus-private/nautilus-directory-notify.h>
111 #include <libnautilus-private/nautilus-file-changes-queue.h>
112-@@ -75,6 +76,8 @@
113+@@ -73,6 +74,8 @@ struct NautilusDesktopCanvasViewDetails
114 gulong delayed_init_signal;
115 guint reload_desktop_timeout;
116 gboolean pending_rescan;
117@@ -709,7 +728,7 @@
118 };
119
120 static void default_zoom_level_changed (gpointer user_data);
121-@@ -231,6 +234,22 @@
122+@@ -229,6 +232,22 @@ desktop_canvas_view_property_filter (GdkXEvent *gdk_xevent,
123 return GDK_FILTER_CONTINUE;
124 }
125
126@@ -732,7 +751,7 @@
127 static const char *
128 real_get_id (NautilusView *view)
129 {
130-@@ -268,6 +287,11 @@
131+@@ -266,6 +285,11 @@ nautilus_desktop_canvas_view_dispose (GObject *object)
132 nautilus_view_update_menus,
133 canvas_view);
134
135@@ -744,7 +763,7 @@
136 G_OBJECT_CLASS (nautilus_desktop_canvas_view_parent_class)->dispose (object);
137 }
138
139-@@ -280,6 +304,7 @@
140+@@ -278,6 +302,7 @@ nautilus_desktop_canvas_view_class_init (NautilusDesktopCanvasViewClass *class)
141
142 G_OBJECT_CLASS (class)->dispose = nautilus_desktop_canvas_view_dispose;
143
144@@ -752,7 +771,7 @@
145 vclass->merge_menus = real_merge_menus;
146 vclass->update_menus = real_update_menus;
147 vclass->get_view_id = real_get_id;
148-@@ -322,17 +347,6 @@
149+@@ -320,17 +345,6 @@ realized_callback (GtkWidget *widget, NautilusDesktopCanvasView *desktop_canvas_
150 desktop_canvas_view);
151 }
152
153@@ -770,7 +789,7 @@
154 static NautilusZoomLevel
155 get_default_zoom_level (void)
156 {
157-@@ -498,9 +512,6 @@
158+@@ -494,9 +508,6 @@ nautilus_desktop_canvas_view_init (NautilusDesktopCanvasView *desktop_canvas_vie
159 nautilus_view_set_show_foreign (NAUTILUS_VIEW (desktop_canvas_view),
160 FALSE);
161
162@@ -780,11 +799,32 @@
163 g_signal_connect_object (desktop_canvas_view, "realize",
164 G_CALLBACK (realized_callback), desktop_canvas_view, 0);
165 g_signal_connect_object (desktop_canvas_view, "unrealize",
166-Index: nautilus-3.8.2/src/nautilus-desktop-window.c
167-===================================================================
168---- nautilus-3.8.2.orig/src/nautilus-desktop-window.c 2014-01-15 14:32:04.681605034 +1300
169-+++ nautilus-3.8.2/src/nautilus-desktop-window.c 2014-01-15 14:32:04.677605034 +1300
170-@@ -207,7 +207,6 @@
171+diff --git a/src/nautilus-desktop-window.c b/src/nautilus-desktop-window.c
172+index 399fb9f..ea5d4bf 100644
173+--- a/src/nautilus-desktop-window.c
174++++ b/src/nautilus-desktop-window.c
175+@@ -40,6 +40,7 @@
176+
177+ struct NautilusDesktopWindowDetails {
178+ gulong size_changed_id;
179++ gulong monitors_changed_id;
180+
181+ gboolean loaded;
182+
183+@@ -311,6 +312,12 @@ unrealize (GtkWidget *widget)
184+ details->size_changed_id = 0;
185+ }
186+
187++ if (details->monitors_changed_id != 0) {
188++ g_signal_handler_disconnect (gtk_window_get_screen (GTK_WINDOW (window)),
189++ details->monitors_changed_id);
190++ details->monitors_changed_id = 0;
191++ }
192++
193+ gtk_widget_destroy (details->desktop_selection);
194+
195+ GTK_WIDGET_CLASS (nautilus_desktop_window_parent_class)->unrealize (widget);
196+@@ -334,7 +341,6 @@ realize (GtkWidget *widget)
197 {
198 NautilusDesktopWindow *window;
199 NautilusDesktopWindowDetails *details;
200@@ -792,7 +832,7 @@
201
202 window = NAUTILUS_DESKTOP_WINDOW (widget);
203 details = window->details;
204-@@ -216,11 +215,6 @@
205+@@ -343,11 +349,6 @@ realize (GtkWidget *widget)
206 gtk_widget_set_events (widget, gtk_widget_get_events (widget)
207 | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK);
208
209@@ -804,3 +844,16 @@
210 /* Do the work of realizing. */
211 GTK_WIDGET_CLASS (nautilus_desktop_window_parent_class)->realize (widget);
212
213+@@ -357,6 +358,9 @@ realize (GtkWidget *widget)
214+ details->size_changed_id =
215+ g_signal_connect (gtk_window_get_screen (GTK_WINDOW (window)), "size-changed",
216+ G_CALLBACK (nautilus_desktop_window_screen_size_changed), window);
217++ details->monitors_changed_id =
218++ g_signal_connect (gtk_window_get_screen (GTK_WINDOW (window)), "monitors-changed",
219++ G_CALLBACK (nautilus_desktop_window_screen_size_changed), window);
220+ }
221+
222+ static void
223+--
224+2.5.0
225+

Subscribers

People subscribed via source and target branches

to all changes: