app-chooser: rename GtkOpenWith to GtkAppChooser

This commit is contained in:
Cosimo Cecchi 2010-11-23 17:23:37 +01:00
parent 6f0a605891
commit 05bb715c51
24 changed files with 781 additions and 781 deletions

View File

@ -246,10 +246,10 @@ gtk_public_h_sources = \
gtkmountoperation.h \
gtknotebook.h \
gtkoffscreenwindow.h \
gtkopenwith.h \
gtkopenwithdialog.h \
gtkopenwithwidget.h \
gtkopenwithonline.h \
gtkappchooser.h \
gtkappchooserdialog.h \
gtkappchooserwidget.h \
gtkappchooseronline.h \
gtkorientable.h \
gtkpagesetup.h \
gtkpaned.h \
@ -354,14 +354,14 @@ gtk_semi_private_h_sources = \
gtktextlayout.h
if ENABLE_PACKAGEKIT
gtk_openwith_impl_h_sources = \
gtkopenwithonlinepk.h \
gtk_appchooser_impl_h_sources = \
gtkappchooseronlinepk.h \
$(NULL)
endif
if ENABLE_PACKAGEKIT
gtk_openwith_impl_c_sources = \
gtkopenwithonlinepk.c \
gtk_appchooser_impl_c_sources = \
gtkappchooseronlinepk.c \
$(NULL)
endif
@ -389,9 +389,9 @@ gtk_private_h_sources = \
gtkmenuprivate.h \
gtkmnemonichash.h \
gtkmountoperationprivate.h \
gtkopenwithprivate.h \
gtkopenwithmodule.h \
gtkopenwithonlinedummy.h \
gtkappchooserprivate.h \
gtkappchoosermodule.h \
gtkappchooseronlinedummy.h \
gtkpango.h \
gtkpathbar.h \
gtkplugprivate.h \
@ -420,7 +420,7 @@ gtk_private_h_sources = \
gtkwindow-decorate.h \
gtkwidgetprivate.h \
$(gtk_clipboard_dnd_h_sources) \
$(gtk_openwith_impl_h_sources)
$(gtk_appchooser_impl_h_sources)
# GTK+ C sources to build the library from
gtk_base_c_sources = \
@ -536,12 +536,12 @@ gtk_base_c_sources = \
gtkmountoperation.c \
gtknotebook.c \
gtkoffscreenwindow.c \
gtkopenwith.c \
gtkopenwithwidget.c \
gtkopenwithdialog.c \
gtkopenwithmodule.c \
gtkopenwithonline.c \
gtkopenwithonlinedummy.c \
gtkappchooser.c \
gtkappchooserwidget.c \
gtkappchooserdialog.c \
gtkappchoosermodule.c \
gtkappchooseronline.c \
gtkappchooseronlinedummy.c \
gtkorientable.c \
gtkpagesetup.c \
gtkpaned.c \
@ -647,7 +647,7 @@ gtk_base_c_sources = \
gtkwindow-decorate.c \
gtkwindow.c \
$(gtk_clipboard_dnd_c_sources) \
$(gtk_openwith_impl_c_sources)
$(gtk_appchooser_impl_c_sources)
gtk_c_sources = $(gtk_base_c_sources)
gtk_all_c_sources = $(gtk_base_c_sources)

View File

@ -129,9 +129,9 @@
#include <gtk/gtkmountoperation.h>
#include <gtk/gtknotebook.h>
#include <gtk/gtkoffscreenwindow.h>
#include <gtk/gtkopenwith.h>
#include <gtk/gtkopenwithdialog.h>
#include <gtk/gtkopenwithwidget.h>
#include <gtk/gtkappchooser.h>
#include <gtk/gtkappchooserdialog.h>
#include <gtk/gtkappchooserwidget.h>
#include <gtk/gtkorientable.h>
#include <gtk/gtkpagesetup.h>
#include <gtk/gtkpapersize.h>

View File

@ -1,5 +1,5 @@
/*
* gtkopenwith.c: open-with interface
* gtkappchooser.c: app-chooser interface
*
* Copyright (C) 2010 Red Hat, Inc.
*
@ -23,18 +23,18 @@
#include <config.h>
#include "gtkopenwith.h"
#include "gtkappchooser.h"
#include "gtkintl.h"
#include "gtkopenwithprivate.h"
#include "gtkappchooserprivate.h"
#include "gtkwidget.h"
#include <glib.h>
G_DEFINE_INTERFACE (GtkOpenWith, gtk_open_with, GTK_TYPE_WIDGET);
G_DEFINE_INTERFACE (GtkAppChooser, gtk_app_chooser, GTK_TYPE_WIDGET);
static void
gtk_open_with_default_init (GtkOpenWithIface *iface)
gtk_app_chooser_default_init (GtkAppChooserIface *iface)
{
GParamSpec *pspec;
@ -48,11 +48,11 @@ gtk_open_with_default_init (GtkOpenWithIface *iface)
}
gchar *
gtk_open_with_get_content_type (GtkOpenWith *self)
gtk_app_chooser_get_content_type (GtkAppChooser *self)
{
gchar *retval = NULL;
g_return_val_if_fail (GTK_IS_OPEN_WITH (self), NULL);
g_return_val_if_fail (GTK_IS_APP_CHOOSER (self), NULL);
g_object_get (self,
"content-type", &retval,
@ -62,13 +62,13 @@ gtk_open_with_get_content_type (GtkOpenWith *self)
}
GAppInfo *
gtk_open_with_get_app_info (GtkOpenWith *self)
gtk_app_chooser_get_app_info (GtkAppChooser *self)
{
return GTK_OPEN_WITH_GET_IFACE (self)->get_app_info (self);
return GTK_APP_CHOOSER_GET_IFACE (self)->get_app_info (self);
}
void
gtk_open_with_refresh (GtkOpenWith *self)
gtk_app_chooser_refresh (GtkAppChooser *self)
{
GTK_OPEN_WITH_GET_IFACE (self)->refresh (self);
GTK_APP_CHOOSER_GET_IFACE (self)->refresh (self);
}

View File

@ -1,5 +1,5 @@
/*
* gtkopenwith.h: open-with interface
* gtkappchooser.h: app-chooser interface
*
* Copyright (C) 2010 Red Hat, Inc.
*
@ -25,30 +25,30 @@
#error "Only <gtk/gtk.h> can be included directly."
#endif
#ifndef __GTK_OPEN_WITH_H__
#define __GTK_OPEN_WITH_H__
#ifndef __GTK_APP_CHOOSER_H__
#define __GTK_APP_CHOOSER_H__
#include <glib.h>
#include <gio/gio.h>
G_BEGIN_DECLS
#define GTK_TYPE_OPEN_WITH\
(gtk_open_with_get_type ())
#define GTK_OPEN_WITH(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_OPEN_WITH, GtkOpenWith))
#define GTK_IS_OPEN_WITH(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_OPEN_WITH))
#define GTK_TYPE_APP_CHOOSER\
(gtk_app_chooser_get_type ())
#define GTK_APP_CHOOSER(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APP_CHOOSER, GtkAppChooser))
#define GTK_IS_APP_CHOOSER(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APP_CHOOSER))
typedef struct _GtkOpenWith GtkOpenWith;
typedef struct _GtkAppChooser GtkAppChooser;
GType gtk_open_with_get_type () G_GNUC_CONST;
GType gtk_app_chooser_get_type () G_GNUC_CONST;
GAppInfo * gtk_open_with_get_app_info (GtkOpenWith *self);
gchar * gtk_open_with_get_content_type (GtkOpenWith *self);
void gtk_open_with_refresh (GtkOpenWith *self);
GAppInfo * gtk_app_chooser_get_app_info (GtkAppChooser *self);
gchar * gtk_app_chooser_get_content_type (GtkAppChooser *self);
void gtk_app_chooser_refresh (GtkAppChooser *self);
G_END_DECLS
#endif /* __GTK_OPEN_WITH_H__ */
#endif /* __GTK_APP_CHOOSER_H__ */

View File

