Permalink
Browse files

Initial broken port of the settings manager

  • Loading branch information...
1 parent 7f98f7d commit 9fff5000548ed99a4bf65f9862e50bd201552c0f @bluesabre committed Jun 18, 2016
@@ -16,30 +16,26 @@ xfce4_settings_manager_SOURCES = \
xfce-text-renderer.h
xfce4_settings_manager_CFLAGS = \
- $(GTK_CFLAGS) \
+ $(GTK3_CFLAGS) \
$(LIBXFCE4UTIL_CFLAGS) \
- $(LIBXFCE4UI_CFLAGS) \
+ $(LIBXFCE4UI2_CFLAGS) \
$(GARCON_CFLAGS) \
$(XFCONF_CFLAGS) \
- $(EXO_CFLAGS) \
+ $(EXO2_CFLAGS) \
$(PLATFORM_CFLAGS) \
-DGTK_DISABLE_SINGLE_INCLUDES \
- -DGDK_DISABLE_DEPRECATED \
- -DGTK_DISABLE_DEPRECATED \
- -DGSEAL_ENABLE \
- -DGDK_PIXBUF_DISABLE_DEPRECATED \
- -DG_DISABLE_DEPRECATED
+ -DGSEAL_ENABLE
xfce4_settings_manager_LDFLAGS = \
-no-undefined \
$(PLATFORM_LDFLAGS)
xfce4_settings_manager_LDADD = \
- $(GTK_LIBS) \
+ $(GTK3_LIBS) \
$(LIBXFCE4UTIL_LIBS) \
- $(LIBXFCE4UI_LIBS) \
+ $(LIBXFCE4UI2_LIBS) \
$(XFCONF_LIBS) \
- $(EXO_LIBS) \
+ $(EXO2_LIBS) \
$(GARCON_LIBS)
menudir = $(sysconfdir)/xdg/menus
@@ -31,6 +31,7 @@
#endif
#include <gtk/gtk.h>
+#include <gtk/gtkx.h>
#include <gdk/gdkkeysyms.h>
#include <libxfce4util/libxfce4util.h>
@@ -159,15 +160,15 @@ xfce_settings_manager_dialog_class_init (XfceSettingsManagerDialogClass *klass)
static void
xfce_settings_manager_dialog_init (XfceSettingsManagerDialog *dialog)
{
- GtkWidget *align;
- GtkWidget *bbox;
GtkWidget *dialog_vbox;
GtkWidget *ebox;
GtkWidget *entry;
GtkWidget *hbox;
GtkWidget *header;
GtkWidget *scroll;
GtkWidget *viewport;
+ GtkWidget *image;
+ GtkWidget *button;
GList *children;
gchar *path;
@@ -190,20 +191,25 @@ xfce_settings_manager_dialog_init (XfceSettingsManagerDialog *dialog)
xfconf_channel_get_int (dialog->channel, "/last/window-height", 500));
xfce_settings_manager_dialog_set_title (dialog, NULL, NULL, NULL);
- dialog->button_back = xfce_gtk_button_new_mixed (GTK_STOCK_GO_BACK, _("All _Settings"));
- bbox = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
- gtk_container_add (GTK_CONTAINER (bbox), dialog->button_back);
+ dialog->button_back = gtk_dialog_add_button (GTK_DIALOG (dialog), _("All _Settings"), GTK_RESPONSE_NONE);
+ image = gtk_image_new_from_icon_name ("go-previous", GTK_ICON_SIZE_BUTTON);
+ gtk_button_set_image (GTK_BUTTON (dialog->button_back), image);
gtk_widget_set_sensitive (dialog->button_back, FALSE);
gtk_widget_show (dialog->button_back);
g_signal_connect_swapped (G_OBJECT (dialog->button_back), "clicked",
G_CALLBACK (xfce_settings_manager_dialog_go_back), dialog);
+
dialog->button_help = gtk_dialog_add_button (GTK_DIALOG (dialog),
- GTK_STOCK_HELP, GTK_RESPONSE_HELP);
- gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE);
+ _("Help"), GTK_RESPONSE_HELP);
+ image = gtk_image_new_from_icon_name ("help-browser", GTK_ICON_SIZE_BUTTON);
+ gtk_button_set_image (GTK_BUTTON (dialog->button_help), image);
+ button = gtk_dialog_add_button (GTK_DIALOG (dialog), _("Close"), GTK_RESPONSE_CLOSE);
+ image = gtk_image_new_from_icon_name ("window-close", GTK_ICON_SIZE_BUTTON);
+ gtk_button_set_image (GTK_BUTTON (button), image);
/* add box at start of the main box */
- hbox = gtk_hbox_new (FALSE, 0);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0);
dialog_vbox = gtk_bin_get_child (GTK_BIN (dialog));
gtk_box_pack_start (GTK_BOX (dialog_vbox), hbox, FALSE, TRUE, 0);
gtk_box_reorder_child (GTK_BOX (dialog_vbox), hbox, 0);
@@ -224,14 +230,11 @@ xfce_settings_manager_dialog_init (XfceSettingsManagerDialog *dialog)
G_CALLBACK (xfce_settings_manager_dialog_header_style), ebox);
gtk_widget_show (ebox);
- align = gtk_alignment_new (0.0f, 1.0f, 0.0f, 0.0f);
- gtk_container_add (GTK_CONTAINER (ebox), align);
- gtk_container_set_border_width (GTK_CONTAINER (align), 6);
- gtk_widget_show (align);
-
dialog->filter_entry = entry = gtk_entry_new ();
- gtk_container_add (GTK_CONTAINER (align), entry);
- gtk_entry_set_icon_from_stock (GTK_ENTRY (entry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_FIND);
+ gtk_container_add (GTK_CONTAINER (ebox), entry);
+ gtk_widget_set_halign (entry, GTK_ALIGN_START);
+ gtk_widget_set_valign (entry, GTK_ALIGN_END);
+ gtk_entry_set_icon_from_icon_name (GTK_ENTRY (entry), GTK_ENTRY_ICON_SECONDARY, "edit-find");
gtk_entry_set_icon_activatable (GTK_ENTRY (entry), GTK_ENTRY_ICON_SECONDARY, FALSE);
g_signal_connect (G_OBJECT (entry), "changed",
G_CALLBACK (xfce_settings_manager_dialog_entry_changed), dialog);
@@ -255,7 +258,7 @@ xfce_settings_manager_dialog_init (XfceSettingsManagerDialog *dialog)
gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
gtk_widget_show (viewport);
- dialog->category_box = gtk_vbox_new (FALSE, 6);
+ dialog->category_box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
gtk_container_add (GTK_CONTAINER (viewport), dialog->category_box);
gtk_container_set_border_width (GTK_CONTAINER (dialog->category_box), 6);
gtk_widget_show (dialog->category_box);
@@ -311,13 +314,20 @@ xfce_settings_manager_dialog_style_set (GtkWidget *widget,
GtkStyle *old_style)
{
XfceSettingsManagerDialog *dialog = XFCE_SETTINGS_MANAGER_DIALOG (widget);
+ GtkStyleContext *ctx = gtk_widget_get_style_context (widget);
+ GdkRGBA *bg;
GTK_WIDGET_CLASS (xfce_settings_manager_dialog_parent_class)->style_set (widget, old_style);
/* set viewport to color icon view uses for background */
- gtk_widget_modify_bg (dialog->category_viewport,
- GTK_STATE_NORMAL,
- &gtk_widget_get_style(widget)->base[GTK_STATE_NORMAL]);
+ gtk_style_context_get (ctx,
+ GTK_STATE_FLAG_NORMAL,
+ "background-color", &bg,
+ NULL);
+
+ gtk_widget_override_background_color (dialog->category_viewport,
+ GTK_STATE_NORMAL,
+ bg);
}
@@ -329,6 +339,9 @@ xfce_settings_manager_dialog_response (GtkDialog *widget,
XfceSettingsManagerDialog *dialog = XFCE_SETTINGS_MANAGER_DIALOG (widget);
const gchar *help_component;
+ if (response_id == GTK_RESPONSE_NONE)
+ return;
+
if (response_id == GTK_RESPONSE_HELP)
{
if (dialog->help_component != NULL)
@@ -370,8 +383,18 @@ xfce_settings_manager_dialog_header_style (GtkWidget *header,
GtkStyle *old_style,
GtkWidget *ebox)
{
+ GtkStyleContext *ctx = gtk_widget_get_style_context (header);
+ GdkRGBA *bg;
+
/* use the header background */
- gtk_widget_modify_bg (ebox, GTK_STATE_NORMAL, &gtk_widget_get_style(GTK_WIDGET(header))->base[GTK_STATE_NORMAL]);
+ gtk_style_context_get (ctx,
+ GTK_STATE_NORMAL,
+ "background-color", &bg,
+ NULL);
+
+ gtk_widget_override_background_color (ebox,
+ GTK_STATE_NORMAL,
+ bg);
}
@@ -657,9 +680,9 @@ xfce_settings_manager_dialog_entry_changed (GtkWidget *entry,
/* update entry */
if (dialog->filter_text == NULL || filter_text == NULL)
{
- gtk_entry_set_icon_from_stock (GTK_ENTRY (dialog->filter_entry),
+ gtk_entry_set_icon_from_icon_name (GTK_ENTRY (dialog->filter_entry),
GTK_ENTRY_ICON_SECONDARY,
- filter_text == NULL ? GTK_STOCK_FIND : GTK_STOCK_CLEAR);
+ filter_text == NULL ? "edit-find" : "edit-clear");
gtk_entry_set_icon_activatable (GTK_ENTRY (dialog->filter_entry),
GTK_ENTRY_ICON_SECONDARY, filter_text != NULL);
}
@@ -704,7 +727,7 @@ xfce_settings_manager_dialog_entry_key_press (GtkWidget *entry,
GtkTreeModel *model;
const gchar *text;
- if (event->keyval == GDK_Escape)
+ if (event->keyval == GDK_KEY_Escape)
{
text = gtk_entry_get_text (GTK_ENTRY (entry));
if (text != NULL && *text != '\0')
@@ -713,7 +736,7 @@ xfce_settings_manager_dialog_entry_key_press (GtkWidget *entry,
return TRUE;
}
}
- else if (event->keyval == GDK_Return)
+ else if (event->keyval == GDK_KEY_Return)
{
/* count visible children */
n_visible_items = 0;
@@ -821,6 +844,7 @@ xfce_settings_manager_dialog_spawn (XfceSettingsManagerDialog *dialog,
const gchar *command;
gboolean snotify;
GdkScreen *screen;
+ GdkDisplay *display;
GError *error = NULL;
GFile *desktop_file;
gchar *filename;
@@ -859,9 +883,10 @@ xfce_settings_manager_dialog_spawn (XfceSettingsManagerDialog *dialog,
if (pluggable)
{
/* fake startup notification */
- cursor = gdk_cursor_new (GDK_WATCH);
+ display = gdk_display_get_default ();
+ cursor = gdk_cursor_new_for_display (display, GDK_WATCH);
gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET(dialog)), cursor);
- gdk_cursor_unref (cursor);
+ g_object_unref (cursor);
/* create fresh socket */
socket = gtk_socket_new ();
@@ -876,7 +901,7 @@ xfce_settings_manager_dialog_spawn (XfceSettingsManagerDialog *dialog,
dialog->socket_item = g_object_ref (item);
/* spawn dialog with socket argument */
- cmd = g_strdup_printf ("%s --socket-id=%d", command, gtk_socket_get_id (GTK_SOCKET (socket)));
+ cmd = g_strdup_printf ("%s --socket-id=%d", command, (gint)gtk_socket_get_id (GTK_SOCKET (socket)));
if (!xfce_spawn_command_line_on_screen (screen, cmd, FALSE, FALSE, &error))
{
gdk_window_set_cursor (gtk_widget_get_window (GTK_WIDGET(dialog)), NULL);
@@ -981,7 +1006,7 @@ xfce_settings_manager_dialog_scroll_to_item (GtkWidget *iconview
upper = alloc->y + row_height * (row + 1);
/* scroll so item is visible */
- adjustment = gtk_viewport_get_vadjustment (GTK_VIEWPORT (dialog->category_viewport));
+ adjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (dialog->category_viewport));
gtk_adjustment_clamp_page (adjustment, lower, upper);
}
@@ -1038,7 +1063,6 @@ xfce_settings_manager_dialog_add_category (XfceSettingsManagerDialog *dialog,
GarconMenuDirectory *directory)
{
GtkTreeModel *filter;
- GtkWidget *alignment;
GtkWidget *iconview;
GtkWidget *label;
GtkWidget *separator;
@@ -1057,7 +1081,7 @@ xfce_settings_manager_dialog_add_category (XfceSettingsManagerDialog *dialog,
xfce_settings_manager_dialog_filter_category,
category, xfce_settings_manager_dialog_category_free);
- category->box = vbox = gtk_vbox_new (FALSE, 0);
+ category->box = vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
gtk_box_pack_start (GTK_BOX (dialog->category_box), vbox, FALSE, TRUE, 0);
gtk_widget_show (vbox);
@@ -1067,23 +1091,18 @@ xfce_settings_manager_dialog_add_category (XfceSettingsManagerDialog *dialog,
pango_attr_list_insert (attrs, pango_attr_weight_new (PANGO_WEIGHT_BOLD));
gtk_label_set_attributes (GTK_LABEL (label), attrs);
pango_attr_list_unref (attrs);
- gtk_misc_set_alignment (GTK_MISC (label), 0.0f, 0.5f);
+ gtk_widget_set_halign (label, GTK_ALIGN_START);
+ gtk_widget_set_valign (label, GTK_ALIGN_CENTER);
gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, TRUE, 0);
gtk_widget_show (label);
/* separate title and content using a horizontal line */
- separator = gtk_hseparator_new ();
+ separator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
gtk_box_pack_start (GTK_BOX (vbox), separator, FALSE, TRUE, 0);
gtk_widget_show (separator);
- /* use an alignment to separate the category content from the title */
- alignment = gtk_alignment_new (0.0f, 0.0f, 1.0f, 1.0f);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 6, 0, 0, 0);
- gtk_container_add (GTK_CONTAINER (vbox), alignment);
- gtk_widget_show (alignment);
-
category->iconview = iconview = exo_icon_view_new_with_model (GTK_TREE_MODEL (filter));
- gtk_container_add (GTK_CONTAINER (alignment), iconview);
+ gtk_container_add (GTK_CONTAINER (vbox), iconview);
exo_icon_view_set_orientation (EXO_ICON_VIEW (iconview), GTK_ORIENTATION_HORIZONTAL);
exo_icon_view_set_margin (EXO_ICON_VIEW (iconview), 0);
exo_icon_view_set_single_click (EXO_ICON_VIEW (iconview), TRUE);
Oops, something went wrong.

0 comments on commit 9fff500

Please sign in to comment.