From 3ade071f273aaa973e44bf95d6b1d4913a18f03b Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:39:48 +0200 Subject: Adding upstream version 43.2. Signed-off-by: Daniel Baumann --- src/nautilus-view.h | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 src/nautilus-view.h (limited to 'src/nautilus-view.h') diff --git a/src/nautilus-view.h b/src/nautilus-view.h new file mode 100644 index 0000000..9a8911e --- /dev/null +++ b/src/nautilus-view.h @@ -0,0 +1,121 @@ +/* nautilus-view.h + * + * Copyright (C) 2015 Georges Basile Stavracas Neto + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include +#include + +#include "nautilus-query.h" +#include "nautilus-toolbar-menu-sections.h" + +/* Keep values in sync with the org.gnome.nautilus.FolderView schema enums: */ +#define NAUTILUS_VIEW_LIST_ID 1 +#define NAUTILUS_VIEW_GRID_ID 2 +/* Special ids, not used by GSettings schemas: */ +#define NAUTILUS_VIEW_INVALID_ID 0 +#define NAUTILUS_VIEW_OTHER_LOCATIONS_ID 3 + +G_BEGIN_DECLS + +#define NAUTILUS_TYPE_VIEW (nautilus_view_get_type ()) + +G_DECLARE_INTERFACE (NautilusView, nautilus_view, NAUTILUS, VIEW, GtkWidget) + +struct _NautilusViewInterface +{ + GTypeInterface parent; + + guint (*get_view_id) (NautilusView *view); + /* + * Returns the menu sections that should be shown in the toolbar menu + * when this view is active. Implementations must not return %NULL + */ + NautilusToolbarMenuSections * (*get_toolbar_menu_sections) (NautilusView *view); + + /* + * Returns the menu for the background click of extensions. + */ + GMenuModel * (*get_extensions_background_menu) (NautilusView *view); + + void (*set_extensions_background_menu) (NautilusView *view, + GMenuModel *menu); + /* + * Returns the menu for templates. + */ + GMenuModel * (*get_templates_menu) (NautilusView *view); + + void (*set_templates_menu) (NautilusView *view, + GMenuModel *menu); + /* Current location of the view */ + GFile* (*get_location) (NautilusView *view); + void (*set_location) (NautilusView *view, + GFile *location); + + /* Selection */ + GList* (*get_selection) (NautilusView *view); + void (*set_selection) (NautilusView *view, + GList *selection); + + /* Search */ + NautilusQuery* (*get_search_query) (NautilusView *view); + void (*set_search_query) (NautilusView *view, + NautilusQuery *query); + + /* Whether the current view is loading the location */ + gboolean (*is_loading) (NautilusView *view); + + /* Whether the current view is searching or not */ + gboolean (*is_searching) (NautilusView *view); +}; + +const gchar * nautilus_view_get_icon_name (guint view_id); + +const gchar * nautilus_view_get_tooltip (guint view_id); + +guint nautilus_view_get_view_id (NautilusView *view); + +NautilusToolbarMenuSections * nautilus_view_get_toolbar_menu_sections (NautilusView *view); + +GFile * nautilus_view_get_location (NautilusView *view); + +void nautilus_view_set_location (NautilusView *view, + GFile *location); + +GList * nautilus_view_get_selection (NautilusView *view); + +void nautilus_view_set_selection (NautilusView *view, + GList *selection); + +NautilusQuery * nautilus_view_get_search_query (NautilusView *view); + +void nautilus_view_set_search_query (NautilusView *view, + NautilusQuery *query); + +gboolean nautilus_view_is_loading (NautilusView *view); + +gboolean nautilus_view_is_searching (NautilusView *view); + +void nautilus_view_set_templates_menu (NautilusView *view, + GMenuModel *menu); +GMenuModel * nautilus_view_get_templates_menu (NautilusView *view); +void nautilus_view_set_extensions_background_menu (NautilusView *view, + GMenuModel *menu); +GMenuModel * nautilus_view_get_extensions_background_menu (NautilusView *view); + +G_END_DECLS -- cgit v1.2.3