diff --git a/capplets/Makefile.am b/capplets/Makefile.am index e4b510f22..c8262fa50 100644 --- a/capplets/Makefile.am +++ b/capplets/Makefile.am @@ -2,7 +2,6 @@ SUBDIRS = \ common \ accessibility \ appearance \ - default-applications \ display \ keybindings \ windows @@ -11,7 +10,6 @@ DIST_SUBDIRS = \ common \ accessibility \ appearance \ - default-applications \ keybindings \ windows \ display \ diff --git a/configure.ac b/configure.ac index 7dbb50ceb..d39ae05c2 100644 --- a/configure.ac +++ b/configure.ac @@ -380,11 +380,11 @@ capplets/appearance/data/Makefile capplets/appearance/data/gnome-appearance-properties.desktop.in capplets/appearance/data/gnome-theme-installer.desktop.in capplets/common/Makefile -capplets/default-applications/Makefile -capplets/default-applications/default-applications.desktop.in -capplets/default-applications/gnome-at-commandline.in -capplets/default-applications/gnome-at-session.desktop.in -capplets/default-applications/gnome-default-applications.pc +panels/default-applications/Makefile +panels/default-applications/default-applications.desktop.in +panels/default-applications/gnome-at-commandline.in +panels/default-applications/gnome-at-session.desktop.in +panels/default-applications/gnome-default-applications.pc capplets/display/Makefile capplets/display/display-properties.desktop.in capplets/keybindings/Makefile diff --git a/panels/Makefile.am b/panels/Makefile.am index 6fb56d1eb..1a7acd706 100644 --- a/panels/Makefile.am +++ b/panels/Makefile.am @@ -1 +1 @@ -SUBDIRS=mouse keyboard network +SUBDIRS=mouse keyboard network default-applications diff --git a/capplets/default-applications/Makefile.am b/panels/default-applications/Makefile.am similarity index 86% rename from capplets/default-applications/Makefile.am rename to panels/default-applications/Makefile.am index d099d9b24..ee5ed4364 100644 --- a/capplets/default-applications/Makefile.am +++ b/panels/default-applications/Makefile.am @@ -1,16 +1,21 @@ # This is used in GNOMECC_CAPPLETS_CFLAGS cappletname = default-applications -bin_PROGRAMS = gnome-default-applications-properties +ccpanelsdir = $(PANELS_DIR) +ccpanels_LTLIBRARIES = libdefault-applications.la -bin_SCRIPTS = gnome-at-visual gnome-at-mobility - -gnome_default_applications_properties_LDADD = $(GNOMECC_CAPPLETS_LIBS) -gnome_default_applications_properties_SOURCES = \ +libdefault_applications_la_SOURCES = \ + default-applications-module.c \ + cc-default-applications-panel.c cc-default-applications-panel.h \ gnome-da-capplet.c gnome-da-capplet.h \ gnome-da-xml.c gnome-da-xml.h \ gnome-da-item.c gnome-da-item.h +libdefault_applications_la_LIBADD = $(PANEL_LIBS) +libdefault_applications_la_LDFLAGS = $(PANEL_LDFLAGS) + +bin_SCRIPTS = gnome-at-visual gnome-at-mobility + @INTLTOOL_DESKTOP_RULE@ uidir = $(pkgdatadir)/ui @@ -42,7 +47,7 @@ INCLUDES = \ $(GNOMECC_CAPPLETS_CFLAGS) \ $(DEFAULT_APPLICATIONS_CAPPLET_CFLAGS) \ -DGNOMELOCALEDIR=\""$(datadir)/locale"\"\ - -DGNOMECC_UI_DIR=\""$(uidir)"\" \ + -DGNOMECC_UI_DIR=\""$(uidir)"\" \ -DGNOMECC_APPS_DIR=\""$(xmldatadir)"\" icons16dir = $(datadir)/icons/hicolor/16x16/apps diff --git a/panels/default-applications/cc-default-applications-panel.c b/panels/default-applications/cc-default-applications-panel.c new file mode 100644 index 000000000..b31a944cc --- /dev/null +++ b/panels/default-applications/cc-default-applications-panel.c @@ -0,0 +1,132 @@ +/* + * Copyright (C) 2010 Intel, Inc + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * Author: Thomas Wood + * + */ + +#include "cc-default-applications-panel.h" + +#include "gnome-da-capplet.h" + +G_DEFINE_DYNAMIC_TYPE (CcDefaultApplicationsPanel, cc_default_applications_panel, CC_TYPE_PANEL) + +#define DEFAULT_APPLICATIONS_PANEL_PRIVATE(o) \ + (G_TYPE_INSTANCE_GET_PRIVATE ((o), CC_TYPE_DEFAULT_APPLICATIONS_PANEL, CcDefaultApplicationsPanelPrivate)) + +struct _CcDefaultApplicationsPanelPrivate +{ + GnomeDACapplet *capplet; +}; + + +static void +cc_default_applications_panel_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + switch (property_id) + { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + } +} + +static void +cc_default_applications_panel_set_property (GObject *object, + guint property_id, + const GValue *value, + GParamSpec *pspec) +{ + switch (property_id) + { + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); + } +} + +static void +cc_default_applications_panel_dispose (GObject *object) +{ + CcDefaultApplicationsPanelPrivate *priv; + + priv = CC_DEFAULT_APPLICATIONS_PANEL (object)->priv; + + if (priv->capplet) + { + g_object_unref (priv->capplet->gconf); + gnome_da_xml_free (priv->capplet); + + priv->capplet = NULL; + } + + G_OBJECT_CLASS (cc_default_applications_panel_parent_class)->dispose (object); +} + +static void +cc_default_applications_panel_finalize (GObject *object) +{ + G_OBJECT_CLASS (cc_default_applications_panel_parent_class)->finalize (object); +} + +static void +cc_default_applications_panel_class_init (CcDefaultApplicationsPanelClass *klass) +{ + GObjectClass *object_class = G_OBJECT_CLASS (klass); + + g_type_class_add_private (klass, sizeof (CcDefaultApplicationsPanelPrivate)); + + object_class->get_property = cc_default_applications_panel_get_property; + object_class->set_property = cc_default_applications_panel_set_property; + object_class->dispose = cc_default_applications_panel_dispose; + object_class->finalize = cc_default_applications_panel_finalize; +} + +static void +cc_default_applications_panel_class_finalize (CcDefaultApplicationsPanelClass *klass) +{ +} + +static void +cc_default_applications_panel_init (CcDefaultApplicationsPanel *self) +{ + CcDefaultApplicationsPanelPrivate *priv; + GtkWidget *widget; + + priv = self->priv = DEFAULT_APPLICATIONS_PANEL_PRIVATE (self); + + priv->capplet = g_new0 (GnomeDACapplet, 1); + priv->capplet->gconf = gconf_client_get_default (); + + gnome_default_applications_panel_init (priv->capplet); + + widget = (GtkWidget *) gtk_builder_get_object (priv->capplet->builder, + "preferred_apps_notebook"); + + gtk_widget_reparent (widget, (GtkWidget *) self); +} + +void +cc_default_applications_panel_register (GIOModule *module) +{ + cc_default_applications_panel_register_type (G_TYPE_MODULE (module)); + g_io_extension_point_implement (CC_SHELL_PANEL_EXTENSION_POINT, + CC_TYPE_DEFAULT_APPLICATIONS_PANEL, + "default-applications.desktop", 0); +} + diff --git a/panels/default-applications/cc-default-applications-panel.h b/panels/default-applications/cc-default-applications-panel.h new file mode 100644 index 000000000..f72de8398 --- /dev/null +++ b/panels/default-applications/cc-default-applications-panel.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2010 Intel, Inc + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * Author: Thomas Wood + * + */ + + +#ifndef _CC_DEFAULT_APPLICATIONS_PANEL_H +#define _CC_DEFAULT_APPLICATIONS_PANEL_H + +#include + +G_BEGIN_DECLS + +#define CC_TYPE_DEFAULT_APPLICATIONS_PANEL cc_default_applications_panel_get_type() + +#define CC_DEFAULT_APPLICATIONS_PANEL(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), \ + CC_TYPE_DEFAULT_APPLICATIONS_PANEL, CcDefaultApplicationsPanel)) + +#define CC_DEFAULT_APPLICATIONS_PANEL_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), \ + CC_TYPE_DEFAULT_APPLICATIONS_PANEL, CcDefaultApplicationsPanelClass)) + +#define CC_IS_DEFAULT_APPLICATIONS_PANEL(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \ + CC_TYPE_DEFAULT_APPLICATIONS_PANEL)) + +#define CC_IS_DEFAULT_APPLICATIONS_PANEL_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), \ + CC_TYPE_DEFAULT_APPLICATIONS_PANEL)) + +#define CC_DEFAULT_APPLICATIONS_PANEL_GET_CLASS(obj) \ + (G_TYPE_INSTANCE_GET_CLASS ((obj), \ + CC_TYPE_DEFAULT_APPLICATIONS_PANEL, CcDefaultApplicationsPanelClass)) + +typedef struct _CcDefaultApplicationsPanel CcDefaultApplicationsPanel; +typedef struct _CcDefaultApplicationsPanelClass CcDefaultApplicationsPanelClass; +typedef struct _CcDefaultApplicationsPanelPrivate CcDefaultApplicationsPanelPrivate; + +struct _CcDefaultApplicationsPanel +{ + CcPanel parent; + + CcDefaultApplicationsPanelPrivate *priv; +}; + +struct _CcDefaultApplicationsPanelClass +{ + CcPanelClass parent_class; +}; + +GType cc_default_applications_panel_get_type (void) G_GNUC_CONST; + +void cc_default_applications_panel_register (GIOModule *module); + +G_END_DECLS + +#endif /* _CC_DEFAULT_APPLICATIONS_PANEL_H */ diff --git a/capplets/default-applications/default-applications-capplet.png b/panels/default-applications/default-applications-capplet.png similarity index 100% rename from capplets/default-applications/default-applications-capplet.png rename to panels/default-applications/default-applications-capplet.png diff --git a/panels/default-applications/default-applications-module.c b/panels/default-applications/default-applications-module.c new file mode 100644 index 000000000..6d1f35cd2 --- /dev/null +++ b/panels/default-applications/default-applications-module.c @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2010 Intel, Inc + * + * 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 2 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, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * Author: Thomas Wood + * + */ + +#include + +#include "cc-default-applications-panel.h" + +#include + +void +g_io_module_load (GIOModule *module) +{ + bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + + /* register the panel */ + cc_default_applications_panel_register (module); +} + +void +g_io_module_unload (GIOModule *module) +{ +} diff --git a/capplets/default-applications/default-applications.desktop.in.in b/panels/default-applications/default-applications.desktop.in.in similarity index 100% rename from capplets/default-applications/default-applications.desktop.in.in rename to panels/default-applications/default-applications.desktop.in.in diff --git a/capplets/default-applications/gnome-at-commandline.in.in b/panels/default-applications/gnome-at-commandline.in.in similarity index 100% rename from capplets/default-applications/gnome-at-commandline.in.in rename to panels/default-applications/gnome-at-commandline.in.in diff --git a/capplets/default-applications/gnome-at-session.desktop.in.in b/panels/default-applications/gnome-at-session.desktop.in.in similarity index 100% rename from capplets/default-applications/gnome-at-session.desktop.in.in rename to panels/default-applications/gnome-at-session.desktop.in.in diff --git a/capplets/default-applications/gnome-da-capplet.c b/panels/default-applications/gnome-da-capplet.c similarity index 96% rename from capplets/default-applications/gnome-da-capplet.c rename to panels/default-applications/gnome-da-capplet.c index 438ee132e..8f9b5a790 100644 --- a/capplets/default-applications/gnome-da-capplet.c +++ b/panels/default-applications/gnome-da-capplet.c @@ -40,6 +40,7 @@ enum N_COLUMNS }; +/* static void close_cb (GtkWidget *window, gint response, gpointer user_data) { @@ -51,6 +52,7 @@ close_cb (GtkWidget *window, gint response, gpointer user_data) gtk_main_quit (); } } +*/ static void set_icon (GtkImage *image, GtkIconTheme *theme, const char *name) @@ -730,7 +732,6 @@ show_dialog (GnomeDACapplet *capplet, const gchar *start_page) } capplet->window = _gtk_builder_get_widget (builder,"preferred_apps_dialog"); - g_signal_connect (capplet->window, "response", G_CALLBACK (close_cb), NULL); capplet->web_browser_command_entry = _gtk_builder_get_widget (builder, "web_browser_command_entry"); capplet->web_browser_command_label = _gtk_builder_get_widget (builder, "web_browser_command_label"); @@ -938,36 +939,11 @@ show_dialog (GnomeDACapplet *capplet, const gchar *start_page) } g_free (page_name); } - - gtk_widget_show (capplet->window); } -int -main (int argc, char **argv) +void +gnome_default_applications_panel_init (GnomeDACapplet *capplet) { - GnomeDACapplet *capplet; - - gchar *start_page = NULL; - GOptionContext *context; - GOptionEntry option_entries[] = { - { "show-page", - 'p', - G_OPTION_FLAG_IN_MAIN, - G_OPTION_ARG_STRING, - &start_page, - /* TRANSLATORS: don't translate the terms in brackets */ - N_("Specify the name of the page to show (internet|multimedia|system|a11y)"), - N_("page") }, - { NULL } - }; - - context = g_option_context_new (_("- GNOME Default Applications")); - g_option_context_add_main_entries (context, option_entries, GETTEXT_PACKAGE); - - capplet_init (context, &argc, &argv); - - capplet = g_new0 (GnomeDACapplet, 1); - capplet->gconf = gconf_client_get_default (); gconf_client_add_dir (capplet->gconf, "/desktop/gnome/url-handlers", GCONF_CLIENT_PRELOAD_RECURSIVE, NULL); gconf_client_add_dir (capplet->gconf, @@ -976,14 +952,5 @@ main (int argc, char **argv) gnome_da_xml_load_list (capplet); - show_dialog (capplet, start_page); - g_free (start_page); - - gtk_main (); - - g_object_unref (capplet->gconf); - - gnome_da_xml_free (capplet); - - return 0; + show_dialog (capplet, 0); } diff --git a/capplets/default-applications/gnome-da-capplet.h b/panels/default-applications/gnome-da-capplet.h similarity index 98% rename from capplets/default-applications/gnome-da-capplet.h rename to panels/default-applications/gnome-da-capplet.h index 2f55f5677..c4ebea803 100644 --- a/capplets/default-applications/gnome-da-capplet.h +++ b/panels/default-applications/gnome-da-capplet.h @@ -123,4 +123,5 @@ struct _GnomeDACapplet { GList *mobility_ats; }; +void gnome_default_applications_panel_init (GnomeDACapplet *capplet); #endif diff --git a/capplets/default-applications/gnome-da-item.c b/panels/default-applications/gnome-da-item.c similarity index 100% rename from capplets/default-applications/gnome-da-item.c rename to panels/default-applications/gnome-da-item.c diff --git a/capplets/default-applications/gnome-da-item.h b/panels/default-applications/gnome-da-item.h similarity index 100% rename from capplets/default-applications/gnome-da-item.h rename to panels/default-applications/gnome-da-item.h diff --git a/capplets/default-applications/gnome-da-xml.c b/panels/default-applications/gnome-da-xml.c similarity index 100% rename from capplets/default-applications/gnome-da-xml.c rename to panels/default-applications/gnome-da-xml.c diff --git a/capplets/default-applications/gnome-da-xml.h b/panels/default-applications/gnome-da-xml.h similarity index 100% rename from capplets/default-applications/gnome-da-xml.h rename to panels/default-applications/gnome-da-xml.h diff --git a/capplets/default-applications/gnome-default-applications-properties.ui b/panels/default-applications/gnome-default-applications-properties.ui similarity index 100% rename from capplets/default-applications/gnome-default-applications-properties.ui rename to panels/default-applications/gnome-default-applications-properties.ui diff --git a/capplets/default-applications/gnome-default-applications.pc.in b/panels/default-applications/gnome-default-applications.pc.in similarity index 100% rename from capplets/default-applications/gnome-default-applications.pc.in rename to panels/default-applications/gnome-default-applications.pc.in diff --git a/capplets/default-applications/gnome-default-applications.xml.in b/panels/default-applications/gnome-default-applications.xml.in similarity index 100% rename from capplets/default-applications/gnome-default-applications.xml.in rename to panels/default-applications/gnome-default-applications.xml.in diff --git a/capplets/default-applications/icons/16x16/gnome-settings-default-applications.png b/panels/default-applications/icons/16x16/gnome-settings-default-applications.png similarity index 100% rename from capplets/default-applications/icons/16x16/gnome-settings-default-applications.png rename to panels/default-applications/icons/16x16/gnome-settings-default-applications.png diff --git a/capplets/default-applications/icons/22x22/gnome-settings-default-applications.png b/panels/default-applications/icons/22x22/gnome-settings-default-applications.png similarity index 100% rename from capplets/default-applications/icons/22x22/gnome-settings-default-applications.png rename to panels/default-applications/icons/22x22/gnome-settings-default-applications.png diff --git a/capplets/default-applications/icons/24x24/gnome-settings-default-applications.png b/panels/default-applications/icons/24x24/gnome-settings-default-applications.png similarity index 100% rename from capplets/default-applications/icons/24x24/gnome-settings-default-applications.png rename to panels/default-applications/icons/24x24/gnome-settings-default-applications.png diff --git a/capplets/default-applications/icons/32x32/gnome-settings-default-applications.png b/panels/default-applications/icons/32x32/gnome-settings-default-applications.png similarity index 100% rename from capplets/default-applications/icons/32x32/gnome-settings-default-applications.png rename to panels/default-applications/icons/32x32/gnome-settings-default-applications.png diff --git a/capplets/default-applications/icons/48x48/gnome-settings-default-applications.png b/panels/default-applications/icons/48x48/gnome-settings-default-applications.png similarity index 100% rename from capplets/default-applications/icons/48x48/gnome-settings-default-applications.png rename to panels/default-applications/icons/48x48/gnome-settings-default-applications.png diff --git a/capplets/default-applications/icons/svg/preferred-applications.svg b/panels/default-applications/icons/svg/preferred-applications.svg similarity index 100% rename from capplets/default-applications/icons/svg/preferred-applications.svg rename to panels/default-applications/icons/svg/preferred-applications.svg diff --git a/po/POTFILES.in b/po/POTFILES.in index 16d86c334..0e29468e3 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -36,11 +36,11 @@ capplets/common/file-transfer-dialog.c capplets/common/gconf-property-editor.c libgnome-control-center/gconf-property-editor.c capplets/common/gnome-theme-info.c -capplets/default-applications/default-applications.desktop.in.in -capplets/default-applications/gnome-at-session.desktop.in.in -capplets/default-applications/gnome-da-capplet.c -[type: gettext/glade]capplets/default-applications/gnome-default-applications-properties.ui -capplets/default-applications/gnome-default-applications.xml.in +panels/default-applications/default-applications.desktop.in.in +panels/default-applications/gnome-at-session.desktop.in.in +panels/default-applications/gnome-da-capplet.c +[type: gettext/glade]panels/default-applications/gnome-default-applications-properties.ui +panels/default-applications/gnome-default-applications.xml.in [type: gettext/glade]capplets/display/display-capplet.ui capplets/display/display-properties.desktop.in.in capplets/display/gnome-display-properties-install-systemwide.c diff --git a/po/POTFILES.skip b/po/POTFILES.skip index 40d4db1d9..13bbcdd17 100644 --- a/po/POTFILES.skip +++ b/po/POTFILES.skip @@ -4,8 +4,8 @@ capplets/accessibility/keyboard/accessibility-keyboard.desktop.in capplets/appearance/data/gnome-appearance-properties.desktop.in capplets/appearance/data/gnome-theme-installer.desktop.in capplets/appearance/data/gnome-theme-package.xml -capplets/default-applications/default-applications.desktop.in -capplets/default-applications/gnome-at-session.desktop.in +panels/default-applications/default-applications.desktop.in +panels/default-applications/gnome-at-session.desktop.in capplets/display/display-properties.desktop.in capplets/keybindings/keybinding.desktop.in panels/keyboard/keyboard.desktop.in