diff options
33 files changed, 564 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac index ae797918..22d73265 100644 --- a/configure.ac +++ b/configure.ac @@ -182,7 +182,6 @@ PKG_CHECK_MODULES(PLUMA, [ gio-2.0 >= 2.26.0 gtk+-$GTK_API_VERSION >= $GTK_REQUIRED gtksourceview-$GTK_API_VERSION >= 2.9.7 - mate-desktop-2.0 >= 1.9.0 ]) PKG_CHECK_MODULES(X11, [x11]) @@ -199,6 +198,28 @@ AC_SUBST(EGG_SMCLIENT_CFLAGS) AC_SUBST(EGG_SMCLIENT_LIBS) dnl ================================================================ +dnl Mate-desktop support +dnl ================================================================ + +MATEDESKTOP_REQUIRED=1.9.0 + +AC_ARG_WITH(matedesktop, + [AS_HELP_STRING([--without-matedesktop], + [Disable the use of matedesktop])], + [], + [with_matedesktop=yes]) + +AM_CONDITIONAL([WITH_MATEDESKTOP],[test "$with_matedesktop" = "yes"]) + +if test "$with_matedesktop" = "yes"; then + PKG_CHECK_MODULES([MATE_DESKTOP], mate-desktop-2.0 >= $MATEDESKTOP_REQUIRED) + AC_DEFINE([WITH_MATEDESKTOP],[1],[Define if mate-desktop support is enabled]) +fi + +AC_SUBST([MATE_DESKTOP_CFLAGS]) +AC_SUBST([MATE_DESKTOP_LIBS]) + +dnl ================================================================ dnl GSettings related settings dnl ================================================================ @@ -421,6 +442,7 @@ Configuration: Source code location: ${srcdir} Compiler: ${CC} GTK API version: $GTK_API_VERSION + MATE desktop Support: $with_matedesktop Python Plugins Support: $enable_python Spell Plugin enabled: $enable_enchant Gvfs metadata enabled: $enable_gvfs_metadata diff --git a/plugins/filebrowser/pluma-file-browser-view.c b/plugins/filebrowser/pluma-file-browser-view.c index 6b52b0c9..ce45f91a 100644 --- a/plugins/filebrowser/pluma-file-browser-view.c +++ b/plugins/filebrowser/pluma-file-browser-view.c @@ -114,7 +114,11 @@ pluma_file_browser_view_finalize (GObject * object) PlumaFileBrowserView *obj = PLUMA_FILE_BROWSER_VIEW(object); if (obj->priv->hand_cursor) - gdk_cursor_unref(obj->priv->hand_cursor); +#if GTK_CHECK_VERSION (3, 0, 0) + g_object_unref (obj->priv->hand_cursor); +#else + gdk_cursor_unref (obj->priv->hand_cursor) +#endif if (obj->priv->hover_path) gtk_tree_path_free (obj->priv->hover_path); @@ -125,7 +129,11 @@ pluma_file_browser_view_finalize (GObject * object) obj->priv->expand_state = NULL; } +#if GTK_CHECK_VERSION (3, 0, 0) + g_object_unref (obj->priv->busy_cursor); +#else gdk_cursor_unref (obj->priv->busy_cursor); +#endif G_OBJECT_CLASS (pluma_file_browser_view_parent_class)-> finalize (object); @@ -308,7 +316,12 @@ set_click_policy_property (PlumaFileBrowserView *obj, if (click_policy == PLUMA_FILE_BROWSER_VIEW_CLICK_POLICY_SINGLE) { if (obj->priv->hand_cursor == NULL) +#if GTK_CHECK_VERSION (3, 16, 0) + display = gtk_widget_get_display (GTK_WIDGET (obj)); + obj->priv->hand_cursor = gdk_cursor_new_for_display (display, GDK_HAND2); +#else obj->priv->hand_cursor = gdk_cursor_new(GDK_HAND2); +#endif } else if (click_policy == PLUMA_FILE_BROWSER_VIEW_CLICK_POLICY_DOUBLE) { if (obj->priv->hover_path != NULL) { if (gtk_tree_model_get_iter (GTK_TREE_MODEL (obj->priv->model), @@ -331,7 +344,11 @@ set_click_policy_property (PlumaFileBrowserView *obj, } if (obj->priv->hand_cursor) { +#if GTK_CHECK_VERSION (3, 0, 0) + g_object_unref (obj->priv->hand_cursor); +#else gdk_cursor_unref (obj->priv->hand_cursor); +#endif obj->priv->hand_cursor = NULL; } } @@ -945,6 +962,9 @@ cell_data_cb (GtkTreeViewColumn * tree_column, GtkCellRenderer * cell, static void pluma_file_browser_view_init (PlumaFileBrowserView * obj) { +#if GTK_CHECK_VERSION (3, 16, 0) + GdkDisplay *display; +#endif obj->priv = PLUMA_FILE_BROWSER_VIEW_GET_PRIVATE (obj); obj->priv->column = gtk_tree_view_column_new (); @@ -979,7 +999,12 @@ pluma_file_browser_view_init (PlumaFileBrowserView * obj) G_N_ELEMENTS (drag_source_targets), GDK_ACTION_COPY); +#if GTK_CHECK_VERSION (3, 16, 0) + display = gtk_widget_get_display (GTK_WIDGET (obj)); + obj->priv->busy_cursor = gdk_cursor_new_for_display (display, GDK_WATCH); +#else obj->priv->busy_cursor = gdk_cursor_new (GDK_WATCH); +#endif } static gboolean diff --git a/plugins/filebrowser/pluma-file-browser-widget.c b/plugins/filebrowser/pluma-file-browser-widget.c index f7ec52d4..7cef34cc 100644 --- a/plugins/filebrowser/pluma-file-browser-widget.c +++ b/plugins/filebrowser/pluma-file-browser-widget.c @@ -50,6 +50,10 @@ #define XML_UI_FILE "pluma-file-browser-widget-ui.xml" #define LOCATION_DATA_KEY "pluma-file-browser-widget-location" +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_vbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_VERTICAL,Y) +#endif + enum { BOOKMARKS_ID, @@ -236,8 +240,13 @@ static void on_action_filter_binary (GtkAction * action, static void on_action_bookmark_open (GtkAction * action, PlumaFileBrowserWidget * obj); +#if GTK_CHECK_VERSION (3, 0, 0) +PLUMA_PLUGIN_DEFINE_TYPE (PlumaFileBrowserWidget, pluma_file_browser_widget, + GTK_TYPE_BOX) +#else PLUMA_PLUGIN_DEFINE_TYPE (PlumaFileBrowserWidget, pluma_file_browser_widget, GTK_TYPE_VBOX) +#endif static void free_name_icon (gpointer data) @@ -359,8 +368,12 @@ pluma_file_browser_widget_finalize (GObject * object) g_hash_table_destroy (obj->priv->bookmarks_hash); cancel_async_operation (obj); - + +#if GTK_CHECK_VERSION (3, 0, 0) + g_object_unref (obj->priv->busy_cursor); +#else gdk_cursor_unref (obj->priv->busy_cursor); +#endif G_OBJECT_CLASS (pluma_file_browser_widget_parent_class)->finalize (object); } @@ -1248,6 +1261,9 @@ create_filter (PlumaFileBrowserWidget * obj) static void pluma_file_browser_widget_init (PlumaFileBrowserWidget * obj) { +#if GTK_CHECK_VERSION (3, 16, 0) + GdkDisplay *display; +#endif obj->priv = PLUMA_FILE_BROWSER_WIDGET_GET_PRIVATE (obj); obj->priv->bookmarks_hash = g_hash_table_new_full (g_file_hash, @@ -1256,8 +1272,17 @@ pluma_file_browser_widget_init (PlumaFileBrowserWidget * obj) free_name_icon); gtk_box_set_spacing (GTK_BOX (obj), 3); +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_orientable_set_orientation (GTK_ORIENTABLE (obj), + GTK_ORIENTATION_VERTICAL); +#endif +#if GTK_CHECK_VERSION (3, 16, 0) + display = gtk_widget_get_display (GTK_WIDGET (obj)); + obj->priv->busy_cursor = gdk_cursor_new_for_display (display, GDK_WATCH); +#else obj->priv->busy_cursor = gdk_cursor_new (GDK_WATCH); +#endif } /* Private */ @@ -2088,7 +2113,6 @@ async_free (AsyncData *async) static void set_busy (PlumaFileBrowserWidget *obj, gboolean busy) { - GdkCursor *cursor; GdkWindow *window; window = gtk_widget_get_window (GTK_WIDGET (obj->priv->treeview)); @@ -2098,9 +2122,23 @@ set_busy (PlumaFileBrowserWidget *obj, gboolean busy) if (busy) { +#if GTK_CHECK_VERSION (3, 16, 0) + GdkDisplay *display; + GdkCursor *cursor; + + display = gtk_widget_get_display (GTK_WIDGET (obj)); + cursor = gdk_cursor_new_for_display (display, GDK_WATCH); +#else + GdkCursor *cursor; + cursor = gdk_cursor_new (GDK_WATCH); +#endif gdk_window_set_cursor (window, cursor); +#if GTK_CHECK_VERSION (3, 0, 0) + g_object_unref (obj->priv->busy_cursor); +#else gdk_cursor_unref (cursor); +#endif } else { diff --git a/plugins/filebrowser/pluma-file-browser-widget.h b/plugins/filebrowser/pluma-file-browser-widget.h index 79e95c62..d7be9e4d 100644 --- a/plugins/filebrowser/pluma-file-browser-widget.h +++ b/plugins/filebrowser/pluma-file-browser-widget.h @@ -48,14 +48,22 @@ gboolean (*PlumaFileBrowserWidgetFilterFunc) (PlumaFileBrowserWidget * obj, struct _PlumaFileBrowserWidget { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBox parent; +#else GtkVBox parent; +#endif PlumaFileBrowserWidgetPrivate *priv; }; struct _PlumaFileBrowserWidgetClass { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBoxClass parent_class; +#else GtkVBoxClass parent_class; +#endif /* Signals */ void (*uri_activated) (PlumaFileBrowserWidget * widget, diff --git a/plugins/spell/pluma-automatic-spell-checker.c b/plugins/spell/pluma-automatic-spell-checker.c index d3644445..f4de8835 100755 --- a/plugins/spell/pluma-automatic-spell-checker.c +++ b/plugins/spell/pluma-automatic-spell-checker.c @@ -454,7 +454,11 @@ build_suggestion_menu (PlumaAutomaticSpellChecker *spell, const gchar *word) label = gtk_label_new (label_text); gtk_label_set_use_markup (GTK_LABEL (label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); +#endif mi = gtk_menu_item_new (); gtk_container_add (GTK_CONTAINER(mi), label); diff --git a/plugins/taglist/pluma-taglist-plugin-panel.c b/plugins/taglist/pluma-taglist-plugin-panel.c index 682bedd6..13e5a83a 100755 --- a/plugins/taglist/pluma-taglist-plugin-panel.c +++ b/plugins/taglist/pluma-taglist-plugin-panel.c @@ -69,7 +69,11 @@ struct _PlumaTaglistPluginPanelPrivate gchar *data_dir; }; +#if GTK_CHECK_VERSION (3, 0, 0) +PLUMA_PLUGIN_DEFINE_TYPE (PlumaTaglistPluginPanel, pluma_taglist_plugin_panel, GTK_TYPE_BOX) +#else PLUMA_PLUGIN_DEFINE_TYPE (PlumaTaglistPluginPanel, pluma_taglist_plugin_panel, GTK_TYPE_VBOX) +#endif enum { @@ -641,8 +645,17 @@ add_preview_widget (PlumaTaglistPluginPanel *panel) gtk_label_set_line_wrap (GTK_LABEL (panel->priv->preview), TRUE); gtk_label_set_use_markup (GTK_LABEL (panel->priv->preview), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (panel->priv->preview, GTK_ALIGN_START); + gtk_widget_set_valign (panel->priv->preview, GTK_ALIGN_START); + gtk_widget_set_margin_start (panel->priv->preview, 6); + gtk_widget_set_margin_end (panel->priv->preview, 6); + gtk_widget_set_margin_top (panel->priv->preview, 6); + gtk_widget_set_margin_bottom (panel->priv->preview, 6); +#else gtk_misc_set_alignment (GTK_MISC (panel->priv->preview), 0, 0); - gtk_misc_set_padding (GTK_MISC (panel->priv->preview), 6, 6); + gtk_misc_set_padding (GTK_MISC (panel->priv->preview), 6, 6); +#endif gtk_label_set_selectable (GTK_LABEL (panel->priv->preview), TRUE); gtk_label_set_selectable (GTK_LABEL (panel->priv->preview), TRUE); gtk_label_set_ellipsize (GTK_LABEL (panel->priv->preview), @@ -675,6 +688,11 @@ pluma_taglist_plugin_panel_init (PlumaTaglistPluginPanel *panel) panel->priv = PLUMA_TAGLIST_PLUGIN_PANEL_GET_PRIVATE (panel); panel->priv->data_dir = NULL; +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_orientable_set_orientation (GTK_ORIENTABLE (panel), + GTK_ORIENTATION_VERTICAL); +#endif + /* Build the window content */ panel->priv->tag_groups_combo = gtk_combo_box_text_new (); gtk_box_pack_start (GTK_BOX (panel), diff --git a/plugins/taglist/pluma-taglist-plugin-panel.h b/plugins/taglist/pluma-taglist-plugin-panel.h index bcd42ed4..03738835 100755 --- a/plugins/taglist/pluma-taglist-plugin-panel.h +++ b/plugins/taglist/pluma-taglist-plugin-panel.h @@ -58,7 +58,11 @@ typedef struct _PlumaTaglistPluginPanel PlumaTaglistPluginPanel; struct _PlumaTaglistPluginPanel { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBox vbox; +#else GtkVBox vbox; +#endif /*< private > */ PlumaTaglistPluginPanelPrivate *priv; @@ -71,7 +75,11 @@ typedef struct _PlumaTaglistPluginPanelClass PlumaTaglistPluginPanelClass; struct _PlumaTaglistPluginPanelClass { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBoxClass parent_class; +#else GtkVBoxClass parent_class; +#endif }; /* diff --git a/pluma/Makefile.am b/pluma/Makefile.am index 01914351..13a03742 100644 --- a/pluma/Makefile.am +++ b/pluma/Makefile.am @@ -10,6 +10,7 @@ AM_CPPFLAGS = \ -I$(srcdir) \ -I$(srcdir)/smclient \ $(PLUMA_CFLAGS) \ + $(MATE_DESKTOP_CFLAGS) \ $(WARN_CFLAGS) \ $(DISABLE_DEPRECATED_CFLAGS) \ -DDATADIR=\""$(datadir)"\" \ @@ -26,7 +27,8 @@ libpluma_la_LDFLAGS = -export-dynamic -no-undefined -export-symbols-regex "^[[^_ libpluma_la_LIBADD = \ dialogs/libdialogs.la \ - smclient/libeggsmclient.la + smclient/libeggsmclient.la \ + $(MATE_DESKTOP_LIBS) # PLUMA_LIBS must be the last to ensure correct order on some platforms libpluma_la_LIBADD += $(PLUMA_LIBS) -lICE diff --git a/pluma/dialogs/pluma-close-confirmation-dialog.c b/pluma/dialogs/pluma-close-confirmation-dialog.c index 155fe499..45d97713 100755 --- a/pluma/dialogs/pluma-close-confirmation-dialog.c +++ b/pluma/dialogs/pluma-close-confirmation-dialog.c @@ -85,6 +85,11 @@ struct _PlumaCloseConfirmationDialogPrivate (priv->unsaved_documents->next == NULL)) ? \ SINGLE_DOC_MODE : MULTIPLE_DOCS_MODE) +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_hbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_HORIZONTAL,Y) +#define gtk_vbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_VERTICAL,Y) +#endif + G_DEFINE_TYPE(PlumaCloseConfirmationDialog, pluma_close_confirmation_dialog, GTK_TYPE_DIALOG) static void set_unsaved_document (PlumaCloseConfirmationDialog *dlg, @@ -497,15 +502,28 @@ build_single_doc_dialog (PlumaCloseConfirmationDialog *dlg) doc = PLUMA_DOCUMENT (dlg->priv->unsaved_documents->data); /* Image */ +#if GTK_CHECK_VERSION (3, 10, 0) + image = gtk_image_new_from_icon_name ("dialog-warning", + GTK_ICON_SIZE_DIALOG); +#else image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); +#endif +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_valign (image, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0); +#endif /* Primary label */ primary_label = gtk_label_new (NULL); gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (primary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (primary_label), 0.0, 0.5); +#endif gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); gtk_widget_set_can_focus (GTK_WIDGET (primary_label), FALSE); @@ -538,7 +556,11 @@ build_single_doc_dialog (PlumaCloseConfirmationDialog *dlg) secondary_label = gtk_label_new (str); g_free (str); gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (secondary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (secondary_label), 0.0, 0.5); +#endif gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); gtk_widget_set_can_focus (GTK_WIDGET (secondary_label), FALSE); @@ -682,9 +704,18 @@ build_multiple_docs_dialog (PlumaCloseConfirmationDialog *dlg) hbox, TRUE, TRUE, 0); /* Image */ +#if GTK_CHECK_VERSION (3, 10, 0) + image = gtk_image_new_from_icon_name ("dialog-warning", + GTK_ICON_SIZE_DIALOG); +#else image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG); +#endif +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_valign (image, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0.0); +#endif gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0); vbox = gtk_vbox_new (FALSE, 12); @@ -694,7 +725,11 @@ build_multiple_docs_dialog (PlumaCloseConfirmationDialog *dlg) primary_label = gtk_label_new (NULL); gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (primary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (primary_label), 0.0, 0.5); +#endif gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); if (priv->disable_save_to_disk) @@ -729,7 +764,11 @@ build_multiple_docs_dialog (PlumaCloseConfirmationDialog *dlg) gtk_box_pack_start (GTK_BOX (vbox2), select_label, FALSE, FALSE, 0); gtk_label_set_line_wrap (GTK_LABEL (select_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (select_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (select_label), 0.0, 0.5); +#endif scrolledwindow = gtk_scrolled_window_new (NULL, NULL); gtk_box_pack_start (GTK_BOX (vbox2), scrolledwindow, TRUE, TRUE, 0); @@ -751,7 +790,11 @@ build_multiple_docs_dialog (PlumaCloseConfirmationDialog *dlg) gtk_box_pack_start (GTK_BOX (vbox2), secondary_label, FALSE, FALSE, 0); gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (secondary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (secondary_label), 0, 0.5); +#endif gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); gtk_label_set_mnemonic_widget (GTK_LABEL (select_label), treeview); diff --git a/pluma/pluma-close-button.c b/pluma/pluma-close-button.c index ab6ef4a5..be0cc421 100644 --- a/pluma/pluma-close-button.c +++ b/pluma/pluma-close-button.c @@ -30,8 +30,12 @@ pluma_close_button_style_set (GtkWidget *button, { gint h, w; +#if GTK_CHECK_VERSION (3, 10, 0) + gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &w, &h); +#else gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (button), GTK_ICON_SIZE_MENU, &w, &h); +#endif gtk_widget_set_size_request (button, w + 2, h + 2); diff --git a/pluma/pluma-commands-help.c b/pluma/pluma-commands-help.c index 2a94063e..1f69a58e 100644 --- a/pluma/pluma-commands-help.c +++ b/pluma/pluma-commands-help.c @@ -37,7 +37,9 @@ #include <glib/gi18n.h> #include <gtk/gtk.h> +#ifdef WITH_MATEDESKTOP #include <libmate-desktop/mate-aboutdialog.h> +#endif #include "pluma-commands.h" #include "pluma-debug.h" @@ -85,8 +87,13 @@ void _pluma_cmd_help_about(GtkAction* action, PlumaWindow* window) pluma_debug (DEBUG_COMMANDS); +#ifdef WITH_MATEDESKTOP mate_show_about_dialog(GTK_WINDOW(window), +#else + gtk_show_about_dialog(GTK_WINDOW(window), +#endif "program-name", "Pluma", + "authors", authors, "comments", _(comments), "copyright", copyright, diff --git a/pluma/pluma-document.c b/pluma/pluma-document.c index f99d9f43..f311b05a 100644 --- a/pluma/pluma-document.c +++ b/pluma/pluma-document.c @@ -2246,9 +2246,15 @@ _pluma_document_get_seconds_since_last_save_or_load (PlumaDocument *doc) static void get_search_match_colors (PlumaDocument *doc, gboolean *foreground_set, +#if GTK_CHECK_VERSION (3, 14, 0) + GdkRGBA *foreground, + gboolean *background_set, + GdkRGBA *background) +#else GdkColor *foreground, gboolean *background_set, GdkColor *background) +#endif { GtkSourceStyleScheme *style_scheme; GtkSourceStyle *style; @@ -2273,6 +2279,21 @@ get_search_match_colors (PlumaDocument *doc, if (*foreground_set) { +#if GTK_CHECK_VERSION (3, 14, 0) + if (fg == NULL || + !gdk_rgba_parse (foreground, fg)) + { + *foreground_set = FALSE; + } + } + + if (*background_set) + { + if (bg == NULL || + !gdk_rgba_parse (background, bg)) + { + *background_set = FALSE; +#else if (fg == NULL || !gdk_color_parse (fg, foreground)) { @@ -2286,6 +2307,7 @@ get_search_match_colors (PlumaDocument *doc, !gdk_color_parse (bg, background)) { *background_set = FALSE; +#endif } } @@ -2299,7 +2321,11 @@ get_search_match_colors (PlumaDocument *doc, "Falling back to hard-coded colors " "for the \"found\" text tag."); +#if GTK_CHECK_VERSION (3, 14, 0) + gdk_rgba_parse (background, "#FFFF78"); +#else gdk_color_parse ("#FFFF78", background); +#endif *background_set = TRUE; *foreground_set = FALSE; @@ -2311,8 +2337,13 @@ sync_found_tag (PlumaDocument *doc, GParamSpec *pspec, gpointer data) { +#if GTK_CHECK_VERSION (3, 14, 0) + GdkRGBA fg; + GdkRGBA bg; +#else GdkColor fg; GdkColor bg; +#endif gboolean fg_set; gboolean bg_set; @@ -2325,10 +2356,17 @@ sync_found_tag (PlumaDocument *doc, &bg_set, &bg); g_object_set (doc->priv->found_tag, +#if GTK_CHECK_VERSION (3, 14, 0) + "foreground-rgba", fg_set ? &fg : NULL, + NULL); + g_object_set (doc->priv->found_tag, + "background-rgba", bg_set ? &bg : NULL, +#else "foreground-gdk", fg_set ? &fg : NULL, NULL); g_object_set (doc->priv->found_tag, "background-gdk", bg_set ? &bg : NULL, +#endif NULL); } diff --git a/pluma/pluma-documents-panel.c b/pluma/pluma-documents-panel.c index 66d3405f..97308efe 100644 --- a/pluma/pluma-documents-panel.c +++ b/pluma/pluma-documents-panel.c @@ -53,7 +53,11 @@ struct _PlumaDocumentsPanelPrivate guint is_reodering : 1; }; +#if GTK_CHECK_VERSION (3, 0, 0) +G_DEFINE_TYPE(PlumaDocumentsPanel, pluma_documents_panel, GTK_TYPE_BOX) +#else G_DEFINE_TYPE(PlumaDocumentsPanel, pluma_documents_panel, GTK_TYPE_VBOX) +#endif enum { @@ -535,8 +539,12 @@ menu_position (GtkMenu *menu, wy = rect.y; gdk_window_get_origin (gtk_widget_get_window (w), x, y); - + +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, &requisition); +#else gtk_widget_size_request (GTK_WIDGET (menu), &requisition); +#endif if (gtk_widget_get_direction (w) == GTK_TEXT_DIR_RTL) { @@ -749,6 +757,11 @@ pluma_documents_panel_init (PlumaDocumentsPanel *panel) panel->priv->adding_tab = FALSE; panel->priv->is_reodering = FALSE; + +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_orientable_set_orientation (GTK_ORIENTABLE (panel), + GTK_ORIENTATION_VERTICAL); +#endif /* Create the scrolled window */ sw = gtk_scrolled_window_new (NULL, NULL); diff --git a/pluma/pluma-documents-panel.h b/pluma/pluma-documents-panel.h index 614e234f..4c546f81 100644 --- a/pluma/pluma-documents-panel.h +++ b/pluma/pluma-documents-panel.h @@ -57,7 +57,11 @@ typedef struct _PlumaDocumentsPanel PlumaDocumentsPanel; struct _PlumaDocumentsPanel { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBox vbox; +#else GtkVBox vbox; +#endif /*< private > */ PlumaDocumentsPanelPrivate *priv; @@ -70,7 +74,11 @@ typedef struct _PlumaDocumentsPanelClass PlumaDocumentsPanelClass; struct _PlumaDocumentsPanelClass { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBoxClass parent_class; +#else GtkVBoxClass parent_class; +#endif }; /* diff --git a/pluma/pluma-file-chooser-dialog.c b/pluma/pluma-file-chooser-dialog.c index 569545a8..17c872da 100644 --- a/pluma/pluma-file-chooser-dialog.c +++ b/pluma/pluma-file-chooser-dialog.c @@ -55,6 +55,10 @@ #define ALL_FILES _("All Files") #define ALL_TEXT_FILES _("All Text Files") +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_hbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_HORIZONTAL,Y) +#endif + struct _PlumaFileChooserDialogPrivate { GtkWidget *option_menu; @@ -82,7 +86,11 @@ create_option_menu (PlumaFileChooserDialog *dialog) GtkWidget *menu; label = gtk_label_new_with_mnemonic (_("C_haracter Encoding:")); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); +#endif menu = pluma_encodings_combo_box_new ( gtk_file_chooser_get_action (GTK_FILE_CHOOSER (dialog)) == GTK_FILE_CHOOSER_ACTION_SAVE); @@ -147,7 +155,11 @@ create_newline_combo (PlumaFileChooserDialog *dialog) GtkTreeIter iter; label = gtk_label_new_with_mnemonic (_("L_ine Ending:")); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5); +#endif store = gtk_list_store_new (2, G_TYPE_STRING, PLUMA_TYPE_DOCUMENT_NEWLINE_TYPE); combo = gtk_combo_box_new_with_model (GTK_TREE_MODEL (store)); diff --git a/pluma/pluma-io-error-message-area.c b/pluma/pluma-io-error-message-area.c index 4cf0ac9b..450de637 100644 --- a/pluma/pluma-io-error-message-area.c +++ b/pluma/pluma-io-error-message-area.c @@ -50,6 +50,11 @@ #define MAX_URI_IN_DIALOG_LENGTH 50 +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_hbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_HORIZONTAL,Y) +#define gtk_vbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_VERTICAL,Y) +#endif + static gboolean is_recoverable_error (const GError *error) { @@ -121,7 +126,11 @@ set_message_area_text_and_icon (GtkWidget *message_area, image = gtk_image_new_from_stock (icon_stock_id, GTK_ICON_SIZE_DIALOG); gtk_box_pack_start (GTK_BOX (hbox_content), image, FALSE, FALSE, 0); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_valign (image, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0); +#endif vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox_content), vbox, TRUE, TRUE, 0); @@ -132,7 +141,11 @@ set_message_area_text_and_icon (GtkWidget *message_area, gtk_box_pack_start (GTK_BOX (vbox), primary_label, TRUE, TRUE, 0); gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (primary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (primary_label), 0, 0.5); +#endif gtk_widget_set_can_focus (primary_label, TRUE); gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); @@ -147,7 +160,11 @@ set_message_area_text_and_icon (GtkWidget *message_area, gtk_label_set_use_markup (GTK_LABEL (secondary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (secondary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (secondary_label), 0, 0.5); +#endif } gtk_widget_show_all (hbox_content); @@ -509,7 +526,11 @@ create_conversion_error_message_area (const gchar *primary_text, image = gtk_image_new_from_stock ("gtk-dialog-error", GTK_ICON_SIZE_DIALOG); gtk_box_pack_start (GTK_BOX (hbox_content), image, FALSE, FALSE, 0); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_valign (image, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0); +#endif vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox_content), vbox, TRUE, TRUE, 0); @@ -520,7 +541,11 @@ create_conversion_error_message_area (const gchar *primary_text, gtk_box_pack_start (GTK_BOX (vbox), primary_label, TRUE, TRUE, 0); gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (primary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (primary_label), 0, 0.5); +#endif gtk_widget_set_can_focus (primary_label, TRUE); gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); @@ -535,7 +560,11 @@ create_conversion_error_message_area (const gchar *primary_text, gtk_label_set_use_markup (GTK_LABEL (secondary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (secondary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (secondary_label), 0, 0.5); +#endif } create_combo_box (message_area, vbox); @@ -774,7 +803,11 @@ pluma_file_already_open_warning_message_area_new (const gchar *uri) image = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_DIALOG); gtk_box_pack_start (GTK_BOX (hbox_content), image, FALSE, FALSE, 0); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_valign (image, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0); +#endif vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox_content), vbox, TRUE, TRUE, 0); @@ -789,7 +822,11 @@ pluma_file_already_open_warning_message_area_new (const gchar *uri) gtk_box_pack_start (GTK_BOX (vbox), primary_label, TRUE, TRUE, 0); gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (primary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (primary_label), 0, 0.5); +#endif gtk_widget_set_can_focus (primary_label, TRUE); gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); @@ -804,7 +841,11 @@ pluma_file_already_open_warning_message_area_new (const gchar *uri) gtk_label_set_use_markup (GTK_LABEL (secondary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (secondary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (secondary_label), 0, 0.5); +#endif gtk_widget_show_all (hbox_content); set_contents (message_area, hbox_content); @@ -865,7 +906,11 @@ pluma_externally_modified_saving_error_message_area_new ( image = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_DIALOG); gtk_box_pack_start (GTK_BOX (hbox_content), image, FALSE, FALSE, 0); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_valign (image, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0); +#endif vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox_content), vbox, TRUE, TRUE, 0); @@ -884,7 +929,11 @@ pluma_externally_modified_saving_error_message_area_new ( gtk_box_pack_start (GTK_BOX (vbox), primary_label, TRUE, TRUE, 0); gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (primary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (primary_label), 0, 0.5); +#endif gtk_widget_set_can_focus (primary_label, TRUE); gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); @@ -898,7 +947,11 @@ pluma_externally_modified_saving_error_message_area_new ( gtk_label_set_use_markup (GTK_LABEL (secondary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (secondary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (secondary_label), 0, 0.5); +#endif gtk_widget_show_all (hbox_content); set_contents (message_area, hbox_content); @@ -960,7 +1013,11 @@ pluma_no_backup_saving_error_message_area_new (const gchar *uri, image = gtk_image_new_from_stock ("gtk-dialog-warning", GTK_ICON_SIZE_DIALOG); gtk_box_pack_start (GTK_BOX (hbox_content), image, FALSE, FALSE, 0); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_valign (image, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0); +#endif vbox = gtk_vbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox_content), vbox, TRUE, TRUE, 0); @@ -983,7 +1040,11 @@ pluma_no_backup_saving_error_message_area_new (const gchar *uri, gtk_box_pack_start (GTK_BOX (vbox), primary_label, TRUE, TRUE, 0); gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (primary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (primary_label), 0, 0.5); +#endif gtk_widget_set_can_focus (primary_label, TRUE); gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); @@ -999,7 +1060,11 @@ pluma_no_backup_saving_error_message_area_new (const gchar *uri, gtk_label_set_use_markup (GTK_LABEL (secondary_label), TRUE); gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (secondary_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (secondary_label), 0, 0.5); +#endif gtk_widget_show_all (hbox_content); set_contents (message_area, hbox_content); diff --git a/pluma/pluma-panel.c b/pluma/pluma-panel.c index c3fdc03a..591fc5dd 100644 --- a/pluma/pluma-panel.c +++ b/pluma/pluma-panel.c @@ -43,6 +43,11 @@ #define PLUMA_PANEL_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), PLUMA_TYPE_PANEL, PlumaPanelPrivate)) +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_hbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_HORIZONTAL,Y) +#define gtk_vbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_VERTICAL,Y) +#endif + struct _PlumaPanelPrivate { GtkOrientation orientation; @@ -85,7 +90,11 @@ static GObject *pluma_panel_constructor (GType type, GObjectConstructParam *construct_properties); +#if GTK_CHECK_VERSION (3, 0, 0) +G_DEFINE_TYPE(PlumaPanel, pluma_panel, GTK_TYPE_BOX) +#else G_DEFINE_TYPE(PlumaPanel, pluma_panel, GTK_TYPE_VBOX) +#endif static void pluma_panel_finalize (GObject *obj) @@ -186,8 +195,13 @@ pluma_panel_class_init (PlumaPanelClass *klass) g_object_class_install_property (object_class, PROP_ORIENTATION, +#if GTK_CHECK_VERSION (3, 0, 0) + g_param_spec_enum ("panel-orientation", + "Panel Orientation", +#else g_param_spec_enum ("orientation", "Orientation", +#endif "The panel's orientation", GTK_TYPE_ORIENTATION, GTK_ORIENTATION_VERTICAL, @@ -401,6 +415,11 @@ static void pluma_panel_init (PlumaPanel *panel) { panel->priv = PLUMA_PANEL_GET_PRIVATE (panel); + +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_orientable_set_orientation (GTK_ORIENTABLE (panel), + GTK_ORIENTATION_VERTICAL); +#endif } static void @@ -528,7 +547,11 @@ build_vertical_panel (PlumaPanel *panel) 0); panel->priv->title_label = gtk_label_new (_("Empty")); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (panel->priv->title_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (panel->priv->title_label), 0, 0.5); +#endif gtk_label_set_ellipsize(GTK_LABEL (panel->priv->title_label), PANGO_ELLIPSIZE_END); gtk_box_pack_start (GTK_BOX (icon_name_hbox), @@ -626,8 +649,16 @@ build_tab_label (PlumaPanel *panel, /* setup label */ label = gtk_label_new (name); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_margin_start (label, 0); + gtk_widget_set_margin_end (label, 0); + gtk_widget_set_margin_top (label, 0); + gtk_widget_set_margin_bottom (label, 0); +#else gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); - gtk_misc_set_padding (GTK_MISC (label), 0, 0); + gtk_misc_set_padding (GTK_MISC (label), 0, 0); +#endif gtk_box_pack_start (GTK_BOX (label_hbox), label, TRUE, TRUE, 0); gtk_widget_set_tooltip_text (label_ebox, name); @@ -693,7 +724,11 @@ pluma_panel_add_item (PlumaPanel *panel, tab_label = build_tab_label (panel, item, data->name, data->icon); menu_label = gtk_label_new (name); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (menu_label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (menu_label), 0.0, 0.5); +#endif if (!gtk_widget_get_visible (item)) gtk_widget_show (item); diff --git a/pluma/pluma-panel.h b/pluma/pluma-panel.h index be13fb1e..1e3b3059 100644 --- a/pluma/pluma-panel.h +++ b/pluma/pluma-panel.h @@ -55,7 +55,11 @@ typedef struct _PlumaPanel PlumaPanel; struct _PlumaPanel { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBox vbox; +#else GtkVBox vbox; +#endif /*< private > */ PlumaPanelPrivate *priv; @@ -68,7 +72,11 @@ typedef struct _PlumaPanelClass PlumaPanelClass; struct _PlumaPanelClass { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBoxClass parent_class; +#else GtkVBoxClass parent_class; +#endif void (* item_added) (PlumaPanel *panel, GtkWidget *item); diff --git a/pluma/pluma-plugin-manager.c b/pluma/pluma-plugin-manager.c index ae30ff8e..08a922b5 100644 --- a/pluma/pluma-plugin-manager.c +++ b/pluma/pluma-plugin-manager.c @@ -70,7 +70,11 @@ struct _PlumaPluginManagerPrivate GtkWidget *popup_menu; }; +#if GTK_CHECK_VERSION (3, 0, 0) +G_DEFINE_TYPE(PlumaPluginManager, pluma_plugin_manager, GTK_TYPE_BOX) +#else G_DEFINE_TYPE(PlumaPluginManager, pluma_plugin_manager, GTK_TYPE_VBOX) +#endif static PlumaPluginInfo *plugin_manager_get_selected_plugin (PlumaPluginManager *pm); static void plugin_manager_toggle_active (PlumaPluginManager *pm, GtkTreeIter *iter, GtkTreeModel *model); @@ -790,6 +794,11 @@ pluma_plugin_manager_init (PlumaPluginManager *pm) pm->priv = PLUMA_PLUGIN_MANAGER_GET_PRIVATE (pm); +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_orientable_set_orientation (GTK_ORIENTABLE (pm), + GTK_ORIENTATION_VERTICAL); +#endif + /* * Always we create the manager, firstly we rescan the plugins directory */ @@ -799,7 +808,11 @@ pluma_plugin_manager_init (PlumaPluginManager *pm) label = gtk_label_new_with_mnemonic (_("Active _Plugins:")); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); +#endif gtk_box_pack_start (GTK_BOX (pm), label, FALSE, TRUE, 0); @@ -817,7 +830,11 @@ pluma_plugin_manager_init (PlumaPluginManager *pm) gtk_label_set_mnemonic_widget (GTK_LABEL (label), pm->priv->tree); +#if GTK_CHECK_VERSION (3, 0, 0) + hbuttonbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL); +#else hbuttonbox = gtk_hbutton_box_new (); +#endif gtk_box_pack_start (GTK_BOX (pm), hbuttonbox, FALSE, FALSE, 0); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox), GTK_BUTTONBOX_END); gtk_box_set_spacing (GTK_BOX (hbuttonbox), 8); diff --git a/pluma/pluma-plugin-manager.h b/pluma/pluma-plugin-manager.h index d271e748..be8a6dc8 100644 --- a/pluma/pluma-plugin-manager.h +++ b/pluma/pluma-plugin-manager.h @@ -55,7 +55,11 @@ typedef struct _PlumaPluginManager PlumaPluginManager; struct _PlumaPluginManager { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBox vbox; +#else GtkVBox vbox; +#endif /*< private > */ PlumaPluginManagerPrivate *priv; @@ -68,7 +72,11 @@ typedef struct _PlumaPluginManagerClass PlumaPluginManagerClass; struct _PlumaPluginManagerClass { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBoxClass parent_class; +#else GtkVBoxClass parent_class; +#endif }; /* diff --git a/pluma/pluma-print-preview.c b/pluma/pluma-print-preview.c index 51390cb7..ab111b6f 100644 --- a/pluma/pluma-print-preview.c +++ b/pluma/pluma-print-preview.c @@ -42,6 +42,10 @@ #define PRINTER_DPI (72.) +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_hbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_HORIZONTAL,Y) +#endif + struct _PlumaPrintPreviewPrivate { GtkPrintOperation *operation; @@ -83,7 +87,11 @@ struct _PlumaPrintPreviewPrivate guint cur_page; }; +#if GTK_CHECK_VERSION (3, 0, 0) +G_DEFINE_TYPE (PlumaPrintPreview, pluma_print_preview, GTK_TYPE_BOX) +#else G_DEFINE_TYPE (PlumaPrintPreview, pluma_print_preview, GTK_TYPE_VBOX) +#endif static void pluma_print_preview_get_property (GObject *object, @@ -997,6 +1005,11 @@ pluma_print_preview_init (PlumaPrintPreview *preview) priv->context = NULL; priv->gtk_preview = NULL; +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_orientable_set_orientation (GTK_ORIENTABLE (preview), + GTK_ORIENTATION_VERTICAL); +#endif + create_bar (preview); create_preview_layout (preview); diff --git a/pluma/pluma-print-preview.h b/pluma/pluma-print-preview.h index ebb5fbdc..f0a1de99 100644 --- a/pluma/pluma-print-preview.h +++ b/pluma/pluma-print-preview.h @@ -48,13 +48,21 @@ typedef struct _PlumaPrintPreviewClass PlumaPrintPreviewClass; struct _PlumaPrintPreview { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBox parent; +#else GtkVBox parent; +#endif PlumaPrintPreviewPrivate *priv; }; struct _PlumaPrintPreviewClass { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBoxClass parent_class; +#else GtkVBoxClass parent_class; +#endif void (* close) (PlumaPrintPreview *preview); }; diff --git a/pluma/pluma-progress-message-area.c b/pluma/pluma-progress-message-area.c index bf1f8351..fc5e11ce 100644 --- a/pluma/pluma-progress-message-area.c +++ b/pluma/pluma-progress-message-area.c @@ -48,6 +48,11 @@ enum { #define PLUMA_PROGRESS_MESSAGE_AREA_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), PLUMA_TYPE_PROGRESS_MESSAGE_AREA, PlumaProgressMessageAreaPrivate)) +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_hbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_HORIZONTAL,Y) +#define gtk_vbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_VERTICAL,Y) +#endif + struct _PlumaProgressMessageAreaPrivate { GtkWidget *image; @@ -148,14 +153,23 @@ pluma_progress_message_area_init (PlumaProgressMessageArea *area) area->priv->image = gtk_image_new_from_icon_name (GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_SMALL_TOOLBAR); gtk_widget_show (area->priv->image); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (area->priv->image, GTK_ALIGN_CENTER); + gtk_widget_set_valign (area->priv->image, GTK_ALIGN_CENTER); +#else gtk_misc_set_alignment (GTK_MISC (area->priv->image), 0.5, 0.5); +#endif gtk_box_pack_start (GTK_BOX (hbox), area->priv->image, FALSE, FALSE, 4); area->priv->label = gtk_label_new (""); gtk_widget_show (area->priv->label); gtk_box_pack_start (GTK_BOX (hbox), area->priv->label, TRUE, TRUE, 0); gtk_label_set_use_markup (GTK_LABEL (area->priv->label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (area->priv->label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (area->priv->label), 0, 0.5); +#endif gtk_label_set_ellipsize (GTK_LABEL (area->priv->label), PANGO_ELLIPSIZE_END); diff --git a/pluma/pluma-status-combo-box.c b/pluma/pluma-status-combo-box.c index c5b8ac3c..aaae9824 100644 --- a/pluma/pluma-status-combo-box.c +++ b/pluma/pluma-status-combo-box.c @@ -26,6 +26,10 @@ #define PLUMA_STATUS_COMBO_BOX_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE((object), PLUMA_TYPE_STATUS_COMBO_BOX, PlumaStatusComboBoxPrivate)) +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_hbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_HORIZONTAL,Y) +#endif + struct _PlumaStatusComboBoxPrivate { GtkWidget *frame; @@ -176,8 +180,12 @@ menu_position_func (GtkMenu *menu, GtkAllocation allocation; *push_in = FALSE; - + +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_widget_get_preferred_size (gtk_widget_get_toplevel (GTK_WIDGET (menu)), NULL, &request); +#else gtk_widget_size_request (gtk_widget_get_toplevel (GTK_WIDGET (menu)), &request); +#endif /* get the origin... */ gdk_window_get_origin (gtk_widget_get_window (GTK_WIDGET (combo)), x, y); @@ -201,8 +209,12 @@ button_press_event (GtkWidget *widget, GtkRequisition request; GtkAllocation allocation; gint max_height; - + +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_widget_get_preferred_size (combo->priv->menu, NULL, &request); +#else gtk_widget_size_request (combo->priv->menu, &request); +#endif gtk_widget_get_allocation (GTK_WIDGET (combo), &allocation); /* do something relative to our own height here, maybe we can do better */ @@ -275,7 +287,11 @@ pluma_status_combo_box_init (PlumaStatusComboBox *self) gtk_widget_show (self->priv->label); gtk_label_set_single_line_mode (GTK_LABEL (self->priv->label), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (self->priv->label, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (self->priv->label), 0.0, 0.5); +#endif gtk_box_pack_start (GTK_BOX (self->priv->hbox), self->priv->label, FALSE, TRUE, 0); @@ -283,13 +299,22 @@ pluma_status_combo_box_init (PlumaStatusComboBox *self) gtk_widget_show (self->priv->item); gtk_label_set_single_line_mode (GTK_LABEL (self->priv->item), TRUE); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (self->priv->item, GTK_ALIGN_START); +#else gtk_misc_set_alignment (GTK_MISC (self->priv->item), 0, 0.5); +#endif gtk_box_pack_start (GTK_BOX (self->priv->hbox), self->priv->item, TRUE, TRUE, 0); self->priv->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE); gtk_widget_show (self->priv->arrow); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (self->priv->arrow, GTK_ALIGN_CENTER); + gtk_widget_set_valign (self->priv->arrow, GTK_ALIGN_CENTER); +#else gtk_misc_set_alignment (GTK_MISC (self->priv->arrow), 0.5, 0.5); +#endif gtk_box_pack_start (GTK_BOX (self->priv->hbox), self->priv->arrow, FALSE, TRUE, 0); diff --git a/pluma/pluma-statusbar.c b/pluma/pluma-statusbar.c index 6b31bb5d..7854fd8b 100644 --- a/pluma/pluma-statusbar.c +++ b/pluma/pluma-statusbar.c @@ -42,6 +42,10 @@ PLUMA_TYPE_STATUSBAR,\ PlumaStatusbarPrivate)) +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_hbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_HORIZONTAL,Y) +#endif + struct _PlumaStatusbarPrivate { GtkWidget *overwrite_mode_label; @@ -161,9 +165,20 @@ pluma_statusbar_init (PlumaStatusbar *statusbar) statusbar->priv->error_frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (statusbar->priv->error_frame), GTK_SHADOW_IN); +#if GTK_CHECK_VERSION (3, 10, 0) + error_image = gtk_image_new_from_icon_name ("dialog-error", GTK_ICON_SIZE_MENU); +#else error_image = gtk_image_new_from_stock (GTK_STOCK_DIALOG_ERROR, GTK_ICON_SIZE_MENU); +#endif +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_margin_start (error_image, 4); + gtk_widget_set_margin_end (error_image, 4); + gtk_widget_set_margin_top (error_image, 0); + gtk_widget_set_margin_bottom (error_image, 0); +#else gtk_misc_set_padding (GTK_MISC (error_image), 4, 0); gtk_widget_show (error_image); +#endif statusbar->priv->error_event_box = gtk_event_box_new (); gtk_event_box_set_visible_window (GTK_EVENT_BOX (statusbar->priv->error_event_box), diff --git a/pluma/pluma-tab-label.c b/pluma/pluma-tab-label.c index c429f11c..06f72c46 100644 --- a/pluma/pluma-tab-label.c +++ b/pluma/pluma-tab-label.c @@ -31,6 +31,10 @@ #define PLUMA_TAB_LABEL_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE((object), PLUMA_TYPE_TAB_LABEL, PlumaTabLabelPrivate)) +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_hbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_HORIZONTAL,Y) +#endif + /* Signals */ enum { @@ -59,7 +63,11 @@ struct _PlumaTabLabelPrivate static guint signals[LAST_SIGNAL] = { 0 }; +#if GTK_CHECK_VERSION (3, 0, 0) +G_DEFINE_TYPE (PlumaTabLabel, pluma_tab_label, GTK_TYPE_BOX) +#else G_DEFINE_TYPE (PlumaTabLabel, pluma_tab_label, GTK_TYPE_HBOX) +#endif static void pluma_tab_label_finalize (GObject *object) @@ -261,6 +269,10 @@ pluma_tab_label_init (PlumaTabLabel *tab_label) tab_label->priv->close_button_sensitive = TRUE; +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_orientable_set_orientation (GTK_ORIENTABLE (tab_label), + GTK_ORIENTATION_HORIZONTAL); +#endif ebox = gtk_event_box_new (); gtk_event_box_set_visible_window (GTK_EVENT_BOX (ebox), FALSE); gtk_box_pack_start (GTK_BOX (tab_label), ebox, TRUE, TRUE, 0); @@ -289,8 +301,16 @@ pluma_tab_label_init (PlumaTabLabel *tab_label) tab_label->priv->icon = icon; label = gtk_label_new (""); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_halign (label, GTK_ALIGN_START); + gtk_widget_set_margin_start (label, 0); + gtk_widget_set_margin_end (label, 0); + gtk_widget_set_margin_top (label, 0); + gtk_widget_set_margin_bottom (label, 0); +#else gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); gtk_misc_set_padding (GTK_MISC (label), 0, 0); +#endif gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); tab_label->priv->label = label; diff --git a/pluma/pluma-tab-label.h b/pluma/pluma-tab-label.h index 7d8247e7..172ff766 100644 --- a/pluma/pluma-tab-label.h +++ b/pluma/pluma-tab-label.h @@ -41,13 +41,21 @@ typedef struct _PlumaTabLabelClass PlumaTabLabelClass; typedef struct _PlumaTabLabelPrivate PlumaTabLabelPrivate; struct _PlumaTabLabel { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBox parent; +#else GtkHBox parent; +#endif PlumaTabLabelPrivate *priv; }; struct _PlumaTabLabelClass { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBoxClass parent_class; +#else GtkHBoxClass parent_class; +#endif void (* close_clicked) (PlumaTabLabel *tab_label); }; diff --git a/pluma/pluma-tab.c b/pluma/pluma-tab.c index 86e1b184..723dfaf1 100644 --- a/pluma/pluma-tab.c +++ b/pluma/pluma-tab.c @@ -49,6 +49,10 @@ #define PLUMA_TAB_KEY "PLUMA_TAB_KEY" +#if GTK_CHECK_VERSION (3, 0, 0) +#define gdk_cursor_unref(cursor) g_object_unref (cursor) +#endif + struct _PlumaTabPrivate { PlumaTabState state; @@ -82,7 +86,11 @@ struct _PlumaTabPrivate gint ask_if_externally_modified : 1; }; +#if GTK_CHECK_VERSION (3, 0, 0) +G_DEFINE_TYPE(PlumaTab, pluma_tab, GTK_TYPE_BOX) +#else G_DEFINE_TYPE(PlumaTab, pluma_tab, GTK_TYPE_VBOX) +#endif enum { @@ -1481,6 +1489,11 @@ pluma_tab_init (PlumaTab *tab) tab->priv->save_flags = 0; tab->priv->ask_if_externally_modified = TRUE; + +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_orientable_set_orientation (GTK_ORIENTABLE (tab), + GTK_ORIENTATION_VERTICAL); +#endif /* Create the scrolled window */ sw = gtk_scrolled_window_new (NULL, NULL); @@ -1859,10 +1872,14 @@ _pluma_tab_get_icon (PlumaTab *tab) theme = gtk_icon_theme_get_for_screen (screen); g_return_val_if_fail (theme != NULL, NULL); +#if GTK_CHECK_VERSION (3, 10, 0) + gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, NULL, &icon_size); +#else gtk_icon_size_lookup_for_settings (gtk_widget_get_settings (GTK_WIDGET (tab)), GTK_ICON_SIZE_MENU, NULL, &icon_size); +#endif switch (tab->priv->state) { diff --git a/pluma/pluma-tab.h b/pluma/pluma-tab.h index 209db62f..62d46521 100644 --- a/pluma/pluma-tab.h +++ b/pluma/pluma-tab.h @@ -77,7 +77,11 @@ typedef struct _PlumaTab PlumaTab; struct _PlumaTab { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBox vbox; +#else GtkVBox vbox; +#endif /*< private > */ PlumaTabPrivate *priv; @@ -90,7 +94,11 @@ typedef struct _PlumaTabClass PlumaTabClass; struct _PlumaTabClass { +#if GTK_CHECK_VERSION (3, 0, 0) + GtkBoxClass parent_class; +#else GtkVBoxClass parent_class; +#endif }; /* diff --git a/pluma/pluma-utils.c b/pluma/pluma-utils.c index 571cf81f..19405ebf 100644 --- a/pluma/pluma-utils.c +++ b/pluma/pluma-utils.c @@ -134,7 +134,11 @@ pluma_utils_menu_position_under_widget (GtkMenu *menu, widget = GTK_WIDGET (user_data); widget_get_origin (widget, x, y); +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, &requisition); +#else gtk_widget_size_request (GTK_WIDGET (menu), &requisition); +#endif gtk_widget_get_allocation (widget, &allocation); @@ -189,7 +193,11 @@ pluma_utils_menu_position_under_tree_view (GtkMenu *menu, if (gtk_widget_get_direction (GTK_WIDGET (tree)) == GTK_TEXT_DIR_RTL) { GtkRequisition requisition; +#if GTK_CHECK_VERSION (3, 0, 0) + gtk_widget_get_preferred_size (GTK_WIDGET (menu), NULL, &requisition); +#else gtk_widget_size_request (GTK_WIDGET (menu), &requisition); +#endif *x += rect.width - requisition.width; } } @@ -1097,7 +1105,14 @@ handle_builder_error (const gchar *message, ...) g_free (msg_plain); g_free (msg); +#if GTK_CHECK_VERSION (3, 14, 0) + gtk_widget_set_margin_start (label, 5); + gtk_widget_set_margin_end (label, 5); + gtk_widget_set_margin_top (label, 5); + gtk_widget_set_margin_bottom (label, 5); +#else gtk_misc_set_padding (GTK_MISC (label), 5, 5); +#endif return label; } diff --git a/pluma/pluma-view.c b/pluma/pluma-view.c index a9a1d54a..293d5da5 100644 --- a/pluma/pluma-view.c +++ b/pluma/pluma-view.c @@ -56,6 +56,10 @@ #define PLUMA_VIEW_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), PLUMA_TYPE_VIEW, PlumaViewPrivate)) +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_vbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_VERTICAL,Y) +#endif + typedef enum { GOTO_LINE, @@ -966,12 +970,16 @@ hide_search_window (PlumaView *view, gboolean cancel) static gboolean search_entry_flush_timeout (PlumaView *view) { +#if !GTK_CHECK_VERSION (3, 0, 0) GDK_THREADS_ENTER (); +#endif view->priv->typeselect_flush_timeout = 0; hide_search_window (view, FALSE); +#if !GTK_CHECK_VERSION (3, 0, 0) GDK_THREADS_LEAVE (); +#endif return FALSE; } @@ -1185,11 +1193,15 @@ real_search_enable_popdown (gpointer data) { PlumaView *view = (PlumaView *)data; +#if !GTK_CHECK_VERSION (3, 0, 0) GDK_THREADS_ENTER (); +#endif view->priv->disable_popdown = FALSE; +#if !GTK_CHECK_VERSION (3, 0, 0) GDK_THREADS_LEAVE (); +#endif return FALSE; } diff --git a/pluma/pluma-window.c b/pluma/pluma-window.c index e12164ac..0126ec30 100644 --- a/pluma/pluma-window.c +++ b/pluma/pluma-window.c @@ -71,6 +71,10 @@ PLUMA_TYPE_WINDOW, \ PlumaWindowPrivate)) +#if GTK_CHECK_VERSION (3, 0, 0) +#define gtk_vbox_new(X,Y) gtk_box_new(GTK_ORIENTATION_VERTICAL,Y) +#endif + /* Signals */ enum { diff --git a/pluma/smclient/eggsmclient-xsmp.c b/pluma/smclient/eggsmclient-xsmp.c index df2aa583..a1a69594 100644 --- a/pluma/smclient/eggsmclient-xsmp.c +++ b/pluma/smclient/eggsmclient-xsmp.c @@ -367,9 +367,13 @@ sm_client_xsmp_startup (EggSMClient *client, xsmp->client_id = g_strdup (ret_client_id); free (ret_client_id); +#if !GTK_CHECK_VERSION (3, 0, 0) gdk_threads_enter (); +#endif gdk_x11_set_sm_client_id (xsmp->client_id); +#if !GTK_CHECK_VERSION (3, 0, 0) gdk_threads_leave (); +#endif g_debug ("Got client ID \"%s\"", xsmp->client_id); } @@ -537,7 +541,9 @@ idle_do_pending_events (gpointer data) EggSMClientXSMP *xsmp = data; EggSMClient *client = data; +#if !GTK_CHECK_VERSION (3, 0, 0) gdk_threads_enter (); +#endif xsmp->idle = 0; @@ -562,7 +568,9 @@ idle_do_pending_events (gpointer data) } out: +#if !GTK_CHECK_VERSION (3, 0, 0) gdk_threads_leave (); +#endif return FALSE; } @@ -1284,9 +1292,13 @@ process_ice_messages (IceConn ice_conn) { IceProcessMessagesStatus status; +#if !GTK_CHECK_VERSION (3, 0, 0) gdk_threads_enter (); +#endif status = IceProcessMessages (ice_conn, NULL, NULL); +#if !GTK_CHECK_VERSION (3, 0, 0) gdk_threads_leave (); +#endif switch (status) { |