diff options
author | Matthias Clasen <mclasen@redhat.com> | 2020-11-09 14:21:26 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2020-11-09 14:21:26 +0000 |
commit | e093ed7d6745b910077aaf6c60a58536704d8f52 (patch) | |
tree | 68f861396db9c5904795b26a40f24c6b93eaeee5 | |
parent | 53cd499621b5f55df658725fb4f83d365a1319ad (diff) | |
parent | ddbea8fedad320cfb5cc860a8b7d4ec031b26985 (diff) | |
download | gtk+-e093ed7d6745b910077aaf6c60a58536704d8f52.tar.gz |
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #3337
See merge request GNOME/gtk!2799
-rw-r--r-- | docs/reference/gtk/running.md | 8 | ||||
-rw-r--r-- | gtk/gtkenums.h | 6 | ||||
-rw-r--r-- | gtk/gtkplacessidebar.c | 193 | ||||
-rw-r--r-- | gtk/gtkplacessidebarprivate.h | 49 | ||||
-rw-r--r-- | gtk/gtkplacesview.c | 1 | ||||
-rw-r--r-- | gtk/gtkprivate.h | 1 | ||||
-rw-r--r-- | gtk/gtksidebarrow.c | 51 | ||||
-rw-r--r-- | gtk/meson.build | 1 |
8 files changed, 162 insertions, 148 deletions
diff --git a/docs/reference/gtk/running.md b/docs/reference/gtk/running.md index 2135eaa8d5..d0da90a5df 100644 --- a/docs/reference/gtk/running.md +++ b/docs/reference/gtk/running.md @@ -98,6 +98,14 @@ be used for the default IM module. This also can be a colon-separated list of input-methods, which GTK will try in turn until it finds one available on the system. +### GTK_MEDIA + +Specifies what backend to load for #GtkMediaFile. The possible values +depend on what options GTK was built with, and can include 'gstreamer', +'ffmpeg' and 'none'. If set to 'none', media playback will be unavailable. +The special value 'help' can be used to obtain a list of all supported +media backends. + ### GTK_EXE_PREFIX If set, GTK uses `$GTK_EXE_PREFIX/lib` instead of the libdir diff --git a/gtk/gtkenums.h b/gtk/gtkenums.h index 87f258a6aa..8f0f7edc98 100644 --- a/gtk/gtkenums.h +++ b/gtk/gtkenums.h @@ -971,12 +971,6 @@ typedef enum GTK_SHORTCUT_SCOPE_GLOBAL } GtkShortcutScope; -typedef enum { - GTK_PLACES_OPEN_NORMAL = 1 << 0, - GTK_PLACES_OPEN_NEW_TAB = 1 << 1, - GTK_PLACES_OPEN_NEW_WINDOW = 1 << 2 -} GtkPlacesOpenFlags; - /** * GtkPickFlags: * @GTK_PICK_DEFAULT: The default behavior, include widgets that are receiving events diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index d503bf1e46..b90b748b85 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -43,6 +43,7 @@ #include "gtksettings.h" #include "gtktrashmonitor.h" #include "gtktypebuiltins.h" +#include "gtkprivatetypebuiltins.h" #include "gtkpopovermenu.h" #include "gtkgrid.h" #include "gtklabel.h" @@ -379,8 +380,8 @@ list_box_header_func (GtkListBoxRow *row, GtkListBoxRow *before, gpointer user_data) { - GtkPlacesSidebarSectionType row_section_type; - GtkPlacesSidebarSectionType before_section_type; + GtkPlacesSectionType row_section_type; + GtkPlacesSectionType before_section_type; GtkWidget *separator; gtk_list_box_row_set_header (row, NULL); @@ -392,7 +393,7 @@ list_box_header_func (GtkListBoxRow *row, } else { - before_section_type = SECTION_INVALID; + before_section_type = GTK_PLACES_SECTION_INVALID; } if (before && before_section_type != row_section_type) @@ -404,8 +405,8 @@ list_box_header_func (GtkListBoxRow *row, static GtkWidget* add_place (GtkPlacesSidebar *sidebar, - GtkPlacesSidebarPlaceType place_type, - GtkPlacesSidebarSectionType section_type, + GtkPlacesPlaceType place_type, + GtkPlacesSectionType section_type, const char *name, GIcon *start_icon, GIcon *end_icon, @@ -431,7 +432,7 @@ add_place (GtkPlacesSidebar *sidebar, &show_unmount, &show_eject); if (show_unmount || show_eject) - g_assert (place_type != PLACES_BOOKMARK); + g_assert (place_type != GTK_PLACES_BOOKMARK); show_eject_button = (show_unmount || show_eject); @@ -614,8 +615,8 @@ add_special_dirs (GtkPlacesSidebar *sidebar) mount_uri = g_file_get_uri (root); tooltip = g_file_get_parse_name (root); - add_place (sidebar, PLACES_XDG_DIR, - SECTION_COMPUTER, + add_place (sidebar, GTK_PLACES_XDG_DIR, + GTK_PLACES_SECTION_COMPUTER, name, start_icon, NULL, mount_uri, NULL, NULL, NULL, NULL, 0, tooltip); @@ -721,8 +722,8 @@ on_app_shortcuts_query_complete (GObject *source, uri = g_file_get_uri (file); tooltip = g_file_get_parse_name (file); - add_place (sidebar, PLACES_BUILT_IN, - SECTION_COMPUTER, + add_place (sidebar, GTK_PLACES_BUILT_IN, + GTK_PLACES_SECTION_COMPUTER, name, start_icon, NULL, uri, NULL, NULL, NULL, NULL, pos, @@ -811,8 +812,8 @@ on_bookmark_query_info_complete (GObject *source, mount_uri = g_file_get_uri (root); tooltip = g_file_get_parse_name (root); - add_place (sidebar, PLACES_BOOKMARK, - SECTION_BOOKMARKS, + add_place (sidebar, GTK_PLACES_BOOKMARK, + GTK_PLACES_SECTION_BOOKMARKS, bookmark_name, start_icon, NULL, mount_uri, NULL, NULL, NULL, NULL, clos->index, tooltip); @@ -911,8 +912,8 @@ create_cloud_provider_account_row (GtkPlacesSidebar *sidebar, /* translators: %s is the name of a cloud provider for files */ tooltip = g_strdup_printf (_("Open %s"), name); - add_place (sidebar, PLACES_BUILT_IN, - SECTION_CLOUD, + add_place (sidebar, GTK_PLACES_BUILT_IN, + GTK_PLACES_SECTION_CLOUD, name, start_icon, end_icon, mount_uri, NULL, NULL, NULL, account, 0, tooltip); @@ -997,8 +998,8 @@ update_places (GtkPlacesSidebar *sidebar) if (should_show_recent (sidebar)) { start_icon = g_themed_icon_new_with_default_fallbacks ("document-open-recent-symbolic"); - add_place (sidebar, PLACES_BUILT_IN, - SECTION_COMPUTER, + add_place (sidebar, GTK_PLACES_BUILT_IN, + GTK_PLACES_SECTION_COMPUTER, _("Recent"), start_icon, NULL, "recent:///", NULL, NULL, NULL, NULL, 0, _("Recent files")); @@ -1008,8 +1009,8 @@ update_places (GtkPlacesSidebar *sidebar) if (sidebar->show_starred_location) { start_icon = g_themed_icon_new_with_default_fallbacks ("starred-symbolic"); - add_place (sidebar, PLACES_STARRED_LOCATION, - SECTION_COMPUTER, + add_place (sidebar, GTK_PLACES_STARRED_LOCATION, + GTK_PLACES_SECTION_COMPUTER, _("Starred"), start_icon, NULL, "starred:///", NULL, NULL, NULL, NULL, 0, _("Starred files")); @@ -1019,8 +1020,8 @@ update_places (GtkPlacesSidebar *sidebar) /* home folder */ home_uri = get_home_directory_uri (); start_icon = g_themed_icon_new_with_default_fallbacks (ICON_NAME_HOME); - add_place (sidebar, PLACES_BUILT_IN, - SECTION_COMPUTER, + add_place (sidebar, GTK_PLACES_BUILT_IN, + GTK_PLACES_SECTION_COMPUTER, _("Home"), start_icon, NULL, home_uri, NULL, NULL, NULL, NULL, 0, _("Open your personal folder")); @@ -1034,8 +1035,8 @@ update_places (GtkPlacesSidebar *sidebar) if (mount_uri) { start_icon = g_themed_icon_new_with_default_fallbacks (ICON_NAME_DESKTOP); - add_place (sidebar, PLACES_BUILT_IN, - SECTION_COMPUTER, + add_place (sidebar, GTK_PLACES_BUILT_IN, + GTK_PLACES_SECTION_COMPUTER, _("Desktop"), start_icon, NULL, mount_uri, NULL, NULL, NULL, NULL, 0, _("Open the contents of your desktop in a folder")); @@ -1050,8 +1051,8 @@ update_places (GtkPlacesSidebar *sidebar) if (sidebar->show_enter_location) { start_icon = g_themed_icon_new_with_default_fallbacks (ICON_NAME_NETWORK_SERVER); - add_place (sidebar, PLACES_ENTER_LOCATION, - SECTION_COMPUTER, + add_place (sidebar, GTK_PLACES_ENTER_LOCATION, + GTK_PLACES_SECTION_COMPUTER, _("Enter Location"), start_icon, NULL, NULL, NULL, NULL, NULL, NULL, 0, _("Manually enter a location")); @@ -1062,8 +1063,8 @@ update_places (GtkPlacesSidebar *sidebar) if (sidebar->show_trash) { start_icon = _gtk_trash_monitor_get_icon (sidebar->trash_monitor); - sidebar->trash_row = add_place (sidebar, PLACES_BUILT_IN, - SECTION_COMPUTER, + sidebar->trash_row = add_place (sidebar, GTK_PLACES_BUILT_IN, + GTK_PLACES_SECTION_COMPUTER, _("Trash"), start_icon, NULL, "trash:///", NULL, NULL, NULL, NULL, 0, _("Open the trash")); @@ -1154,8 +1155,8 @@ update_places (GtkPlacesSidebar *sidebar) name = g_mount_get_name (mount); tooltip = g_file_get_parse_name (root); - add_place (sidebar, PLACES_MOUNTED_VOLUME, - SECTION_MOUNTS, + add_place (sidebar, GTK_PLACES_MOUNTED_VOLUME, + GTK_PLACES_SECTION_MOUNTS, name, start_icon, NULL, mount_uri, drive, volume, mount, NULL, 0, tooltip); g_object_unref (root); @@ -1179,8 +1180,8 @@ update_places (GtkPlacesSidebar *sidebar) name = g_volume_get_name (volume); tooltip = g_strdup_printf (_("Mount and open “%s”"), name); - add_place (sidebar, PLACES_MOUNTED_VOLUME, - SECTION_MOUNTS, + add_place (sidebar, GTK_PLACES_MOUNTED_VOLUME, + GTK_PLACES_SECTION_MOUNTS, name, start_icon, NULL, NULL, drive, volume, NULL, NULL, 0, tooltip); g_object_unref (start_icon); @@ -1207,8 +1208,8 @@ update_places (GtkPlacesSidebar *sidebar) name = g_drive_get_name (drive); tooltip = g_strdup_printf (_("Mount and open “%s”"), name); - add_place (sidebar, PLACES_BUILT_IN, - SECTION_MOUNTS, + add_place (sidebar, GTK_PLACES_BUILT_IN, + GTK_PLACES_SECTION_MOUNTS, name, start_icon, NULL, NULL, drive, NULL, NULL, NULL, 0, tooltip); g_object_unref (start_icon); @@ -1265,8 +1266,8 @@ update_places (GtkPlacesSidebar *sidebar) mount_uri = g_file_get_uri (root); tooltip = g_file_get_parse_name (root); name = g_mount_get_name (mount); - add_place (sidebar, PLACES_MOUNTED_VOLUME, - SECTION_MOUNTS, + add_place (sidebar, GTK_PLACES_MOUNTED_VOLUME, + GTK_PLACES_SECTION_MOUNTS, name, start_icon, NULL, mount_uri, NULL, volume, mount, NULL, 0, tooltip); g_object_unref (mount); @@ -1281,8 +1282,8 @@ update_places (GtkPlacesSidebar *sidebar) /* see comment above in why we add an icon for an unmounted mountable volume */ start_icon = g_volume_get_symbolic_icon (volume); name = g_volume_get_name (volume); - add_place (sidebar, PLACES_MOUNTED_VOLUME, - SECTION_MOUNTS, + add_place (sidebar, GTK_PLACES_MOUNTED_VOLUME, + GTK_PLACES_SECTION_MOUNTS, name, start_icon, NULL, NULL, NULL, volume, NULL, NULL, 0, name); g_object_unref (start_icon); @@ -1296,8 +1297,8 @@ update_places (GtkPlacesSidebar *sidebar) if (!sidebar->show_other_locations) { start_icon = g_themed_icon_new_with_default_fallbacks (ICON_NAME_FILESYSTEM); - add_place (sidebar, PLACES_BUILT_IN, - SECTION_MOUNTS, + add_place (sidebar, GTK_PLACES_BUILT_IN, + GTK_PLACES_SECTION_MOUNTS, sidebar->hostname, start_icon, NULL, "file:///", NULL, NULL, NULL, NULL, 0, _("Open the contents of the file system")); @@ -1337,8 +1338,8 @@ update_places (GtkPlacesSidebar *sidebar) mount_uri = g_file_get_uri (root); name = g_mount_get_name (mount); tooltip = g_file_get_parse_name (root); - add_place (sidebar, PLACES_MOUNTED_VOLUME, - SECTION_COMPUTER, + add_place (sidebar, GTK_PLACES_MOUNTED_VOLUME, + GTK_PLACES_SECTION_COMPUTER, name, start_icon, NULL, mount_uri, NULL, NULL, mount, NULL, 0, tooltip); g_object_unref (root); @@ -1381,8 +1382,8 @@ update_places (GtkPlacesSidebar *sidebar) /* Add new bookmark row */ new_bookmark_icon = g_themed_icon_new ("bookmark-new-symbolic"); - sidebar->new_bookmark_row = add_place (sidebar, PLACES_DROP_FEEDBACK, - SECTION_BOOKMARKS, + sidebar->new_bookmark_row = add_place (sidebar, GTK_PLACES_DROP_FEEDBACK, + GTK_PLACES_SECTION_BOOKMARKS, _("New bookmark"), new_bookmark_icon, NULL, NULL, NULL, NULL, NULL, NULL, 0, _("Add a new bookmark")); @@ -1407,8 +1408,8 @@ update_places (GtkPlacesSidebar *sidebar) name = g_volume_get_name (volume); tooltip = g_strdup_printf (_("Mount and open “%s”"), name); - add_place (sidebar, PLACES_MOUNTED_VOLUME, - SECTION_MOUNTS, + add_place (sidebar, GTK_PLACES_MOUNTED_VOLUME, + GTK_PLACES_SECTION_MOUNTS, name, start_icon, NULL, NULL, NULL, volume, NULL, NULL, 0, tooltip); g_object_unref (start_icon); @@ -1428,8 +1429,8 @@ update_places (GtkPlacesSidebar *sidebar) mount_uri = g_file_get_uri (root); name = g_mount_get_name (mount); tooltip = g_file_get_parse_name (root); - add_place (sidebar, PLACES_MOUNTED_VOLUME, - SECTION_MOUNTS, + add_place (sidebar, GTK_PLACES_MOUNTED_VOLUME, + GTK_PLACES_SECTION_MOUNTS, name, start_icon, NULL, mount_uri, NULL, NULL, mount, NULL, 0, tooltip); g_object_unref (root); @@ -1448,8 +1449,8 @@ update_places (GtkPlacesSidebar *sidebar) { start_icon = g_themed_icon_new_with_default_fallbacks (ICON_NAME_OTHER_LOCATIONS); - add_place (sidebar, PLACES_OTHER_LOCATIONS, - SECTION_OTHER_LOCATIONS, + add_place (sidebar, GTK_PLACES_OTHER_LOCATIONS, + GTK_PLACES_SECTION_OTHER_LOCATIONS, _("Other Locations"), start_icon, NULL, "other-locations:///", NULL, NULL, NULL, NULL, 0, _("Show other locations")); @@ -1477,8 +1478,8 @@ check_valid_drop_target (GtkPlacesSidebar *sidebar, GtkSidebarRow *row, const GValue *value) { - GtkPlacesSidebarPlaceType place_type; - GtkPlacesSidebarSectionType section_type; + GtkPlacesPlaceType place_type; + GtkPlacesSectionType section_type; gboolean valid = FALSE; char *uri; GFile *dest_file; @@ -1495,26 +1496,26 @@ check_valid_drop_target (GtkPlacesSidebar *sidebar, "uri", &uri, NULL); - if (place_type == PLACES_STARRED_LOCATION) + if (place_type == GTK_PLACES_STARRED_LOCATION) { g_free (uri); return FALSE; } - if (place_type == PLACES_CONNECT_TO_SERVER) + if (place_type == GTK_PLACES_CONNECT_TO_SERVER) { g_free (uri); return FALSE; } - if (place_type == PLACES_DROP_FEEDBACK) + if (place_type == GTK_PLACES_DROP_FEEDBACK) { g_free (uri); return TRUE; } /* Disallow drops on recent:/// */ - if (place_type == PLACES_BUILT_IN) + if (place_type == GTK_PLACES_BUILT_IN) { if (g_strcmp0 (uri, "recent:///") == 0) { @@ -1527,7 +1528,7 @@ check_valid_drop_target (GtkPlacesSidebar *sidebar, if (G_VALUE_HOLDS (value, GTK_TYPE_SIDEBAR_ROW)) { /* Don't allow reordering bookmarks into non-bookmark areas */ - valid = section_type == SECTION_BOOKMARKS; + valid = section_type == GTK_PLACES_SECTION_BOOKMARKS; } else if (G_VALUE_HOLDS (value, GDK_TYPE_FILE_LIST)) { @@ -1633,7 +1634,7 @@ drag_motion_callback (GtkDropTarget *target, { GdkDragAction action; GtkListBoxRow *row; - GtkPlacesSidebarPlaceType place_type; + GtkPlacesPlaceType place_type; char *drop_target_uri = NULL; int row_index; int row_placeholder_index; @@ -1718,7 +1719,7 @@ drag_motion_callback (GtkDropTarget *target, * file move/copy operation itself, or if we should only try to * create bookmarks out of the dragged URIs. */ - if (place_type == PLACES_DROP_FEEDBACK) + if (place_type == GTK_PLACES_DROP_FEEDBACK) { action = GDK_ACTION_COPY; } @@ -1799,8 +1800,8 @@ drag_drop_callback (GtkDropTarget *target, GtkPlacesSidebar *sidebar) { int target_order_index; - GtkPlacesSidebarPlaceType target_place_type; - GtkPlacesSidebarSectionType target_section_type; + GtkPlacesPlaceType target_place_type; + GtkPlacesSectionType target_section_type; char *target_uri; GtkListBoxRow *target_row; gboolean result; @@ -1824,7 +1825,7 @@ drag_drop_callback (GtkDropTarget *target, { GtkWidget *source_row; /* A bookmark got reordered */ - if (target_section_type != SECTION_BOOKMARKS) + if (target_section_type != GTK_PLACES_SECTION_BOOKMARKS) goto out; source_row = g_value_get_object (value); @@ -1838,7 +1839,7 @@ drag_drop_callback (GtkDropTarget *target, else if (G_VALUE_HOLDS (value, GDK_TYPE_FILE_LIST)) { /* Dropping URIs! */ - if (target_place_type == PLACES_DROP_FEEDBACK) + if (target_place_type == GTK_PLACES_DROP_FEEDBACK) { drop_files_as_bookmarks (sidebar, g_value_get_boxed (value), target_order_index); } @@ -2096,7 +2097,7 @@ open_row (GtkSidebarRow *row, char *uri; GDrive *drive; GVolume *volume; - GtkPlacesSidebarPlaceType place_type; + GtkPlacesPlaceType place_type; GtkPlacesSidebar *sidebar; g_object_get (row, @@ -2107,11 +2108,11 @@ open_row (GtkSidebarRow *row, "volume", &volume, NULL); - if (place_type == PLACES_OTHER_LOCATIONS) + if (place_type == GTK_PLACES_OTHER_LOCATIONS) { emit_show_other_locations_with_flags (sidebar, open_flags); } - else if (place_type == PLACES_STARRED_LOCATION) + else if (place_type == GTK_PLACES_STARRED_LOCATION) { emit_show_starred_location (sidebar, open_flags); } @@ -2119,7 +2120,7 @@ open_row (GtkSidebarRow *row, { open_uri (sidebar, uri, open_flags); } - else if (place_type == PLACES_ENTER_LOCATION) + else if (place_type == GTK_PLACES_ENTER_LOCATION) { emit_show_enter_location (sidebar); } @@ -2185,7 +2186,7 @@ static void rename_entry_changed (GtkEntry *entry, GtkPlacesSidebar *sidebar) { - GtkPlacesSidebarPlaceType type; + GtkPlacesPlaceType type; char *name; char *uri; const char *new_name; @@ -2214,7 +2215,7 @@ rename_entry_changed (GtkEntry *entry, "label", &name, NULL); - if ((type == PLACES_XDG_DIR || type == PLACES_BOOKMARK) && + if ((type == GTK_PLACES_XDG_DIR || type == GTK_PLACES_BOOKMARK) && strcmp (uri, sidebar->rename_uri) != 0 && strcmp (new_name, name) == 0) found = TRUE; @@ -2404,11 +2405,11 @@ show_rename_popover (GtkSidebarRow *row) static void rename_bookmark (GtkSidebarRow *row) { - GtkPlacesSidebarPlaceType type; + GtkPlacesPlaceType type; g_object_get (row, "place-type", &type, NULL); - if (type != PLACES_BOOKMARK && type != PLACES_XDG_DIR) + if (type != GTK_PLACES_BOOKMARK && type != GTK_PLACES_XDG_DIR) return; show_rename_popover (row); @@ -2427,7 +2428,7 @@ rename_shortcut_cb (GSimpleAction *action, static void remove_bookmark (GtkSidebarRow *row) { - GtkPlacesSidebarPlaceType type; + GtkPlacesPlaceType type; char *uri; GFile *file; GtkPlacesSidebar *sidebar; @@ -2438,7 +2439,7 @@ remove_bookmark (GtkSidebarRow *row) "uri", &uri, NULL); - if (type == PLACES_BOOKMARK) + if (type == GTK_PLACES_BOOKMARK) { file = g_file_new_for_uri (uri); _gtk_bookmarks_manager_remove_bookmark (sidebar->bookmarks_manager, file, NULL); @@ -3165,7 +3166,7 @@ static void create_row_popover (GtkPlacesSidebar *sidebar, GtkSidebarRow *row) { - GtkPlacesSidebarPlaceType type; + GtkPlacesPlaceType type; GMenu *menu, *section; GMenuItem *item; GMount *mount; @@ -3197,10 +3198,10 @@ create_row_popover (GtkPlacesSidebar *sidebar, #endif action = g_action_map_lookup_action (G_ACTION_MAP (sidebar->row_actions), "remove"); - g_simple_action_set_enabled (G_SIMPLE_ACTION (action), (type == PLACES_BOOKMARK)); + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), (type == GTK_PLACES_BOOKMARK)); action = g_action_map_lookup_action (G_ACTION_MAP (sidebar->row_actions), "rename"); - g_simple_action_set_enabled (G_SIMPLE_ACTION (action), (type == PLACES_BOOKMARK || - type == PLACES_XDG_DIR)); + g_simple_action_set_enabled (G_SIMPLE_ACTION (action), (type == GTK_PLACES_BOOKMARK || + type == GTK_PLACES_XDG_DIR)); action = g_action_map_lookup_action (G_ACTION_MAP (sidebar->row_actions), "open"); g_simple_action_set_enabled (G_SIMPLE_ACTION (action), !gtk_list_box_row_is_selected (GTK_LIST_BOX_ROW (row))); @@ -3372,8 +3373,8 @@ on_row_pressed (GtkGestureClick *gesture, GtkSidebarRow *row) { GtkPlacesSidebar *sidebar; - GtkPlacesSidebarSectionType section_type; - GtkPlacesSidebarPlaceType row_type; + GtkPlacesSectionType section_type; + GtkPlacesPlaceType row_type; g_object_get (row, "sidebar", &sidebar, @@ -3381,7 +3382,7 @@ on_row_pressed (GtkGestureClick *gesture, "place-type", &row_type, NULL); - if (section_type == SECTION_BOOKMARKS) + if (section_type == GTK_PLACES_SECTION_BOOKMARKS) { sidebar->drag_row = GTK_WIDGET (row); sidebar->drag_row_x = (int)x; @@ -3399,8 +3400,8 @@ on_row_released (GtkGestureClick *gesture, GtkSidebarRow *row) { GtkPlacesSidebar *sidebar; - GtkPlacesSidebarSectionType section_type; - GtkPlacesSidebarPlaceType row_type; + GtkPlacesSectionType section_type; + GtkPlacesPlaceType row_type; guint button, state; g_object_get (row, @@ -3428,7 +3429,7 @@ on_row_released (GtkGestureClick *gesture, } else if (button == 3) { - if (row_type != PLACES_CONNECT_TO_SERVER) + if (row_type != GTK_PLACES_CONNECT_TO_SERVER) show_row_popover (GTK_SIDEBAR_ROW (row)); } } @@ -3500,11 +3501,11 @@ on_row_dragged (GtkGestureDrag *gesture, static void popup_menu_cb (GtkSidebarRow *row) { - GtkPlacesSidebarPlaceType row_type; + GtkPlacesPlaceType row_type; g_object_get (row, "place-type", &row_type, NULL); - if (row_type != PLACES_CONNECT_TO_SERVER) + if (row_type != GTK_PLACES_CONNECT_TO_SERVER) show_row_popover (row); } @@ -3526,8 +3527,8 @@ list_box_sort_func (GtkListBoxRow *row1, GtkListBoxRow *row2, gpointer user_data) { - GtkPlacesSidebarSectionType section_type_1, section_type_2; - GtkPlacesSidebarPlaceType place_type_1, place_type_2; + GtkPlacesSectionType section_type_1, section_type_2; + GtkPlacesPlaceType place_type_1, place_type_2; char *label_1, *label_2; int index_1, index_2; int retval = 0; @@ -3546,11 +3547,11 @@ list_box_sort_func (GtkListBoxRow *row1, NULL); /* Always last position for "connect to server" */ - if (place_type_1 == PLACES_CONNECT_TO_SERVER) + if (place_type_1 == GTK_PLACES_CONNECT_TO_SERVER) { retval = 1; } - else if (place_type_2 == PLACES_CONNECT_TO_SERVER) + else if (place_type_2 == GTK_PLACES_CONNECT_TO_SERVER) { retval = -1; } @@ -3558,15 +3559,15 @@ list_box_sort_func (GtkListBoxRow *row1, { if (section_type_1 == section_type_2) { - if ((section_type_1 == SECTION_COMPUTER && + if ((section_type_1 == GTK_PLACES_SECTION_COMPUTER && place_type_1 == place_type_2 && - place_type_1 == PLACES_XDG_DIR) || - section_type_1 == SECTION_MOUNTS) + place_type_1 == GTK_PLACES_XDG_DIR) || + section_type_1 == GTK_PLACES_SECTION_MOUNTS) { retval = g_utf8_collate (label_1, label_2); } - else if ((place_type_1 == PLACES_BOOKMARK || place_type_2 == PLACES_DROP_FEEDBACK) && - (place_type_1 == PLACES_DROP_FEEDBACK || place_type_2 == PLACES_BOOKMARK)) + else if ((place_type_1 == GTK_PLACES_BOOKMARK || place_type_2 == GTK_PLACES_DROP_FEEDBACK) && + (place_type_1 == GTK_PLACES_DROP_FEEDBACK || place_type_2 == GTK_PLACES_BOOKMARK)) { retval = index_1 - index_2; } @@ -3580,14 +3581,14 @@ list_box_sort_func (GtkListBoxRow *row1, * the current row, for instance when the cursor is in the lower half * of the row, we need to increase the order-index. */ - else if (place_type_1 == PLACES_BOOKMARK_PLACEHOLDER && place_type_2 == PLACES_BOOKMARK) + else if (place_type_1 == GTK_PLACES_BOOKMARK_PLACEHOLDER && place_type_2 == GTK_PLACES_BOOKMARK) { if (index_1 == index_2) retval = index_1 - index_2 - 1; else retval = index_1 - index_2; } - else if (place_type_1 == PLACES_BOOKMARK && place_type_2 == PLACES_BOOKMARK_PLACEHOLDER) + else if (place_type_1 == GTK_PLACES_BOOKMARK && place_type_2 == GTK_PLACES_BOOKMARK_PLACEHOLDER) { if (index_1 == index_2) retval = index_1 - index_2 + 1; @@ -4883,7 +4884,7 @@ gtk_places_sidebar_get_nth_bookmark (GtkPlacesSidebar *sidebar, row != NULL; row = gtk_widget_get_next_sibling (row)) { - GtkPlacesSidebarPlaceType place_type; + GtkPlacesPlaceType place_type; char *uri; if (!GTK_IS_LIST_BOX_ROW (row)) @@ -4893,7 +4894,7 @@ gtk_places_sidebar_get_nth_bookmark (GtkPlacesSidebar *sidebar, "place-type", &place_type, "uri", &uri, NULL); - if (place_type == PLACES_BOOKMARK) + if (place_type == GTK_PLACES_BOOKMARK) { if (k == n) { diff --git a/gtk/gtkplacessidebarprivate.h b/gtk/gtkplacessidebarprivate.h index 512ef23cf3..55003b499d 100644 --- a/gtk/gtkplacessidebarprivate.h +++ b/gtk/gtkplacessidebarprivate.h @@ -64,6 +64,11 @@ typedef struct _GtkPlacesSidebarClass GtkPlacesSidebarClass; * use #GTK_PLACES_OPEN_NORMAL in the #GtkPlacesSidebar::open-location signal. This is the * default mode of operation. */ +typedef enum { + GTK_PLACES_OPEN_NORMAL = 1 << 0, + GTK_PLACES_OPEN_NEW_TAB = 1 << 1, + GTK_PLACES_OPEN_NEW_WINDOW = 1 << 2 +} GtkPlacesOpenFlags; GType gtk_places_sidebar_get_type (void) G_GNUC_CONST; GtkWidget * gtk_places_sidebar_new (void); @@ -112,30 +117,30 @@ gboolean gtk_places_sidebar_get_show_starred_location (GtkPlacesSide /* Keep order, since it's used for the sort functions */ typedef enum { - SECTION_INVALID, - SECTION_COMPUTER, - SECTION_MOUNTS, - SECTION_CLOUD, - SECTION_BOOKMARKS, - SECTION_OTHER_LOCATIONS, - N_SECTIONS -} GtkPlacesSidebarSectionType; + GTK_PLACES_SECTION_INVALID, + GTK_PLACES_SECTION_COMPUTER, + GTK_PLACES_SECTION_MOUNTS, + GTK_PLACES_SECTION_CLOUD, + GTK_PLACES_SECTION_BOOKMARKS, + GTK_PLACES_SECTION_OTHER_LOCATIONS, + GTK_PLACES_N_SECTIONS +} GtkPlacesSectionType; typedef enum { - PLACES_INVALID, - PLACES_BUILT_IN, - PLACES_XDG_DIR, - PLACES_MOUNTED_VOLUME, - PLACES_BOOKMARK, - PLACES_HEADING, - PLACES_CONNECT_TO_SERVER, - PLACES_ENTER_LOCATION, - PLACES_DROP_FEEDBACK, - PLACES_BOOKMARK_PLACEHOLDER, - PLACES_OTHER_LOCATIONS, - PLACES_STARRED_LOCATION, - N_PLACES -} GtkPlacesSidebarPlaceType; + GTK_PLACES_INVALID, + GTK_PLACES_BUILT_IN, + GTK_PLACES_XDG_DIR, + GTK_PLACES_MOUNTED_VOLUME, + GTK_PLACES_BOOKMARK, + GTK_PLACES_HEADING, + GTK_PLACES_CONNECT_TO_SERVER, + GTK_PLACES_ENTER_LOCATION, + GTK_PLACES_DROP_FEEDBACK, + GTK_PLACES_BOOKMARK_PLACEHOLDER, + GTK_PLACES_OTHER_LOCATIONS, + GTK_PLACES_STARRED_LOCATION, + GTK_PLACES_N_PLACES +} GtkPlacesPlaceType; char *gtk_places_sidebar_get_location_title (GtkPlacesSidebar *sidebar); diff --git a/gtk/gtkplacesview.c b/gtk/gtkplacesview.c index 9bdd919547..aec0ddea60 100644 --- a/gtk/gtkplacesview.c +++ b/gtk/gtkplacesview.c @@ -28,6 +28,7 @@ #include "gtkplacesviewprivate.h" #include "gtkplacesviewrowprivate.h" #include "gtktypebuiltins.h" +#include "gtkprivatetypebuiltins.h" #include "gtkeventcontrollerkey.h" #include "gtkpopovermenu.h" diff --git a/gtk/gtkprivate.h b/gtk/gtkprivate.h index 91a485092b..cd41e85b2c 100644 --- a/gtk/gtkprivate.h +++ b/gtk/gtkprivate.h @@ -31,6 +31,7 @@ #include "gtkcsstypesprivate.h" #include "gtktexthandleprivate.h" +#include "gtkplacessidebarprivate.h" #include "gtkeventcontrollerprivate.h" #include "gtkwindowgroup.h" diff --git a/gtk/gtksidebarrow.c b/gtk/gtksidebarrow.c index 350a6d629f..8dc2af293b 100644 --- a/gtk/gtksidebarrow.c +++ b/gtk/gtksidebarrow.c @@ -27,6 +27,7 @@ #include "gtkrevealer.h" #include "gtkintl.h" #include "gtkspinner.h" +#include "gtkprivatetypebuiltins.h" #ifdef HAVE_CLOUDPROVIDERS #include <cloudproviders.h> @@ -45,8 +46,8 @@ struct _GtkSidebarRow gboolean ejectable; GtkWidget *eject_button; int order_index; - GtkPlacesSidebarSectionType section_type; - GtkPlacesSidebarPlaceType place_type; + GtkPlacesSectionType section_type; + GtkPlacesPlaceType place_type; char *uri; GDrive *drive; GVolume *volume; @@ -167,11 +168,11 @@ gtk_sidebar_row_get_property (GObject *object, break; case PROP_SECTION_TYPE: - g_value_set_int (value, self->section_type); + g_value_set_enum (value, self->section_type); break; case PROP_PLACE_TYPE: - g_value_set_int (value, self->place_type); + g_value_set_enum (value, self->place_type); break; case PROP_URI: @@ -276,16 +277,16 @@ gtk_sidebar_row_set_property (GObject *object, break; case PROP_SECTION_TYPE: - self->section_type = g_value_get_int (value); - if (self->section_type == SECTION_COMPUTER || - self->section_type == SECTION_OTHER_LOCATIONS) + self->section_type = g_value_get_enum (value); + if (self->section_type == GTK_PLACES_SECTION_COMPUTER || + self->section_type == GTK_PLACES_SECTION_OTHER_LOCATIONS) gtk_label_set_ellipsize (GTK_LABEL (self->label_widget), PANGO_ELLIPSIZE_NONE); else gtk_label_set_ellipsize (GTK_LABEL (self->label_widget), PANGO_ELLIPSIZE_END); break; case PROP_PLACE_TYPE: - self->place_type = g_value_get_int (value); + self->place_type = g_value_get_enum (value); break; case PROP_URI: @@ -337,8 +338,8 @@ gtk_sidebar_row_set_property (GObject *object, self->tooltip = NULL; gtk_widget_set_tooltip_text (GTK_WIDGET (self), NULL); self->ejectable = FALSE; - self->section_type = SECTION_BOOKMARKS; - self->place_type = PLACES_BOOKMARK_PLACEHOLDER; + self->section_type = GTK_PLACES_SECTION_BOOKMARKS; + self->place_type = GTK_PLACES_BOOKMARK_PLACEHOLDER; g_free (self->uri); self->uri = NULL; g_clear_object (&self->drive); @@ -531,22 +532,24 @@ gtk_sidebar_row_class_init (GtkSidebarRowClass *klass) G_PARAM_STATIC_STRINGS)); properties [PROP_SECTION_TYPE] = - g_param_spec_int ("section-type", - "section type", - "The section type.", - SECTION_INVALID, N_SECTIONS, SECTION_INVALID, - (G_PARAM_READWRITE | - G_PARAM_STATIC_STRINGS | - G_PARAM_CONSTRUCT_ONLY)); + g_param_spec_enum ("section-type", + "section type", + "The section type.", + GTK_TYPE_PLACES_SECTION_TYPE, + GTK_PLACES_SECTION_INVALID, + (G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS | + G_PARAM_CONSTRUCT_ONLY)); properties [PROP_PLACE_TYPE] = - g_param_spec_int ("place-type", - "place type", - "The place type.", - PLACES_INVALID, N_PLACES, PLACES_INVALID, - (G_PARAM_READWRITE | - G_PARAM_STATIC_STRINGS | - G_PARAM_CONSTRUCT_ONLY)); + g_param_spec_enum ("place-type", + "place type", + "The place type.", + GTK_TYPE_PLACES_PLACE_TYPE, + GTK_PLACES_INVALID, + (G_PARAM_READWRITE | + G_PARAM_STATIC_STRINGS | + G_PARAM_CONSTRUCT_ONLY)); properties [PROP_URI] = g_param_spec_string ("uri", diff --git a/gtk/meson.build b/gtk/meson.build index 614b4079f8..d7e042d857 100644 --- a/gtk/meson.build +++ b/gtk/meson.build @@ -437,6 +437,7 @@ gtk_public_sources = files([ gtk_private_type_headers = files([ 'gtkcsstypesprivate.h', 'gtktexthandleprivate.h', + 'gtkplacessidebarprivate.h', ]) gtk_public_headers = files([ |