@ -1,5 +1,5 @@
/*
* gtkopenwithdialog.c: an open-with dialog
* gtkappchooserdialog.c: an app-chooser dialog
*
* Copyright (C) 2004 Novell, Inc.
* Copyright (C) 2007, 2010 Red Hat, Inc.
@ -26,12 +26,12 @@
#include <config.h>
#include "gtkopenwithdialog.h"
#include "gtkappchooserdialog.h"
#include "gtkintl.h"
#include "gtkopenwith.h"
#include "gtkopenwithonline.h"
#include "gtkopenwithprivate.h"
#include "gtkappchooser.h"
#include "gtkappchooseronline.h"
#include "gtkappchooserprivate.h"
#include <string.h>
#include <glib/gi18n-lib.h>
@ -40,7 +40,7 @@
#define sure_string(s) ((const char *) ((s) != NULL ? (s) : ""))
struct _GtkOpenWithDialogPrivate {
struct _GtkAppChooserDialogPrivate {
char *content_type;
GFile *gfile;
@ -50,7 +50,7 @@ struct _GtkOpenWithDialogPrivate {
GtkWidget *open_label;
GtkWidget *open_with_widget;
GtkWidget *app_chooser_widget;
GtkWidget *show_more_button;
gboolean show_more_clicked;
@ -62,10 +62,10 @@ enum {
N_PROPERTIES
};
static void gtk_open_with_dialog_iface_init (GtkOpenWithIface *iface);
G_DEFINE_TYPE_WITH_CODE (GtkOpenWithDialog, gtk_open_with_dialog, GTK_TYPE_DIALOG,
G_IMPLEMENT_INTERFACE (GTK_TYPE_OPEN_WITH,
gtk_open_with_dialog_iface_init));
static void gtk_app_chooser_dialog_iface_init (GtkAppChooserIface *iface);
G_DEFINE_TYPE_WITH_CODE (GtkAppChooserDialog, gtk_app_chooser_dialog, GTK_TYPE_DIALOG,
G_IMPLEMENT_INTERFACE (GTK_TYPE_APP_CHOOSER,
gtk_app_chooser_dialog_iface_init));
static void
show_error_dialog (const gchar *primary,
@ -95,11 +95,11 @@ search_for_mimetype_ready_cb (GObject *source,
GAsyncResult *res,
gpointer user_data)
{
GtkOpenWithOnline *online = GTK_OPEN_WITH_ONLINE (source);
GtkOpenWithDialog *self = user_data;
GtkAppChooserOnline *online = GTK_APP_CHOOSER_ONLINE (source);
GtkAppChooserDialog *self = user_data;
GError *error = NULL;
gtk_open_with_online_search_for_mimetype_finish (online, res, &error);
gtk_app_chooser_online_search_for_mimetype_finish (online, res, &error);
if (error != NULL)
{
@ -109,7 +109,7 @@ search_for_mimetype_ready_cb (GObject *source,
}
else
{
gtk_open_with_refresh (GTK_OPEN_WITH (self->priv->open_with_widget));
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self->priv->app_chooser_widget));
}
g_object_unref (online);
@ -119,16 +119,16 @@ static void
online_button_clicked_cb (GtkButton *b,
gpointer user_data)
{
GtkOpenWithOnline *online;
GtkOpenWithDialog *self = user_data;
GtkAppChooserOnline *online;
GtkAppChooserDialog *self = user_data;
online = gtk_open_with_online_get_default ();
online = gtk_app_chooser_online_get_default ();
gtk_open_with_online_search_for_mimetype_async (online,
self->priv->content_type,
GTK_WINDOW (self),
search_for_mimetype_ready_cb,
self);
gtk_app_chooser_online_search_for_mimetype_async (online,
self->priv->content_type,
GTK_WINDOW (self),
search_for_mimetype_ready_cb,
self);
}
/* An application is valid if:
@ -137,7 +137,7 @@ online_button_clicked_cb (GtkButton *b,
* 2) The user has permissions to run the file
*/
static gboolean
check_application (GtkOpenWithDialog *self,
check_application (GtkAppChooserDialog *self,
GAppInfo **app_out)
{
const char *command;
@ -150,7 +150,7 @@ check_application (GtkOpenWithDialog *self,
command = NULL;
info = gtk_open_with_get_app_info (GTK_OPEN_WITH (self->priv->open_with_widget));
info = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (self->priv->app_chooser_widget));
command = g_app_info_get_executable (info);
g_shell_parse_argv (command, &argc, &argv, &error);
@ -191,21 +191,21 @@ check_application (GtkOpenWithDialog *self,
}
static void
widget_application_selected_cb (GtkOpenWithWidget *widget,
widget_application_selected_cb (GtkAppChooserWidget *widget,
GAppInfo *app_info,
gpointer user_data)
{
GtkOpenWithDialog *self = user_data;
GtkAppChooserDialog *self = user_data;
gtk_widget_set_sensitive (self->priv->button, TRUE);
}
static void
widget_application_activated_cb (GtkOpenWithWidget *widget,
widget_application_activated_cb (GtkAppChooserWidget *widget,
GAppInfo *app_info,
gpointer user_data)
{
GtkOpenWithDialog *self = user_data;
GtkAppChooserDialog *self = user_data;
gtk_dialog_response (GTK_DIALOG (self), GTK_RESPONSE_OK);
}
@ -224,7 +224,7 @@ get_extension (const char *basename)
}
static void
set_dialog_properties (GtkOpenWithDialog *self)
set_dialog_properties (GtkAppChooserDialog *self)
{
char *label, *name, *extension, *description, *default_text, *string;
PangoFontDescription *font_desc;
@ -273,8 +273,8 @@ set_dialog_properties (GtkOpenWithDialog *self)
_("Click \"Show other applications\", for more options, or "
"\"Find applications online\" to install a new application"));
gtk_open_with_widget_set_default_text (GTK_OPEN_WITH_WIDGET (self->priv->open_with_widget),
default_text);
gtk_app_chooser_widget_set_default_text (GTK_APP_CHOOSER_WIDGET (self->priv->app_chooser_widget),
default_text);
g_free (label);
g_free (name);
@ -288,9 +288,9 @@ static void
show_more_button_clicked_cb (GtkButton *button,
gpointer user_data)
{
GtkOpenWithDialog *self = user_data;
GtkAppChooserDialog *self = user_data;
g_object_set (self->priv->open_with_widget,
g_object_set (self->priv->app_chooser_widget,
"show-recommended", TRUE,
"show-fallback", TRUE,
"show-other", TRUE,
@ -305,11 +305,11 @@ widget_notify_for_button_cb (GObject *source,
GParamSpec *pspec,
gpointer user_data)
{
GtkOpenWithDialog *self = user_data;
GtkOpenWithWidget *widget = GTK_OPEN_WITH_WIDGET (source);
GtkAppChooserDialog *self = user_data;
GtkAppChooserWidget *widget = GTK_APP_CHOOSER_WIDGET (source);
gboolean should_hide;
should_hide = gtk_open_with_widget_get_show_all (widget) ||
should_hide = gtk_app_chooser_widget_get_show_all (widget) ||
self->priv->show_more_clicked;
if (should_hide)
@ -317,7 +317,7 @@ widget_notify_for_button_cb (GObject *source,
}
static void
build_dialog_ui (GtkOpenWithDialog *self)
build_dialog_ui (GtkAppChooserDialog *self)
{
GtkWidget *vbox;
GtkWidget *vbox2;
@ -342,16 +342,16 @@ build_dialog_ui (GtkOpenWithDialog *self)
FALSE, FALSE, 0);
gtk_widget_show (self->priv->label);
self->priv->open_with_widget =
gtk_open_with_widget_new (self->priv->content_type);
gtk_box_pack_start (GTK_BOX (vbox2), self->priv->open_with_widget, TRUE, TRUE, 0);
gtk_widget_show (self->priv->open_with_widget);
self->priv->app_chooser_widget =
gtk_app_chooser_widget_new (self->priv->content_type);
gtk_box_pack_start (GTK_BOX (vbox2), self->priv->app_chooser_widget, TRUE, TRUE, 0);
gtk_widget_show (self->priv->app_chooser_widget);
g_signal_connect (self->priv->open_with_widget, "application-selected",
g_signal_connect (self->priv->app_chooser_widget, "application-selected",
G_CALLBACK (widget_application_selected_cb), self);
g_signal_connect (self->priv->open_with_widget, "application-activated",
g_signal_connect (self->priv->app_chooser_widget, "application-activated",
G_CALLBACK (widget_application_activated_cb), self);
g_signal_connect (self->priv->open_with_widget, "notify::show-all",
g_signal_connect (self->priv->app_chooser_widget, "notify::show-all",
G_CALLBACK (widget_notify_for_button_cb), self);
button = gtk_button_new_with_label (_("Show other applications"));
@ -359,7 +359,7 @@ build_dialog_ui (GtkOpenWithDialog *self)
w = gtk_image_new_from_stock (GTK_STOCK_ADD,
GTK_ICON_SIZE_BUTTON);
gtk_button_set_image (GTK_BUTTON (button), w);
gtk_box_pack_start (GTK_BOX (self->priv->open_with_widget), button, FALSE, FALSE, 6);
gtk_box_pack_start (GTK_BOX (self->priv->app_chooser_widget), button, FALSE, FALSE, 6);
gtk_widget_show_all (button);
g_signal_connect (button, "clicked",
@ -402,7 +402,7 @@ build_dialog_ui (GtkOpenWithDialog *self)
}
static void
set_gfile_and_content_type (GtkOpenWithDialog *self,
set_gfile_and_content_type (GtkAppChooserDialog *self,
GFile *file)
{
GFileInfo *info;
@ -421,9 +421,9 @@ set_gfile_and_content_type (GtkOpenWithDialog *self,
}
static GAppInfo *
gtk_open_with_dialog_get_app_info (GtkOpenWith *object)
gtk_app_chooser_dialog_get_app_info (GtkAppChooser *object)
{
GtkOpenWithDialog *self = GTK_OPEN_WITH_DIALOG (object);
GtkAppChooserDialog *self = GTK_APP_CHOOSER_DIALOG (object);
GAppInfo *app = NULL;
if (!check_application (self, &app))
@ -433,48 +433,48 @@ gtk_open_with_dialog_get_app_info (GtkOpenWith *object)
}
static void
gtk_open_with_dialog_refresh (GtkOpenWith *object)
gtk_app_chooser_dialog_refresh (GtkAppChooser *object)
{
GtkOpenWithDialog *self = GTK_OPEN_WITH_DIALOG (object);
GtkAppChooserDialog *self = GTK_APP_CHOOSER_DIALOG (object);
gtk_open_with_refresh (GTK_OPEN_WITH (self->priv->open_with_widget));
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self->priv->app_chooser_widget));
}
static void
gtk_open_with_dialog_constructed (GObject *object)
gtk_app_chooser_dialog_constructed (GObject *object)
{
GtkOpenWithDialog *self = GTK_OPEN_WITH_DIALOG (object);
GtkAppChooserDialog *self = GTK_APP_CHOOSER_DIALOG (object);
g_assert (self->priv->content_type != NULL ||
self->priv->gfile != NULL);
if (G_OBJECT_CLASS (gtk_open_with_dialog_parent_class)->constructed != NULL)
G_OBJECT_CLASS (gtk_open_with_dialog_parent_class)->constructed (object);
if (G_OBJECT_CLASS (gtk_app_chooser_dialog_parent_class)->constructed != NULL)
G_OBJECT_CLASS (gtk_app_chooser_dialog_parent_class)->constructed (object);
build_dialog_ui (self);
set_dialog_properties (self);
}
static void
gtk_open_with_dialog_finalize (GObject *object)
gtk_app_chooser_dialog_finalize (GObject *object)
{
GtkOpenWithDialog *self = GTK_OPEN_WITH_DIALOG (object);
GtkAppChooserDialog *self = GTK_APP_CHOOSER_DIALOG (object);
if (self->priv->gfile)
g_object_unref (self->priv->gfile);
g_free (self->priv->content_type);
G_OBJECT_CLASS (gtk_open_with_dialog_parent_class)->finalize (object);
G_OBJECT_CLASS (gtk_app_chooser_dialog_parent_class)->finalize (object);
}
static void
gtk_open_with_dialog_set_property (GObject *object,
guint property_id,
const GValue *value,
GParamSpec *pspec)
gtk_app_chooser_dialog_set_property (GObject *object,
guint property_id,
const GValue *value,
GParamSpec *pspec)
{
GtkOpenWithDialog *self = GTK_OPEN_WITH_DIALOG (object);
GtkAppChooserDialog *self = GTK_APP_CHOOSER_DIALOG (object);
switch (property_id)
{
@ -493,12 +493,12 @@ gtk_open_with_dialog_set_property (GObject *object,
}
static void
gtk_open_with_dialog_get_property (GObject *object,
guint property_id,
GValue *value,
GParamSpec *pspec)
gtk_app_chooser_dialog_get_property (GObject *object,
guint property_id,
GValue *value,
GParamSpec *pspec)
{
GtkOpenWithDialog *self = GTK_OPEN_WITH_DIALOG (object);
GtkAppChooserDialog *self = GTK_APP_CHOOSER_DIALOG (object);
switch (property_id)
{
@ -516,23 +516,23 @@ gtk_open_with_dialog_get_property (GObject *object,
}
static void
gtk_open_with_dialog_iface_init (GtkOpenWithIface *iface)
gtk_app_chooser_dialog_iface_init (GtkAppChooserIface *iface)
{
iface->get_app_info = gtk_open_with_dialog_get_app_info;
iface->refresh = gtk_open_with_dialog_refresh;
iface->get_app_info = gtk_app_chooser_dialog_get_app_info;
iface->refresh = gtk_app_chooser_dialog_refresh;
}
static void
gtk_open_with_dialog_class_init (GtkOpenWithDialogClass *klass)
gtk_app_chooser_dialog_class_init (GtkAppChooserDialogClass *klass)
{
GObjectClass *gobject_class;
GParamSpec *pspec;
gobject_class = G_OBJECT_CLASS (klass);
gobject_class->finalize = gtk_open_with_dialog_finalize;
gobject_class->set_property = gtk_open_with_dialog_set_property;
gobject_class->get_property = gtk_open_with_dialog_get_property;
gobject_class->constructed = gtk_open_with_dialog_constructed;
gobject_class->finalize = gtk_app_chooser_dialog_finalize;
gobject_class->set_property = gtk_app_chooser_dialog_set_property;
gobject_class->get_property = gtk_app_chooser_dialog_get_property;
gobject_class->constructed = gtk_app_chooser_dialog_constructed;
g_object_class_override_property (gobject_class, PROP_CONTENT_TYPE, "content-type");
@ -544,14 +544,14 @@ gtk_open_with_dialog_class_init (GtkOpenWithDialogClass *klass)
G_PARAM_STATIC_STRINGS);
g_object_class_install_property (gobject_class, PROP_GFILE, pspec);
g_type_class_add_private (klass, sizeof (GtkOpenWithDialogPrivate));
g_type_class_add_private (klass, sizeof (GtkAppChooserDialogPrivate));
}
static void
gtk_open_with_dialog_init (GtkOpenWithDialog *self)
gtk_app_chooser_dialog_init (GtkAppChooserDialog *self)
{
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_OPEN_WITH_DIALOG,
GtkOpenWithDialogPrivate);
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_APP_CHOOSER_DIALOG,
GtkAppChooserDialogPrivate);
}
static void
@ -571,28 +571,28 @@ set_parent_and_flags (GtkWidget *dialog,
}
/**
* gtk_open_with_dialog_new:
* gtk_app_chooser_dialog_new:
* @parent: (allow-none): a #GtkWindow, or %NULL
* @flags: flags for this dialog
* @file: a #GFile
*
* Creates a new #GtkOpenWithDialog for the provided #GFile, to allow
* Creates a new #GtkAppChooserDialog for the provided #GFile, to allow
* the user to select an application for it.
*
* Returns: a newly created #GtkOpenWithDialog
* Returns: a newly created #GtkAppChooserDialog
*
* Since: 3.0
**/
GtkWidget *
gtk_open_with_dialog_new (GtkWindow *parent,
GtkDialogFlags flags,
GFile *file)
gtk_app_chooser_dialog_new (GtkWindow *parent,
GtkDialogFlags flags,
GFile *file)
{
GtkWidget *retval;
g_return_val_if_fail (G_IS_FILE (file), NULL);
retval = g_object_new (GTK_TYPE_OPEN_WITH_DIALOG,
retval = g_object_new (GTK_TYPE_APP_CHOOSER_DIALOG,
"gfile", file,
NULL);
@ -602,28 +602,28 @@ gtk_open_with_dialog_new (GtkWindow *parent,
}
/**
* gtk_open_with_dialog_new_for_content_type:
* gtk_app_chooser_dialog_new_for_content_type:
* @parent: (allow-none): a #GtkWindow, or %NULL
* @flags: flags for this dialog
* @content_type: a content type string
*
* Creates a new #GtkOpenWithDialog for the provided content type, to allow
* Creates a new #GtkAppChooserDialog for the provided content type, to allow
* the user to select an application for it.
*
* Returns: a newly created #GtkOpenWithDialog
* Returns: a newly created #GtkAppChooserDialog
*
* Since: 3.0
**/
GtkWidget *
gtk_open_with_dialog_new_for_content_type (GtkWindow *parent,
GtkDialogFlags flags,
const gchar *content_type)
gtk_app_chooser_dialog_new_for_content_type (GtkWindow *parent,
GtkDialogFlags flags,
const gchar *content_type)
{
GtkWidget *retval;
g_return_val_if_fail (content_type != NULL, NULL);
retval = g_object_new (GTK_TYPE_OPEN_WITH_DIALOG,
retval = g_object_new (GTK_TYPE_APP_CHOOSER_DIALOG,
"content-type", content_type,
NULL);
@ -633,9 +633,9 @@ gtk_open_with_dialog_new_for_content_type (GtkWindow *parent,
}
GtkWidget *
gtk_open_with_dialog_get_widget (GtkOpenWithDialog *self)
gtk_app_chooser_dialog_get_widget (GtkAppChooserDialog *self)
{
g_return_val_if_fail (GTK_IS_OPEN_WITH_DIALOG (self), NULL);
g_return_val_if_fail (GTK_IS_APP_CHOOSER_DIALOG (self), NULL);
return self->priv->open_with_widget;
return self->priv->app_chooser_widget;
}

79
gtk/gtkappchooserdialog.h Normal file
View File

@ -0,0 +1,79 @@
/*
* gtkappchooserdialog.h: an app-chooser dialog
*
* Copyright (C) 2004 Novell, Inc.
* Copyright (C) 2007, 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Dave Camp <dave@novell.com>
* Alexander Larsson <alexl@redhat.com>
* Cosimo Cecchi <ccecchi@redhat.com>
*/
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif
#ifndef __GTK_APP_CHOOSER_DIALOG_H__
#define __GTK_APP_CHOOSER_DIALOG_H__
#include <gtk/gtkdialog.h>
#include <gio/gio.h>
#define GTK_TYPE_APP_CHOOSER_DIALOG\
(gtk_app_chooser_dialog_get_type ())
#define GTK_APP_CHOOSER_DIALOG(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APP_CHOOSER_DIALOG, GtkAppChooserDialog))
#define GTK_APP_CHOOSER_DIALOG_CLASS(klass)\
(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_APP_CHOOSER_DIALOG, GtkAppChooserDialogClass))
#define GTK_IS_APP_CHOOSER_DIALOG(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APP_CHOOSER_DIALOG))
#define GTK_IS_APP_CHOOSER_DIALOG_CLASS(klass)\
(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_APP_CHOOSER_DIALOG))
#define GTK_APP_CHOOSER_DIALOG_GET_CLASS(obj)\
(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_APP_CHOOSER_DIALOG, GtkAppChooserDialogClass))
typedef struct _GtkAppChooserDialog GtkAppChooserDialog;
typedef struct _GtkAppChooserDialogClass GtkAppChooserDialogClass;
typedef struct _GtkAppChooserDialogPrivate GtkAppChooserDialogPrivate;
struct _GtkAppChooserDialog {
GtkDialog parent;
/*< private >*/
GtkAppChooserDialogPrivate *priv;
};
struct _GtkAppChooserDialogClass {
GtkDialogClass parent_class;
/* padding for future class expansion */
gpointer padding[16];
};
GType gtk_app_chooser_dialog_get_type (void) G_GNUC_CONST;
GtkWidget * gtk_app_chooser_dialog_new (GtkWindow *parent,
GtkDialogFlags flags,
GFile *file);
GtkWidget * gtk_app_chooser_dialog_new_for_content_type (GtkWindow *parent,
GtkDialogFlags flags,
const gchar *content_type);
GtkWidget * gtk_app_chooser_dialog_get_widget (GtkAppChooserDialog *self);
#endif /* __GTK_APP_CHOOSER_DIALOG_H__ */

View File

@ -1,5 +1,5 @@
/*
* gtkopenwithmodule.c: an extension point for online integration
* gtkappchoosermodule.c: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, Inc.
*
@ -23,21 +23,21 @@
#include <config.h>
#include "gtkopenwithmodule.h"
#include "gtkappchoosermodule.h"
#include <gio/gio.h>
#include "gtkopenwithonline.h"
#include "gtkopenwithonlinedummy.h"
#include "gtkappchooseronline.h"
#include "gtkappchooseronlinedummy.h"
#ifdef ENABLE_PACKAGEKIT
#include "gtkopenwithonlinepk.h"
#include "gtkappchooseronlinepk.h"
#endif
G_LOCK_DEFINE_STATIC (registered_ep);
void
_gtk_open_with_module_ensure (void)
_gtk_app_chooser_module_ensure (void)
{
static gboolean registered_ep = FALSE;
GIOExtensionPoint *ep;
@ -48,13 +48,13 @@ _gtk_open_with_module_ensure (void)
{
registered_ep = TRUE;
ep = g_io_extension_point_register ("gtkopenwith-online");
g_io_extension_point_set_required_type (ep, GTK_TYPE_OPEN_WITH_ONLINE);
ep = g_io_extension_point_register ("gtkappchooser-online");
g_io_extension_point_set_required_type (ep, GTK_TYPE_APP_CHOOSER_ONLINE);
_gtk_open_with_online_dummy_get_type ();
_gtk_app_chooser_online_dummy_get_type ();
#ifdef ENABLE_PACKAGEKIT
_gtk_open_with_online_pk_get_type ();
_gtk_app_chooser_online_pk_get_type ();
#endif
}

View File

@ -1,5 +1,5 @@
/*
* gtkopenwithmodule.h: an extension point for PackageKit integration
* gtkappchoosermodule.h: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, Inc.
*
@ -21,15 +21,15 @@
* Authors: Cosimo Cecchi <ccecchi@redhat.com>
*/
#ifndef __GTK_OPEN_WITH_MODULE_H__
#define __GTK_OPEN_WITH_MODULE_H__
#ifndef __GTK_APP_CHOOSER_MODULE_H__
#define __GTK_APP_CHOOSER_MODULE_H__
#include <glib.h>
G_BEGIN_DECLS
void _gtk_open_with_module_ensure (void);
void _gtk_app_chooser_module_ensure (void);
G_END_DECLS
#endif /* __GTK_OPEN_WITH_MODULE_H__ */
#endif /* __GTK_APP_CHOOSER_MODULE_H__ */

View File

@ -1,5 +1,5 @@
/*
* gtkopenwithonline.h: an extension point for online integration
* gtkappchooseronline.h: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, Inc.
*
@ -23,32 +23,32 @@
#include <config.h>
#include "gtkopenwithonline.h"
#include "gtkappchooseronline.h"
#include "gtkopenwithonlinedummy.h"
#include "gtkopenwithmodule.h"
#include "gtkappchooseronlinedummy.h"
#include "gtkappchoosermodule.h"
#include <gio/gio.h>
G_DEFINE_INTERFACE (GtkOpenWithOnline, gtk_open_with_online, G_TYPE_OBJECT);
G_DEFINE_INTERFACE (GtkAppChooserOnline, gtk_app_chooser_online, G_TYPE_OBJECT);
static void
gtk_open_with_online_default_init (GtkOpenWithOnlineInterface *iface)
gtk_app_chooser_online_default_init (GtkAppChooserOnlineInterface *iface)
{
/* do nothing */
}
GtkOpenWithOnline *
gtk_open_with_online_get_default (void)
GtkAppChooserOnline *
gtk_app_chooser_online_get_default (void)
{
GIOExtensionPoint *ep;
GIOExtension *extension;
GList *extensions;
GtkOpenWithOnline *retval;
GtkAppChooserOnline *retval;
_gtk_open_with_module_ensure ();
_gtk_app_chooser_module_ensure ();
ep = g_io_extension_point_lookup ("gtkopenwith-online");
ep = g_io_extension_point_lookup ("gtkappchooser-online");
extensions = g_io_extension_point_get_extensions (ep);
if (extensions != NULL)
@ -60,7 +60,7 @@ gtk_open_with_online_get_default (void)
}
else
{
retval = g_object_new (GTK_TYPE_OPEN_WITH_ONLINE_DUMMY,
retval = g_object_new (GTK_TYPE_APP_CHOOSER_ONLINE_DUMMY,
NULL);
}
@ -68,31 +68,31 @@ gtk_open_with_online_get_default (void)
}
void
gtk_open_with_online_search_for_mimetype_async (GtkOpenWithOnline *self,
const gchar *content_type,
GtkWindow *parent,
GAsyncReadyCallback callback,
gpointer user_data)
gtk_app_chooser_online_search_for_mimetype_async (GtkAppChooserOnline *self,
const gchar *content_type,
GtkWindow *parent,
GAsyncReadyCallback callback,
gpointer user_data)
{
GtkOpenWithOnlineInterface *iface;
GtkAppChooserOnlineInterface *iface;
g_return_if_fail (GTK_IS_OPEN_WITH_ONLINE (self));
g_return_if_fail (GTK_IS_APP_CHOOSER_ONLINE (self));
iface = GTK_OPEN_WITH_ONLINE_GET_IFACE (self);
iface = GTK_APP_CHOOSER_ONLINE_GET_IFACE (self);
(* iface->search_for_mimetype_async) (self, content_type, parent, callback, user_data);
}
gboolean
gtk_open_with_online_search_for_mimetype_finish (GtkOpenWithOnline *self,
GAsyncResult *res,
GError **error)
gtk_app_chooser_online_search_for_mimetype_finish (GtkAppChooserOnline *self,
GAsyncResult *res,
GError **error)
{
GtkOpenWithOnlineInterface *iface;
GtkAppChooserOnlineInterface *iface;
g_return_val_if_fail (GTK_IS_OPEN_WITH_ONLINE (self), FALSE);
g_return_val_if_fail (GTK_IS_APP_CHOOSER_ONLINE (self), FALSE);
iface = GTK_OPEN_WITH_ONLINE_GET_IFACE (self);
iface = GTK_APP_CHOOSER_ONLINE_GET_IFACE (self);
return ((* iface->search_for_mimetype_finish) (self, res, error));
}

73
gtk/gtkappchooseronline.h Normal file
View File

@ -0,0 +1,73 @@
/*
* gtkappchooseronline.h: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Cosimo Cecchi <ccecchi@redhat.com>
*/
#ifndef __GTK_APP_CHOOSER_ONLINE_H__
#define __GTK_APP_CHOOSER_ONLINE_H__
#include <glib.h>
#include <gtk/gtkwindow.h>
#include <gio/gio.h>
G_BEGIN_DECLS
#define GTK_TYPE_APP_CHOOSER_ONLINE\
(gtk_app_chooser_online_get_type ())
#define GTK_APP_CHOOSER_ONLINE(o)\
(G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_APP_CHOOSER_ONLINE, GtkAppChooserOnline))
#define GTK_IS_APP_CHOOSER_ONLINE(o)\
(G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_APP_CHOOSER_ONLINE))
#define GTK_APP_CHOOSER_ONLINE_GET_IFACE(obj)\
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_APP_CHOOSER_ONLINE, GtkAppChooserOnlineInterface))
typedef struct _GtkAppChooserOnline GtkAppChooserOnline;
typedef struct _GtkAppChooserOnlineInterface GtkAppChooserOnlineInterface;
struct _GtkAppChooserOnlineInterface {
GTypeInterface g_iface;
/* Methods */
void (*search_for_mimetype_async) (GtkAppChooserOnline *self,
const gchar *content_type,
GtkWindow *parent,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean (*search_for_mimetype_finish) (GtkAppChooserOnline *self,
GAsyncResult *res,
GError **error);
};
GType gtk_app_chooser_online_get_type (void) G_GNUC_CONST;
void gtk_app_chooser_online_search_for_mimetype_async (GtkAppChooserOnline *self,
const gchar *content_type,
GtkWindow *parent,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean gtk_app_chooser_online_search_for_mimetype_finish (GtkAppChooserOnline *self,
GAsyncResult *res,
GError **error);
GtkAppChooserOnline * gtk_app_chooser_online_get_default (void);
#endif /* __GTK_APP_CHOOSER_ONLINE_H__ */

View File

@ -1,5 +1,5 @@
/*
* gtkopenwithonlinedummy.c: an extension point for online integration
* gtkappchooseronlinedummy.c: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, Inc.
*
@ -23,38 +23,38 @@
#include <config.h>
#include "gtkopenwithonlinedummy.h"
#include "gtkappchooseronlinedummy.h"
#include "gtkintl.h"
#include "gtkopenwithonline.h"
#include "gtkappchooseronline.h"
#include <gio/gio.h>
#define gtk_open_with_online_dummy_get_type _gtk_open_with_online_dummy_get_type
static void open_with_online_iface_init (GtkOpenWithOnlineInterface *iface);
#define gtk_app_chooser_online_dummy_get_type _gtk_app_chooser_online_dummy_get_type
static void app_chooser_online_iface_init (GtkAppChooserOnlineInterface *iface);
G_DEFINE_TYPE_WITH_CODE (GtkOpenWithOnlineDummy, gtk_open_with_online_dummy,
G_DEFINE_TYPE_WITH_CODE (GtkAppChooserOnlineDummy, gtk_app_chooser_online_dummy,
G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (GTK_TYPE_OPEN_WITH_ONLINE,
open_with_online_iface_init)
g_io_extension_point_implement ("gtkopenwith-online",
G_IMPLEMENT_INTERFACE (GTK_TYPE_APP_CHOOSER_ONLINE,
app_chooser_online_iface_init)
g_io_extension_point_implement ("gtkappchooser-online",
g_define_type_id,
"dummy", 0));
static void
gtk_open_with_online_dummy_class_init (GtkOpenWithOnlineDummyClass *klass)
gtk_app_chooser_online_dummy_class_init (GtkAppChooserOnlineDummyClass *klass)
{
/* do nothing */
}
static void
gtk_open_with_online_dummy_init (GtkOpenWithOnlineDummy *self)
gtk_app_chooser_online_dummy_init (GtkAppChooserOnlineDummy *self)
{
/* do nothing */
}
static gboolean
dummy_search_mime_finish (GtkOpenWithOnline *obj,
dummy_search_mime_finish (GtkAppChooserOnline *obj,
GAsyncResult *res,
GError **error)
{
@ -64,7 +64,7 @@ dummy_search_mime_finish (GtkOpenWithOnline *obj,
}
static void
dummy_search_mime_async (GtkOpenWithOnline *obj,
dummy_search_mime_async (GtkAppChooserOnline *obj,
const gchar *content_type,
GtkWindow *parent,
GAsyncReadyCallback callback,
@ -79,7 +79,7 @@ dummy_search_mime_async (GtkOpenWithOnline *obj,
}
static void
open_with_online_iface_init (GtkOpenWithOnlineInterface *iface)
app_chooser_online_iface_init (GtkAppChooserOnlineInterface *iface)
{
iface->search_for_mimetype_async = dummy_search_mime_async;
iface->search_for_mimetype_finish = dummy_search_mime_finish;

View File

@ -0,0 +1,59 @@
/*
* gtkappchooseronlinedummy.h: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Cosimo Cecchi <ccecchi@redhat.com>
*/
#ifndef __GTK_APP_CHOOSER_ONLINE_DUMMY_H__
#define __GTK_APP_CHOOSER_ONLINE_DUMMY_H__
#include <gtk/gtkappchooseronline.h>
#include <glib.h>
#define GTK_TYPE_APP_CHOOSER_ONLINE_DUMMY\
(_gtk_app_chooser_online_dummy_get_type ())
#define GTK_APP_CHOOSER_ONLINE_DUMMY(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APP_CHOOSER_ONLINE_DUMMY, GtkAppChooserOnlineDummy))
#define GTK_APP_CHOOSER_ONLINE_DUMMY_CLASS(klass)\
(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_APP_CHOOSER_ONLINE_DUMMY, GtkAppChooserOnlineDummyClass))
#define GTK_IS_APP_CHOOSER_ONLINE_DUMMY(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APP_CHOOSER_ONLINE_DUMMY))
#define GTK_IS_APP_CHOOSER_ONLINE_DUMMY_CLASS(klass)\
(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_APP_CHOOSER_ONLINE_DUMMY))
#define GTK_APP_CHOOSER_ONLINE_DUMMY_GET_CLASS(obj)\
(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_APP_CHOOSER_ONLINE_DUMMY, GtkAppChooserOnlineDummyClass))
typedef struct _GtkAppChooserOnlineDummy GtkAppChooserOnlineDummy;
typedef struct _GtkAppChooserOnlineDummyClass GtkAppChooserOnlineDummyClass;
typedef struct _GtkAppChooserOnlineDummyPrivate GtkAppChooserOnlineDummyPrivate;
struct _GtkAppChooserOnlineDummy {
GObject parent;
};
struct _GtkAppChooserOnlineDummyClass {
GObjectClass parent_class;
GtkAppChooserOnlineDummy *priv;
};
GType _gtk_app_chooser_online_dummy_get_type (void);
#endif /* __GTK_APP_CHOOSER_ONLINE_DUMMY_H__ */

View File

@ -1,5 +1,5 @@
/*
* gtkopenwithonlinepk.c: packagekit module for open with
* gtkappchooseronlinepk.c: packagekit module for app-chooser
*
* Copyright (C) 2010 Red Hat, Inc.
*
@ -23,60 +23,60 @@
#include <config.h>
#include "gtkopenwithonlinepk.h"
#include "gtkappchooseronlinepk.h"
#include "gtkopenwithonline.h"
#include "gtkappchooseronline.h"
#include "x11/gdkx.h"
#include <gio/gio.h>
#define gtk_open_with_online_pk_get_type _gtk_open_with_online_pk_get_type
static void open_with_online_iface_init (GtkOpenWithOnlineInterface *iface);
#define gtk_app_chooser_online_pk_get_type _gtk_app_chooser_online_pk_get_type
static void app_chooser_online_iface_init (GtkAppChooserOnlineInterface *iface);
G_DEFINE_TYPE_WITH_CODE (GtkOpenWithOnlinePk, gtk_open_with_online_pk,
G_DEFINE_TYPE_WITH_CODE (GtkAppChooserOnlinePk, gtk_app_chooser_online_pk,
G_TYPE_OBJECT,
G_IMPLEMENT_INTERFACE (GTK_TYPE_OPEN_WITH_ONLINE,
open_with_online_iface_init)
g_io_extension_point_implement ("gtkopenwith-online",
G_IMPLEMENT_INTERFACE (GTK_TYPE_APP_CHOOSER_ONLINE,
app_chooser_online_iface_init)
g_io_extension_point_implement ("gtkappchooser-online",
g_define_type_id,
"packagekit", 10));
struct _GtkOpenWithOnlinePkPrivate {
struct _GtkAppChooserOnlinePkPrivate {
GSimpleAsyncResult *result;
GtkWindow *parent;
gchar *content_type;
};
static void
gtk_open_with_online_pk_finalize (GObject *obj)
gtk_app_chooser_online_pk_finalize (GObject *obj)
{
GtkOpenWithOnlinePk *self = GTK_OPEN_WITH_ONLINE_PK (obj);
GtkAppChooserOnlinePk *self = GTK_APP_CHOOSER_ONLINE_PK (obj);
g_free (self->priv->content_type);
g_clear_object (&self->priv->result);
G_OBJECT_CLASS (gtk_open_with_online_pk_parent_class)->finalize (obj);
G_OBJECT_CLASS (gtk_app_chooser_online_pk_parent_class)->finalize (obj);
}
static void
gtk_open_with_online_pk_class_init (GtkOpenWithOnlinePkClass *klass)
gtk_app_chooser_online_pk_class_init (GtkAppChooserOnlinePkClass *klass)
{
GObjectClass *oclass = G_OBJECT_CLASS (klass);
oclass->finalize = gtk_open_with_online_pk_finalize;
oclass->finalize = gtk_app_chooser_online_pk_finalize;
g_type_class_add_private (klass, sizeof (GtkOpenWithOnlinePkPrivate));
g_type_class_add_private (klass, sizeof (GtkAppChooserOnlinePkPrivate));
}
static void
gtk_open_with_online_pk_init (GtkOpenWithOnlinePk *self)
gtk_app_chooser_online_pk_init (GtkAppChooserOnlinePk *self)
{
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_OPEN_WITH_ONLINE_PK,
GtkOpenWithOnlinePkPrivate);
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_APP_CHOOSER_ONLINE_PK,
GtkAppChooserOnlinePkPrivate);
}
static gboolean
pk_search_mime_finish (GtkOpenWithOnline *obj,
pk_search_mime_finish (GtkAppChooserOnline *obj,
GAsyncResult *res,
GError **error)
{
@ -90,7 +90,7 @@ install_mime_types_ready_cb (GObject *source,
GAsyncResult *res,
gpointer user_data)
{
GtkOpenWithOnlinePk *self = user_data;
GtkAppChooserOnlinePk *self = user_data;
GDBusProxy *proxy = G_DBUS_PROXY (source);
GError *error = NULL;
GVariant *variant;
@ -116,7 +116,7 @@ pk_proxy_appeared_cb (GObject *source,
GAsyncResult *res,
gpointer user_data)
{
GtkOpenWithOnlinePk *self = user_data;
GtkAppChooserOnlinePk *self = user_data;
GDBusProxy *proxy;
GError *error = NULL;
guint xid = 0;
@ -154,17 +154,17 @@ pk_proxy_appeared_cb (GObject *source,
}
static void
pk_search_mime_async (GtkOpenWithOnline *obj,
pk_search_mime_async (GtkAppChooserOnline *obj,
const gchar *content_type,
GtkWindow *parent,
GAsyncReadyCallback callback,
gpointer user_data)
{
GtkOpenWithOnlinePk *self = GTK_OPEN_WITH_ONLINE_PK (obj);
GtkAppChooserOnlinePk *self = GTK_APP_CHOOSER_ONLINE_PK (obj);
self->priv->result = g_simple_async_result_new (G_OBJECT (self),
callback, user_data,
gtk_open_with_online_search_for_mimetype_async);
gtk_app_chooser_online_search_for_mimetype_async);
self->priv->parent = parent;
self->priv->content_type = g_strdup (content_type);
@ -180,7 +180,7 @@ pk_search_mime_async (GtkOpenWithOnline *obj,
}
static void
open_with_online_iface_init (GtkOpenWithOnlineInterface *iface)
app_chooser_online_iface_init (GtkAppChooserOnlineInterface *iface)
{
iface->search_for_mimetype_async = pk_search_mime_async;
iface->search_for_mimetype_finish = pk_search_mime_finish;

View File

@ -0,0 +1,59 @@
/*
* gtkappchooseronlinepk.h: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Cosimo Cecchi <ccecchi@redhat.com>
*/
#ifndef __GTK_APP_CHOOSER_ONLINE_PK_H__
#define __GTK_APP_CHOOSER_ONLINE_PK_H__
#include <gtk/gtkappchooseronline.h>
#include <glib.h>
#define GTK_TYPE_APP_CHOOSER_ONLINE_PK\
(_gtk_app_chooser_online_pk_get_type ())
#define GTK_APP_CHOOSER_ONLINE_PK(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APP_CHOOSER_ONLINE_PK, GtkAppChooserOnlinePk))
#define GTK_APP_CHOOSER_ONLINE_PK_CLASS(klass)\
(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_APP_CHOOSER_ONLINE_PK, GtkAppChooserOnlinePkClass))
#define GTK_IS_APP_CHOOSER_ONLINE_PK(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APP_CHOOSER_ONLINE_PK))
#define GTK_IS_APP_CHOOSER_ONLINE_PK_CLASS(klass)\
(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_APP_CHOOSER_ONLINE_PK))
#define GTK_APP_CHOOSER_ONLINE_PK_GET_CLASS(obj)\
(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_APP_CHOOSER_ONLINE_PK, GtkAppChooserOnlinePkClass))
typedef struct _GtkAppChooserOnlinePk GtkAppChooserOnlinePk;
typedef struct _GtkAppChooserOnlinePkClass GtkAppChooserOnlinePkClass;
typedef struct _GtkAppChooserOnlinePkPrivate GtkAppChooserOnlinePkPrivate;
struct _GtkAppChooserOnlinePk {
GObject parent;
GtkAppChooserOnlinePkPrivate *priv;
};
struct _GtkAppChooserOnlinePkClass {
GObjectClass parent_class;
};
GType _gtk_app_chooser_online_pk_get_type (void);
#endif /* __GTK_APP_CHOOSER_ONLINE_PK_H__ */

View File

@ -1,5 +1,5 @@
/*
* gtkopenwith.c: open-with interface
* gtkappchooserprivate.h: app-chooser interface
*
* Copyright (C) 2010 Red Hat, Inc.
*
@ -21,25 +21,25 @@
* Authors: Cosimo Cecchi <ccecchi@redhat.com>
*/
#ifndef __GTK_OPEN_WITH_PRIVATE_H__
#define __GTK_OPEN_WITH_PRIVATE_H__
#ifndef __GTK_APP_CHOOSER_PRIVATE_H__
#define __GTK_APP_CHOOSER_PRIVATE_H__
#include <glib.h>
#include <gio/gio.h>
#include "gtkopenwithwidget.h"
#include "gtkappchooserwidget.h"
typedef struct _GtkOpenWithIface GtkOpenWithIface;
typedef GtkOpenWithIface GtkOpenWithInterface;
typedef struct _GtkAppChooserIface GtkAppChooserIface;
typedef GtkAppChooserIface GtkAppChooserInterface;
#define GTK_OPEN_WITH_GET_IFACE(inst)\
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_OPEN_WITH, GtkOpenWithIface))
#define GTK_APP_CHOOSER_GET_IFACE(inst)\
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GTK_TYPE_APP_CHOOSER, GtkAppChooserIface))
struct _GtkOpenWithIface {
struct _GtkAppChooserIface {
GTypeInterface base_iface;
GAppInfo * (* get_app_info) (GtkOpenWith *object);
void (* refresh) (GtkOpenWith *object);
GAppInfo * (* get_app_info) (GtkAppChooser *object);
void (* refresh) (GtkAppChooser *object);
};
#endif /* __GTK_OPEN_WITH_PRIVATE_H__ */
#endif /* __GTK_APP_CHOOSER_PRIVATE_H__ */

View File

@ -1,5 +1,5 @@
/*
* gtkopenwithwidget.c: an open-with widget
* gtkappchooserwidget.c: an app-chooser widget
*
* Copyright (C) 2004 Novell, Inc.
* Copyright (C) 2007, 2010 Red Hat, Inc.
@ -26,19 +26,19 @@
#include <config.h>
#include "gtkopenwithwidget.h"
#include "gtkappchooserwidget.h"
#include "gtkintl.h"
#include "gtkmarshalers.h"
#include "gtkopenwith.h"
#include "gtkopenwithprivate.h"
#include "gtkappchooser.h"
#include "gtkappchooserprivate.h"
#include <string.h>
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
#include <gio/gio.h>
struct _GtkOpenWithWidgetPrivate {
struct _GtkAppChooserWidgetPrivate {
GAppInfo *selected_app_info;
gchar *content_type;
@ -90,14 +90,14 @@ enum {
static guint signals[N_SIGNALS] = { 0, };
static void gtk_open_with_widget_iface_init (GtkOpenWithIface *iface);
static void gtk_app_chooser_widget_iface_init (GtkAppChooserIface *iface);
G_DEFINE_TYPE_WITH_CODE (GtkOpenWithWidget, gtk_open_with_widget, GTK_TYPE_BOX,
G_IMPLEMENT_INTERFACE (GTK_TYPE_OPEN_WITH,
gtk_open_with_widget_iface_init));
G_DEFINE_TYPE_WITH_CODE (GtkAppChooserWidget, gtk_app_chooser_widget, GTK_TYPE_BOX,
G_IMPLEMENT_INTERFACE (GTK_TYPE_APP_CHOOSER,
gtk_app_chooser_widget_iface_init));
static void
refresh_and_emit_app_selected (GtkOpenWithWidget *self,
refresh_and_emit_app_selected (GtkAppChooserWidget *self,
GtkTreeSelection *selection)
{
GtkTreeModel *model;
@ -159,7 +159,7 @@ program_list_selection_activated (GtkTreeView *view,
GtkTreeViewColumn *column,
gpointer user_data)
{
GtkOpenWithWidget *self = user_data;
GtkAppChooserWidget *self = user_data;
GtkTreeSelection *selection;
if (path_is_heading (view, path))
@ -174,11 +174,11 @@ program_list_selection_activated (GtkTreeView *view,
}
static gboolean
gtk_open_with_search_equal_func (GtkTreeModel *model,
int column,
const char *key,
GtkTreeIter *iter,
gpointer user_data)
gtk_app_chooser_search_equal_func (GtkTreeModel *model,
int column,
const char *key,
GtkTreeIter *iter,
gpointer user_data)
{
char *normalized_key;
char *name, *normalized_name;
@ -244,10 +244,10 @@ gtk_open_with_search_equal_func (GtkTreeModel *model,
}
static gint
gtk_open_with_sort_func (GtkTreeModel *model,
GtkTreeIter *a,
GtkTreeIter *b,
gpointer user_data)
gtk_app_chooser_sort_func (GtkTreeModel *model,
GtkTreeIter *a,
GtkTreeIter *b,
gpointer user_data)
{
gboolean a_recommended, b_recommended;
gboolean a_fallback, b_fallback;
@ -378,11 +378,11 @@ padding_cell_renderer_func (GtkTreeViewColumn *column,
}
static gboolean
gtk_open_with_selection_func (GtkTreeSelection *selection,
GtkTreeModel *model,
GtkTreePath *path,
gboolean path_currently_selected,
gpointer user_data)
gtk_app_chooser_selection_func (GtkTreeSelection *selection,
GtkTreeModel *model,
GtkTreePath *path,
gboolean path_currently_selected,
gpointer user_data)
{
GtkTreeIter iter;
gboolean heading;
@ -403,13 +403,13 @@ compare_apps_func (gconstpointer a,
}
static gboolean
gtk_open_with_widget_add_section (GtkOpenWithWidget *self,
const gchar *heading_title,
gboolean show_headings,
gboolean recommended,
gboolean fallback,
GList *applications,
GList *exclude_apps)
gtk_app_chooser_widget_add_section (GtkAppChooserWidget *self,
const gchar *heading_title,
gboolean show_headings,
gboolean recommended,
gboolean fallback,
GList *applications,
GList *exclude_apps)
{
gboolean heading_added, unref_icon;
GtkTreeIter iter;
@ -486,8 +486,8 @@ gtk_open_with_widget_add_section (GtkOpenWithWidget *self,
static void
gtk_open_with_add_default (GtkOpenWithWidget *self,
GAppInfo *app)
gtk_app_chooser_add_default (GtkAppChooserWidget *self,
GAppInfo *app)
{
GtkTreeIter iter;
GIcon *icon;
@ -537,7 +537,7 @@ gtk_open_with_add_default (GtkOpenWithWidget *self,
}
static void
add_no_applications_label (GtkOpenWithWidget *self)
add_no_applications_label (GtkAppChooserWidget *self)
{
gchar *text = NULL, *desc;
const gchar *string;
@ -565,7 +565,7 @@ add_no_applications_label (GtkOpenWithWidget *self)
}
static void
gtk_open_with_widget_select_first (GtkOpenWithWidget *self)
gtk_app_chooser_widget_select_first (GtkAppChooserWidget *self)
{
GtkTreeIter iter;
GAppInfo *info = NULL;
@ -599,7 +599,7 @@ gtk_open_with_widget_select_first (GtkOpenWithWidget *self)
}
static void
gtk_open_with_widget_real_add_items (GtkOpenWithWidget *self)
gtk_app_chooser_widget_real_add_items (GtkAppChooserWidget *self)
{
GList *all_applications = NULL, *recommended_apps = NULL, *fallback_apps = NULL;
GList *exclude_apps = NULL;
@ -619,7 +619,7 @@ gtk_open_with_widget_real_add_items (GtkOpenWithWidget *self)
if (default_app != NULL)
{
gtk_open_with_add_default (self, default_app);
gtk_app_chooser_add_default (self, default_app);
apps_added = TRUE;
exclude_apps = g_list_prepend (exclude_apps, default_app);
}
@ -629,11 +629,11 @@ gtk_open_with_widget_real_add_items (GtkOpenWithWidget *self)
{
recommended_apps = g_app_info_get_recommended_for_type (self->priv->content_type);
apps_added |= gtk_open_with_widget_add_section (self, _("Recommended Applications"),
show_headings,
!self->priv->show_all, /* mark as recommended */
FALSE, /* mark as fallback */
recommended_apps, exclude_apps);
apps_added |= gtk_app_chooser_widget_add_section (self, _("Recommended Applications"),
show_headings,
!self->priv->show_all, /* mark as recommended */
FALSE, /* mark as fallback */
recommended_apps, exclude_apps);
exclude_apps = g_list_concat (exclude_apps,
g_list_copy (recommended_apps));
@ -643,11 +643,11 @@ gtk_open_with_widget_real_add_items (GtkOpenWithWidget *self)
{
fallback_apps = g_app_info_get_fallback_for_type (self->priv->content_type);
apps_added |= gtk_open_with_widget_add_section (self, _("Related Applications"),
show_headings,
FALSE, /* mark as recommended */
!self->priv->show_all, /* mark as fallback */
fallback_apps, exclude_apps);
apps_added |= gtk_app_chooser_widget_add_section (self, _("Related Applications"),
show_headings,
FALSE, /* mark as recommended */
!self->priv->show_all, /* mark as fallback */
fallback_apps, exclude_apps);
exclude_apps = g_list_concat (exclude_apps,
g_list_copy (fallback_apps));
}
@ -656,17 +656,17 @@ gtk_open_with_widget_real_add_items (GtkOpenWithWidget *self)
{
all_applications = g_app_info_get_all ();
apps_added |= gtk_open_with_widget_add_section (self, _("Other Applications"),
show_headings,
FALSE,
FALSE,
all_applications, exclude_apps);
apps_added |= gtk_app_chooser_widget_add_section (self, _("Other Applications"),
show_headings,
FALSE,
FALSE,
all_applications, exclude_apps);
}
if (!apps_added)
add_no_applications_label (self);
gtk_open_with_widget_select_first (self);
gtk_app_chooser_widget_select_first (self);
if (default_app != NULL)
g_object_unref (default_app);
@ -685,7 +685,7 @@ gtk_open_with_widget_real_add_items (GtkOpenWithWidget *self)
}
static void
gtk_open_with_widget_add_items (GtkOpenWithWidget *self)
gtk_app_chooser_widget_add_items (GtkAppChooserWidget *self)
{
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
@ -712,12 +712,12 @@ gtk_open_with_widget_add_items (GtkOpenWithWidget *self)
GTK_SORT_ASCENDING);
gtk_tree_sortable_set_sort_func (GTK_TREE_SORTABLE (sort),
COLUMN_NAME,
gtk_open_with_sort_func,
gtk_app_chooser_sort_func,
self, NULL);
gtk_tree_view_set_search_column (GTK_TREE_VIEW (self->priv->program_list),
COLUMN_NAME);
gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW (self->priv->program_list),
gtk_open_with_search_equal_func,
gtk_app_chooser_search_equal_func,
NULL, NULL);
column = gtk_tree_view_column_new ();
@ -776,16 +776,16 @@ gtk_open_with_widget_add_items (GtkOpenWithWidget *self)
gtk_tree_view_append_column (GTK_TREE_VIEW (self->priv->program_list), column);
/* populate the widget */
gtk_open_with_widget_real_add_items (self);
gtk_app_chooser_widget_real_add_items (self);
}
static void
gtk_open_with_widget_set_property (GObject *object,
guint property_id,
const GValue *value,
GParamSpec *pspec)
gtk_app_chooser_widget_set_property (GObject *object,
guint property_id,
const GValue *value,
GParamSpec *pspec)
{
GtkOpenWithWidget *self = GTK_OPEN_WITH_WIDGET (object);
GtkAppChooserWidget *self = GTK_APP_CHOOSER_WIDGET (object);
switch (property_id)
{
@ -793,22 +793,22 @@ gtk_open_with_widget_set_property (GObject *object,
self->priv->content_type = g_value_dup_string (value);
break;
case PROP_SHOW_DEFAULT:
gtk_open_with_widget_set_show_default (self, g_value_get_boolean (value));
gtk_app_chooser_widget_set_show_default (self, g_value_get_boolean (value));
break;
case PROP_SHOW_RECOMMENDED:
gtk_open_with_widget_set_show_recommended (self, g_value_get_boolean (value));
gtk_app_chooser_widget_set_show_recommended (self, g_value_get_boolean (value));
break;
case PROP_SHOW_FALLBACK:
gtk_open_with_widget_set_show_fallback (self, g_value_get_boolean (value));
gtk_app_chooser_widget_set_show_fallback (self, g_value_get_boolean (value));
break;
case PROP_SHOW_OTHER:
gtk_open_with_widget_set_show_other (self, g_value_get_boolean (value));
gtk_app_chooser_widget_set_show_other (self, g_value_get_boolean (value));
break;
case PROP_SHOW_ALL:
gtk_open_with_widget_set_show_all (self, g_value_get_boolean (value));
gtk_app_chooser_widget_set_show_all (self, g_value_get_boolean (value));
break;
case PROP_DEFAULT_TEXT:
gtk_open_with_widget_set_default_text (self, g_value_get_string (value));
gtk_app_chooser_widget_set_default_text (self, g_value_get_string (value));
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@ -817,12 +817,12 @@ gtk_open_with_widget_set_property (GObject *object,
}
static void
gtk_open_with_widget_get_property (GObject *object,
guint property_id,
GValue *value,
GParamSpec *pspec)
gtk_app_chooser_widget_get_property (GObject *object,
guint property_id,
GValue *value,
GParamSpec *pspec)
{
GtkOpenWithWidget *self = GTK_OPEN_WITH_WIDGET (object);
GtkAppChooserWidget *self = GTK_APP_CHOOSER_WIDGET (object);
switch (property_id)
{
@ -854,33 +854,33 @@ gtk_open_with_widget_get_property (GObject *object,
}
static void
gtk_open_with_widget_constructed (GObject *object)
gtk_app_chooser_widget_constructed (GObject *object)
{
GtkOpenWithWidget *self = GTK_OPEN_WITH_WIDGET (object);
GtkAppChooserWidget *self = GTK_APP_CHOOSER_WIDGET (object);
g_assert (self->priv->content_type != NULL);
if (G_OBJECT_CLASS (gtk_open_with_widget_parent_class)->constructed != NULL)
G_OBJECT_CLASS (gtk_open_with_widget_parent_class)->constructed (object);
if (G_OBJECT_CLASS (gtk_app_chooser_widget_parent_class)->constructed != NULL)
G_OBJECT_CLASS (gtk_app_chooser_widget_parent_class)->constructed (object);
gtk_open_with_widget_add_items (self);
gtk_app_chooser_widget_add_items (self);
}
static void
gtk_open_with_widget_finalize (GObject *object)
gtk_app_chooser_widget_finalize (GObject *object)
{
GtkOpenWithWidget *self = GTK_OPEN_WITH_WIDGET (object);
GtkAppChooserWidget *self = GTK_APP_CHOOSER_WIDGET (object);
g_free (self->priv->content_type);
g_free (self->priv->default_text);
G_OBJECT_CLASS (gtk_open_with_widget_parent_class)->finalize (object);
G_OBJECT_CLASS (gtk_app_chooser_widget_parent_class)->finalize (object);
}
static void
gtk_open_with_widget_dispose (GObject *object)
gtk_app_chooser_widget_dispose (GObject *object)
{
GtkOpenWithWidget *self = GTK_OPEN_WITH_WIDGET (object);
GtkAppChooserWidget *self = GTK_APP_CHOOSER_WIDGET (object);
if (self->priv->selected_app_info != NULL)
{
@ -888,21 +888,21 @@ gtk_open_with_widget_dispose (GObject *object)
self->priv->selected_app_info = NULL;
}
G_OBJECT_CLASS (gtk_open_with_widget_parent_class)->dispose (object);
G_OBJECT_CLASS (gtk_app_chooser_widget_parent_class)->dispose (object);
}
static void
gtk_open_with_widget_class_init (GtkOpenWithWidgetClass *klass)
gtk_app_chooser_widget_class_init (GtkAppChooserWidgetClass *klass)
{
GObjectClass *gobject_class;
GParamSpec *pspec;
gobject_class = G_OBJECT_CLASS (klass);
gobject_class->dispose = gtk_open_with_widget_dispose;
gobject_class->finalize = gtk_open_with_widget_finalize;
gobject_class->set_property = gtk_open_with_widget_set_property;
gobject_class->get_property = gtk_open_with_widget_get_property;
gobject_class->constructed = gtk_open_with_widget_constructed;
gobject_class->dispose = gtk_app_chooser_widget_dispose;
gobject_class->finalize = gtk_app_chooser_widget_finalize;
gobject_class->set_property = gtk_app_chooser_widget_set_property;
gobject_class->get_property = gtk_app_chooser_widget_get_property;
gobject_class->constructed = gtk_app_chooser_widget_constructed;
g_object_class_override_property (gobject_class, PROP_CONTENT_TYPE, "content-type");
@ -950,9 +950,9 @@ gtk_open_with_widget_class_init (GtkOpenWithWidgetClass *klass)
signals[SIGNAL_APPLICATION_SELECTED] =
g_signal_new ("application-selected",
GTK_TYPE_OPEN_WITH_WIDGET,
GTK_TYPE_APP_CHOOSER_WIDGET,
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GtkOpenWithWidgetClass, application_selected),
G_STRUCT_OFFSET (GtkAppChooserWidgetClass, application_selected),
NULL, NULL,
_gtk_marshal_VOID__OBJECT,
G_TYPE_NONE,
@ -960,25 +960,25 @@ gtk_open_with_widget_class_init (GtkOpenWithWidgetClass *klass)
signals[SIGNAL_APPLICATION_ACTIVATED] =
g_signal_new ("application-activated",
GTK_TYPE_OPEN_WITH_WIDGET,
GTK_TYPE_APP_CHOOSER_WIDGET,
G_SIGNAL_RUN_FIRST,
G_STRUCT_OFFSET (GtkOpenWithWidgetClass, application_activated),
G_STRUCT_OFFSET (GtkAppChooserWidgetClass, application_activated),
NULL, NULL,
_gtk_marshal_VOID__OBJECT,
G_TYPE_NONE,
1, G_TYPE_APP_INFO);
g_type_class_add_private (klass, sizeof (GtkOpenWithWidgetPrivate));
g_type_class_add_private (klass, sizeof (GtkAppChooserWidgetPrivate));
}
static void
gtk_open_with_widget_init (GtkOpenWithWidget *self)
gtk_app_chooser_widget_init (GtkAppChooserWidget *self)
{
GtkWidget *scrolled_window;
GtkTreeSelection *selection;
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_OPEN_WITH_WIDGET,
GtkOpenWithWidgetPrivate);
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GTK_TYPE_APP_CHOOSER_WIDGET,
GtkAppChooserWidgetPrivate);
gtk_orientable_set_orientation (GTK_ORIENTABLE (self), GTK_ORIENTATION_VERTICAL);
scrolled_window = gtk_scrolled_window_new (NULL, NULL);
@ -999,7 +999,7 @@ gtk_open_with_widget_init (GtkOpenWithWidget *self)
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (self->priv->program_list));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
gtk_tree_selection_set_select_function (selection, gtk_open_with_selection_func,
gtk_tree_selection_set_select_function (selection, gtk_app_chooser_selection_func,
self, NULL);
g_signal_connect_swapped (selection, "changed",
G_CALLBACK (refresh_and_emit_app_selected),
@ -1010,9 +1010,9 @@ gtk_open_with_widget_init (GtkOpenWithWidget *self)
}
static GAppInfo *
gtk_open_with_widget_get_app_info (GtkOpenWith *object)
gtk_app_chooser_widget_get_app_info (GtkAppChooser *object)
{
GtkOpenWithWidget *self = GTK_OPEN_WITH_WIDGET (object);
GtkAppChooserWidget *self = GTK_APP_CHOOSER_WIDGET (object);
if (self->priv->selected_app_info == NULL)
return NULL;
@ -1021,9 +1021,9 @@ gtk_open_with_widget_get_app_info (GtkOpenWith *object)
}
static void
gtk_open_with_widget_refresh (GtkOpenWith *object)
gtk_app_chooser_widget_refresh (GtkAppChooser *object)
{
GtkOpenWithWidget *self = GTK_OPEN_WITH_WIDGET (object);
GtkAppChooserWidget *self = GTK_APP_CHOOSER_WIDGET (object);
if (self->priv->program_list_store != NULL)
{
@ -1034,30 +1034,30 @@ gtk_open_with_widget_refresh (GtkOpenWith *object)
"visible", !self->priv->show_all,
NULL);
gtk_open_with_widget_real_add_items (self);
gtk_app_chooser_widget_real_add_items (self);
}
}
static void
gtk_open_with_widget_iface_init (GtkOpenWithIface *iface)
gtk_app_chooser_widget_iface_init (GtkAppChooserIface *iface)
{
iface->get_app_info = gtk_open_with_widget_get_app_info;
iface->refresh = gtk_open_with_widget_refresh;
iface->get_app_info = gtk_app_chooser_widget_get_app_info;
iface->refresh = gtk_app_chooser_widget_refresh;
}
GtkWidget *
gtk_open_with_widget_new (const gchar *content_type)
gtk_app_chooser_widget_new (const gchar *content_type)
{
return g_object_new (GTK_TYPE_OPEN_WITH_WIDGET,
return g_object_new (GTK_TYPE_APP_CHOOSER_WIDGET,
"content-type", content_type,
NULL);
}
void
gtk_open_with_widget_set_show_default (GtkOpenWithWidget *self,
gboolean setting)
gtk_app_chooser_widget_set_show_default (GtkAppChooserWidget *self,
gboolean setting)
{
g_return_if_fail (GTK_IS_OPEN_WITH_WIDGET (self));
g_return_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self));
if (self->priv->show_default != setting)
{
@ -1065,23 +1065,23 @@ gtk_open_with_widget_set_show_default (GtkOpenWithWidget *self,
g_object_notify (G_OBJECT (self), "show-default");
gtk_open_with_refresh (GTK_OPEN_WITH (self));
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self));
}
}
gboolean
gtk_open_with_widget_get_show_default (GtkOpenWithWidget *self)
gtk_app_chooser_widget_get_show_default (GtkAppChooserWidget *self)
{
g_return_val_if_fail (GTK_IS_OPEN_WITH_WIDGET (self), FALSE);
g_return_val_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self), FALSE);
return self->priv->show_default;
}
void
gtk_open_with_widget_set_show_recommended (GtkOpenWithWidget *self,
gboolean setting)
gtk_app_chooser_widget_set_show_recommended (GtkAppChooserWidget *self,
gboolean setting)
{
g_return_if_fail (GTK_IS_OPEN_WITH_WIDGET (self));
g_return_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self));
if (self->priv->show_recommended != setting)
{
@ -1089,23 +1089,23 @@ gtk_open_with_widget_set_show_recommended (GtkOpenWithWidget *self,
g_object_notify (G_OBJECT (self), "show-recommended");
gtk_open_with_refresh (GTK_OPEN_WITH (self));
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self));
}
}
gboolean
gtk_open_with_widget_get_show_recommended (GtkOpenWithWidget *self)
gtk_app_chooser_widget_get_show_recommended (GtkAppChooserWidget *self)
{
g_return_val_if_fail (GTK_IS_OPEN_WITH_WIDGET (self), FALSE);
g_return_val_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self), FALSE);
return self->priv->show_recommended;
}
void
gtk_open_with_widget_set_show_fallback (GtkOpenWithWidget *self,
gboolean setting)
gtk_app_chooser_widget_set_show_fallback (GtkAppChooserWidget *self,
gboolean setting)
{
g_return_if_fail (GTK_IS_OPEN_WITH_WIDGET (self));
g_return_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self));
if (self->priv->show_fallback != setting)
{
@ -1113,23 +1113,23 @@ gtk_open_with_widget_set_show_fallback (GtkOpenWithWidget *self,
g_object_notify (G_OBJECT (self), "show-fallback");
gtk_open_with_refresh (GTK_OPEN_WITH (self));
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self));
}
}
gboolean
gtk_open_with_widget_get_show_fallback (GtkOpenWithWidget *self)
gtk_app_chooser_widget_get_show_fallback (GtkAppChooserWidget *self)
{
g_return_val_if_fail (GTK_IS_OPEN_WITH_WIDGET (self), FALSE);
g_return_val_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self), FALSE);
return self->priv->show_fallback;
}
void
gtk_open_with_widget_set_show_other (GtkOpenWithWidget *self,
gboolean setting)
gtk_app_chooser_widget_set_show_other (GtkAppChooserWidget *self,
gboolean setting)
{
g_return_if_fail (GTK_IS_OPEN_WITH_WIDGET (self));
g_return_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self));
if (self->priv->show_other != setting)
{
@ -1137,22 +1137,22 @@ gtk_open_with_widget_set_show_other (GtkOpenWithWidget *self,
g_object_notify (G_OBJECT (self), "show-other");
gtk_open_with_refresh (GTK_OPEN_WITH (self));
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self));
}
}
gboolean gtk_open_with_widget_get_show_other (GtkOpenWithWidget *self)
gboolean gtk_app_chooser_widget_get_show_other (GtkAppChooserWidget *self)
{
g_return_val_if_fail (GTK_IS_OPEN_WITH_WIDGET (self), FALSE);
g_return_val_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self), FALSE);
return self->priv->show_other;
}
void
gtk_open_with_widget_set_show_all (GtkOpenWithWidget *self,
gboolean setting)
gtk_app_chooser_widget_set_show_all (GtkAppChooserWidget *self,
gboolean setting)
{
g_return_if_fail (GTK_IS_OPEN_WITH_WIDGET (self));
g_return_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self));
if (self->priv->show_all != setting)
{
@ -1160,23 +1160,23 @@ gtk_open_with_widget_set_show_all (GtkOpenWithWidget *self,
g_object_notify (G_OBJECT (self), "show-all");
gtk_open_with_refresh (GTK_OPEN_WITH (self));
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self));
}
}
gboolean
gtk_open_with_widget_get_show_all (GtkOpenWithWidget *self)
gtk_app_chooser_widget_get_show_all (GtkAppChooserWidget *self)
{
g_return_val_if_fail (GTK_IS_OPEN_WITH_WIDGET (self), FALSE);
g_return_val_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self), FALSE);
return self->priv->show_all;
}
void
gtk_open_with_widget_set_default_text (GtkOpenWithWidget *self,
const gchar *text)
gtk_app_chooser_widget_set_default_text (GtkAppChooserWidget *self,
const gchar *text)
{
g_return_if_fail (GTK_IS_OPEN_WITH_WIDGET (self));
g_return_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self));
if (g_strcmp0 (text, self->priv->default_text) != 0)
{
@ -1185,14 +1185,14 @@ gtk_open_with_widget_set_default_text (GtkOpenWithWidget *self,
g_object_notify (G_OBJECT (self), "default-text");
gtk_open_with_refresh (GTK_OPEN_WITH (self));
gtk_app_chooser_refresh (GTK_APP_CHOOSER (self));
}
}
const gchar *
gtk_open_with_widget_get_default_text (GtkOpenWithWidget *self)
gtk_app_chooser_widget_get_default_text (GtkAppChooserWidget *self)
{
g_return_val_if_fail (GTK_IS_OPEN_WITH_WIDGET (self), NULL);
g_return_val_if_fail (GTK_IS_APP_CHOOSER_WIDGET (self), NULL);
return self->priv->default_text;
}

