gnome-control-center/capplets/default-applications/gnome-da-capplet.h
Priit Laes fe4665e55f Glue code to tie everything together. Added widgets and defines for
2007-03-20  Priit Laes  <plaes@svn.gnome.org>

	* gnome-da-capplet.c: Glue code to tie everything together.
	* gnome-da-capplet.h: Added widgets and defines for default mediaplayer.
	* gnome-da-xml.c: (gnome_da_xml_load_xml), (gnome_da_xml_free): Added
	mediaplayer data parser.
	* gnome-da-item.c: Changed occurrences of MailItem to SimpleItem, so we
	can also use it for mediaplayers.
	* gnome-da-item.h: Ditto.
	* gnome-default-applications-properties.glade: Make Multimedia tab visible
	and change the UI to include our favorite mediaplayer selector.
	* gnome-default-applications.xml.in: Add some media players to the list.

	Introduces preferred media application support. Bug #362578.

svn path=/trunk/; revision=7403
2007-03-20 18:53:59 +00:00

107 lines
4.2 KiB
C

/*
* Authors: Luca Cavalli <loopback@slackit.org>
*
* Copyright 2005-2006 Luca Cavalli
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of version 2 of the GNU General Public License
* as published by the Free Software Foundation
*
* 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 Street #330, Boston, MA 02111-1307, USA.
*
*/
#ifndef _GNOME_DA_CAPPLET_H_
#define _GNOME_DA_CAPPLET_H_
#include <gtk/gtk.h>
#include <glade/glade.h>
#include <gconf/gconf-client.h>
// Set http, https, about, and unknown keys to the chosen web browser.
#define DEFAULT_APPS_KEY_HTTP_PATH "/desktop/gnome/url-handlers/http"
#define DEFAULT_APPS_KEY_HTTP_NEEDS_TERM DEFAULT_APPS_KEY_HTTP_PATH"/needs_terminal"
#define DEFAULT_APPS_KEY_HTTP_EXEC DEFAULT_APPS_KEY_HTTP_PATH"/command"
#define DEFAULT_APPS_KEY_HTTPS_PATH "/desktop/gnome/url-handlers/https"
#define DEFAULT_APPS_KEY_HTTPS_NEEDS_TERM DEFAULT_APPS_KEY_HTTPS_PATH"/needs_terminal"
#define DEFAULT_APPS_KEY_HTTPS_EXEC DEFAULT_APPS_KEY_HTTPS_PATH"/command"
// While gnome-vfs2 does not use the "unknown" key, several widespread apps like htmlview
// have read it for the past few years. Setting it should not hurt.
#define DEFAULT_APPS_KEY_UNKNOWN_PATH "/desktop/gnome/url-handlers/unknown"
#define DEFAULT_APPS_KEY_UNKNOWN_NEEDS_TERM DEFAULT_APPS_KEY_UNKNOWN_PATH"/needs_terminal"
#define DEFAULT_APPS_KEY_UNKNOWN_EXEC DEFAULT_APPS_KEY_UNKNOWN_PATH"/command"
// about:blank and other about: URI's are commonly used by browsers too
#define DEFAULT_APPS_KEY_ABOUT_PATH "/desktop/gnome/url-handlers/about"
#define DEFAULT_APPS_KEY_ABOUT_NEEDS_TERM DEFAULT_APPS_KEY_ABOUT_PATH"/needs_terminal"
#define DEFAULT_APPS_KEY_ABOUT_EXEC DEFAULT_APPS_KEY_ABOUT_PATH"/command"
#define DEFAULT_APPS_KEY_MAILER_PATH "/desktop/gnome/url-handlers/mailto"
#define DEFAULT_APPS_KEY_MAILER_NEEDS_TERM DEFAULT_APPS_KEY_MAILER_PATH"/needs_terminal"
#define DEFAULT_APPS_KEY_MAILER_EXEC DEFAULT_APPS_KEY_MAILER_PATH"/command"
#define DEFAULT_APPS_KEY_BROWSER_PATH "/desktop/gnome/applications/browser"
#define DEFAULT_APPS_KEY_BROWSER_EXEC DEFAULT_APPS_KEY_BROWSER_PATH"/exec"
#define DEFAULT_APPS_KEY_BROWSER_NEEDS_TERM DEFAULT_APPS_KEY_BROWSER_PATH"/needs_term"
#define DEFAULT_APPS_KEY_BROWSER_NREMOTE DEFAULT_APPS_KEY_BROWSER_PATH"/nremote"
#define DEFAULT_APPS_KEY_TERMINAL_PATH "/desktop/gnome/applications/terminal"
#define DEFAULT_APPS_KEY_TERMINAL_EXEC_ARG DEFAULT_APPS_KEY_TERMINAL_PATH"/exec_arg"
#define DEFAULT_APPS_KEY_TERMINAL_EXEC DEFAULT_APPS_KEY_TERMINAL_PATH"/exec"
#define DEFAULT_APPS_KEY_MEDIA_PATH "/desktop/gnome/applications/media"
#define DEFAULT_APPS_KEY_MEDIA_EXEC DEFAULT_APPS_KEY_MEDIA_PATH"/exec"
#define DEFAULT_APPS_KEY_MEDIA_NEEDS_TERM DEFAULT_APPS_KEY_MEDIA_PATH"/needs_term"
typedef struct _GnomeDACapplet GnomeDACapplet;
struct _GnomeDACapplet {
GladeXML *xml;
GtkIconTheme *icon_theme;
GtkWidget *window;
GtkWidget *web_combo_box;
GtkWidget *mail_combo_box;
GtkWidget *term_combo_box;
GtkWidget *media_combo_box;
GtkWidget *web_browser_command_entry;
GtkWidget *web_browser_command_label;
GtkWidget *web_browser_terminal_checkbutton;
GtkWidget *default_radiobutton;
GtkWidget *new_win_radiobutton;
GtkWidget *new_tab_radiobutton;
GtkWidget *mail_reader_command_entry;
GtkWidget *mail_reader_command_label;
GtkWidget *mail_reader_terminal_checkbutton;
GtkWidget *terminal_command_entry;
GtkWidget *terminal_command_label;
GtkWidget *terminal_exec_flag_entry;
GtkWidget *terminal_exec_flag_label;
GtkWidget *media_player_command_entry;
GtkWidget *media_player_command_label;
GtkWidget *media_player_terminal_checkbutton;
GConfClient *gconf;
GList *web_browsers;
GList *mail_readers;
GList *terminals;
GList *media_players;
};
#endif