summaryrefslogtreecommitdiff
path: root/libnautilus-extension
diff options
context:
space:
mode:
authorAntónio Fernandes <antoniof@gnome.org>2022-08-06 15:55:50 +0100
committerAntónio Fernandes <antoniof@gnome.org>2022-08-07 01:14:22 +0000
commite418cf4362f7619c9156db1fbd321c7aa2e7c8cc (patch)
tree9cbf58d7cca254cd975ec9750b7a2e8dde899455 /libnautilus-extension
parentad4cdb8a444ea3847fe88d9a092a59090e16bf55 (diff)
downloadnautilus-e418cf4362f7619c9156db1fbd321c7aa2e7c8cc.tar.gz
properties: Remove old extensions API
We want to control the layout of the window, not having extensions injecting their own widgets. This also avoids future breakage when porting to newer versions of GTK.
Diffstat (limited to 'libnautilus-extension')
-rw-r--r--libnautilus-extension/meson.build4
-rw-r--r--libnautilus-extension/nautilus-extension.h2
-rw-r--r--libnautilus-extension/nautilus-property-page-provider.c48
-rw-r--r--libnautilus-extension/nautilus-property-page-provider.h88
-rw-r--r--libnautilus-extension/nautilus-property-page.c242
-rw-r--r--libnautilus-extension/nautilus-property-page.h96
6 files changed, 0 insertions, 480 deletions
diff --git a/libnautilus-extension/meson.build b/libnautilus-extension/meson.build
index 27f21a5b5..fdfd8c1a6 100644
--- a/libnautilus-extension/meson.build
+++ b/libnautilus-extension/meson.build
@@ -10,8 +10,6 @@ libnautilus_extension_headers = [
'nautilus-properties-model-provider.h',
'nautilus-properties-model.h',
'nautilus-properties-item.h',
- 'nautilus-property-page-provider.h',
- 'nautilus-property-page.h',
'nautilus-menu.h'
]
@@ -48,8 +46,6 @@ libnautilus_extension_sources = [
'nautilus-properties-model-provider.c',
'nautilus-properties-model.c',
'nautilus-properties-item.c',
- 'nautilus-property-page-provider.c',
- 'nautilus-property-page.c',
'nautilus-menu.c'
]
diff --git a/libnautilus-extension/nautilus-extension.h b/libnautilus-extension/nautilus-extension.h
index af3f67837..34abd91c1 100644
--- a/libnautilus-extension/nautilus-extension.h
+++ b/libnautilus-extension/nautilus-extension.h
@@ -29,8 +29,6 @@
#include <libnautilus-extension/nautilus-properties-model.h>
#include <libnautilus-extension/nautilus-properties-model-provider.h>
#include <libnautilus-extension/nautilus-properties-item.h>
-#include <libnautilus-extension/nautilus-property-page.h>
-#include <libnautilus-extension/nautilus-property-page-provider.h>
/**
* SECTION:nautilus-extension
diff --git a/libnautilus-extension/nautilus-property-page-provider.c b/libnautilus-extension/nautilus-property-page-provider.c
deleted file mode 100644
index 45b2daf85..000000000
--- a/libnautilus-extension/nautilus-property-page-provider.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * nautilus-property-page-provider.c - Interface for Nautilus extensions
- * that provide property pages for
- * files.
- *
- * Copyright (C) 2003 Novell, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Dave Camp <dave@ximian.com>
- *
- */
-
-#include "nautilus-property-page-provider.h"
-
-G_DEFINE_INTERFACE (NautilusPropertyPageProvider, nautilus_property_page_provider,
- G_TYPE_OBJECT)
-
-static void
-nautilus_property_page_provider_default_init (NautilusPropertyPageProviderInterface *klass)
-{
-}
-
-GList *
-nautilus_property_page_provider_get_pages (NautilusPropertyPageProvider *self,
- GList *files)
-{
- NautilusPropertyPageProviderInterface *iface;
-
- g_return_val_if_fail (NAUTILUS_IS_PROPERTY_PAGE_PROVIDER (self), NULL);
-
- iface = NAUTILUS_PROPERTY_PAGE_PROVIDER_GET_IFACE (self);
-
- g_return_val_if_fail (iface->get_pages != NULL, NULL);
-
- return iface->get_pages (self, files);
-}
diff --git a/libnautilus-extension/nautilus-property-page-provider.h b/libnautilus-extension/nautilus-property-page-provider.h
deleted file mode 100644
index 22e1e09f7..000000000
--- a/libnautilus-extension/nautilus-property-page-provider.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * nautilus-property-page-provider.h - Interface for Nautilus extensions
- * that provide property pages.
- *
- * Copyright (C) 2003 Novell, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Dave Camp <dave@ximian.com>
- *
- */
-
-/* This interface is implemented by Nautilus extensions that want to
- * add property page to property dialogs. Extensions are called when
- * Nautilus needs property pages for a selection. They are passed a
- * list of NautilusFileInfo objects for which information should
- * be displayed */
-
-#pragma once
-
-#if !defined (NAUTILUS_EXTENSION_H) && !defined (NAUTILUS_COMPILATION)
-#warning "Only <nautilus-extension.h> should be included directly."
-#endif
-
-#include <glib-object.h>
-
-
-G_BEGIN_DECLS
-
-#define NAUTILUS_TYPE_PROPERTY_PAGE_PROVIDER (nautilus_property_page_provider_get_type ())
-
-G_DECLARE_INTERFACE (NautilusPropertyPageProvider, nautilus_property_page_provider,
- NAUTILUS, PROPERTY_PAGE_PROVIDER,
- GObject)
-
-/**
- * SECTION:nautilus-property-page-provider
- * @title: NautilusPropertyPageProvider
- * @short_description: Interface to provide additional property pages
- *
- * #NautilusPropertyPageProvider allows extension to provide additional pages
- * for the file properties dialog.
- */
-
-/**
- * NautilusPropertyPageProviderInterface:
- * @g_iface: The parent interface.
- * @get_pages: Returns a #GList of #NautilusPropertyPage.
- * See nautilus_property_page_provider_get_pages() for details.
- *
- * Interface for extensions to provide additional property pages.
- */
-struct _NautilusPropertyPageProviderInterface
-{
- GTypeInterface g_iface;
-
- GList *(*get_pages) (NautilusPropertyPageProvider *provider,
- GList *files);
-};
-
-/**
- * nautilus_property_page_provider_get_pages:
- * @provider: a #NautilusPropertyPageProvider
- * @files: (element-type NautilusFileInfo): a #GList of #NautilusFileInfo
- *
- * This function is called by Nautilus when it wants property page
- * items from the extension.
- *
- * This function is called in the main thread before a property page
- * is shown, so it should return quickly.
- *
- * Returns: (nullable) (element-type NautilusPropertyPage) (transfer full): A #GList of allocated #NautilusPropertyPage items.
- */
-GList *nautilus_property_page_provider_get_pages (NautilusPropertyPageProvider *provider,
- GList *files);
-
-G_END_DECLS
diff --git a/libnautilus-extension/nautilus-property-page.c b/libnautilus-extension/nautilus-property-page.c
deleted file mode 100644
index bd37a3602..000000000
--- a/libnautilus-extension/nautilus-property-page.c
+++ /dev/null
@@ -1,242 +0,0 @@
-/*
- * nautilus-property-page.h - Property pages exported by
- * NautilusPropertyProvider objects.
- *
- * Copyright (C) 2003 Novell, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Dave Camp <dave@ximian.com>
- *
- */
-
-#include <config.h>
-#include "nautilus-property-page.h"
-
-#include <glib/gi18n-lib.h>
-
-enum
-{
- PROP_0,
- PROP_NAME,
- PROP_LABEL,
- PROP_PAGE,
- LAST_PROP
-};
-
-struct _NautilusPropertyPage
-{
- GObject parent_instance;
-
- char *name;
- GtkWidget *label;
- GtkWidget *page;
-};
-
-G_DEFINE_TYPE (NautilusPropertyPage, nautilus_property_page, G_TYPE_OBJECT)
-
-NautilusPropertyPage *
-nautilus_property_page_new (const char *name,
- GtkWidget *label,
- GtkWidget *page_widget)
-{
- NautilusPropertyPage *page;
-
- g_return_val_if_fail (name != NULL, NULL);
- g_return_val_if_fail (GTK_IS_WIDGET (label), NULL);
- g_return_val_if_fail (GTK_IS_WIDGET (page_widget), NULL);
-
- page = g_object_new (NAUTILUS_TYPE_PROPERTY_PAGE,
- "name", name,
- "label", label,
- "page", page_widget,
- NULL);
-
- return page;
-}
-
-static void
-nautilus_property_page_get_property (GObject *object,
- guint param_id,
- GValue *value,
- GParamSpec *pspec)
-{
- NautilusPropertyPage *page;
-
- page = NAUTILUS_PROPERTY_PAGE (object);
-
- switch (param_id)
- {
- case PROP_NAME:
- {
- g_value_set_string (value, page->name);
- }
- break;
-
- case PROP_LABEL:
- {
- g_value_set_object (value, page->label);
- }
- break;
-
- case PROP_PAGE:
- {
- g_value_set_object (value, page->page);
- }
- break;
-
- default:
- {
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
- }
- break;
- }
-}
-
-static void
-nautilus_property_page_set_property (GObject *object,
- guint param_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- NautilusPropertyPage *page;
-
- page = NAUTILUS_PROPERTY_PAGE (object);
-
- switch (param_id)
- {
- case PROP_NAME:
- {
- g_free (page->name);
- page->name = g_strdup (g_value_get_string (value));
- g_object_notify (object, "name");
- }
- break;
-
- case PROP_LABEL:
- {
- if (page->label)
- {
- g_object_unref (page->label);
- }
-
- page->label = g_object_ref (g_value_get_object (value));
- g_object_notify (object, "label");
- }
- break;
-
- case PROP_PAGE:
- {
- if (page->page)
- {
- g_object_unref (page->page);
- }
-
- page->page = g_object_ref (g_value_get_object (value));
- g_object_notify (object, "page");
- }
- break;
-
- default:
- {
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec);
- }
- break;
- }
-}
-
-static void
-nautilus_property_page_dispose (GObject *object)
-{
- NautilusPropertyPage *page;
-
- page = NAUTILUS_PROPERTY_PAGE (object);
-
- if (page->label)
- {
- g_object_unref (page->label);
- page->label = NULL;
- }
- if (page->page)
- {
- g_object_unref (page->page);
- page->page = NULL;
- }
-}
-
-static void
-nautilus_property_page_finalize (GObject *object)
-{
- NautilusPropertyPage *page;
-
- page = NAUTILUS_PROPERTY_PAGE (object);
-
- g_free (page->name);
-
- G_OBJECT_CLASS (nautilus_property_page_parent_class)->finalize (object);
-}
-
-static void
-nautilus_property_page_init (NautilusPropertyPage *page)
-{
-}
-
-static void
-nautilus_property_page_class_init (NautilusPropertyPageClass *class)
-{
- G_OBJECT_CLASS (class)->finalize = nautilus_property_page_finalize;
- G_OBJECT_CLASS (class)->dispose = nautilus_property_page_dispose;
- G_OBJECT_CLASS (class)->get_property = nautilus_property_page_get_property;
- G_OBJECT_CLASS (class)->set_property = nautilus_property_page_set_property;
-
- g_object_class_install_property (G_OBJECT_CLASS (class),
- PROP_NAME,
- g_param_spec_string ("name",
- "Name",
- "Name of the page",
- NULL,
- G_PARAM_CONSTRUCT_ONLY | G_PARAM_WRITABLE | G_PARAM_READABLE));
- g_object_class_install_property (G_OBJECT_CLASS (class),
- PROP_LABEL,
- g_param_spec_object ("label",
- "Label",
- "Label widget to display in the notebook tab",
- GTK_TYPE_WIDGET,
- G_PARAM_READWRITE));
- g_object_class_install_property (G_OBJECT_CLASS (class),
- PROP_PAGE,
- g_param_spec_object ("page",
- "Page",
- "Widget for the property page",
- GTK_TYPE_WIDGET,
- G_PARAM_READWRITE));
-}
-
-GtkWidget *
-nautilus_property_page_get_label (NautilusPropertyPage *page)
-{
- return page->label;
-}
-
-const char *
-nautilus_property_page_get_name (NautilusPropertyPage *page)
-{
- return page->name;
-}
-
-GtkWidget *
-nautilus_property_page_get_widget (NautilusPropertyPage *page)
-{
- return page->page;
-}
diff --git a/libnautilus-extension/nautilus-property-page.h b/libnautilus-extension/nautilus-property-page.h
deleted file mode 100644
index d9b51bf4f..000000000
--- a/libnautilus-extension/nautilus-property-page.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * nautilus-property-page.h - Property pages exported by
- * NautilusPropertyProvider objects.
- *
- * Copyright (C) 2003 Novell, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, see <http://www.gnu.org/licenses/>.
- *
- * Author: Dave Camp <dave@ximian.com>
- *
- */
-
-#pragma once
-
-#if !defined (NAUTILUS_EXTENSION_H) && !defined (NAUTILUS_COMPILATION)
-#warning "Only <nautilus-extension.h> should be included directly."
-#endif
-
-#include <glib-object.h>
-#include <gtk/gtk.h>
-
-G_BEGIN_DECLS
-
-#define NAUTILUS_TYPE_PROPERTY_PAGE (nautilus_property_page_get_type ())
-
-G_DECLARE_FINAL_TYPE (NautilusPropertyPage, nautilus_property_page,
- NAUTILUS, PROPERTY_PAGE,
- GObject)
-
-/**
- * SECTION:nautilus-property-page
- * @title: NautilusPropertyPage
- * @short_description: Property page descriptor object
- *
- * #NautilusPropertyPage is an object that describes a page in the file
- * properties dialog. Extensions can provide #NautilusPropertyPage objects
- * by registering a #NautilusPropertyPageProvider and returning them from
- * nautilus_property_page_provider_get_pages(), which will be called by the
- * main application when creating file properties dialogs.
- */
-
-/**
- * nautilus_property_page_new:
- * @name: the identifier for the property page
- * @label: the user-visible label of the property page
- * @page: the property page to display
- *
- * Returns: (transfer full): a new #NautilusPropertyPage
- */
-NautilusPropertyPage *nautilus_property_page_new (const char *name,
- GtkWidget *label,
- GtkWidget *page);
-
-/* NautilusPropertyPage has the following properties:
- * name (string) - the identifier for the property page
- * label (widget) - the user-visible label of the property page
- * page (widget) - the property page to display
- */
-
-/**
- * nautilus_property_page_get_label:
- * @page: the property page
- *
- * Returns: (transfer none): the label of this #NautilusPropertyPage
- */
-GtkWidget * nautilus_property_page_get_label (NautilusPropertyPage *page);
-
-/**
- * nautilus_property_page_get_name:
- * @page: the property page
- *
- * Returns: (transfer none): the name of this #NautilusPropertyPage
- */
-const char *nautilus_property_page_get_name (NautilusPropertyPage *page);
-
-/**
- * nautilus_property_page_get_widget:
- * @page: the property page
- *
- * Returns: (transfer none): the widget associated wtih this #NautilusPropertyPage
- */
-GtkWidget * nautilus_property_page_get_widget (NautilusPropertyPage *page);
-
-
-G_END_DECLS