109
gtk/gtkappchooserwidget.h Normal file
View File

@ -0,0 +1,109 @@
/*
* gtkappchooserwidget.h: an app-chooser widget
*
* Copyright (C) 2004 Novell, Inc.
* Copyright (C) 2007, 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Dave Camp <dave@novell.com>
* Alexander Larsson <alexl@redhat.com>
* Cosimo Cecchi <ccecchi@redhat.com>
*/
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif
#ifndef __GTK_APP_CHOOSER_WIDGET_H__
#define __GTK_APP_CHOOSER_WIDGET_H__
#include <gtk/gtkbox.h>
#include <gio/gio.h>
#define GTK_TYPE_APP_CHOOSER_WIDGET\
(gtk_app_chooser_widget_get_type ())
#define GTK_APP_CHOOSER_WIDGET(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_APP_CHOOSER_WIDGET, GtkAppChooserWidget))
#define GTK_APP_CHOOSER_WIDGET_CLASS(klass)\
(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_APP_CHOOSER_WIDGET, GtkAppChooserWidgetClass))
#define GTK_IS_APP_CHOOSER_WIDGET(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_APP_CHOOSER_WIDGET))
#define GTK_IS_APP_CHOOSER_WIDGET_CLASS(klass)\
(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_APP_CHOOSER_WIDGET))
#define GTK_APP_CHOOSER_WIDGET_GET_CLASS(obj)\
(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_APP_CHOOSER_WIDGET, GtkAppChooserWidgetClass))
typedef struct _GtkAppChooserWidget GtkAppChooserWidget;
typedef struct _GtkAppChooserWidgetClass GtkAppChooserWidgetClass;
typedef struct _GtkAppChooserWidgetPrivate GtkAppChooserWidgetPrivate;
struct _GtkAppChooserWidget {
GtkBox parent;
/*< private >*/
GtkAppChooserWidgetPrivate *priv;
};
struct _GtkAppChooserWidgetClass {
GtkBoxClass parent_class;
void (* application_selected) (GtkAppChooserWidget *self,
GAppInfo *app_info);
void (* application_activated) (GtkAppChooserWidget *self,
GAppInfo *app_info);
/* padding for future class expansion */
gpointer padding[16];
};
typedef enum {
GTK_APP_CHOOSER_WIDGET_SHOW_RECOMMENDED = 1 << 0,
GTK_APP_CHOOSER_WIDGET_SHOW_FALLBACK = 1 << 1,
GTK_APP_CHOOSER_WIDGET_SHOW_OTHER = 1 << 2,
GTK_APP_CHOOSER_WIDGET_SHOW_ALL = 1 << 3,
} GtkAppChooserWidgetShowFlags;
GType gtk_app_chooser_widget_get_type (void) G_GNUC_CONST;
GtkWidget * gtk_app_chooser_widget_new (const gchar *content_type);
void gtk_app_chooser_widget_set_show_default (GtkAppChooserWidget *self,
gboolean setting);
gboolean gtk_app_chooser_widget_get_show_default (GtkAppChooserWidget *self);
void gtk_app_chooser_widget_set_show_recommended (GtkAppChooserWidget *self,
gboolean setting);
gboolean gtk_app_chooser_widget_get_show_recommended (GtkAppChooserWidget *self);
void gtk_app_chooser_widget_set_show_fallback (GtkAppChooserWidget *self,
gboolean setting);
gboolean gtk_app_chooser_widget_get_show_fallback (GtkAppChooserWidget *self);
void gtk_app_chooser_widget_set_show_other (GtkAppChooserWidget *self,
gboolean setting);
gboolean gtk_app_chooser_widget_get_show_other (GtkAppChooserWidget *self);
void gtk_app_chooser_widget_set_show_all (GtkAppChooserWidget *self,
gboolean show_all);
gboolean gtk_app_chooser_widget_get_show_all (GtkAppChooserWidget *self);
void gtk_app_chooser_widget_set_default_text (GtkAppChooserWidget *self,
const gchar *text);
const gchar * gtk_app_chooser_widget_get_default_text (GtkAppChooserWidget *self);
#endif /* __GTK_APP_CHOOSER_WIDGET_H__ */

