]> Pileus Git - ~andy/gtk/blobdiff - tests/testiconview-keynav.c
stylecontext: Do invalidation on first resize container
[~andy/gtk] / tests / testiconview-keynav.c
index 07e9479fa22efecbf4e8225ac12a40766a410e1c..31253639b9acd0fc77929b96a2674bb10d9f07e3 100644 (file)
@@ -12,9 +12,7 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  *
  * Author: Matthias Clasen
  */
@@ -209,20 +207,28 @@ focus_in (GtkWidget     *view,
   return FALSE;
 }
 
+#define CSS \
+  "GtkWindow {\n" \
+  "  background-color: @base_color;\n" \
+  "}\n"
+
 static void
-header_style_set (GtkWidget *widget,
-                  GtkStyle  *old_style)
+set_styles (void)
 {
-  GtkStyle *style;
+  GtkCssProvider *provider;
+  GdkScreen *screen;
+
+  provider = gtk_css_provider_new ();
+
+  if (!gtk_css_provider_load_from_data (provider, CSS, -1, NULL))
+    {
+      g_assert_not_reached ();
+    }
 
-  style = gtk_widget_get_style (widget);
+  screen = gdk_display_get_default_screen (gdk_display_get_default ());
 
-  g_signal_handlers_block_by_func (widget, header_style_set, NULL);
-  gtk_widget_modify_bg (widget, GTK_STATE_NORMAL,
-                        &style->base[GTK_STATE_NORMAL]);
-  gtk_widget_modify_fg (widget, GTK_STATE_NORMAL,
-                        &style->text[GTK_STATE_NORMAL]);
-  g_signal_handlers_unblock_by_func (widget, header_style_set, NULL);
+  gtk_style_context_add_provider_for_screen (screen, GTK_STYLE_PROVIDER (provider),
+                                             GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
 }
 
 int
@@ -234,6 +240,8 @@ main (int argc, char *argv[])
 
   gtk_init (&argc, &argv);
 
+  set_styles ();
+
   window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
   vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
   gtk_container_add (GTK_CONTAINER (window), vbox);
@@ -263,12 +271,6 @@ main (int argc, char *argv[])
                     G_CALLBACK (focus_in), NULL);
   g_signal_connect (views.view2, "focus-out-event",
                     G_CALLBACK (focus_out), NULL);
-  g_signal_connect (views.header1, "style-set",
-                    G_CALLBACK (header_style_set), NULL);
-  g_signal_connect (views.header2, "style-set",
-                    G_CALLBACK (header_style_set), NULL);
-  g_signal_connect (window, "style-set",
-                    G_CALLBACK (header_style_set), NULL);
 
   gtk_container_add (GTK_CONTAINER (vbox), views.header1);
   gtk_container_add (GTK_CONTAINER (vbox), views.view1);