This is an automated email from the git hooks/post-receive script. eric pushed a commit to branch master in repository xfce/xfce4-session.
commit 4dd2ff792e932dbb327a86ebad8a638a8d536626 Author: Eric Koegel <[email protected]> Date: Mon Apr 18 15:53:30 2016 +0300 Port balou to Gtk3 --- engines/balou/balou-theme.c | 64 ++++++++++++++++++++++----------------------- engines/balou/balou-theme.h | 4 +-- engines/balou/balou.c | 26 +++++++++--------- engines/balou/balou.h | 5 ++-- engines/balou/config.c | 32 +++++++++-------------- 5 files changed, 59 insertions(+), 72 deletions(-) diff --git a/engines/balou/balou-theme.c b/engines/balou/balou-theme.c index b74542b..5952cf7 100644 --- a/engines/balou/balou-theme.c +++ b/engines/balou/balou-theme.c @@ -48,8 +48,8 @@ static void load_color_pair (const XfceRc *rc, const gchar *name, - GdkColor *color1_return, - GdkColor *color2_return, + GdkRGBA *color1_return, + GdkRGBA *color2_return, const gchar *color_default); static GdkPixbuf *load_pixbuf (const gchar *path, gint available_width, @@ -62,9 +62,9 @@ static void store_cached_preview (const BalouTheme *theme, struct _BalouTheme { - GdkColor bgcolor1; - GdkColor bgcolor2; - GdkColor fgcolor; + GdkRGBA bgcolor1; + GdkRGBA bgcolor2; + GdkRGBA fgcolor; gchar *name; gchar *description; gchar *font; @@ -114,8 +114,8 @@ balou_theme_load (const gchar *name) DEFAULT_BGCOLOR); spec = xfce_rc_read_entry (rc, "fgcolor", DEFAULT_FGCOLOR); - if (!gdk_color_parse (spec, &theme->fgcolor)) - gdk_color_parse (DEFAULT_FGCOLOR, &theme->fgcolor); + if (!gdk_rgba_parse (&theme->fgcolor, spec)) + gdk_rgba_parse (&theme->fgcolor, DEFAULT_FGCOLOR); spec = xfce_rc_read_entry (rc, "font", DEFAULT_FONT); theme->font = g_strdup (spec); @@ -139,9 +139,9 @@ balou_theme_load (const gchar *name) } set_defaults: - gdk_color_parse (DEFAULT_BGCOLOR, &theme->bgcolor1); - gdk_color_parse (DEFAULT_BGCOLOR, &theme->bgcolor2); - gdk_color_parse (DEFAULT_FGCOLOR, &theme->fgcolor); + gdk_rgba_parse (&theme->bgcolor1, DEFAULT_BGCOLOR); + gdk_rgba_parse (&theme->bgcolor2, DEFAULT_BGCOLOR); + gdk_rgba_parse (&theme->fgcolor, DEFAULT_FGCOLOR); theme->font = g_strdup (DEFAULT_FONT); theme->logo_file = NULL; @@ -172,7 +172,7 @@ balou_theme_get_font (const BalouTheme *theme) void balou_theme_get_bgcolor (const BalouTheme *theme, - GdkColor *color_return) + GdkRGBA *color_return) { *color_return = theme->bgcolor1; } @@ -180,7 +180,7 @@ balou_theme_get_bgcolor (const BalouTheme *theme, void balou_theme_get_fgcolor (const BalouTheme *theme, - GdkColor *color_return) + GdkRGBA *color_return) { *color_return = theme->fgcolor; } @@ -203,18 +203,18 @@ balou_theme_draw_gradient (const BalouTheme *theme, GdkRectangle logobox, GdkRectangle textbox) { - GdkColor color; + GdkRGBA color; gint dred; gint dgreen; gint dblue; gint i; cairo_t *cr; - cr = gdk_cairo_create (GDK_DRAWABLE (root)); + cr = gdk_cairo_create (root); - if (gdk_color_equal (&theme->bgcolor1, &theme->bgcolor2)) + if (gdk_rgba_equal (&theme->bgcolor1, &theme->bgcolor2)) { - gdk_cairo_set_source_color (cr, &theme->bgcolor1); + gdk_cairo_set_source_rgba (cr, &theme->bgcolor1); gdk_cairo_rectangle (cr, &logobox); cairo_fill (cr); @@ -235,7 +235,7 @@ balou_theme_draw_gradient (const BalouTheme *theme, color.green = theme->bgcolor2.green + (i * dgreen / logobox.height); color.blue = theme->bgcolor2.blue + (i * dblue / logobox.height); - gdk_cairo_set_source_color (cr, &color); + gdk_cairo_set_source_rgba (cr, &color); cairo_move_to(cr, logobox.x, logobox.y + i); cairo_line_to(cr, logobox.x + logobox.width, logobox.y + i); cairo_stroke(cr); @@ -243,7 +243,7 @@ balou_theme_draw_gradient (const BalouTheme *theme, if (textbox.width != 0 && textbox.height != 0) { - gdk_cairo_set_source_color (cr, &theme->bgcolor1); + gdk_cairo_set_source_rgba (cr, &theme->bgcolor1); gdk_cairo_rectangle (cr, &textbox); cairo_fill(cr); } @@ -292,7 +292,7 @@ balou_theme_generate_preview (const BalouTheme *theme, } root = gdk_screen_get_root_window (gdk_screen_get_default ()); - cr = gdk_cairo_create(GDK_DRAWABLE(root)); + cr = gdk_cairo_create(root); logobox.x = 0; logobox.y = 0; @@ -314,9 +314,7 @@ balou_theme_generate_preview (const BalouTheme *theme, g_object_unref (G_OBJECT (pixbuf)); } - /* replace with gdk_pixbuf_get_from_window in GTK 3 */ - pixbuf = gdk_pixbuf_get_from_drawable (NULL, GDK_DRAWABLE (root), - NULL, 0, 0, 0, 0, WIDTH, HEIGHT); + pixbuf = gdk_pixbuf_get_from_window (root, 0, 0, WIDTH, HEIGHT); scaled = gdk_pixbuf_scale_simple (pixbuf, width, height, GDK_INTERP_BILINEAR); g_object_unref (pixbuf); @@ -351,8 +349,8 @@ balou_theme_destroy (BalouTheme *theme) static void load_color_pair (const XfceRc *rc, const gchar *name, - GdkColor *color1_return, - GdkColor *color2_return, + GdkRGBA *color1_return, + GdkRGBA *color2_return, const gchar *color_default) { const gchar *spec; @@ -361,8 +359,8 @@ load_color_pair (const XfceRc *rc, spec = xfce_rc_read_entry (rc, name, color_default); if (spec == NULL) { - gdk_color_parse (color_default, color1_return); - gdk_color_parse (color_default, color2_return); + gdk_rgba_parse (color1_return, color_default); + gdk_rgba_parse (color2_return, color_default); } else { @@ -370,20 +368,20 @@ load_color_pair (const XfceRc *rc, if (s[0] == NULL) { - gdk_color_parse (color_default, color1_return); - gdk_color_parse (color_default, color2_return); + gdk_rgba_parse (color1_return, color_default); + gdk_rgba_parse (color2_return, color_default); } else if (s[1] == NULL) { - if (!gdk_color_parse (s[0], color1_return)) - gdk_color_parse (color_default, color1_return); + if (!gdk_rgba_parse (color1_return, s[0])) + gdk_rgba_parse (color1_return, color_default); *color2_return = *color1_return; } else { - if (!gdk_color_parse (s[0], color2_return)) - gdk_color_parse (color_default, color2_return); - if (!gdk_color_parse (s[1], color1_return)) + if (!gdk_rgba_parse (color2_return, s[0])) + gdk_rgba_parse (color2_return, color_default); + if (!gdk_rgba_parse (color1_return, s[1])) *color1_return = *color2_return; } diff --git a/engines/balou/balou-theme.h b/engines/balou/balou-theme.h index d7bd927..91994d9 100644 --- a/engines/balou/balou-theme.h +++ b/engines/balou/balou-theme.h @@ -35,9 +35,9 @@ const gchar *balou_theme_get_name (const BalouTheme *theme); const gchar *balou_theme_get_description (const BalouTheme *theme); const gchar *balou_theme_get_font (const BalouTheme *theme); void balou_theme_get_bgcolor (const BalouTheme *theme, - GdkColor *color_return); + GdkRGBA *color_return); void balou_theme_get_fgcolor (const BalouTheme *theme, - GdkColor *color_return); + GdkRGBA *color_return); GdkPixbuf *balou_theme_get_logo (const BalouTheme *theme, gint available_width, gint available_height); diff --git a/engines/balou/balou.c b/engines/balou/balou.c index d98eab5..211a584 100644 --- a/engines/balou/balou.c +++ b/engines/balou/balou.c @@ -24,6 +24,7 @@ #endif #include <X11/Xlib.h> +#include <gdk/gdkx.h> #include <engines/balou/balou.h> @@ -39,10 +40,7 @@ static void balou_window_init (BalouWindow *window, GdkWindow *root, GdkCursor *cursor); static void balou_window_destroy (BalouWindow *window); -#if 0 -static void balou_window_set_text (BalouWindow *window, - const gchar *text); -#endif + static GdkFilterReturn balou_window_filter (GdkXEvent *xevent, GdkEvent *event, gpointer data); @@ -98,11 +96,11 @@ balou_init (Balou *balou, balou_theme_get_bgcolor (theme, &balou->bgcolor); balou_theme_get_fgcolor (theme, &balou->fgcolor); - cursor = gdk_cursor_new (GDK_WATCH); + cursor = gdk_cursor_new_for_display (display, GDK_WATCH); description = pango_font_description_from_string (balou_theme_get_font (theme)); /* determine number of required windows */ - nscreens = gdk_display_get_n_screens (display); + nscreens = XScreenCount (gdk_x11_display_get_xdisplay (display)); for (n = 0; n < nscreens; ++n) { screen = gdk_display_get_screen (display, n); @@ -181,12 +179,12 @@ balou_init (Balou *balou, /* draw the background and display logo pixbuf (if any) */ window = balou->mainwin; - cr = gdk_cairo_create (GDK_DRAWABLE (window->window)); + cr = gdk_cairo_create (window->window); ww = gdk_window_get_width (GDK_WINDOW (window->window)); wh = gdk_window_get_height (GDK_WINDOW (window->window)); - gdk_cairo_set_source_color (cr, &balou->bgcolor); + gdk_cairo_set_source_rgba (cr, &balou->bgcolor); cairo_rectangle (cr, 0, 0, ww, wh); cairo_fill (cr); @@ -208,7 +206,7 @@ balou_init (Balou *balou, } pango_font_description_free (description); - gdk_cursor_unref (cursor); + g_object_unref (cursor); } @@ -237,9 +235,9 @@ balou_fadein (Balou *balou, const gchar *text) ww = gdk_window_get_width (GDK_WINDOW (window->window)); wh = gdk_window_get_height (GDK_WINDOW (window->window)); - cr = gdk_cairo_create (GDK_DRAWABLE (window->window)); + cr = gdk_cairo_create (window->window); - gdk_cairo_set_source_color (cr, &balou->bgcolor); + gdk_cairo_set_source_rgba (cr, &balou->bgcolor); cairo_rectangle (cr, 0, 0, ww, wh); cairo_fill (cr); @@ -262,11 +260,11 @@ balou_fadein (Balou *balou, const gchar *text) median = (window->area.width - area.width) / 2; for (x = 0; (median - x) > BALOU_INCREMENT; x += BALOU_INCREMENT) { - gdk_cairo_set_source_color (cr, &balou->bgcolor); + gdk_cairo_set_source_rgba (cr, &balou->bgcolor); gdk_cairo_rectangle (cr, &window->textbox); cairo_fill (cr); - gdk_cairo_set_source_color (cr, &balou->fgcolor); + gdk_cairo_set_source_rgba (cr, &balou->fgcolor); cairo_move_to (cr, x, window->textbox.y); pango_cairo_show_layout (cr, window->layout); @@ -295,7 +293,7 @@ balou_run (Balou *balou, window->dialog_active = TRUE; - gtk_widget_size_request (dialog, &requisition); + gtk_widget_get_preferred_size (dialog, NULL, &requisition); x = window->area.x + (window->area.width - requisition.width) / 2; y = window->area.y + (window->area.height - requisition.height) / 2; gtk_window_move (GTK_WINDOW (dialog), x, y); diff --git a/engines/balou/balou.h b/engines/balou/balou.h index 16d626d..1f96af2 100644 --- a/engines/balou/balou.h +++ b/engines/balou/balou.h @@ -37,8 +37,8 @@ typedef struct _Balou Balou; struct _Balou { - GdkColor bgcolor; - GdkColor fgcolor; + GdkRGBA bgcolor; + GdkRGBA fgcolor; BalouTheme *theme; @@ -47,7 +47,6 @@ struct _Balou gint nwindows; GdkRectangle fader_area; - GdkPixmap *fader_pm; }; diff --git a/engines/balou/config.c b/engines/balou/config.c index f912569..7c21a2a 100644 --- a/engines/balou/config.c +++ b/engines/balou/config.c @@ -324,8 +324,8 @@ config_install_theme (GtkWidget *item, chooser = gtk_file_chooser_dialog_new (_("Choose theme file to install..."), GTK_WINDOW (toplevel), GTK_FILE_CHOOSER_ACTION_OPEN, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_OPEN, GTK_RESPONSE_OK, + _("_Cancel"), GTK_RESPONSE_CANCEL, + _("_Open"), GTK_RESPONSE_OK, NULL); if (gtk_dialog_run (GTK_DIALOG (chooser)) == GTK_RESPONSE_OK) { @@ -337,11 +337,11 @@ config_install_theme (GtkWidget *item, file); xfce_message_dialog (GTK_WINDOW (toplevel), _("Theme File Error"), - GTK_STOCK_DIALOG_ERROR, + "dialog-error", primary, _("Please check that the file is a valid splash " "theme archive."), - GTK_STOCK_CLOSE, GTK_RESPONSE_ACCEPT, NULL); + _("_Close"), GTK_RESPONSE_ACCEPT, NULL); g_free (primary); } @@ -491,8 +491,8 @@ config_export_theme (GtkWidget *item, dialog = gtk_file_chooser_dialog_new (_("Choose theme filename..."), GTK_WINDOW (toplevel), GTK_FILE_CHOOSER_ACTION_SAVE, - GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, - GTK_STOCK_SAVE, GTK_RESPONSE_OK, + _("_Cancel"), GTK_RESPONSE_CANCEL, + _("_Save"), GTK_RESPONSE_OK, NULL); file = g_strconcat (name, ".tar.gz", NULL); gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), file); @@ -617,22 +617,17 @@ config_create_popupmenu (void) { GtkWidget *menu; GtkWidget *item; - GtkWidget *image; menu = gtk_menu_new (); - item = gtk_image_menu_item_new_with_mnemonic (_("_Install new theme")); - image = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); + item = gtk_menu_item_new_with_mnemonic (_("_Install new theme")); g_object_set_data (G_OBJECT (menu), "install-theme", item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (config_install_theme), menu); gtk_widget_show (item); - item = gtk_image_menu_item_new_with_mnemonic (_("_Remove theme")); - image = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); + item = gtk_menu_item_new_with_mnemonic (_("_Remove theme")); g_object_set_data (G_OBJECT (menu), "remove-theme", item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); #ifdef RM_CMD @@ -647,9 +642,7 @@ config_create_popupmenu (void) gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); gtk_widget_show (item); - item = gtk_image_menu_item_new_with_mnemonic (_("_Export theme")); - image = gtk_image_new_from_stock (GTK_STOCK_SAVE, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (item), image); + item = gtk_menu_item_new_with_mnemonic (_("_Export theme")); g_object_set_data (G_OBJECT (menu), "export-theme", item); gtk_menu_shell_append (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", @@ -860,12 +853,12 @@ config_create (XfsmSplashRc *rc) theme = xfsm_splash_rc_read_entry (rc, "Theme", "Default"); - page = gtk_vbox_new (FALSE, BORDER); + page = gtk_box_new (GTK_ORIENTATION_VERTICAL, BORDER); gtk_container_set_border_width (GTK_CONTAINER (page), BORDER); frame = xfce_gtk_frame_box_new (_("Balou theme"), &bin); gtk_box_pack_start (GTK_BOX (page), frame, TRUE, TRUE, 0); - vbox = gtk_vbox_new (FALSE, 0); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (bin), vbox); swin = gtk_scrolled_window_new (NULL, NULL); @@ -951,9 +944,8 @@ config_configure (XfsmSplashConfig *config, dialog = gtk_dialog_new_with_buttons (_("Configure Balou..."), GTK_WINDOW (parent), GTK_DIALOG_MODAL - | GTK_DIALOG_NO_SEPARATOR | GTK_DIALOG_DESTROY_WITH_PARENT, - GTK_STOCK_CLOSE, + _("_Close"), GTK_RESPONSE_CLOSE, NULL); -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list [email protected] https://mail.xfce.org/mailman/listinfo/xfce4-commits