View File

@ -1,79 +0,0 @@
/*
* gtkopenwithdialog.h: an open-with dialog
*
* Copyright (C) 2004 Novell, Inc.
* Copyright (C) 2007, 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Dave Camp <dave@novell.com>
* Alexander Larsson <alexl@redhat.com>
* Cosimo Cecchi <ccecchi@redhat.com>
*/
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif
#ifndef __GTK_OPEN_WITH_DIALOG_H__
#define __GTK_OPEN_WITH_DIALOG_H__
#include <gtk/gtkdialog.h>
#include <gio/gio.h>
#define GTK_TYPE_OPEN_WITH_DIALOG\
(gtk_open_with_dialog_get_type ())
#define GTK_OPEN_WITH_DIALOG(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_OPEN_WITH_DIALOG, GtkOpenWithDialog))
#define GTK_OPEN_WITH_DIALOG_CLASS(klass)\
(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_OPEN_WITH_DIALOG, GtkOpenWithDialogClass))
#define GTK_IS_OPEN_WITH_DIALOG(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_OPEN_WITH_DIALOG))
#define GTK_IS_OPEN_WITH_DIALOG_CLASS(klass)\
(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_OPEN_WITH_DIALOG))
#define GTK_OPEN_WITH_DIALOG_GET_CLASS(obj)\
(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_OPEN_WITH_DIALOG, GtkOpenWithDialogClass))
typedef struct _GtkOpenWithDialog GtkOpenWithDialog;
typedef struct _GtkOpenWithDialogClass GtkOpenWithDialogClass;
typedef struct _GtkOpenWithDialogPrivate GtkOpenWithDialogPrivate;
struct _GtkOpenWithDialog {
GtkDialog parent;
/*< private >*/
GtkOpenWithDialogPrivate *priv;
};
struct _GtkOpenWithDialogClass {
GtkDialogClass parent_class;
/* padding for future class expansion */
gpointer padding[16];
};
GType gtk_open_with_dialog_get_type (void) G_GNUC_CONST;
GtkWidget * gtk_open_with_dialog_new (GtkWindow *parent,
GtkDialogFlags flags,
GFile *file);
GtkWidget * gtk_open_with_dialog_new_for_content_type (GtkWindow *parent,
GtkDialogFlags flags,
const gchar *content_type);
GtkWidget * gtk_open_with_dialog_get_widget (GtkOpenWithDialog *self);
#endif /* __GTK_OPEN_WITH_DIALOG_H__ */

