From 49120f48474fc8fdc2448c75d961bc238213cfac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Tue, 1 May 2018 14:34:32 +0200 Subject: New upstream version 0.28.2 --- src/Page.vala | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) (limited to 'src/Page.vala') diff --git a/src/Page.vala b/src/Page.vala index 88fecc7..ea8606e 100644 --- a/src/Page.vala +++ b/src/Page.vala @@ -328,18 +328,6 @@ public abstract class Page : Gtk.ScrolledWindow { action.set_enabled (sensitive); } - public void set_action_important(string name, bool important) { - set_action_sensitive (name, important); - } - - public void set_action_visible(string name, bool visible) { - set_action_sensitive (name, visible); - } - - public void set_action_short_label(string name, string short_label) { - debug ("=> Set action short_label called for %s", name); - } - public void set_action_details(string name, string? label, string? tooltip, bool sensitive) { GLib.SimpleAction? action = get_action(name) as GLib.SimpleAction; @@ -2031,6 +2019,11 @@ public abstract class SinglePhotoPage : Page { canvas.draw.connect(on_canvas_exposed); set_event_source(canvas); + Config.Facade.get_instance().colors_changed.connect(on_colors_changed); + } + + ~SinglePhotoPage() { + Config.Facade.get_instance().colors_changed.disconnect(on_colors_changed); } public bool is_transition_in_progress() { @@ -2081,9 +2074,7 @@ public abstract class SinglePhotoPage : Page { int draw_y = (pixmap_dim.height - view_rect.height) / 2; draw_y = draw_y.clamp(0, int.MAX); - - Gdk.cairo_set_source_pixbuf(pixmap_ctx, zoomed, draw_x, draw_y); - pixmap_ctx.paint(); + paint_pixmap_with_background(pixmap_ctx, zoomed, draw_x, draw_y); } protected void on_interactive_zoom(ZoomState interactive_zoom_state) { @@ -2270,7 +2261,7 @@ public abstract class SinglePhotoPage : Page { // when the resize is completed, do a high-quality repaint repaint(); } - + private bool on_canvas_exposed(Cairo.Context exposed_ctx) { // draw pixmap onto canvas unless it's not been instantiated, in which case draw black // (so either old image or contents of another page is not left on screen) @@ -2290,7 +2281,7 @@ public abstract class SinglePhotoPage : Page { protected virtual void updated_pixbuf(Gdk.Pixbuf pixbuf, UpdateReason reason, Dimensions old_dim) { } - + protected virtual void paint(Cairo.Context ctx, Dimensions ctx_dim) { if (is_zoom_supported() && (!static_zoom_state.is_default())) { set_source_color_from_string(ctx, "#000"); @@ -2301,12 +2292,11 @@ public abstract class SinglePhotoPage : Page { } else if (!transition_clock.paint(ctx, ctx_dim.width, ctx_dim.height)) { // transition is not running, so paint the full image on a black background set_source_color_from_string(ctx, "#000"); - + ctx.rectangle(0, 0, pixmap_dim.width, pixmap_dim.height); ctx.fill(); - - Gdk.cairo_set_source_pixbuf(ctx, scaled, scaled_pos.x, scaled_pos.y); - ctx.paint(); + + paint_pixmap_with_background(ctx, scaled, scaled_pos.x, scaled_pos.y); } } @@ -2485,6 +2475,11 @@ public abstract class SinglePhotoPage : Page { return (base.key_press_event != null) ? base.key_press_event(event) : true; } + + private void on_colors_changed() { + invalidate_transparent_background(); + repaint(); + } } // @@ -2667,5 +2662,4 @@ public class DragAndDropHandler { exporter = null; } - } -- cgit v1.2.3