[geary] Set background color of embeded composer: Bug #730491
- From: Robert Schroll <rschroll src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary] Set background color of embeded composer: Bug #730491
- Date: Fri, 30 May 2014 02:13:11 +0000 (UTC)
commit e4e3dc41db2d4c9124c632949612307830c08337
Author: Robert Schroll <rschroll gmail com>
Date: Thu May 29 00:05:06 2014 -0400
Set background color of embeded composer: Bug #730491
ComposerEmbed is switched to an EventBox so that it has a Gdk.Window
whose background can be set.
src/client/composer/composer-embed.vala | 16 +++++++++++++++-
1 files changed, 15 insertions(+), 1 deletions(-)
---
diff --git a/src/client/composer/composer-embed.vala b/src/client/composer/composer-embed.vala
index 2f143ff..e195d4d 100644
--- a/src/client/composer/composer-embed.vala
+++ b/src/client/composer/composer-embed.vala
@@ -4,7 +4,7 @@
* (version 2.1 or later). See the COPYING file in this distribution.
*/
-public class ComposerEmbed : Gtk.Bin, ComposerContainer {
+public class ComposerEmbed : Gtk.EventBox, ComposerContainer {
private ComposerWidget composer;
private ConversationViewer conversation_viewer;
@@ -49,6 +49,7 @@ public class ComposerEmbed : Gtk.Bin, ComposerContainer {
}
add(composer);
+ realize.connect(update_style);
composer.editor.focus_in_event.connect(on_focus_in);
composer.editor.focus_out_event.connect(on_focus_out);
conversation_viewer.compose_overlay.add_overlay(this);
@@ -56,6 +57,19 @@ public class ComposerEmbed : Gtk.Bin, ComposerContainer {
present();
}
+ private void update_style() {
+ Gdk.RGBA window_background = top_window.get_style_context()
+ .get_background_color(Gtk.StateFlags.NORMAL);
+ Gdk.RGBA background = get_style_context().get_background_color(Gtk.StateFlags.NORMAL);
+
+ if (background == window_background)
+ return;
+
+ get_style_context().changed.disconnect(update_style);
+ override_background_color(Gtk.StateFlags.NORMAL, window_background);
+ get_style_context().changed.connect(update_style);
+ }
+
public void on_detach() {
composer.state = ComposerWidget.ComposerState.DETACHED;
if (composer.editor.has_focus)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]