View File

@ -1,73 +0,0 @@
/*
* gtkopenwithonline.h: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Cosimo Cecchi <ccecchi@redhat.com>
*/
#ifndef __GTK_OPEN_WITH_ONLINE_H__
#define __GTK_OPEN_WITH_ONLINE_H__
#include <glib.h>
#include <gtk/gtkwindow.h>
#include <gio/gio.h>
G_BEGIN_DECLS
#define GTK_TYPE_OPEN_WITH_ONLINE\
(gtk_open_with_online_get_type ())
#define GTK_OPEN_WITH_ONLINE(o)\
(G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_OPEN_WITH_ONLINE, GtkOpenWithOnline))
#define GTK_IS_OPEN_WITH_ONLINE(o)\
(G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_OPEN_WITH_ONLINE))
#define GTK_OPEN_WITH_ONLINE_GET_IFACE(obj)\
(G_TYPE_INSTANCE_GET_INTERFACE ((obj), GTK_TYPE_OPEN_WITH_ONLINE, GtkOpenWithOnlineInterface))
typedef struct _GtkOpenWithOnline GtkOpenWithOnline;
typedef struct _GtkOpenWithOnlineInterface GtkOpenWithOnlineInterface;
struct _GtkOpenWithOnlineInterface {
GTypeInterface g_iface;
/* Methods */
void (*search_for_mimetype_async) (GtkOpenWithOnline *self,
const gchar *content_type,
GtkWindow *parent,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean (*search_for_mimetype_finish) (GtkOpenWithOnline *self,
GAsyncResult *res,
GError **error);
};
GType gtk_open_with_online_get_type (void) G_GNUC_CONST;
void gtk_open_with_online_search_for_mimetype_async (GtkOpenWithOnline *self,
const gchar *content_type,
GtkWindow *parent,
GAsyncReadyCallback callback,
gpointer user_data);
gboolean gtk_open_with_online_search_for_mimetype_finish (GtkOpenWithOnline *self,
GAsyncResult *res,
GError **error);
GtkOpenWithOnline * gtk_open_with_online_get_default (void);
#endif /* __GTK_OPEN_WITH_ONLINE_H__ */

View File

@ -1,59 +0,0 @@
/*
* gtkopenwithonlinedummy.h: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Cosimo Cecchi <ccecchi@redhat.com>
*/
#ifndef __GTK_OPEN_WITH_ONLINE_DUMMY_H__
#define __GTK_OPEN_WITH_ONLINE_DUMMY_H__
#include <gtk/gtkopenwithonline.h>
#include <glib.h>
#define GTK_TYPE_OPEN_WITH_ONLINE_DUMMY\
(_gtk_open_with_online_dummy_get_type ())
#define GTK_OPEN_WITH_ONLINE_DUMMY(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_OPEN_WITH_ONLINE_DUMMY, GtkOpenWithOnlineDummy))
#define GTK_OPEN_WITH_ONLINE_DUMMY_CLASS(klass)\
(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_OPEN_WITH_ONLINE_DUMMY, GtkOpenWithOnlineDummyClass))
#define GTK_IS_OPEN_WITH_ONLINE_DUMMY(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_OPEN_WITH_ONLINE_DUMMY))
#define GTK_IS_OPEN_WITH_ONLINE_DUMMY_CLASS(klass)\
(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_OPEN_WITH_ONLINE_DUMMY))
#define GTK_OPEN_WITH_ONLINE_DUMMY_GET_CLASS(obj)\
(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_OPEN_WITH_ONLINE_DUMMY, GtkOpenWithOnlineDummyClass))
typedef struct _GtkOpenWithOnlineDummy GtkOpenWithOnlineDummy;
typedef struct _GtkOpenWithOnlineDummyClass GtkOpenWithOnlineDummyClass;
typedef struct _GtkOpenWithOnlineDummyPrivate GtkOpenWithOnlineDummyPrivate;
struct _GtkOpenWithOnlineDummy {
GObject parent;
};
struct _GtkOpenWithOnlineDummyClass {
GObjectClass parent_class;
GtkOpenWithOnlineDummy *priv;
};
GType _gtk_open_with_online_dummy_get_type (void);
#endif /* __GTK_OPEN_WITH_ONLINE_DUMMY_H__ */

