Revision: 2475
Author: kdekorte
Date: Sat Oct 11 23:10:33 2014 UTC
Log: add caja patch
https://code.google.com/p/gnome-mplayer/source/detail?r=2475
Added:
/trunk/src/caja_property_page.c
Modified:
/trunk/ChangeLog
/trunk/
configure.in
/trunk/src/Makefile.am
=======================================
--- /dev/null
+++ /trunk/src/caja_property_page.c Sat Oct 11 23:10:33 2014 UTC
@@ -0,0 +1,153 @@
+/*
+ * caja_property_page.c
+ * Copyright (C) Kevin DeKorte 2009 <
kdek...@gmail.com>
+ *
+ * caja_property_page.c is free software.
+ *
+ * You may 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.
+ *
+ * caja_property_page.c 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 playlist.c. If not, write to:
+ * The Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+#include "mime_types.h"
+#include <libcaja-extension/caja-extension-types.h>
+#include <libcaja-extension/caja-property-page-provider.h>
+#include <gtk/gtk.h>
+#include <gdk/gdk.h>
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <glib/gi18n.h>
+#include <gmlib.h>
+#include "property_page_common.h"
+
+#define ENABLE_CAJA_PLUGIN "enable-nautilus-plugin"
+#define VERBOSE "verbose"
+
+gint verbose;
+
+static GType pp_type = 0;
+
+
+
+
+
+static GList *gnome_mplayer_properties_get_pages(CajaPropertyPageProvider
* provider, GList * files)
+{
+ GList *pages = NULL;
+ CajaFileInfo *file;
+ GtkWidget *page, *label;
+ CajaPropertyPage *property_page;
+ guint i;
+ gboolean found = FALSE;
+ gchar *uri;
+
+ /* only add properties page if a single file is selected */
+ if (files == NULL || files->next != NULL)
+ return pages;
+
+ file = files->data;
+
+ /* only add the properties page to these mime types */
+ for (i = 0; i < G_N_ELEMENTS(mime_types); i++) {
+ if (caja_file_info_is_mime_type(file, mime_types[i])) {
+ found = TRUE;
+ break;
+ }
+ }
+
+ if (found) {
+ uri = caja_file_info_get_uri(file);
+ label = gtk_label_new(dgettext(GETTEXT_PACKAGE, "Audio/Video"));
+ page = gtk_table_new(20, 2, FALSE);
+ gtk_container_set_border_width(GTK_CONTAINER(page), 6);
+ if (get_properties(page, uri)) {
+ gtk_widget_show_all(page);
+ property_page = caja_property_page_new("video-properties",
label, page);
+ pages = g_list_prepend(pages, property_page);
+ }
+ g_free(uri);
+ }
+ return pages;
+}
+
+static void
property_page_provider_iface_init(CajaPropertyPageProviderIface * iface)
+{
+ iface->get_pages = gnome_mplayer_properties_get_pages;
+}
+
+static void gnome_mplayer_properties_plugin_register_type(GTypeModule *
module)
+{
+ const GTypeInfo info = {
+ sizeof(GObjectClass),
+ (GBaseInitFunc) NULL,
+ (GBaseFinalizeFunc) NULL,
+ (GClassInitFunc) NULL,
+ NULL,
+ NULL,
+ sizeof(GObject),
+ 0,
+ (GInstanceInitFunc) NULL
+ };
+ const GInterfaceInfo property_page_provider_iface_info = {
+ (GInterfaceInitFunc) property_page_provider_iface_init,
+ NULL,
+ NULL
+ };
+
+ pp_type = g_type_module_register_type(module,
G_TYPE_OBJECT, "GnomeMPlayerPropertiesPlugin", &info, 0);
+ g_type_module_add_interface(module, pp_type,
CAJA_TYPE_PROPERTY_PAGE_PROVIDER, &property_page_provider_iface_info);
+}
+
+
+
+
+/* --- extension interface --- */
+void caja_module_initialize(GTypeModule * module)
+{
+ GmPrefStore *gm_store;
+
+#ifdef ENABLE_NLS
+ bindtextdomain(GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR);
+ bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
+ // specify the domain in the translation calls so
+ // we don't mess up the translation of the other tabs
+ // textdomain(GETTEXT_PACKAGE);
+#endif
+
+ verbose = 0;
+
+ gm_store = gm_pref_store_new("gnome-mplayer");
+ if (gm_pref_store_get_boolean_with_default(gm_store,
ENABLE_CAJA_PLUGIN, TRUE)) {
+ verbose = gm_pref_store_get_int(gm_store, VERBOSE);
+ gnome_mplayer_properties_plugin_register_type(module);
+ }
+ gm_pref_store_free(gm_store);
+}
+
+void caja_module_shutdown(void)
+{
+}
+
+void caja_module_list_types(const GType ** types, int *num_types)
+{
+ static GType type_list[1];
+
+ type_list[0] = pp_type;
+ *types = type_list;
+ *num_types = G_N_ELEMENTS(type_list);
+}
=======================================
--- /trunk/ChangeLog Thu Apr 24 03:42:19 2014 UTC
+++ /trunk/ChangeLog Sat Oct 11 23:10:33 2014 UTC
@@ -1,4 +1,5 @@
Development
+ Add caja patch
1.0.9
Fix storing of disable fetch cover art preference
Work on fixing fullscreen mode hanging when control menu goes thru
show/hide sequence
=======================================
--- /trunk/
configure.in Thu Apr 24 03:42:19 2014 UTC
+++ /trunk/
configure.in Sat Oct 11 23:10:33 2014 UTC
@@ -306,6 +306,29 @@
fi
AM_CONDITIONAL(HAVE_NEMO, test x$HAVE_NEMO = "xyes")
+AC_ARG_ENABLE(caja,
+ AC_HELP_STRING([--enable-caja],[compile the caja plugin]),
+ [case "${enableval}" in
+ yes) ENABLE_CAJA=yes ;;
+ no) ENABLE_CAJA=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-nautilus) ;;
+ esac],
+ [ENABLE_CAJA=yes]) dnl Default value
+
+if test x$ENABLE_CAJA = "xyes" ; then
+ PKG_CHECK_MODULES(CAJA, libcaja-extension,
+ [HAVE_CAJA=yes], [HAVE_CAJA=no])
+fi
+
+AC_SUBST(CAJA_CFLAGS)
+AC_SUBST(CAJA_LIBS)
+if test x$HAVE_CAJA = "xyes"; then
+ AC_DEFINE(HAVE_CAJA, 1, [defined if you build the caja plugin])
+ CAJADIR=`pkg-config --variable=extensiondir libcaja-extension`
+ AC_SUBST(CAJADIR)
+fi
+AM_CONDITIONAL(HAVE_CAJA, test x$HAVE_CAJA = "xyes")
+
AC_ARG_ENABLE(gseal,
AC_HELP_STRING([--enable-gseal],[Enable flag for testing]),
[case "${enableval}" in
=======================================
--- /trunk/src/Makefile.am Mon Jul 22 15:08:13 2013 UTC
+++ /trunk/src/Makefile.am Sat Oct 11 23:10:33 2014 UTC
@@ -144,6 +144,33 @@
endif #HAVE_NEMO
+if HAVE_CAJA
+
+cajadir = $(CAJADIR)
+caja_PROGRAMS = libgnome-mplayer-caja-properties-page.so
+
+libgnome_mplayer_caja_properties_page_so_SOURCES = \
+ ../config.h \
+ mime_types.h \
+ caja_property_page.c \
+ property_page_common.c \
+ property_page_common.h
+
+libgnome_mplayer_caja_properties_page_so_CFLAGS = -fPIC \
+ $(CAJA_CFLAGS) \
+ $(GTK_CFLAGS) \
+ $(GIO_CFLAGS) \
+ $(AM_CFLAGS)
+
+libgnome_mplayer_caja_properties_page_so_LDFLAGS = -shared
+
+libgnome_mplayer_caja_properties_page_so_LDADD = \
+ $(CAJA_LIBS) \
+ $(GTK_LIBS) \
+ $(GMLIB_LIBS) \
+ $(GIO_LIBS)
+
+endif #HAVE_CAJA
EXTRA_DIST =