View File

@ -1,59 +0,0 @@
/*
* gtkopenwithonlinepk.h: an extension point for online integration
*
* Copyright (C) 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Cosimo Cecchi <ccecchi@redhat.com>
*/
#ifndef __GTK_OPEN_WITH_ONLINE_PK_H__
#define __GTK_OPEN_WITH_ONLINE_PK_H__
#include <gtk/gtkopenwithonline.h>
#include <glib.h>
#define GTK_TYPE_OPEN_WITH_ONLINE_PK\
(_gtk_open_with_online_pk_get_type ())
#define GTK_OPEN_WITH_ONLINE_PK(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_OPEN_WITH_ONLINE_PK, GtkOpenWithOnlinePk))
#define GTK_OPEN_WITH_ONLINE_PK_CLASS(klass)\
(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_OPEN_WITH_ONLINE_PK, GtkOpenWithOnlinePkClass))
#define GTK_IS_OPEN_WITH_ONLINE_PK(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_OPEN_WITH_ONLINE_PK))
#define GTK_IS_OPEN_WITH_ONLINE_PK_CLASS(klass)\
(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_OPEN_WITH_ONLINE_PK))
#define GTK_OPEN_WITH_ONLINE_PK_GET_CLASS(obj)\
(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_OPEN_WITH_ONLINE_PK, GtkOpenWithOnlinePkClass))
typedef struct _GtkOpenWithOnlinePk GtkOpenWithOnlinePk;
typedef struct _GtkOpenWithOnlinePkClass GtkOpenWithOnlinePkClass;
typedef struct _GtkOpenWithOnlinePkPrivate GtkOpenWithOnlinePkPrivate;
struct _GtkOpenWithOnlinePk {
GObject parent;
GtkOpenWithOnlinePkPrivate *priv;
};
struct _GtkOpenWithOnlinePkClass {
GObjectClass parent_class;
};
GType _gtk_open_with_online_pk_get_type (void);
#endif /* __GTK_OPEN_WITH_ONLINE_PK_H__ */

View File

@ -1,109 +0,0 @@
/*
* gtkopenwithwidget.h: an open-with widget
*
* Copyright (C) 2004 Novell, Inc.
* Copyright (C) 2007, 2010 Red Hat, 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 the Gnome Library; see the file COPYING.LIB. If not,
* write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*
* Authors: Dave Camp <dave@novell.com>
* Alexander Larsson <alexl@redhat.com>
* Cosimo Cecchi <ccecchi@redhat.com>
*/
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif
#ifndef __GTK_OPEN_WITH_WIDGET_H__
#define __GTK_OPEN_WITH_WIDGET_H__
#include <gtk/gtkbox.h>
#include <gio/gio.h>
#define GTK_TYPE_OPEN_WITH_WIDGET\
(gtk_open_with_widget_get_type ())
#define GTK_OPEN_WITH_WIDGET(obj)\
(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_OPEN_WITH_WIDGET, GtkOpenWithWidget))
#define GTK_OPEN_WITH_WIDGET_CLASS(klass)\
(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_OPEN_WITH_WIDGET, GtkOpenWithWidgetClass))
#define GTK_IS_OPEN_WITH_WIDGET(obj)\
(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_OPEN_WITH_WIDGET))
#define GTK_IS_OPEN_WITH_WIDGET_CLASS(klass)\
(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_OPEN_WITH_WIDGET))
#define GTK_OPEN_WITH_WIDGET_GET_CLASS(obj)\
(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_OPEN_WITH_WIDGET, GtkOpenWithWidgetClass))
typedef struct _GtkOpenWithWidget GtkOpenWithWidget;
typedef struct _GtkOpenWithWidgetClass GtkOpenWithWidgetClass;
typedef struct _GtkOpenWithWidgetPrivate GtkOpenWithWidgetPrivate;
struct _GtkOpenWithWidget {
GtkBox parent;
/*< private >*/
GtkOpenWithWidgetPrivate *priv;
};
struct _GtkOpenWithWidgetClass {
GtkBoxClass parent_class;
void (* application_selected) (GtkOpenWithWidget *self,
GAppInfo *app_info);
void (* application_activated) (GtkOpenWithWidget *self,
GAppInfo *app_info);
/* padding for future class expansion */
gpointer padding[16];
};
typedef enum {
GTK_OPEN_WITH_WIDGET_SHOW_RECOMMENDED = 1 << 0,
GTK_OPEN_WITH_WIDGET_SHOW_FALLBACK = 1 << 1,
GTK_OPEN_WITH_WIDGET_SHOW_OTHER = 1 << 2,
GTK_OPEN_WITH_WIDGET_SHOW_ALL = 1 << 3,
} GtkOpenWithWidgetShowFlags;
GType gtk_open_with_widget_get_type (void) G_GNUC_CONST;
GtkWidget * gtk_open_with_widget_new (const gchar *content_type);
void gtk_open_with_widget_set_show_default (GtkOpenWithWidget *self,
gboolean setting);
gboolean gtk_open_with_widget_get_show_default (GtkOpenWithWidget *self);
void gtk_open_with_widget_set_show_recommended (GtkOpenWithWidget *self,
gboolean setting);
gboolean gtk_open_with_widget_get_show_recommended (GtkOpenWithWidget *self);
void gtk_open_with_widget_set_show_fallback (GtkOpenWithWidget *self,
gboolean setting);
gboolean gtk_open_with_widget_get_show_fallback (GtkOpenWithWidget *self);
void gtk_open_with_widget_set_show_other (GtkOpenWithWidget *self,
gboolean setting);
gboolean gtk_open_with_widget_get_show_other (GtkOpenWithWidget *self);
void gtk_open_with_widget_set_show_all (GtkOpenWithWidget *self,
gboolean show_all);
gboolean gtk_open_with_widget_get_show_all (GtkOpenWithWidget *self);
void gtk_open_with_widget_set_default_text (GtkOpenWithWidget *self,
const gchar *text);
const gchar * gtk_open_with_widget_get_default_text (GtkOpenWithWidget *self);
#endif /* __GTK_OPEN_WITH_WIDGET_H__ */

View File

@ -66,7 +66,7 @@ noinst_PROGRAMS = $(TEST_PROGS) \
testoffscreen \
testoffscreenwindow \
testorientable \
testopenwith \
testappchooser \
testprint \
testrecentchooser \
testrecentchoosermenu \
@ -154,7 +154,7 @@ testnotebookdnd_DEPENDENCIES = $(TEST_DEPS)
testnouiprint_DEPENDENCIES = $(TEST_DEPS)
testoffscreen_DEPENDENCIES = $(TEST_DEPS)
testoffscreenwindow_DEPENDENCIES = $(TEST_DEPS)
testopenwith_DEPENDENCIES = $(TEST_DEPS)
testappchooser_DEPENDENCIES = $(TEST_DEPS)
testorientable_DEPENDENCIES = $(TEST_DEPS)
testprint_DEPENDENCIES = $(TEST_DEPS)
testrecentchooser_DEPENDENCIES = $(TEST_DEPS)
@ -227,7 +227,7 @@ testnotebookdnd_LDADD = $(LDADDS)
testnouiprint_LDADD = $(LDADDS)
testoffscreen_LDADD = $(LDADDS)
testoffscreenwindow_LDADD = $(LDADDS)
testopenwith_LDADD = $(LDADDS)
testappchooser_LDADD = $(LDADDS)
testorientable_LDADD = $(LDADDS)
testprint_LDADD = $(LDADDS)
testrecentchooser_LDADD = $(LDADDS)
@ -378,8 +378,8 @@ testoffscreen_SOURCES = \
testoffscreenwindow_SOURCES = \
testoffscreenwindow.c
testopenwith_SOURCES = \
testopenwith.c
testappchooser_SOURCES = \
testappchooser.c
testwindows_SOURCES = \
testwindows.c

View File

@ -1,4 +1,4 @@
/* testopenwith.c
/* testappchooser.c
* Copyright (C) 2010 Red Hat, Inc.
* Authors: Cosimo Cecchi
*
@ -27,7 +27,7 @@ static GtkWidget *toplevel;
static GFile *file;
static GtkWidget *grid, *file_l, *open;
static GtkWidget *radio_file, *radio_content, *dialog;
static GtkWidget *open_with_widget;
static GtkWidget *app_chooser_widget;
static GtkWidget *recommended, *fallback, *other, *all, *radio;
static void
@ -42,7 +42,7 @@ dialog_response (GtkDialog *d,
if (response_id == GTK_RESPONSE_OK)
{
app_info = gtk_open_with_get_app_info (GTK_OPEN_WITH (d));
app_info = gtk_app_chooser_get_app_info (GTK_APP_CHOOSER (d));
name = g_app_info_get_name (app_info);
g_print ("Application selected: %s\n", name);
@ -57,19 +57,19 @@ static void
bind_props (void)
{
g_object_bind_property (recommended, "active",
open_with_widget, "show-recommended",
app_chooser_widget, "show-recommended",
G_BINDING_SYNC_CREATE);
g_object_bind_property (fallback, "active",
open_with_widget, "show-fallback",
app_chooser_widget, "show-fallback",
G_BINDING_SYNC_CREATE);
g_object_bind_property (other, "active",
open_with_widget, "show-other",
app_chooser_widget, "show-other",
G_BINDING_SYNC_CREATE);
g_object_bind_property (all, "active",
open_with_widget, "show-all",
app_chooser_widget, "show-all",
G_BINDING_SYNC_CREATE);
g_object_bind_property (radio, "active",
open_with_widget, "radio-mode",
app_chooser_widget, "radio-mode",
G_BINDING_SYNC_CREATE);
}
@ -86,7 +86,7 @@ prepare_dialog (void)
if (use_file)
{
dialog = gtk_open_with_dialog_new (GTK_WINDOW (toplevel),
dialog = gtk_app_chooser_dialog_new (GTK_WINDOW (toplevel),
0, file);
}
else
@ -100,7 +100,7 @@ prepare_dialog (void)
g_object_unref (info);
dialog = gtk_open_with_dialog_new_for_content_type (GTK_WINDOW (toplevel),
dialog = gtk_app_chooser_dialog_new_for_content_type (GTK_WINDOW (toplevel),
0, content_type);
}
@ -109,7 +109,7 @@ prepare_dialog (void)
g_free (content_type);
open_with_widget = gtk_open_with_dialog_get_widget (GTK_OPEN_WITH_DIALOG (dialog));
app_chooser_widget = gtk_app_chooser_dialog_get_widget (GTK_APP_CHOOSER_DIALOG (dialog));
bind_props ();
}
@ -188,7 +188,7 @@ main (int argc,
gtk_grid_attach_next_to (GTK_GRID (grid), radio_content,
radio_file, GTK_POS_BOTTOM, 1, 1);
open = gtk_button_new_with_label ("Trigger Open With dialog");
open = gtk_button_new_with_label ("Trigger App Chooser dialog");
gtk_grid_attach_next_to (GTK_GRID (grid), open,
radio_content, GTK_POS_BOTTOM, 1, 1);