diff options
| author | monsta <[email protected]> | 2015-08-25 14:40:58 +0300 | 
|---|---|---|
| committer | infirit <[email protected]> | 2015-09-02 11:34:01 +0200 | 
| commit | b24934e186456b50d7702192ec3a270926831791 (patch) | |
| tree | e7daae0af65482e5f1a5598808e4e55792dd7e6d | |
| parent | f6d7a422f3f5f97e676cd18cef5bb46aca8da6be (diff) | |
| download | pluma-b24934e186456b50d7702192ec3a270926831791.tar.bz2 pluma-b24934e186456b50d7702192ec3a270926831791.tar.xz  | |
drop support for win32/osx and checkupdate plugin
that plugin has never been built in linux anyway due to logic
in configure.ac
45 files changed, 57 insertions, 2997 deletions
diff --git a/Makefile.am b/Makefile.am index 2b924a99..1de33aa5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,11 +1,7 @@  ## Process this file with automake to produce Makefile.in  ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} -SUBDIRS = pluma pixmaps po data plugin-loaders plugins docs tests win32 osx - -if !OS_OSX -SUBDIRS += help -endif +SUBDIRS = pluma pixmaps po data plugin-loaders plugins docs tests help  distuninstallcheck_listfiles = find . -type f -print diff --git a/configure.ac b/configure.ac index 1ebcf7dd..4e27be17 100644 --- a/configure.ac +++ b/configure.ac @@ -32,8 +32,6 @@ AC_PROG_INSTALL  AC_PROG_MAKE_SET  AC_SYS_LARGEFILE  PKG_PROG_PKG_CONFIG -# needed on osx -AC_PROG_OBJC  # Initialize libtool  LT_PREREQ([2.2.6]) @@ -51,84 +49,10 @@ AC_CHECK_LIB(m, floor)  dnl make sure we keep ACLOCAL_FLAGS around for maintainer builds to work  AC_SUBST(ACLOCAL_AMFLAGS, "$ACLOCAL_FLAGS -I m4") -dnl active plugins for GSettings schema -ACTIVE_PLUGINS="'docinfo', 'modelines', 'filebrowser', 'spell', 'time'" -AC_SUBST(ACTIVE_PLUGINS) -  dnl toolbar style for GSettings schemas  TOOLBAR_STYLE="PLUMA_TOOLBAR_SYSTEM"  AC_SUBST(TOOLBAR_STYLE) -dnl check for win32 platform -AC_MSG_CHECKING([for Win32 platform]) -case "$host" in -  *-*-mingw*|*-*-cygwin*) -    platform_win32=yes -    TOOLBAR_STYLE="PLUMA_TOOLBAR_ICONS" -    ;; -  *) -    platform_win32=no -    ;; -esac -AC_MSG_RESULT([$platform_win32]) -AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes") - -AC_MSG_CHECKING([for native Win32]) -case "$host" in -  *-*-mingw*) -    os_win32=yes -    AC_CHECK_TOOL(WINDRES, windres) -    ACTIVE_PLUGINS="${ACTIVE_PLUGINS}, 'checkupdate'" -    ;; -  *) -    os_win32=no -    ;; -esac -AC_MSG_RESULT([$os_win32]) -AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes") - -dnl check for osx platform -AC_MSG_CHECKING([for Mac OS X platform]) -case "$host" in -  *-*-darwin*) -    platform_osx=yes -    ;; -  *) -    platform_osx=no -    ;; -esac -AC_MSG_RESULT([$platform_osx]) -AM_CONDITIONAL(PLATFORM_OSX, test "$platform_osx" = "yes") - -dnl check for native osx -gdk_windowing=`$PKG_CONFIG --variable=target gdk-2.0` - -AC_MSG_CHECKING([for native Mac OS X]) -if test "$gdk_windowing" = "quartz"; then -	os_osx=yes -	ACTIVE_PLUGINS="${ACTIVE_PLUGINS}, 'checkupdate'" -else -	os_osx=no -fi -AC_MSG_RESULT([$os_osx]) -AM_CONDITIONAL(OS_OSX, test "$os_osx" = "yes") - -if test "$platform_osx" = "yes"; then -	AC_DEFINE([PLATFORM_OSX],[1],[Defined if platform is Mac OSX]) -fi - -AC_SUBST(DEFAULT_FONT) -AC_SUBST(DEFAULT_PRINT_FONT) - -if test "$os_osx" = "yes"; then -	AC_DEFINE([OS_OSX],[1],[Defined if os is Mac OSX]) - -	PKG_CHECK_MODULES(IGE_MAC, ige-mac-integration) - -	AC_SUBST(IGE_MAC_CFLAGS) -	AC_SUBST(IGE_MAC_LIBS) -fi -  dnl ===============================================================  dnl Expanded dirs  dnl =============================================================== @@ -164,16 +88,10 @@ dnl ================================================================  dnl Use gvfs metadata or the old xml file store.  dnl ================================================================ -if test "x$os_osx" != "xno" || test "x$os_win32" != "xno"; then -	gvfs_metadata_default="no" -else -	gvfs_metadata_default="yes" -fi -  AC_ARG_ENABLE([gvfs-metadata],  	AS_HELP_STRING([--enable-gvfs-metadata], [Enable using gvfs to store metadata]),  	[enable_gvfs_metadata=$enableval], -	[enable_gvfs_metadata=$gvfs_metadata_default]) +	[enable_gvfs_metadata=yes])  AM_CONDITIONAL(ENABLE_GVFS_METADATA, test "x$enable_gvfs_metadata" != "xno") @@ -182,36 +100,6 @@ if test "x$enable_gvfs_metadata" != "xno"; then  fi  dnl ================================================================ -dnl check update plugin -dnl ================================================================ - -AC_ARG_ENABLE([updater], -	AS_HELP_STRING([--disable-updater],[Disable check update plugin (default: enabled)]), -	[enable_updater=$enableval], -	[enable_updater=yes]) - -if test "x$enable_updater" != "xno"; then -	PKG_CHECK_MODULES(LIBSOUP, \ -		libsoup-2.4, -		have_libsoup=yes, -		have_libsoup=no) - -	if test "x$have_libsoup" = "xyes"; then -		if test "x$os_win32" = "xyes"; then -			enable_updater=yes -		elif test "x$os_osx" = "xyes"; then -			enable_updater=yes -		else -			enable_updater=no -		fi -	else -		enable_updater=no -	fi -fi - -AM_CONDITIONAL(ENABLE_UPDATER, test x"$enable_updater" = "xyes") - -dnl ================================================================  dnl spell plugins checks: enchant and iso-codes  dnl ================================================================ @@ -300,15 +188,7 @@ PKG_CHECK_MODULES(PLUMA, [  	mate-desktop-2.0 >= 1.9.0  ]) -if test "$os_osx" = "no" && -   test "$os_win32" = "no"; then -	PKG_CHECK_MODULES(X11, [ -		x11 -	]) -else -	X11_CFLAGS= -	X11_LIBS= -fi +PKG_CHECK_MODULES(X11, [x11])  PLUMA_CFLAGS="$PLUMA_CFLAGS $X11_CFLAGS"  PLUMA_LIBS="$PLUMA_LIBS $X11_LIBS" @@ -316,15 +196,7 @@ PLUMA_LIBS="$PLUMA_LIBS $X11_LIBS"  AC_SUBST(PLUMA_CFLAGS)  AC_SUBST(PLUMA_LIBS) -if test "$os_osx" = "no" && -   test "$os_win32" = "no"; then -	PKG_CHECK_MODULES(EGG_SMCLIENT, [ -		sm >= 1.0.0 -	]) -else -	EGG_SMCLIENT_CFLAGS= -	EGG_SMCLIENT_LIBS= -fi +PKG_CHECK_MODULES(EGG_SMCLIENT, [sm >= 1.0.0])  AC_SUBST(EGG_SMCLIENT_CFLAGS)  AC_SUBST(EGG_SMCLIENT_LIBS) @@ -361,20 +233,14 @@ if test "x$have_python" != "xno"; then  	PY_EXEC_PREFIX=`$PYTHON -c 'import sys ; print sys.exec_prefix'`  	PYTHON_LIBS="-lpython$PYTHON_VERSION" -	if test "$os_win32" = yes; then -		PYTHON_LIBS=`echo $PYTHON_LIBS | sed 's/\.//g'` -		PYTHON_LIB_LOC="-I$PY_EXEC_PREFIX/libs" -		PYTHON_CFLAGS="-I$PY_EXEC_PREFIX/include" -		PYTHON_EXTRA_LIBS= -	else -		PY_PREFIX=`$PYTHON -c 'import sys ; print sys.prefix'` -		PYTHON_LIB_LOC="-L$libdir/python$PYTHON_VERSION/config" -		PYTHON_CFLAGS="-I$PY_PREFIX/include/python$PYTHON_VERSION" -		PYTHON_MAKEFILE="$libdir/python$PYTHON_VERSION/config/Makefile" -		PYTHON_BASEMODLIBS=`sed -n -e 's/^BASEMODLIBS=\(.*\)/\1/p' $PYTHON_MAKEFILE` -		PYTHON_OTHER_LIBS=`sed -n -e 's/^LIBS=\(.*\)/\1/p' $PYTHON_MAKEFILE` -		PYTHON_EXTRA_LIBS="$PYTHON_BASEMODLIBS $PYTHON_OTHER_LIBS" -	fi +	PY_PREFIX=`$PYTHON -c 'import sys ; print sys.prefix'` +	PYTHON_LIB_LOC="-L$libdir/python$PYTHON_VERSION/config" +	PYTHON_CFLAGS="-I$PY_PREFIX/include/python$PYTHON_VERSION" +	PYTHON_MAKEFILE="$libdir/python$PYTHON_VERSION/config/Makefile" +	PYTHON_BASEMODLIBS=`sed -n -e 's/^BASEMODLIBS=\(.*\)/\1/p' $PYTHON_MAKEFILE` +	PYTHON_OTHER_LIBS=`sed -n -e 's/^LIBS=\(.*\)/\1/p' $PYTHON_MAKEFILE` +	PYTHON_EXTRA_LIBS="$PYTHON_BASEMODLIBS $PYTHON_OTHER_LIBS" +  	AC_SUBST([PYTHON_LIBS])  	AC_SUBST([PYTHON_LIB_LOC])  	AC_SUBST([PYTHON_CFLAGS]) @@ -481,22 +347,9 @@ if test "x$enable_deprecations" = "xyes"; then     AC_SUBST(DISABLE_DEPRECATED_CFLAGS)  fi -# on win32 plugins must be able to resolve all symbols at link time -# so we create a lib -if test "$platform_win32" = yes; then -	PLUMA_IMPLIB="-lpluma" -	PLUGIN_LIBTOOL_FLAGS="-module -avoid-version -no-undefined -Wl,\$(top_builddir)/pluma/libpluma.a" -	LOADER_LIBTOOL_FLAGS="-module -avoid-version -no-undefined -Wl,\$(top_builddir)/pluma/libpluma.a" -	if test "$os_win32" = yes; then -		PLUGIN_LIBTOOL_FLAGS="${PLUGIN_LIBTOOL_FLAGS} -mwindows" -		LOADER_LIBTOOL_FLAGS="${LOADER_LIBTOOL_FLAGS} -mwindows" -	fi -else -	PLUMA_IMPLIB="" -	PLUGIN_LIBTOOL_FLAGS="-module -avoid-version" -	LOADER_LIBTOOL_FLAGS="-module -avoid-version" -fi -AC_SUBST(PLUMA_IMPLIB) +PLUGIN_LIBTOOL_FLAGS="-module -avoid-version" +LOADER_LIBTOOL_FLAGS="-module -avoid-version" +  AC_SUBST(PLUGIN_LIBTOOL_FLAGS)  AC_SUBST(LOADER_LIBTOOL_FLAGS) @@ -519,7 +372,6 @@ docs/Makefile  docs/reference/Makefile  pluma/dialogs/Makefile  pluma/smclient/Makefile -pluma/osx/Makefile  pluma/Makefile  help/Makefile  pixmaps/Makefile @@ -529,7 +381,6 @@ plugin-loaders/python/Makefile  plugin-loaders/python/bindings/Makefile  plugins/Makefile  plugins/changecase/Makefile -plugins/checkupdate/Makefile  plugins/docinfo/Makefile  plugins/externaltools/data/Makefile  plugins/externaltools/Makefile @@ -551,10 +402,7 @@ plugins/taglist/Makefile  plugins/time/Makefile  po/Makefile.in  tests/Makefile -win32/pluma.iss -win32/Makefile -osx/Info.plist -osx/Makefile]) +])  AC_OUTPUT diff --git a/data/pluma.pc.in b/data/pluma.pc.in index 99277117..9028e4af 100644 --- a/data/pluma.pc.in +++ b/data/pluma.pc.in @@ -9,4 +9,4 @@ Description: pluma  Requires: gtksourceview-@GTK_API_VERSION@  Version: @VERSION@  Cflags: -I${includedir}/pluma -Libs: -L${libdir} @PLUMA_IMPLIB@ +Libs: -L${libdir} diff --git a/osx/Info.plist.in b/osx/Info.plist.in deleted file mode 100644 index a4449001..00000000 --- a/osx/Info.plist.in +++ /dev/null @@ -1,260 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> -	<key>CFBundleDevelopmentRegion</key> -	<string>English</string> -	<key>CFBundleExecutable</key> -	<string>pluma</string> -	<key>CFBundleGetInfoString</key> -	<string>@VERSION@ Copyright 2009, pluma</string> -	<key>CFBundleIconFile</key> -	<string>pluma.icns</string> -	<key>CFBundleIdentifier</key> -	<string>org.mate.pluma</string> -	<key>CFBundleInfoDictionaryVersion</key> -	<string>6.0</string> -	<key>CFBundlePackageType</key> -	<string>APPL</string> -	<key>CFBundleShortVersionString</key> -	<string>@VERSION@</string> -	<key>CFBundleSignature</key> -	<string>????</string> -	<key>CFBundleVersion</key> -	<string>@VERSION@</string> -	<key>NSHumanReadableCopyright</key> -	<string>Copyright 2009 pluma, GNU General Public License.</string> -	<key>LSMinimumSystemVersion</key> -	<string>10.4</string> -	<key>CFBundleDocumentTypes</key> -	<array> -		<dict> -			<key>CFBundleTypeExtensions</key> -			<array> -				<string>*</string> -				<string>F</string> -				<string>F90</string> -				<string>Filemaker</string> -				<string>M</string> -				<string>act3</string> -				<string>ada</string> -				<string>applescript</string> -				<string>as</string> -				<string>asm</string> -				<string>asp</string> -				<string>awk</string> -				<string>bak</string> -				<string>bash</string> -				<string>b</string> -				<string>bf</string> -				<string>brainfuck</string> -				<string>c</string> -				<string>cgi</string> -				<string>c++</string> -				<string>cfm</string> -				<string>cob</string> -				<string>conf</string> -				<string>cp</string> -				<string>cpp</string> -				<string>cs</string> -				<string>csh</string> -				<string>css</string> -				<string>CSS</string> -				<string>csv</string> -				<string>custom</string> -				<string>cxx</string> -				<string>def</string> -				<string>default</string> -				<string>do</string> -				<string>dtd</string> -				<string>dxf</string> -				<string>enc</string> -				<string>eps</string> -				<string>err</string> -				<string>f</string> -				<string>f90</string> -				<string>fcgi</string> -				<string>for</string> -				<string>fs</string> -				<string>fscript</string> -				<string>gcc</string> -				<string>h</string> -				<string>hpgl</string> -				<string>htm</string> -				<string>HTM</string> -				<string>html</string> -				<string>ics</string> -				<string>idl</string> -				<string>inc</string> -				<string>ini</string> -				<string>java</string> -				<string>javascript</string> -				<string>js</string> -				<string>las</string> -				<string>lasso</string> -				<string>latex</string> -				<string>lgt</string> -				<string>lisp</string> -				<string>log</string> -				<string>ltx</string> -				<string>lua</string> -				<string>m</string> -				<string>m1s</string> -				<string>mel</string> -				<string>m4</string> -				<string>mk</string> -				<string>mm</string> -				<string>msl</string> -				<string>mtl</string> -				<string>mws</string> -				<string>mx</string> -				<string>mxo</string> -				<string>mysql</string> -				<string>njs</string> -				<string>p</string> -				<string>ps</string> -				<string>pas</string> -				<string>pch</string> -				<string>php</string> -				<string>php3</string> -				<string>php4</string> -				<string>phtml</string> -				<string>pl</string> -				<string>plist</string> -				<string>pm</string> -				<string>pod</string> -				<string>postgresql</string> -				<string>pike</string> -				<string>pp</string> -				<string>pro</string> -				<string>py</string> -				<string>python</string> -				<string>pyw</string> -				<string>r</string> -				<string>rb</string> -				<string>rc</string> -				<string>reb</string> -				<string>rebol</string> -				<string>rsp</string> -				<string>rtf</string> -				<string>ruby</string> -				<string>rxp</string> -				<string>s</string> -				<string>sgml</string> -				<string>sh</string> -				<string>shtm</string> -				<string>shtml</string> -				<string>sieve</string> -				<string>sl</string> -				<string>strings</string> -				<string>sty</string> -				<string>sps</string> -				<string>spss</string> -				<string>sql</string> -				<string>SQL</string> -				<string>st</string> -				<string>svg</string> -				<string>tab</string> -				<string>tcl</string> -				<string>tcsh</string> -				<string>tex</string> -				<string>text</string> -				<string>txt</string> -				<string>types</string> -				<string>uue</string> -				<string>v</string> -				<string>vbs</string> -				<string>vcard</string> -				<string>vcs</string> -				<string>verilog</string> -				<string>vhd</string> -				<string>vhdl</string> -				<string>vrm</string> -				<string>vrml</string> -				<string>wmk</string> -				<string>x</string> -				<string>xhtml</string> -				<string>xml</string> -				<string>xsl</string> -				<string>xslt</string> -				<string>yaml</string> -			</array> -			<key>CFBundleTypeIconFile</key> -			<string>plumadoc</string> -			<key>CFBundleTypeMIMETypes</key> -			<array> -				<string>application/base64</string> -				<string>application/dxf</string> -				<string>application/php</string> -				<string>application/plain</string> -				<string>application/postscript</string> -				<string>application/rtf</string> -				<string>application/vnd.hp-hpgl</string> -				<string>application/x-bsh</string> -				<string>application/x-csh</string> -				<string>application/x-javascript</string> -				<string>application/x-latex</string> -				<string>application/x-meme</string> -				<string>application/x-pointplus</string> -				<string>application/x-rtf</string> -				<string>application/x-seelogo</string> -				<string>application/x-sh</string> -				<string>application/x-shar</string> -				<string>application/x-tcl</string> -				<string>application/x-tex</string> -				<string>application/x-vrml</string> -				<string>application/xml</string> -				<string>image/svg+xml</string> -				<string>image/svg-xml</string> -				<string>image/vnd.dwg</string> -				<string>image/x-dwg</string> -				<string>image/x-xpixmap</string> -				<string>model/vrml</string> -				<string>text/asp</string> -				<string>text/calendar</string> -				<string>text/css</string> -				<string>text/directory</string> -				<string>text/html</string> -				<string>text/javascript</string> -				<string>text/pascal</string> -				<string>text/php</string> -				<string>text/plain</string> -				<string>text/richtext</string> -				<string>text/sgml</string> -				<string>text/vcard</string> -				<string>text/x-asm</string> -				<string>text/x-c</string> -				<string>text/x-fortran</string> -				<string>text/x-h</string> -				<string>text/x-java-source</string> -				<string>text/x-m</string> -				<string>text/x-pascal</string> -				<string>text/x-perl-script</string> -				<string>text/x-php-script</string> -				<string>text/x-script.csh</string> -				<string>text/x-script.perl-module</string> -				<string>text/x-script.perl</string> -				<string>text/x-script.phyton</string> -				<string>text/x-script.sh</string> -				<string>text/x-script.tcl</string> -				<string>text/x-script.tcsh</string> -				<string>text/x-server-parsed-html</string> -				<string>text/x-sgml</string> -				<string>text/x-uuencode</string> -				<string>text/x-vcalendar</string> -				<string>text/x-vcard</string> -				<string>text/xml</string> -				<string>x-world/x-vrml</string> -			</array> -			<key>CFBundleTypeName</key> -			<string>Pluma Document</string> -			<key>CFBundleTypeOSTypes</key> -			<array> -				<string>****</string> -			</array> -			<key>CFBundleTypeRole</key> -			<string>Editor</string> -		</dict> -	</array> -</dict> -</plist> diff --git a/osx/Makefile.am b/osx/Makefile.am deleted file mode 100644 index a22da524..00000000 --- a/osx/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -EXTRA_DIST = Info.plist.in - --include $(top_srcdir)/git.mk diff --git a/plugins/Makefile.am b/plugins/Makefile.am index ba80e090..c31e071d 100755 --- a/plugins/Makefile.am +++ b/plugins/Makefile.am @@ -1,6 +1,5 @@  DIST_SUBDIRS =		\  	changecase 	\ -	checkupdate	\  	docinfo 	\  	externaltools	\  	filebrowser 	\ @@ -16,6 +15,7 @@ DIST_SUBDIRS =		\  SUBDIRS = 		\  	changecase	\  	docinfo		\ +	externaltools \  	filebrowser	\  	modelines	\  	sort		\ @@ -24,19 +24,10 @@ SUBDIRS = 		\  if ENABLE_PYTHON  SUBDIRS      += pythonconsole snippets quickopen - -if !OS_WIN32 -SUBDIRS      += externaltools -endif -  endif  if ENABLE_ENCHANT  SUBDIRS      += spell  endif -if ENABLE_UPDATER -SUBDIRS      += checkupdate -endif -  -include $(top_srcdir)/git.mk diff --git a/plugins/checkupdate/Makefile.am b/plugins/checkupdate/Makefile.am deleted file mode 100644 index 38fd5bbc..00000000 --- a/plugins/checkupdate/Makefile.am +++ /dev/null @@ -1,40 +0,0 @@ -# pluma win32 updater - -plugindir = $(PLUMA_PLUGINS_LIBS_DIR) - -AM_CPPFLAGS = \ -	-I$(top_srcdir) 						\ -	$(PLUMA_CFLAGS) 						\ -	$(LIBSOUP_CFLAGS)						\ -	$(WARN_CFLAGS)							\ -	$(DISABLE_DEPRECATED_CFLAGS) - -plugin_LTLIBRARIES = libcheckupdate.la - -libcheckupdate_la_SOURCES = \ -	pluma-check-update-plugin.h	\ -	pluma-check-update-plugin.c - -libcheckupdate_la_LDFLAGS = $(PLUGIN_LIBTOOL_FLAGS) -libcheckupdate_la_LIBADD = $(PLUMA_LIBS) $(LIBSOUP_LIBS) - -plugin_in_files = checkupdate.pluma-plugin.desktop.in - -%.pluma-plugin: %.pluma-plugin.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache - -plugin_DATA = $(plugin_in_files:.pluma-plugin.desktop.in=.pluma-plugin) - -@INTLTOOL_XML_NOMERGE_RULE@ -gsettings_SCHEMAS = org.mate.pluma.plugins.checkupdate.gschema.xml -@GSETTINGS_RULES@ - -%.gschema.xml.in: %.gschema.xml.in.in Makefile -	$(AM_V_GEN) $(SED) -e 's^\@GETTEXT_PACKAGE\@^$(GETTEXT_PACKAGE)^g' < $< > $@ - -EXTRA_DIST = $(plugin_in_files) $(gsettings_SCHEMAS).in.in - -CLEANFILES = $(plugin_DATA) $(gsettings_SCHEMAS).in $(gsettings_SCHEMAS) - -DISTCLEANFILES = $(plugin_DATA) $(gsettings_SCHEMAS).in $(gsettings_SCHEMAS) - --include $(top_srcdir)/git.mk diff --git a/plugins/checkupdate/checkupdate.pluma-plugin.desktop.in b/plugins/checkupdate/checkupdate.pluma-plugin.desktop.in deleted file mode 100644 index 3efec589..00000000 --- a/plugins/checkupdate/checkupdate.pluma-plugin.desktop.in +++ /dev/null @@ -1,9 +0,0 @@ -[Pluma Plugin] -Module=checkupdate -IAge=2 -_Name=Check update -_Description=Check for latest version of pluma -Icon=pluma-plugin -Authors=Ignacio Casal Quinteiro <[email protected]> -Copyright=Copyright © 2009 Ignacio Casal Quinteiro -Website=http://www.mate-desktop.org diff --git a/plugins/checkupdate/org.mate.pluma.plugins.checkupdate.gschema.xml.in.in b/plugins/checkupdate/org.mate.pluma.plugins.checkupdate.gschema.xml.in.in deleted file mode 100644 index d8fab7e1..00000000 --- a/plugins/checkupdate/org.mate.pluma.plugins.checkupdate.gschema.xml.in.in +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0"?> -<schemalist gettext-domain="@GETTEXT_PACKAGE@"> -  <schema id="org.mate.pluma.plugins.checkupdate" path="/org/mate/pluma/plugins/checkupdate/"> -    <key name="ignore-version" type="s"> -      <default>''</default> -      <_summary>Version to ignore until the next version is released</_summary> -    </key> -  </schema> -</schemalist> diff --git a/plugins/checkupdate/pluma-check-update-plugin.c b/plugins/checkupdate/pluma-check-update-plugin.c deleted file mode 100644 index 23253f58..00000000 --- a/plugins/checkupdate/pluma-check-update-plugin.c +++ /dev/null @@ -1,663 +0,0 @@ -/* - * Copyright (C) 2009 - Ignacio Casal Quinteiro <[email protected]> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#ifdef HAVE_CONFIG_H -#include <config.h> -#endif - -#include "pluma-check-update-plugin.h" - -#include <glib/gi18n-lib.h> -#include <pluma/pluma-debug.h> -#include <pluma/pluma-utils.h> -#include <libsoup/soup.h> -#include <gtk/gtk.h> -#include <stdlib.h> - -#include <gio/gio.h> - -#define SETTINGS_SCHEMA           "org.mate.pluma.plugins.checkupdate" -#define SETTINGS_IGNORE_VERSION   "ignore-version" - -#define WINDOW_DATA_KEY "PlumaCheckUpdatePluginWindowData" - -#define VERSION_PLACE "<a href=\"[0-9]\\.[0-9]+/\">" - -#ifdef G_OS_WIN32 -#define PLUMA_URL "http://pub.mate-desktop.org/sources/pluma/" -#define FILE_REGEX "pluma\\-setup\\-[0-9]+\\.[0-9]+\\.[0-9]+(\\-[0-9]+)?\\.exe" -#else -#define PLUMA_URL "http://pub.mate-desktop.org/sources/pluma/" -#define FILE_REGEX "pluma\\-[0-9]+\\.[0-9]+\\.[0-9]+(\\-[0-9]+)?\\.dmg" -#endif - -#ifdef OS_OSX -#include "pluma/osx/pluma-osx.h" -#endif - -#define PLUMA_CHECK_UPDATE_PLUGIN_GET_PRIVATE(object) \ -				(G_TYPE_INSTANCE_GET_PRIVATE ((object),	\ -				PLUMA_TYPE_CHECK_UPDATE_PLUGIN,		\ -				PlumaCheckUpdatePluginPrivate)) - -PLUMA_PLUGIN_REGISTER_TYPE (PlumaCheckUpdatePlugin, pluma_check_update_plugin) - -struct _PlumaCheckUpdatePluginPrivate -{ -	SoupSession *session; - -	GSettings *settings; -}; - -typedef struct -{ -	PlumaCheckUpdatePlugin *plugin; - -	gchar *url; -	gchar *version; -} WindowData; - -static void -free_window_data (gpointer data) -{ -	WindowData *window_data; - -	if (data == NULL) -		return; - -	window_data = (WindowData *)data; - -	g_free (window_data->url); -	g_free (window_data->version); -	g_slice_free (WindowData, data); -} - -static void -pluma_check_update_plugin_init (PlumaCheckUpdatePlugin *plugin) -{ -	plugin->priv = PLUMA_CHECK_UPDATE_PLUGIN_GET_PRIVATE (plugin); - -	pluma_debug_message (DEBUG_PLUGINS, -			     "PlumaCheckUpdatePlugin initializing"); - -	plugin->priv->session = soup_session_async_new (); - -	plugin->priv->settings = g_settings_new (SETTINGS_SCHEMA); -} - -static void -pluma_check_update_plugin_dispose (GObject *object) -{ -	PlumaCheckUpdatePlugin *plugin = PLUMA_CHECK_UPDATE_PLUGIN (object); - -	if (plugin->priv->session != NULL) -	{ -		g_object_unref (plugin->priv->session); -		plugin->priv->session = NULL; -	} - -	if (plugin->priv->settings != NULL) -	{ -		g_object_unref (G_OBJECT (plugin->priv->settings)); - -		plugin->priv->settings = NULL; -	} - -	pluma_debug_message (DEBUG_PLUGINS, -			     "PlumaCheckUpdatePlugin disposing"); - -	G_OBJECT_CLASS (pluma_check_update_plugin_parent_class)->dispose (object); -} - -static void -pluma_check_update_plugin_finalize (GObject *object) -{ -	pluma_debug_message (DEBUG_PLUGINS, -			     "PlumaCheckUpdatePlugin finalizing"); - -	G_OBJECT_CLASS (pluma_check_update_plugin_parent_class)->finalize (object); -} - -static void -set_contents (GtkWidget *infobar, -	      GtkWidget *contents) -{ -	GtkWidget *content_area; - -	content_area = gtk_info_bar_get_content_area (GTK_INFO_BAR (infobar)); -	gtk_container_add (GTK_CONTAINER (content_area), contents); -} - -static void -set_message_area_text_and_icon (GtkWidget        *message_area, -				const gchar      *icon_stock_id, -				const gchar      *primary_text, -				const gchar      *secondary_text) -{ -	GtkWidget *hbox_content; -	GtkWidget *image; -	GtkWidget *vbox; -	gchar *primary_markup; -	gchar *secondary_markup; -	GtkWidget *primary_label; -	GtkWidget *secondary_label; - -	hbox_content = gtk_hbox_new (FALSE, 8); -	gtk_widget_show (hbox_content); - -	image = gtk_image_new_from_stock (icon_stock_id, GTK_ICON_SIZE_DIALOG); -	gtk_widget_show (image); -	gtk_box_pack_start (GTK_BOX (hbox_content), image, FALSE, FALSE, 0); -	gtk_misc_set_alignment (GTK_MISC (image), 0.5, 0); - -	vbox = gtk_vbox_new (FALSE, 6); -	gtk_widget_show (vbox); -	gtk_box_pack_start (GTK_BOX (hbox_content), vbox, TRUE, TRUE, 0); - -	primary_markup = g_strdup_printf ("<b>%s</b>", primary_text); -	primary_label = gtk_label_new (primary_markup); -	g_free (primary_markup); -	gtk_widget_show (primary_label); -	gtk_box_pack_start (GTK_BOX (vbox), primary_label, TRUE, TRUE, 0); -	gtk_label_set_use_markup (GTK_LABEL (primary_label), TRUE); -	gtk_label_set_line_wrap (GTK_LABEL (primary_label), TRUE); -	gtk_misc_set_alignment (GTK_MISC (primary_label), 0, 0.5); -	gtk_widget_set_can_focus (primary_label, TRUE); -	gtk_label_set_selectable (GTK_LABEL (primary_label), TRUE); - -	if (secondary_text != NULL) -	{ -		secondary_markup = g_strdup_printf ("<small>%s</small>", -						    secondary_text); -		secondary_label = gtk_label_new (secondary_markup); -		g_free (secondary_markup); -		gtk_widget_show (secondary_label); -		gtk_box_pack_start (GTK_BOX (vbox), secondary_label, TRUE, TRUE, 0); -		gtk_widget_set_can_focus (secondary_label, TRUE); -		gtk_label_set_use_markup (GTK_LABEL (secondary_label), TRUE); -		gtk_label_set_line_wrap (GTK_LABEL (secondary_label), TRUE); -		gtk_label_set_selectable (GTK_LABEL (secondary_label), TRUE); -		gtk_misc_set_alignment (GTK_MISC (secondary_label), 0, 0.5); -	} - -	set_contents (message_area, hbox_content); -} - -static void -on_response_cb (GtkWidget   *infobar, -		gint         response_id, -		PlumaWindow *window) -{ -	if (response_id == GTK_RESPONSE_YES) -	{ -		GError *error = NULL; -		WindowData *data; - -		data = g_object_get_data (G_OBJECT (window), -					  WINDOW_DATA_KEY); - -#ifdef OS_OSX -		pluma_osx_show_url (data->url); -#else -		gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (window)), -			      data->url, -			      GDK_CURRENT_TIME, -			      &error); -#endif -		if (error != NULL) -		{ -			GtkWidget *dialog; - -			dialog = gtk_message_dialog_new (GTK_WINDOW (window), -							 GTK_DIALOG_DESTROY_WITH_PARENT, -							 GTK_MESSAGE_ERROR, -							 GTK_BUTTONS_CLOSE, -							 _("There was an error displaying the URI.")); - -			gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), -								  "%s", error->message); - -			g_signal_connect (G_OBJECT (dialog), -					  "response", -					  G_CALLBACK (gtk_widget_destroy), -					  NULL); - -			gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE); - -			gtk_widget_show (dialog); - -			g_error_free (error); -		} -	} -	else if (response_id == GTK_RESPONSE_NO) -	{ -		WindowData *data; - -		data = g_object_get_data (G_OBJECT (window), WINDOW_DATA_KEY); - -		g_settings_set_string (data->plugin->priv->settings, -					 SETTINGS_IGNORE_VERSION, -					 data->version); -	} - -	g_object_set_data (G_OBJECT (window), -			   WINDOW_DATA_KEY, -			   NULL); - -	gtk_widget_destroy (infobar); -} - -static GtkWidget * -create_infobar (PlumaWindow *window, -                const gchar *version) -{ -	GtkWidget *infobar; -	gchar *message; - -	GtkWidget *button; - -	infobar = gtk_info_bar_new (); - -	button = pluma_gtk_button_new_with_stock_icon (_("_Download"), -						       GTK_STOCK_SAVE); -	gtk_widget_show (button); - -	gtk_info_bar_add_action_widget (GTK_INFO_BAR (infobar), -					button, -					GTK_RESPONSE_YES); - -	button = pluma_gtk_button_new_with_stock_icon (_("_Ignore Version"), -						       GTK_STOCK_DISCARD); -	gtk_widget_show (button); - -	gtk_info_bar_add_action_widget (GTK_INFO_BAR (infobar), -					button, -					GTK_RESPONSE_NO); - -	gtk_info_bar_add_button (GTK_INFO_BAR (infobar), -				 GTK_STOCK_CANCEL, -				 GTK_RESPONSE_CANCEL); - -	gtk_info_bar_set_message_type (GTK_INFO_BAR (infobar), -				       GTK_MESSAGE_INFO); - -	message = g_strdup_printf ("%s (%s)", _("There is a new version of pluma"), version); -	set_message_area_text_and_icon (infobar, -					"gtk-dialog-info", -					message, -					_("You can download the new version of pluma" -					  " by clicking on the download button or" -					  " ignore that version and wait for a new one")); - -	g_free (message); - -	g_signal_connect (infobar, "response", -			  G_CALLBACK (on_response_cb), -			  window); - -	return infobar; -} - -static void -pack_infobar (GtkWidget *window, -	      GtkWidget *infobar) -{ -	GtkWidget *vbox; - -	vbox = gtk_bin_get_child (GTK_BIN (window)); - -	gtk_box_pack_start (GTK_BOX (vbox), infobar, FALSE, FALSE, 0); -	gtk_box_reorder_child (GTK_BOX (vbox), infobar, 2); -} - -static gchar * -get_file (const gchar *text, -	  const gchar *regex_place) -{ -	GRegex *regex; -	GMatchInfo *match_info; -	gchar *word = NULL; - -	regex = g_regex_new (regex_place, 0, 0, NULL); -	g_regex_match (regex, text, 0, &match_info); -	while (g_match_info_matches (match_info)) -	{ -		g_free (word); - -		word = g_match_info_fetch (match_info, 0); - -		g_match_info_next (match_info, NULL); -	} -	g_match_info_free (match_info); -	g_regex_unref (regex); - -	return word; -} - -static void -get_numbers (const gchar *version, -	     gint *major, -	     gint *minor, -	     gint *micro) -{ -	gchar **split; -	gint num = 2; - -	if (micro != NULL) -		num = 3; - -	split = g_strsplit (version, ".", num); -	*major = atoi (split[0]); -	*minor = atoi (split[1]); -	if (micro != NULL) -		*micro = atoi (split[2]); - -	g_strfreev (split); -} - -static gboolean -newer_version (const gchar *v1, -	       const gchar *v2, -	       gboolean with_micro) -{ -	gboolean newer = FALSE; -	gint major1, minor1, micro1; -	gint major2, minor2, micro2; - -	if (v1 == NULL || v2 == NULL) -		return FALSE; - -	if (with_micro) -	{ -		get_numbers (v1, &major1, &minor1, µ1); -		get_numbers (v2, &major2, &minor2, µ2); -	} -	else -	{ -		get_numbers (v1, &major1, &minor1, NULL); -		get_numbers (v2, &major2, &minor2, NULL); -	} - -	if (major1 > major2) -	{ -		newer = TRUE; -	} -	else if (minor1 > minor2 && major1 == major2) -	{ -		newer = TRUE; -	} -	else if (with_micro && micro1 > micro2 && minor1 == minor2) -	{ -		newer = TRUE; -	} - -	return newer; -} - -static gchar * -parse_file_version (const gchar *file) -{ -	gchar *p, *aux; - -	p = (gchar *)file; - -	while (*p != '\0' && !g_ascii_isdigit (*p)) -	{ -		p++; -	} - -	if (*p == '\0') -		return NULL; - -	aux = g_strrstr (p, "-"); -	if (aux == NULL) -		aux = g_strrstr (p, "."); - -	return g_strndup (p, aux - p); -} - -static gchar * -get_ignore_version (PlumaCheckUpdatePlugin *plugin) -{ -	return g_settings_get_string (plugin->priv->settings, -					SETTINGS_IGNORE_VERSION); -} - -static void -parse_page_file (SoupSession *session, -		 SoupMessage *msg, -		 PlumaWindow *window) -{ -	if (msg->status_code == SOUP_STATUS_OK) -	{ -		gchar *file; -		gchar *file_version; -		gchar *ignore_version; -		WindowData *data; - -		data = g_object_get_data (G_OBJECT (window), WINDOW_DATA_KEY); - -		file = get_file (msg->response_body->data, FILE_REGEX); -		file_version = parse_file_version (file); -		ignore_version = get_ignore_version (data->plugin); - -		if (newer_version (file_version, VERSION, TRUE) && -		    (ignore_version == NULL || *ignore_version == '\0' || -		     newer_version (file_version, ignore_version, TRUE))) -		{ -			GtkWidget *infobar; -			WindowData *data; -			gchar *file_url; - -			data = g_object_get_data (G_OBJECT (window), -						  WINDOW_DATA_KEY); - -			file_url = g_strconcat (data->url, file, NULL); - -			g_free (data->url); -			data->url = file_url; -			data->version = g_strdup (file_version); - -			infobar = create_infobar (window, file_version); -			pack_infobar (GTK_WIDGET (window), infobar); -			gtk_widget_show (infobar); -		} - -		g_free (ignore_version); -		g_free (file_version); -		g_free (file); -	} -	else -	{ -		g_object_set_data (G_OBJECT (window), -				   WINDOW_DATA_KEY, -				   NULL); -	} -} - -static gboolean -is_unstable (const gchar *version) -{ -	gchar **split; -	gint minor; -	gboolean unstable = TRUE;; - -	split = g_strsplit (version, ".", 2); -	minor = atoi (split[1]); -	g_strfreev (split); - -	if ((minor % 2) == 0) -		unstable = FALSE; - -	return unstable; -} - -static gchar * -get_file_page_version (const gchar *text, -		       const gchar *regex_place) -{ -	GRegex *regex; -	GMatchInfo *match_info; -	GString *string = NULL; -	gchar *unstable = NULL; -	gchar *stable = NULL; - -	regex = g_regex_new (regex_place, 0, 0, NULL); -	g_regex_match (regex, text, 0, &match_info); -	while (g_match_info_matches (match_info)) -	{ -		gint end; -		gint i; - -		g_match_info_fetch_pos (match_info, 0, NULL, &end); - -		string = g_string_new (""); - -		i = end; -		while (text[i] != '/') -		{ -			string = g_string_append_c (string, text[i]); -			i++; -		} - -		if (is_unstable (string->str)) -		{ -			g_free (unstable); -			unstable = g_string_free (string, FALSE); -		} -		else -		{ -			g_free (stable); -			stable = g_string_free (string, FALSE); -		} - -		g_match_info_next (match_info, NULL); -	} -	g_match_info_free (match_info); -	g_regex_unref (regex); - -	if ((PLUMA_MINOR_VERSION % 2) == 0) -	{ -		g_free (unstable); - -		return stable; -	} -	else -	{ -		/* We need to check that stable isn't newer than unstable */ -		if (newer_version (stable, unstable, FALSE)) -		{ -			g_free (unstable); - -			return stable; -		} -		else -		{ -			g_free (stable); - -			return unstable; -		} -	} -} - -static void -parse_page_version (SoupSession *session, -		    SoupMessage *msg, -		    PlumaWindow *window) -{ -	if (msg->status_code == SOUP_STATUS_OK) -	{ -		gchar *version; -		SoupMessage *msg2; -		WindowData *data; - -		data = g_object_get_data (G_OBJECT (window), WINDOW_DATA_KEY); - -		version = get_file_page_version (msg->response_body->data, -						 VERSION_PLACE); - -		data->url = g_strconcat (PLUMA_URL, version, "/", NULL); -		g_free (version); -		msg2 = soup_message_new ("GET", data->url); - -		soup_session_queue_message (session, msg2, -					    (SoupSessionCallback)parse_page_file, -					    window); -	} -	else -	{ -		g_object_set_data (G_OBJECT (window), -				   WINDOW_DATA_KEY, -				   NULL); -	} -} - -static void -impl_activate (PlumaPlugin *plugin, -	       PlumaWindow *window) -{ -	SoupMessage *msg; -	WindowData *data; - -	pluma_debug (DEBUG_PLUGINS); - -	data = g_slice_new (WindowData); -	data->plugin = PLUMA_CHECK_UPDATE_PLUGIN (plugin); -	data->url = NULL; -	data->version = NULL; - -	g_object_set_data_full (G_OBJECT (window), -				WINDOW_DATA_KEY, -				data, -				free_window_data); - -	msg = soup_message_new ("GET", PLUMA_URL); - -	soup_session_queue_message (PLUMA_CHECK_UPDATE_PLUGIN (plugin)->priv->session, msg, -				    (SoupSessionCallback)parse_page_version, -				    window); -} - -static void -impl_deactivate (PlumaPlugin *plugin, -		 PlumaWindow *window) -{ - -	pluma_debug (DEBUG_PLUGINS); - -	soup_session_abort (PLUMA_CHECK_UPDATE_PLUGIN (plugin)->priv->session); - -	g_object_set_data (G_OBJECT (window), -			   WINDOW_DATA_KEY, -			   NULL); -} - -static void -pluma_check_update_plugin_class_init (PlumaCheckUpdatePluginClass *klass) -{ -	GObjectClass *object_class = G_OBJECT_CLASS (klass); -	PlumaPluginClass *plugin_class = PLUMA_PLUGIN_CLASS (klass); - -	g_type_class_add_private (object_class, sizeof (PlumaCheckUpdatePluginPrivate)); - -	object_class->finalize = pluma_check_update_plugin_finalize; -	object_class->dispose = pluma_check_update_plugin_dispose; - -	plugin_class->activate = impl_activate; -	plugin_class->deactivate = impl_deactivate; -} diff --git a/plugins/checkupdate/pluma-check-update-plugin.h b/plugins/checkupdate/pluma-check-update-plugin.h deleted file mode 100644 index 03c6ead6..00000000 --- a/plugins/checkupdate/pluma-check-update-plugin.h +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2009 - Ignacio Casal Quinteiro <[email protected]> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -#ifndef __PLUMA_CHECK_UPDATE_PLUGIN_H__ -#define __PLUMA_CHECK_UPDATE_PLUGIN_H__ - -#include <glib.h> -#include <glib-object.h> -#include <pluma/pluma-plugin.h> - -G_BEGIN_DECLS - -/* - * Type checking and casting macros - */ -#define PLUMA_TYPE_CHECK_UPDATE_PLUGIN		(pluma_check_update_plugin_get_type ()) -#define PLUMA_CHECK_UPDATE_PLUGIN(o)		(G_TYPE_CHECK_INSTANCE_CAST ((o), PLUMA_TYPE_CHECK_UPDATE_PLUGIN, PlumaCheckUpdatePlugin)) -#define PLUMA_CHECK_UPDATE_PLUGIN_CLASS(k)	(G_TYPE_CHECK_CLASS_CAST((k), PLUMA_TYPE_CHECK_UPDATE_PLUGIN, PlumaCheckUpdatePluginClass)) -#define IS_PLUMA_CHECK_UPDATE_PLUGIN(o)	(G_TYPE_CHECK_INSTANCE_TYPE ((o), PLUMA_TYPE_CHECK_UPDATE_PLUGIN)) -#define IS_PLUMA_CHECK_UPDATE_PLUGIN_CLASS(k)	(G_TYPE_CHECK_CLASS_TYPE ((k), PLUMA_TYPE_CHECK_UPDATE_PLUGIN)) -#define PLUMA_CHECK_UPDATE_GET_CLASS(o)	(G_TYPE_INSTANCE_GET_CLASS ((o), PLUMA_TYPE_CHECK_UPDATE_PLUGIN, PlumaCheckUpdatePluginClass)) - -/* Private structure type */ -typedef struct _PlumaCheckUpdatePluginPrivate	PlumaCheckUpdatePluginPrivate; - -/* - * Main object structure - */ -typedef struct _PlumaCheckUpdatePlugin		PlumaCheckUpdatePlugin; - -struct _PlumaCheckUpdatePlugin -{ -	PlumaPlugin parent_instance; - -	/*< private >*/ -	PlumaCheckUpdatePluginPrivate *priv; -}; - -/* - * Class definition - */ -typedef struct _PlumaCheckUpdatePluginClass	PlumaCheckUpdatePluginClass; - -struct _PlumaCheckUpdatePluginClass -{ -	PlumaPluginClass parent_class; -}; - -/* - * Public methods - */ -GType	pluma_check_update_plugin_get_type	(void) G_GNUC_CONST; - -/* All the plugins must implement this function */ -G_MODULE_EXPORT GType register_pluma_plugin (GTypeModule *module); - -G_END_DECLS - -#endif /* __PLUMA_CHECK_UPDATE_PLUGIN_H__ */ diff --git a/plugins/externaltools/data/Makefile.am b/plugins/externaltools/data/Makefile.am index b9466cd7..c9abcce0 100755 --- a/plugins/externaltools/data/Makefile.am +++ b/plugins/externaltools/data/Makefile.am @@ -2,31 +2,14 @@ TOOL_MERGE=$(top_srcdir)/plugins/externaltools/scripts/pluma-tool-merge.pl  tools_in_files = \  	build.tool.in \ -	remove-trailing-spaces.tool.in - -tools_in_linux = \  	open-terminal-here.tool.in \ +	remove-trailing-spaces.tool.in \  	run-command.tool.in \  	search-recursive.tool.in \  	switch-c.tool.in -tools_in_osx = \ -	open-terminal-here-osx.tool.in - -tools_in_win32 = -  install_tools_in_files = $(tools_in_files) -if PLATFORM_OSX -install_tools_in_files += $(tools_in_osx) -else -if PLATFORM_WIN32 -install_tools_in_files += $(tools_in_win32) -else -install_tools_in_files += $(tools_in_linux) -endif -endif -  desktop_in_files = $(install_tools_in_files:.tool.in=.desktop.in)  desktop_files    = $(install_tools_in_files:.tool.in=.desktop) @@ -34,10 +17,7 @@ tools_SCRIPTS = $(install_tools_in_files:.tool.in=)  toolsdir = $(PLUMA_PLUGINS_DATA_DIR)/externaltools/tools  all_tools_in_files = \ -	$(tools_in_files) \ -	$(tools_in_linux) \ -	$(tools_in_osx) \ -	$(tools_in_win32) +	$(tools_in_files)  all_desktop_in_files = $(all_tools_in_files:.tool.in=.desktop.in)  all_desktop_files = $(all_tools_in_files:.tool.in=.desktop) @@ -63,5 +43,4 @@ DISTCLEANFILES = \  	$(all_desktop_files) \  	$(all_tools_files) -  -include $(top_srcdir)/git.mk diff --git a/plugins/externaltools/data/open-terminal-here-osx.desktop.in b/plugins/externaltools/data/open-terminal-here-osx.desktop.in deleted file mode 100755 index 45587ef6..00000000 --- a/plugins/externaltools/data/open-terminal-here-osx.desktop.in +++ /dev/null @@ -1,8 +0,0 @@ -[Pluma Tool] -_Name=Open terminal here -_Comment=Open a terminal in the document location -Input=nothing -Output=output-panel -Applicability=local -Save-files=nothing -Languages= diff --git a/plugins/externaltools/data/open-terminal-here-osx.tool.in b/plugins/externaltools/data/open-terminal-here-osx.tool.in deleted file mode 100755 index 86d842dc..00000000 --- a/plugins/externaltools/data/open-terminal-here-osx.tool.in +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/osascript - -set the_path to system attribute "PLUMA_CURRENT_DOCUMENT_DIR" -set cmd to "cd " & quoted form of the_path - -tell application "System Events" to set terminalIsRunning to exists application process "Terminal" - -tell application "Terminal" -	activate -	 -	if terminalIsRunning is true then -		do script with command cmd -	else -		do script with command cmd in window 1 -	end if -end tell diff --git a/plugins/filebrowser/pluma-file-browser-store.c b/plugins/filebrowser/pluma-file-browser-store.c index ba45feff..ce83fc74 100644 --- a/plugins/filebrowser/pluma-file-browser-store.c +++ b/plugins/filebrowser/pluma-file-browser-store.c @@ -2257,7 +2257,6 @@ model_iterate_next_files_cb (GFileEnumerator * enumerator,   * FIXME: This is temporarly, it is a bug in gio:   * http://bugzilla.gnome.org/show_bug.cgi?id=565924   */ -#ifndef G_OS_WIN32  			if (g_file_is_native (parent->file) && dir->monitor == NULL) {  				dir->monitor = g_file_monitor_directory (parent->file,   									 G_FILE_MONITOR_NONE, @@ -2271,7 +2270,6 @@ model_iterate_next_files_cb (GFileEnumerator * enumerator,  							  parent);  				}  			} -#endif  			model_check_dummy (dir->model, parent);  			model_end_loading (dir->model, parent); diff --git a/plugins/spell/pluma-spell-plugin.c b/plugins/spell/pluma-spell-plugin.c index 0cd64b20..6018621c 100755 --- a/plugins/spell/pluma-spell-plugin.c +++ b/plugins/spell/pluma-spell-plugin.c @@ -41,14 +41,8 @@  #include "pluma-spell-language-dialog.h"  #include "pluma-automatic-spell-checker.h" -#ifdef G_OS_WIN32 -#include <pluma/pluma-metadata-manager.h> -#define PLUMA_METADATA_ATTRIBUTE_SPELL_LANGUAGE "spell-language" -#define PLUMA_METADATA_ATTRIBUTE_SPELL_ENABLED  "spell-enabled" -#else  #define PLUMA_METADATA_ATTRIBUTE_SPELL_LANGUAGE "metadata::pluma-spell-language"  #define PLUMA_METADATA_ATTRIBUTE_SPELL_ENABLED  "metadata::pluma-spell-enabled" -#endif  #define WINDOW_DATA_KEY "PlumaSpellPluginWindowData"  #define MENU_PATH "/MenuBar/ToolsMenu/ToolsOps_1" diff --git a/plugins/taglist/pluma-taglist-plugin-parser.c b/plugins/taglist/pluma-taglist-plugin-parser.c index 05f50ba5..a67fae5d 100755 --- a/plugins/taglist/pluma-taglist-plugin-parser.c +++ b/plugins/taglist/pluma-taglist-plugin-parser.c @@ -31,7 +31,7 @@  /* FIXME: we should rewrite the parser to avoid using DOM */  #ifdef HAVE_CONFIG_H -	#include <config.h> +#include <config.h>  #endif  #include <string.h> @@ -602,45 +602,38 @@ TagList* create_taglist(const gchar* data_dir)  		return taglist;  	} -	#ifndef G_OS_WIN32 -		const gchar* home; -		const gchar* envvar; +	const gchar* home; +	const gchar* envvar; -		/* load user's taglists */ +	/* load user's taglists */ -		/* legacy dir */ -		home = g_get_home_dir (); -		if (home != NULL) -		{ -			pdir = g_build_filename (home, -						 USER_PLUMA_TAGLIST_PLUGIN_LOCATION_LEGACY, -						 NULL); -			parse_taglist_dir (pdir); -			g_free (pdir); -		} - -		/* Support old libmate env var */ -		envvar = g_getenv ("MATE22_USER_DIR"); -		if (envvar != NULL) -		{ -			pdir = g_build_filename (envvar, -						 USER_PLUMA_TAGLIST_PLUGIN_LOCATION, -						 NULL); -			parse_taglist_dir (pdir); -			g_free (pdir); -		} -		else if (home != NULL) -		{ -			pdir = g_build_filename(home, ".config", USER_PLUMA_TAGLIST_PLUGIN_LOCATION, NULL); -			parse_taglist_dir(pdir); -			g_free (pdir); -		} +	/* legacy dir */ +	home = g_get_home_dir (); +	if (home != NULL) +	{ +		pdir = g_build_filename (home, +					 USER_PLUMA_TAGLIST_PLUGIN_LOCATION_LEGACY, +					 NULL); +		parse_taglist_dir (pdir); +		g_free (pdir); +	} -	#else -		pdir = g_build_filename(g_get_user_config_dir(), "pluma", "taglist", NULL); +	/* Support old libmate env var */ +	envvar = g_getenv ("MATE22_USER_DIR"); +	if (envvar != NULL) +	{ +		pdir = g_build_filename (envvar, +					 USER_PLUMA_TAGLIST_PLUGIN_LOCATION, +					 NULL); +		parse_taglist_dir (pdir); +		g_free (pdir); +	} +	else if (home != NULL) +	{ +		pdir = g_build_filename(home, ".config", USER_PLUMA_TAGLIST_PLUGIN_LOCATION, NULL);  		parse_taglist_dir(pdir); -		g_free(pdir); -	#endif +		g_free (pdir); +	}  	/* load system's taglists */  	parse_taglist_dir(data_dir); diff --git a/plugins/time/pluma-time-plugin.c b/plugins/time/pluma-time-plugin.c index d3f251ae..1cda2c35 100755 --- a/plugins/time/pluma-time-plugin.c +++ b/plugins/time/pluma-time-plugin.c @@ -72,9 +72,7 @@ static const gchar *formats[] =  	"%a %d %b %Y %H:%M:%S",  	"%d/%m/%Y",  	"%d/%m/%y", -#ifndef G_OS_WIN32 -	"%D", /* This one is not supported on win32 */ -#endif +	"%D",  	"%A %d %B %Y",  	"%A %B %d %Y",  	"%Y-%m-%d", diff --git a/pluma/Makefile.am b/pluma/Makefile.am index bae5cd01..01914351 100644 --- a/pluma/Makefile.am +++ b/pluma/Makefile.am @@ -1,10 +1,6 @@  ## Process this file with automake to produce Makefile.in  SUBDIRS = dialogs smclient -if OS_OSX -SUBDIRS += osx -endif -  bin_PROGRAMS = pluma  noinst_LTLIBRARIES = libpluma.la @@ -14,7 +10,6 @@ AM_CPPFLAGS =								\  	-I$(srcdir)							\  	-I$(srcdir)/smclient						\  	$(PLUMA_CFLAGS)							\ -	$(IGE_MAC_CFLAGS)						\  	$(WARN_CFLAGS)							\  	$(DISABLE_DEPRECATED_CFLAGS)					\  	-DDATADIR=\""$(datadir)"\"					\ @@ -23,16 +18,9 @@ AM_CPPFLAGS =								\  pluma_SOURCES = \  	pluma.c -pluma_LDADD = libpluma.la $(PLUMA_LIBS) $(IGE_MAC_LIBS) $(EGG_SMCLIENT_LIBS) +pluma_LDADD = libpluma.la $(PLUMA_LIBS) $(EGG_SMCLIENT_LIBS) -if PLATFORM_WIN32 -pluma_LDFLAGS = -Wl,--export-all-symbols -Wl,--out-implib,libpluma.a -if OS_WIN32 -pluma_LDFLAGS += -mwindows -endif -else  pluma_LDFLAGS = -export-dynamic -no-undefined -export-symbols-regex "^[[^_]].*" -endif  libpluma_la_LDFLAGS = -export-dynamic -no-undefined -export-symbols-regex "^[[^_]].*" @@ -43,24 +31,12 @@ libpluma_la_LIBADD = \  # PLUMA_LIBS must be the last to ensure correct order on some platforms  libpluma_la_LIBADD += $(PLUMA_LIBS) -lICE -if OS_OSX -pluma_LDFLAGS += -framework Carbon - -libpluma_la_LIBADD += osx/libosx.la -endif -  BUILT_SOURCES = 			\  	pluma-enum-types.c		\  	pluma-enum-types.h		\  	pluma-marshal.c			\  	pluma-marshal.h -if OS_WIN32 -pluma-res.o: pluma.rc -	$(WINDRES) -i pluma.rc --input-format=rc -o pluma-res.o -O coff - -pluma_LDADD += pluma-res.o -endif  NOINST_H_FILES =			\  	pluma-close-button.h		\ @@ -222,20 +198,10 @@ CLEANFILES = $(BUILT_SOURCES)  dist-hook:  	cd $(distdir); rm -f $(BUILT_SOURCES) -install-exec-hook: -if PLATFORM_WIN32 -	$(mkinstalldirs) "$(DESTDIR)$(libdir)" -	$(INSTALL_DATA) libpluma.a "$(DESTDIR)$(libdir)" -endif - -if !OS_WIN32  BACON_DIR=$(srcdir)/../../libbacon/src/  BACON_FILES=bacon-message-connection.h bacon-message-connection.c  regenerate-built-sources:  	BACONFILES="$(BACON_FILES)" BACONDIR="$(BACON_DIR)" $(top_srcdir)/pluma/update-from-bacon.sh -else -BACON_DIR= -endif  -include $(top_srcdir)/git.mk diff --git a/pluma/osx/Makefile.am b/pluma/osx/Makefile.am deleted file mode 100755 index c9192b13..00000000 --- a/pluma/osx/Makefile.am +++ /dev/null @@ -1,23 +0,0 @@ -AM_CPPFLAGS = 							\ -	-I$(top_srcdir)						\ -	-I$(top_builddir)					\ -	-I$(top_srcdir)/pluma 					\ -	-I$(top_builddir)/pluma					\ -	$(PLUMA_CFLAGS) 					\ -	$(IGE_MAC_CFLAGS)					\ -	$(WARN_CFLAGS)						\ -	$(DISABLE_DEPRECATED_CFLAGS) - -noinst_LTLIBRARIES = libosx.la - -libosx_la_LDFLAGS = -framework Carbon -framework ApplicationServices -framework Cocoa -libosx_la_LIBADD = -lobjc -libosx_la_CFLAGS = -xobjective-c - -libosx_la_SOURCES = 		\ -	pluma-osx.c 		\ -	pluma-osx.h		\ -	pluma-osx-delegate.m 	\ -	pluma-osx-delegate.h - --include $(top_srcdir)/git.mk diff --git a/pluma/osx/pluma-osx-delegate.h b/pluma/osx/pluma-osx-delegate.h deleted file mode 100755 index f6eb2ae5..00000000 --- a/pluma/osx/pluma-osx-delegate.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef PLUMA_OSX_DELEGATE_H_ -#define PLUMA_OSX_DELEGATE_H_ - -#import <Foundation/NSAppleEventManager.h> - -@interface PlumaOSXDelegate : NSObject -{ -} - --(id) init; --(void) openFiles:(NSAppleEventDescriptor*)event -        withReply:(NSAppleEventDescriptor*)reply; - -@end - -#endif /* PLUMA_OSX_DELEGATE_H_ */ diff --git a/pluma/osx/pluma-osx-delegate.m b/pluma/osx/pluma-osx-delegate.m deleted file mode 100755 index 15ecf813..00000000 --- a/pluma/osx/pluma-osx-delegate.m +++ /dev/null @@ -1,84 +0,0 @@ -#import "pluma-osx-delegate.h" -#import <Foundation/NSAppleEventManager.h> -#import <Foundation/NSAppleEventDescriptor.h> -#import <Foundation/NSData.h> -#include <glib.h> -#include <pluma/pluma-app.h> -#include <pluma/pluma-commands.h> - -@implementation PlumaOSXDelegate --(id)init -{ -	if ((self = [super init])) -	{ -		NSAppleEventManager* em = [NSAppleEventManager sharedAppleEventManager]; - -	    [em setEventHandler:self -	            andSelector:@selector(openFiles:withReply:) -	          forEventClass:kCoreEventClass -	             andEventID:kAEOpenDocuments]; -	} -	 -	return self; -} - -static PlumaWindow * -get_window(NSAppleEventDescriptor *event) -{ -	PlumaApp *app = pluma_app_get_default (); -	return pluma_app_get_active_window (app); -} - -- (void)openFiles:(NSAppleEventDescriptor*)event -        withReply:(NSAppleEventDescriptor*)reply -{ -	NSAppleEventDescriptor *fileList = [event paramDescriptorForKeyword:keyDirectObject]; -	NSInteger i; -	GSList *uris = NULL; -	 -	if (!fileList) -	{ -		return; -	} -	 -	for (i = 1; i <= [fileList numberOfItems]; ++i) -	{ -		NSAppleEventDescriptor *fileAliasDesc = [fileList descriptorAtIndex:i]; -		NSAppleEventDescriptor *fileURLDesc; -		NSData *fileURLData; -		gchar *url; -		 -		if (!fileAliasDesc) -		{ -			continue; -		} -		 -		fileURLDesc = [fileAliasDesc coerceToDescriptorType:typeFileURL]; -		 -		if (!fileURLDesc) -		{ -			continue; -		} -		 -		fileURLData = [fileURLDesc data]; -		 -		if (!fileURLData) -		{ -			continue; -		} -		 -		url = g_strndup([fileURLData bytes], [fileURLData length]); -		uris = g_slist_prepend (uris, url); -	} -	 -	if (uris != NULL) -	{ -		PlumaWindow *window = get_window (event); -		pluma_commands_load_uris (window, uris, NULL, 0); - -		g_slist_foreach (uris, (GFunc)g_free, NULL); -		g_slist_free (uris); -	} -} - -@end
\ No newline at end of file diff --git a/pluma/osx/pluma-osx.c b/pluma/osx/pluma-osx.c deleted file mode 100755 index b9e23c90..00000000 --- a/pluma/osx/pluma-osx.c +++ /dev/null @@ -1,94 +0,0 @@ -#include "pluma-osx.h" -#include <gdk/gdkquartz.h> -#include <Carbon/Carbon.h> - -#import "pluma-osx-delegate.h" - -void -pluma_osx_set_window_title (PlumaWindow   *window,  -			    gchar const   *title, -			    PlumaDocument *document) -{ -	NSWindow *native; - -	g_return_if_fail (PLUMA_IS_WINDOW (window)); - -	if (GTK_WIDGET (window)->window == NULL) -	{ -		return; -	} - -	native = gdk_quartz_window_get_nswindow (GTK_WIDGET (window)->window); - -	if (document) -	{ -		bool ismodified; - -		if (pluma_document_is_untitled (document)) -		{ -			[native setRepresentedURL:nil]; -		} -		else -		{ -			const gchar *uri = pluma_document_get_uri (document); -			NSURL *nsurl = [NSURL URLWithString:[NSString stringWithUTF8String:uri]]; -			 -			[native setRepresentedURL:nsurl]; -		} - -		ismodified = !pluma_document_is_untouched (document);  -		[native setDocumentEdited:ismodified]; -	} -	else -	{ -		[native setRepresentedURL:nil]; -		[native setDocumentEdited:false]; -	} - -	gtk_window_set_title (GTK_WINDOW (window), title); -} - -gboolean -pluma_osx_show_url (const gchar *url) -{ - 	return [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:[NSString stringWithUTF8String:url]]]; -} - -gboolean -pluma_osx_show_help (const gchar *link_id) -{ -	gchar *link; -	gboolean ret; - -	if (link_id) -	{ -		link = g_strdup_printf ("http://library.gnome.org/users/pluma/stable/%s", -					link_id); -	} -	else -	{ -		link = g_strdup ("http://library.gnome.org/users/pluma/stable/"); -	} - -	ret = pluma_osx_show_url (link); -	g_free (link); - -	return ret; -} - -static void -destroy_delegate (PlumaOSXDelegate *delegate) -{ -	[delegate dealloc]; -} - -void -pluma_osx_init(PlumaApp *app) -{ -	PlumaOSXDelegate *delegate = [[PlumaOSXDelegate alloc] init]; -	 -	g_object_set_data_full (G_OBJECT (app), -	                        "PlumaOSXDelegate", -	                        delegate, -							(GDestroyNotify)destroy_delegate); -}
\ No newline at end of file diff --git a/pluma/osx/pluma-osx.h b/pluma/osx/pluma-osx.h deleted file mode 100755 index df06865f..00000000 --- a/pluma/osx/pluma-osx.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef __PLUMA_OSX_H__ -#define __PLUMA_OSX_H__ - -#include <gtk/gtk.h> -#include <pluma/pluma-window.h> -#include <pluma/pluma-app.h> - -void	pluma_osx_init (PlumaApp *app); - -void 	pluma_osx_set_window_title 	(PlumaWindow   *window,  -					 gchar const   *title, -					 PlumaDocument *document); - -gboolean pluma_osx_show_url 		(const gchar *url); -gboolean pluma_osx_show_help		(const gchar *link_id); - -#endif /* __PLUMA_OSX_H__ */ diff --git a/pluma/pluma-app.c b/pluma/pluma-app.c index 248656bb..3f486f0b 100644 --- a/pluma/pluma-app.c +++ b/pluma/pluma-app.c @@ -46,10 +46,6 @@  #include "pluma-enum-types.h"  #include "pluma-dirs.h" -#ifdef OS_OSX -#include <ige-mac-integration.h> -#endif -  #define PLUMA_PAGE_SETUP_FILE		"pluma-page-setup"  #define PLUMA_PRINT_SETTINGS_FILE	"pluma-print-settings" @@ -440,14 +436,6 @@ window_destroy (PlumaWindow *window,  */  	if (app->priv->windows == NULL)  	{ -#ifdef OS_OSX -		if (!GPOINTER_TO_INT (g_object_get_data (G_OBJECT (window), "pluma-is-quitting-all"))) -		{ -			/* Create hidden proxy window on OS X to handle the menu */ -			pluma_app_create_window (app, NULL); -			return; -		} -#endif  		/* Last window is gone... save some settings and exit */  		ensure_user_config_dir (); diff --git a/pluma/pluma-commands-file.c b/pluma/pluma-commands-file.c index a40ef1cb..a21cdff6 100644 --- a/pluma/pluma-commands-file.c +++ b/pluma/pluma-commands-file.c @@ -1647,11 +1647,6 @@ close_confirmation_dialog_response_handler (PlumaCloseConfirmationDialog *dlg,  					   PLUMA_IS_QUITTING,  					   GBOOLEAN_TO_POINTER (FALSE)); -#ifdef OS_OSX -			g_object_set_data (G_OBJECT (window), -			                   PLUMA_IS_QUITTING_ALL, -			                   GINT_TO_POINTER (FALSE)); -#endif  			break;  	} @@ -1734,10 +1729,6 @@ _pluma_cmd_file_close (GtkAction   *action,  	if (active_tab == NULL)  	{ -#ifdef OS_OSX -		/* Close the window on OS X */ -		gtk_widget_destroy (GTK_WIDGET (window)); -#endif  		return;  	} @@ -1829,53 +1820,12 @@ _pluma_cmd_file_close_all (GtkAction   *action,  	file_close_all (window, FALSE);  } -/* Quit */ -#ifdef OS_OSX -static void -quit_all () -{ -	GList *windows; -	GList *item; -	PlumaApp *app; - -	app = pluma_app_get_default (); -	windows = g_list_copy ((GList *)pluma_app_get_windows (app)); - -	for (item = windows; item; item = g_list_next (item)) -	{ -		PlumaWindow *window = PLUMA_WINDOW (item->data); -	 -		g_object_set_data (G_OBJECT (window), -		                   PLUMA_IS_QUITTING_ALL, -		                   GINT_TO_POINTER (TRUE)); - -		if (!(pluma_window_get_state (window) & -		                    (PLUMA_WINDOW_STATE_SAVING | -		                     PLUMA_WINDOW_STATE_PRINTING | -		                     PLUMA_WINDOW_STATE_SAVING_SESSION))) -		{ -			file_close_all (window, TRUE); -		} -	} - -	g_list_free (windows); -} -#endif -  void  _pluma_cmd_file_quit (GtkAction   *action,  		     PlumaWindow *window)  {  	pluma_debug (DEBUG_COMMANDS); -#ifdef OS_OSX -	if (action != NULL) -	{ -		quit_all (); -		return; -	} -#endif -  	g_return_if_fail (!(pluma_window_get_state (window) &  	                    (PLUMA_WINDOW_STATE_SAVING |  	                     PLUMA_WINDOW_STATE_PRINTING | diff --git a/pluma/pluma-dirs.c b/pluma/pluma-dirs.c index 8c079cf0..929b8bd2 100644 --- a/pluma/pluma-dirs.c +++ b/pluma/pluma-dirs.c @@ -22,15 +22,11 @@   */  #ifdef HAVE_CONFIG_H -	#include <config.h> +#include <config.h>  #endif  #include "pluma-dirs.h" -#ifdef OS_OSX -	#include <ige-mac-bundle.h> -#endif -  gchar* pluma_dirs_get_user_config_dir(void)  {  	gchar* config_dir = NULL; @@ -73,102 +69,17 @@ gchar* pluma_dirs_get_user_accels_file(void)  gchar* pluma_dirs_get_pluma_data_dir(void)  { -	gchar* data_dir; - -	#ifdef G_OS_WIN32 -		gchar* win32_dir; - -		win32_dir = g_win32_get_package_installation_directory_of_module(NULL); - -		data_dir = g_build_filename(win32_dir, "share", "pluma", NULL); - -		g_free(win32_dir); - -	#elif defined(OS_OSX) - -		IgeMacBundle* bundle = ige_mac_bundle_get_default(); - -		if (ige_mac_bundle_get_is_app_bundle(bundle)) -		{ -			const gchar* bundle_data_dir = ige_mac_bundle_get_datadir(bundle); - -			data_dir = g_build_filename(bundle_data_dir, "pluma", NULL); -		} -		else -		{ -			data_dir = g_build_filename(DATADIR, "pluma", NULL); -		} -	#else -		data_dir = g_build_filename(DATADIR, "pluma", NULL); -	#endif - -	return data_dir; +	return g_build_filename(DATADIR, "pluma", NULL);  }  gchar* pluma_dirs_get_pluma_locale_dir(void)  { -	gchar* locale_dir; - -	#ifdef G_OS_WIN32 - -		gchar* win32_dir; - -		win32_dir = g_win32_get_package_installation_directory_of_module(NULL); - -		locale_dir = g_build_filename(win32_dir, "share", "locale", NULL); - -		g_free(win32_dir); - -	#elif defined(OS_OSX) - -		IgeMacBundle *bundle = ige_mac_bundle_get_default(); - -		if (ige_mac_bundle_get_is_app_bundle(bundle)) -		{ -			locale_dir = g_strdup(ige_mac_bundle_get_localedir(bundle)); -		} -		else -		{ -			locale_dir = g_build_filename(DATADIR, "locale", NULL); -		} -	#else -		locale_dir = g_build_filename(DATADIR, "locale", NULL); -	#endif - -	return locale_dir; +	return g_build_filename(DATADIR, "locale", NULL);  }  gchar* pluma_dirs_get_pluma_lib_dir(void)  { -	gchar* lib_dir; - -	#ifdef G_OS_WIN32 - -		gchar* win32_dir; - -		win32_dir = g_win32_get_package_installation_directory_of_module(NULL); - -		lib_dir = g_build_filename(win32_dir, "lib", "pluma", NULL); - -		g_free(win32_dir); - -	#elif defined(OS_OSX) -		IgeMacBundle* bundle = ige_mac_bundle_get_default(); - -		if (ige_mac_bundle_get_is_app_bundle(bundle)) -		{ -			const gchar* path = ige_mac_bundle_get_resourcesdir(bundle); -			lib_dir = g_build_filename(path, "lib", "pluma", NULL); -		} -		else -		{ -			lib_dir = g_build_filename(LIBDIR, "pluma", NULL); -		} -	#else -		lib_dir = g_build_filename(LIBDIR, "pluma", NULL); -	#endif - -	return lib_dir; +	return g_build_filename(LIBDIR, "pluma", NULL);  }  gchar* pluma_dirs_get_pluma_plugins_dir(void) diff --git a/pluma/pluma-document.h b/pluma/pluma-document.h index 099aaae1..80b66780 100644 --- a/pluma/pluma-document.h +++ b/pluma/pluma-document.h @@ -51,15 +51,9 @@ G_BEGIN_DECLS  #define PLUMA_IS_DOCUMENT_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), PLUMA_TYPE_DOCUMENT))  #define PLUMA_DOCUMENT_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS((obj), PLUMA_TYPE_DOCUMENT, PlumaDocumentClass)) -#ifdef G_OS_WIN32 -#define PLUMA_METADATA_ATTRIBUTE_POSITION "position" -#define PLUMA_METADATA_ATTRIBUTE_ENCODING "encoding" -#define PLUMA_METADATA_ATTRIBUTE_LANGUAGE "language" -#else  #define PLUMA_METADATA_ATTRIBUTE_POSITION "metadata::pluma-position"  #define PLUMA_METADATA_ATTRIBUTE_ENCODING "metadata::pluma-encoding"  #define PLUMA_METADATA_ATTRIBUTE_LANGUAGE "metadata::pluma-language" -#endif  typedef enum  { @@ -68,11 +62,7 @@ typedef enum  	PLUMA_DOCUMENT_NEWLINE_TYPE_CR_LF  } PlumaDocumentNewlineType; -#ifdef G_OS_WIN32 -#define PLUMA_DOCUMENT_NEWLINE_TYPE_DEFAULT PLUMA_DOCUMENT_NEWLINE_TYPE_CR_LF -#else  #define PLUMA_DOCUMENT_NEWLINE_TYPE_DEFAULT PLUMA_DOCUMENT_NEWLINE_TYPE_LF -#endif  typedef enum  { diff --git a/pluma/pluma-help.c b/pluma/pluma-help.c index 336d5793..23129b89 100644 --- a/pluma/pluma-help.c +++ b/pluma/pluma-help.c @@ -38,10 +38,6 @@  #include <string.h>  #include <gtk/gtk.h> -#ifdef OS_OSX -#include "osx/pluma-osx.h" -#endif -  gboolean      pluma_help_display (GtkWindow   *parent,  		    const gchar *name, /* "pluma" if NULL */ @@ -53,17 +49,6 @@ pluma_help_display (GtkWindow   *parent,  	g_return_val_if_fail ((parent == NULL) || GTK_IS_WINDOW (parent), FALSE); -#ifdef OS_OSX -	if (name == NULL || strcmp(name, "pluma.xml") == NULL || strcmp(name, "pluma") == 0) -	{ -		return pluma_osx_show_help (link_id); -	} -	else -	{ -		return FALSE; -	} -#endif -  	if (name == NULL)  		name = "pluma";  	else if (strcmp (name, "pluma.xml") == 0) @@ -73,18 +58,10 @@ pluma_help_display (GtkWindow   *parent,  		name = "pluma";  	} -#ifndef G_OS_WIN32  	if (link_id)  		link = g_strdup_printf ("help:%s/%s", name, link_id);  	else  		link = g_strdup_printf ("help:%s", name); -#else -	if (link_id) -		link = g_strdup_printf ("http://library.gnome.org/users/pluma/stable/%s", -					link_id); -	else -		link = g_strdup ("http://library.gnome.org/users/pluma/stable/"); -#endif  	ret = gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (parent)),  	                    link,  diff --git a/pluma/pluma-ui.h b/pluma/pluma-ui.h index 50b3740f..c2c465b2 100644 --- a/pluma/pluma-ui.h +++ b/pluma/pluma-ui.h @@ -114,13 +114,8 @@ static const GtkActionEntry pluma_menu_entries[] =  	  N_("Search forwards for the same text"), G_CALLBACK (_pluma_cmd_search_find_next) },  	{ "SearchFindPrevious", NULL, N_("Find Pre_vious"), "<shift><control>G",  	  N_("Search backwards for the same text"), G_CALLBACK (_pluma_cmd_search_find_prev) }, -#ifndef OS_OSX  	{ "SearchReplace", GTK_STOCK_FIND_AND_REPLACE, N_("_Replace..."), "<control>H",  	  N_("Search for and replace text"), G_CALLBACK (_pluma_cmd_search_replace) }, -#else -	{ "SearchReplace", GTK_STOCK_FIND_AND_REPLACE, N_("_Replace..."), "<control><alt>F", -	  N_("Search for and replace text"), G_CALLBACK (_pluma_cmd_search_replace) }, -#endif  	{ "SearchClearHighlight", NULL, N_("_Clear Highlight"), "<shift><control>K",  	  N_("Clear highlighting of search matches"), G_CALLBACK (_pluma_cmd_search_clear_highlight) },  	{ "SearchGoToLine", GTK_STOCK_JUMP_TO, N_("Go to _Line..."), "<control>I", diff --git a/pluma/pluma-window-private.h b/pluma/pluma-window-private.h index 0f0ff34c..e575a59e 100644 --- a/pluma/pluma-window-private.h +++ b/pluma/pluma-window-private.h @@ -35,10 +35,6 @@  #include "pluma-prefs-manager.h"  #include "pluma-message-bus.h" -#ifdef OS_OSX -#include <ige-mac-integration.h> -#endif -  G_BEGIN_DECLS  /* WindowPrivate is in a separate .h so that we can access it from pluma-commands */ @@ -111,10 +107,6 @@ struct _PlumaWindowPrivate  	GFile          *default_location; -#ifdef OS_OSX -	IgeMacMenuGroup *mac_menu_group; -#endif -  	gboolean        removing_tabs : 1;  	gboolean        dispose_has_run : 1;  }; diff --git a/pluma/pluma-window.c b/pluma/pluma-window.c index 8ebb7953..f00f2ac8 100644 --- a/pluma/pluma-window.c +++ b/pluma/pluma-window.c @@ -61,10 +61,6 @@  #include "pluma-dirs.h"  #include "pluma-status-combo-box.h" -#ifdef OS_OSX -#include "osx/pluma-osx.h" -#endif -  #define LANGUAGE_NONE (const gchar *)"LangNone"  #define PLUMA_UIFILE "pluma-ui.xml"  #define TAB_WIDTH_DATA "PlumaWindowTabWidthData" @@ -159,58 +155,6 @@ save_panes_state (PlumaWindow *window)  		pluma_prefs_manager_set_bottom_panel_active_page (pane_page);  } -#ifdef OS_OSX -static GtkMenuItem * -ui_manager_menu_item (GtkUIManager *uimanager, -                      const gchar  *path) -{ -	return GTK_MENU_ITEM (gtk_ui_manager_get_widget (uimanager, path)); -} - -static void -add_mac_root_menu (PlumaWindow *window) -{ -	if (window->priv->mac_menu_group != NULL) -	{ -		return; -	} -	 -	window->priv->mac_menu_group = ige_mac_menu_add_app_menu_group (); - -	ige_mac_menu_add_app_menu_item (window->priv->mac_menu_group, -	                                ui_manager_menu_item (window->priv->manager, "/ui/MenuBar/HelpMenu/HelpAboutMenu"), -	                                NULL); -} - -static void -remove_mac_root_menu (PlumaWindow *window) -{ -	if (window->priv->mac_menu_group == NULL) -	{ -		return; -	} -	 -	ige_mac_menu_remove_app_menu_group (window->priv->mac_menu_group); -	window->priv->mac_menu_group = NULL; -} - -static gboolean -pluma_window_focus_in_event (GtkWidget     *widget, -                             GdkEventFocus *event) -{ -	add_mac_root_menu (PLUMA_WINDOW (widget)); -	return GTK_WIDGET_CLASS (pluma_window_parent_class)->focus_in_event (widget, event); -} - -static gboolean -pluma_window_focus_out_event (GtkWidget     *widget, -                              GdkEventFocus *event) -{ -	remove_mac_root_menu (PLUMA_WINDOW (widget)); -	return GTK_WIDGET_CLASS (pluma_window_parent_class)->focus_out_event (widget, event); -} -#endif -  static void  pluma_window_dispose (GObject *object)  { @@ -292,10 +236,6 @@ pluma_window_dispose (GObject *object)  	 */  	pluma_plugins_engine_garbage_collect (pluma_plugins_engine_get_default ()); -#ifdef OS_OSX -	remove_mac_root_menu (window); -#endif -  	G_OBJECT_CLASS (pluma_window_parent_class)->dispose (object);  } @@ -403,11 +343,6 @@ pluma_window_class_init (PlumaWindowClass *klass)  	widget_class->configure_event = pluma_window_configure_event;  	widget_class->key_press_event = pluma_window_key_press_event; -#ifdef OS_OSX -	widget_class->focus_in_event = pluma_window_focus_in_event; -	widget_class->focus_out_event = pluma_window_focus_out_event; -#endif -  	signals[TAB_ADDED] =  		g_signal_new ("tab_added",  			      G_OBJECT_CLASS_TYPE (object_class), @@ -2183,11 +2118,7 @@ set_title (PlumaWindow *window)  	if (window->priv->active_tab == NULL)  	{ -#ifdef OS_OSX -		pluma_osx_set_window_title (window, "pluma", NULL); -#else  		gtk_window_set_title (GTK_WINDOW (window), "pluma"); -#endif  		return;  	} @@ -2267,11 +2198,7 @@ set_title (PlumaWindow *window)  						 name);  	} -#ifdef OS_OSX -	pluma_osx_set_window_title (window, title, doc); -#else  	gtk_window_set_title (GTK_WINDOW (window), title); -#endif  	g_free (dirname);  	g_free (name); @@ -2583,14 +2510,8 @@ set_sensitivity_according_to_window_state (PlumaWindow *window)  							window->priv->num_tabs > 0);  		if (!gtk_action_group_get_sensitive (window->priv->close_action_group))  		{ -#ifdef OS_OSX -			/* On OS X, File Close is always sensitive */ -			gtk_action_group_set_sensitive (window->priv->close_action_group, -							TRUE); -#else  			gtk_action_group_set_sensitive (window->priv->close_action_group,  							window->priv->num_tabs > 0); -#endif  		}  	}  } @@ -3212,11 +3133,8 @@ update_sensitivity_according_to_open_tabs (PlumaWindow *window)  	gtk_action_set_sensitive (action,  				  window->priv->num_tabs > 1); -	/* Do not set close action insensitive on OS X */ -#ifndef OS_OSX  	gtk_action_group_set_sensitive (window->priv->close_action_group,  	                                window->priv->num_tabs != 0); -#endif  }  static void @@ -3840,27 +3758,6 @@ check_window_is_active (PlumaWindow *window,  	}  } -#ifdef OS_OSX -static void -setup_mac_menu (PlumaWindow *window) -{ -	GtkAction *action; - -	gtk_widget_hide (window->priv->menubar); -	action = gtk_ui_manager_get_action (window->priv->manager, "/ui/MenuBar/HelpMenu/HelpAboutMenu"); - -	gtk_action_set_label (action, _("About pluma")); - -	ige_mac_menu_set_menu_bar (GTK_MENU_SHELL (window->priv->menubar)); -	ige_mac_menu_set_quit_menu_item (ui_manager_menu_item (window->priv->manager, "/ui/MenuBar/FileMenu/FileQuitMenu")); - -	ige_mac_menu_set_preferences_menu_item (ui_manager_menu_item (window->priv->manager, "/ui/MenuBar/EditMenu/EditPreferencesMenu")); -	 -	add_mac_root_menu (window); -	ige_mac_menu_connect_window_key_handler (GTK_WINDOW (window)); -} -#endif -  static void  connect_notebook_signals (PlumaWindow *window,  			  GtkWidget   *notebook) @@ -4042,10 +3939,6 @@ pluma_window_init (PlumaWindow *window)  	update_sensitivity_according_to_open_tabs (window); -#ifdef OS_OSX -	setup_mac_menu (window); -#endif -  	pluma_debug_message (DEBUG_WINDOW, "END");  } diff --git a/pluma/pluma.c b/pluma/pluma.c index 8cd599dd..4fb5a752 100644 --- a/pluma/pluma.c +++ b/pluma/pluma.c @@ -40,10 +40,7 @@  #include <glib.h>  #include <glib/gi18n.h>  #include <gtk/gtk.h> - -#ifdef GDK_WINDOWING_X11  #include <gdk/gdkx.h> -#endif  #include "pluma-app.h"  #include "pluma-commands.h" @@ -59,34 +56,15 @@  #include "eggsmclient.h"  #include "eggdesktopfile.h" -#ifdef G_OS_WIN32 -#define SAVE_DATADIR DATADIR -#undef DATADIR -#include <io.h> -#include <conio.h> -#define _WIN32_WINNT 0x0500 -#include <windows.h> -#define DATADIR SAVE_DATADIR -#undef SAVE_DATADIR -#endif - -#ifdef OS_OSX -#include <ige-mac-dock.h> -#include <ige-mac-integration.h> -#include "osx/pluma-osx.h" -#endif -  #ifndef ENABLE_GVFS_METADATA  #include "pluma-metadata-manager.h"  #endif -static guint32 startup_timestamp = 0; - -#ifndef G_OS_WIN32  #include "bacon-message-connection.h" +static guint32 startup_timestamp = 0; +  static BaconMessageConnection *connection; -#endif  /* command line */  static gint line_position = 0; @@ -234,7 +212,6 @@ get_startup_timestamp (void)  	return (retval > 0) ? retval : 0;  } -#ifndef G_OS_WIN32  static GdkDisplay *  display_open_if_needed (const gchar *name)  { @@ -400,13 +377,11 @@ on_message_received (const char *message,  	if (!gtk_widget_get_realized (GTK_WIDGET (window)))  		gtk_widget_realize (GTK_WIDGET (window)); -#ifdef GDK_WINDOWING_X11  	if (startup_timestamp <= 0)  		startup_timestamp = gdk_x11_get_server_time (gtk_widget_get_window (GTK_WIDGET (window)));  	gdk_x11_window_set_user_time (gtk_widget_get_window (GTK_WIDGET (window)),  				      startup_timestamp); -#endif  	gtk_window_present (GTK_WINDOW (window)); @@ -513,35 +488,6 @@ send_bacon_message (void)  	g_string_free (command, TRUE);  } -#endif /* G_OS_WIN32 */ - -#ifdef G_OS_WIN32 -static void -setup_path (void) -{ -	gchar *path; -	gchar *installdir; -	gchar *bin; - -	installdir = g_win32_get_package_installation_directory_of_module (NULL); - -	bin = g_build_filename (installdir, -				"bin", NULL); -	g_free (installdir); - -	/* Set PATH to include the pluma executable's folder */ -	path = g_build_path (";", -			     bin, -			     g_getenv ("PATH"), -			     NULL); -	g_free (bin); - -	if (!g_setenv ("PATH", path, TRUE)) -		g_warning ("Could not set PATH for pluma"); - -	g_free (path); -} -#endif  int  main (int argc, char *argv[]) @@ -576,33 +522,6 @@ main (int argc, char *argv[])  	g_option_context_add_group (context, gtk_get_option_group (FALSE));  	g_option_context_add_group (context, egg_sm_client_get_option_group ()); -#ifdef G_OS_WIN32 -	setup_path (); - -	/* If we open pluma from a console get the stdout printing */ -	if (fileno (stdout) != -1 && -		_get_osfhandle (fileno (stdout)) != -1) -	{ -		/* stdout is fine, presumably redirected to a file or pipe */ -	} -	else -	{ -		typedef BOOL (* WINAPI AttachConsole_t) (DWORD); - -		AttachConsole_t p_AttachConsole = -			(AttachConsole_t) GetProcAddress (GetModuleHandle ("kernel32.dll"), -							  "AttachConsole"); - -		if (p_AttachConsole != NULL && p_AttachConsole (ATTACH_PARENT_PROCESS)) -		{ -			freopen ("CONOUT$", "w", stdout); -			dup2 (fileno (stdout), 1); -			freopen ("CONOUT$", "w", stderr); -			dup2 (fileno (stderr), 2); -		} -	} -#endif -  	gtk_init (&argc, &argv);  	if (!g_option_context_parse (context, &argc, &argv, &error)) @@ -616,7 +535,6 @@ main (int argc, char *argv[])  	g_option_context_free (context); -#ifndef G_OS_WIN32  	pluma_debug_message (DEBUG_APP, "Create bacon connection");  	connection = bacon_message_connection_new ("pluma"); @@ -655,7 +573,6 @@ main (int argc, char *argv[])  	{  		g_warning ("Cannot create the 'pluma' connection.");  	} -#endif  	pluma_debug_message (DEBUG_APP, "Set icon"); @@ -669,14 +586,8 @@ main (int argc, char *argv[])  					   icon_dir);  	g_free (icon_dir); -#ifdef GDK_WINDOWING_X11  	/* Set the associated .desktop file */  	egg_set_desktop_file (DATADIR "/applications/pluma.desktop"); -#else -	/* manually set name and icon */ -	g_set_application_name("Pluma"); -	gtk_window_set_default_icon_name ("accessories-text-editor"); -#endif  	/* Load user preferences */  	pluma_debug_message (DEBUG_APP, "Init prefs manager"); @@ -690,10 +601,6 @@ main (int argc, char *argv[])  	pluma_debug_message (DEBUG_APP, "Init session manager");  	pluma_session_init (); -#ifdef OS_OSX -	ige_mac_menu_set_global_key_handler_enabled (FALSE); -#endif -  	if (pluma_session_is_restored ())  		restored = pluma_session_load (); @@ -735,14 +642,9 @@ main (int argc, char *argv[])  	pluma_debug_message (DEBUG_APP, "Start gtk-main"); -#ifdef OS_OSX -	pluma_osx_init(pluma_app_get_default ()); -#endif  	gtk_main(); -#ifndef G_OS_WIN32  	bacon_message_connection_free (connection); -#endif  	/* We kept the original engine reference here. So let's unref it to  	 * finalize it properly. diff --git a/pluma/smclient/Makefile.am b/pluma/smclient/Makefile.am index 481cd914..56d35d06 100755 --- a/pluma/smclient/Makefile.am +++ b/pluma/smclient/Makefile.am @@ -1,18 +1,7 @@ -if OS_WIN32 -platform_sources = eggsmclient-win32.c -platform_logout_test_ldflags = -mwindows -else -if OS_OSX -platform_defines = -xobjective-c -platform_ldflags = -framework Carbon -platform_sources = eggsmclient-osx.c -else  platform_defines = -DEGG_SM_CLIENT_BACKEND_XSMP  platform_libs = libeggdesktopfile.la  platform_ltlibraries = libeggdesktopfile.la  platform_sources = eggsmclient-xsmp.c -endif -endif  AM_CPPFLAGS =                               \  	-DG_LOG_DOMAIN=\""EggSMClient"\" \ @@ -45,8 +34,6 @@ libeggdesktopfile_la_SOURCES =           \  	eggdesktopfile.h  EXTRA_DIST =                             \ -	eggsmclient-osx.c                \ -	eggsmclient-win32.c              \  	eggsmclient-xsmp.c  -include $(top_srcdir)/git.mk diff --git a/pluma/smclient/eggsmclient-osx.c b/pluma/smclient/eggsmclient-osx.c deleted file mode 100755 index 1ccfa7fd..00000000 --- a/pluma/smclient/eggsmclient-osx.c +++ /dev/null @@ -1,235 +0,0 @@ -/* - * Copyright (C) 2007 Novell, Inc. - * Copyright (C) 2008 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 this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -/* EggSMClientOSX - * - * For details on the OS X logout process, see: - * http://developer.apple.com/documentation/MacOSX/Conceptual/BPSystemStartup/Articles/BootProcess.html#//apple_ref/doc/uid/20002130-114618 - * - * EggSMClientOSX registers for the kAEQuitApplication AppleEvent; the - * handler we register (quit_requested()) will be invoked from inside - * the quartz event-handling code (specifically, from inside - * [NSApplication nextEventMatchingMask]) when an AppleEvent arrives. - * We use AESuspendTheCurrentEvent() and AEResumeTheCurrentEvent() to - * allow asynchronous / non-main-loop-reentering processing of the - * quit request. (These are part of the Carbon framework; it doesn't - * seem to be possible to handle AppleEvents asynchronously from - * Cocoa.) - */ - -#include "config.h" - -#include "eggsmclient-private.h" -#include <glib.h> -#include <Carbon/Carbon.h> -#include <CoreServices/CoreServices.h> - -#define EGG_TYPE_SM_CLIENT_OSX            (egg_sm_client_osx_get_type ()) -#define EGG_SM_CLIENT_OSX(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_OSX, EggSMClientOSX)) -#define EGG_SM_CLIENT_OSX_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_OSX, EggSMClientOSXClass)) -#define EGG_IS_SM_CLIENT_OSX(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_OSX)) -#define EGG_IS_SM_CLIENT_OSX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_OSX)) -#define EGG_SM_CLIENT_OSX_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_OSX, EggSMClientOSXClass)) - -typedef struct _EggSMClientOSX        EggSMClientOSX; -typedef struct _EggSMClientOSXClass   EggSMClientOSXClass; - -struct _EggSMClientOSX { -  EggSMClient parent; - -  AppleEvent quit_event, quit_reply; -  gboolean quit_requested, quitting; -}; - -struct _EggSMClientOSXClass -{ -  EggSMClientClass parent_class; - -}; - -static void     sm_client_osx_startup (EggSMClient *client, -				       const char  *client_id); -static void     sm_client_osx_will_quit (EggSMClient *client, -					 gboolean     will_quit); -static gboolean sm_client_osx_end_session (EggSMClient         *client, -					   EggSMClientEndStyle  style, -					   gboolean  request_confirmation); - -static pascal OSErr quit_requested (const AppleEvent *, AppleEvent *, long); - -G_DEFINE_TYPE (EggSMClientOSX, egg_sm_client_osx, EGG_TYPE_SM_CLIENT) - -static void -egg_sm_client_osx_init (EggSMClientOSX *osx) -{ -  ; -} - -static void -egg_sm_client_osx_class_init (EggSMClientOSXClass *klass) -{ -  EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass); - -  sm_client_class->startup             = sm_client_osx_startup; -  sm_client_class->will_quit           = sm_client_osx_will_quit; -  sm_client_class->end_session         = sm_client_osx_end_session; -} - -EggSMClient * -egg_sm_client_osx_new (void) -{ -  return g_object_new (EGG_TYPE_SM_CLIENT_OSX, NULL); -} - -static void -sm_client_osx_startup (EggSMClient *client, -		       const char  *client_id) -{ -  AEInstallEventHandler (kCoreEventClass, kAEQuitApplication, -			 NewAEEventHandlerUPP (quit_requested), -			 (long)GPOINTER_TO_SIZE (client), false); -} - -static gboolean -idle_quit_requested (gpointer client) -{ -  egg_sm_client_quit_requested (client); -  return FALSE; -} - -static pascal OSErr -quit_requested (const AppleEvent *aevt, AppleEvent *reply, long refcon) -{ -  EggSMClient *client = GSIZE_TO_POINTER ((gsize)refcon); -  EggSMClientOSX *osx = GSIZE_TO_POINTER ((gsize)refcon); - -  g_return_val_if_fail (!osx->quit_requested, userCanceledErr); -     -  /* FIXME AEInteractWithUser? */ - -  osx->quit_requested = TRUE; -  AEDuplicateDesc (aevt, &osx->quit_event); -  AEDuplicateDesc (reply, &osx->quit_reply); -  AESuspendTheCurrentEvent (aevt); - -  /* Don't emit the "quit_requested" signal immediately, since we're -   * called from a weird point in the guts of gdkeventloop-quartz.c -   */ -  g_idle_add (idle_quit_requested, client); -  return noErr; -} - -static pascal OSErr -quit_requested_resumed (const AppleEvent *aevt, AppleEvent *reply, long refcon) -{ -  EggSMClientOSX *osx = GSIZE_TO_POINTER ((gsize)refcon); - -  osx->quit_requested = FALSE; -  return osx->quitting ? noErr : userCanceledErr; -} - -static gboolean -idle_will_quit (gpointer client) -{ -  EggSMClientOSX *osx = (EggSMClientOSX *)client; - -  /* Resume the event with a new handler that will return a value to -   * the system. -   */ -  AEResumeTheCurrentEvent (&osx->quit_event, &osx->quit_reply, -			   NewAEEventHandlerUPP (quit_requested_resumed), -			   (long)GPOINTER_TO_SIZE (client)); -  AEDisposeDesc (&osx->quit_event); -  AEDisposeDesc (&osx->quit_reply); - -  if (osx->quitting) -    egg_sm_client_quit (client); -  return FALSE; -} - -static void -sm_client_osx_will_quit (EggSMClient *client, -			 gboolean     will_quit) -{ -  EggSMClientOSX *osx = (EggSMClientOSX *)client; - -  g_return_if_fail (osx->quit_requested); - -  osx->quitting = will_quit; - -  /* Finish in an idle handler since the caller might have called -   * egg_sm_client_will_quit() from inside the "quit_requested" signal -   * handler, but may not expect the "quit" signal to arrive during -   * the _will_quit() call. -   */ -  g_idle_add (idle_will_quit, client); -} - -static gboolean -sm_client_osx_end_session (EggSMClient         *client, -			   EggSMClientEndStyle  style, -			   gboolean             request_confirmation) -{ -  static const ProcessSerialNumber loginwindow_psn = { 0, kSystemProcess }; -  AppleEvent event = { typeNull, NULL }, reply = { typeNull, NULL }; -  AEAddressDesc target; -  AEEventID id; -  OSErr err; - -  switch (style) -    { -    case EGG_SM_CLIENT_END_SESSION_DEFAULT: -    case EGG_SM_CLIENT_LOGOUT: -      id = request_confirmation ? kAELogOut : kAEReallyLogOut; -      break; -    case EGG_SM_CLIENT_REBOOT: -      id = request_confirmation ? kAEShowRestartDialog : kAERestart; -      break; -    case EGG_SM_CLIENT_SHUTDOWN: -      id = request_confirmation ? kAEShowShutdownDialog : kAEShutDown; -      break; -    } - -  err = AECreateDesc (typeProcessSerialNumber, &loginwindow_psn,  -		      sizeof (loginwindow_psn), &target); -  if (err != noErr) -    { -      g_warning ("Could not create descriptor for loginwindow: %d", err); -      return FALSE; -    } - -  err = AECreateAppleEvent (kCoreEventClass, id, &target, -			    kAutoGenerateReturnID, kAnyTransactionID, -			    &event); -  AEDisposeDesc (&target); -  if (err != noErr) -    { -      g_warning ("Could not create logout AppleEvent: %d", err); -      return FALSE; -    } - -  err = AESend (&event, &reply, kAENoReply, kAENormalPriority, -		kAEDefaultTimeout, NULL, NULL); -  AEDisposeDesc (&event); -  if (err == noErr) -    AEDisposeDesc (&reply); - -  return err == noErr; -} diff --git a/pluma/smclient/eggsmclient-private.h b/pluma/smclient/eggsmclient-private.h index d13035bf..071eb8f0 100755 --- a/pluma/smclient/eggsmclient-private.h +++ b/pluma/smclient/eggsmclient-private.h @@ -33,22 +33,8 @@ void      egg_sm_client_quit_requested (EggSMClient *client);  void      egg_sm_client_quit_cancelled (EggSMClient *client);  void      egg_sm_client_quit           (EggSMClient *client); -#if defined (GDK_WINDOWING_X11) -# ifdef EGG_SM_CLIENT_BACKEND_XSMP  GType        egg_sm_client_xsmp_get_type (void);  EggSMClient *egg_sm_client_xsmp_new      (void); -# endif -# ifdef EGG_SM_CLIENT_BACKEND_DBUS -GType        egg_sm_client_dbus_get_type (void); -EggSMClient *egg_sm_client_dbus_new      (void); -# endif -#elif defined (GDK_WINDOWING_WIN32) -GType        egg_sm_client_win32_get_type (void); -EggSMClient *egg_sm_client_win32_new      (void); -#elif defined (GDK_WINDOWING_QUARTZ) -GType        egg_sm_client_osx_get_type (void); -EggSMClient *egg_sm_client_osx_new      (void); -#endif  G_END_DECLS diff --git a/pluma/smclient/eggsmclient-win32.c b/pluma/smclient/eggsmclient-win32.c deleted file mode 100755 index 7b88fa15..00000000 --- a/pluma/smclient/eggsmclient-win32.c +++ /dev/null @@ -1,353 +0,0 @@ -/* - * Copyright (C) 2007 Novell, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, - * Boston, MA 02110-1301, USA. - */ - -/* EggSMClientWin32 - * - * For details on the Windows XP logout process, see: - * http://msdn.microsoft.com/en-us/library/aa376876.aspx. - * - * Vista adds some new APIs which EggSMClient does not make use of; see - * http://msdn.microsoft.com/en-us/library/ms700677(VS.85).aspx - * - * When shutting down, Windows sends every top-level window a - * WM_QUERYENDSESSION event, which the application must respond to - * synchronously, saying whether or not it will quit. To avoid main - * loop re-entrancy problems (and to avoid having to muck about too - * much with the guts of the gdk-win32 main loop), we watch for this - * event in a separate thread, which then signals the main thread and - * waits for the main thread to handle the event. Since we don't want - * to require g_thread_init() to be called, we do this all using - * Windows-specific thread methods. - * - * After the application handles the WM_QUERYENDSESSION event, - * Windows then sends it a WM_ENDSESSION event with a TRUE or FALSE - * parameter indicating whether the session is or is not actually - * going to end now. We handle this from the other thread as well. - * - * As mentioned above, Vista introduces several additional new APIs - * that don't fit into the (current) EggSMClient API. Windows also has - * an entirely separate shutdown-notification scheme for non-GUI apps, - * which we also don't handle here. - */ - -#include "config.h" - -#include "eggsmclient-private.h" -#include <gdk/gdk.h> - -#define WIN32_LEAN_AND_MEAN -#define UNICODE -#include <windows.h> -#include <process.h> - -#define EGG_TYPE_SM_CLIENT_WIN32            (egg_sm_client_win32_get_type ()) -#define EGG_SM_CLIENT_WIN32(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_SM_CLIENT_WIN32, EggSMClientWin32)) -#define EGG_SM_CLIENT_WIN32_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), EGG_TYPE_SM_CLIENT_WIN32, EggSMClientWin32Class)) -#define EGG_IS_SM_CLIENT_WIN32(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_SM_CLIENT_WIN32)) -#define EGG_IS_SM_CLIENT_WIN32_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), EGG_TYPE_SM_CLIENT_WIN32)) -#define EGG_SM_CLIENT_WIN32_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS ((obj), EGG_TYPE_SM_CLIENT_WIN32, EggSMClientWin32Class)) - -typedef struct _EggSMClientWin32        EggSMClientWin32; -typedef struct _EggSMClientWin32Class   EggSMClientWin32Class; - -struct _EggSMClientWin32 { -  EggSMClient parent; - -  HANDLE message_event, response_event; - -  volatile GSourceFunc event; -  volatile gboolean will_quit; -}; - -struct _EggSMClientWin32Class -{ -  EggSMClientClass parent_class; - -}; - -static void     sm_client_win32_startup (EggSMClient *client, -					 const char  *client_id); -static void     sm_client_win32_will_quit (EggSMClient *client, -					   gboolean     will_quit); -static gboolean sm_client_win32_end_session (EggSMClient         *client, -					     EggSMClientEndStyle  style, -					     gboolean  request_confirmation); - -static GSource *g_win32_handle_source_add (HANDLE handle, GSourceFunc callback, -					gpointer user_data); -static gboolean got_message (gpointer user_data); -static void sm_client_thread (gpointer data); - -G_DEFINE_TYPE (EggSMClientWin32, egg_sm_client_win32, EGG_TYPE_SM_CLIENT) - -static void -egg_sm_client_win32_init (EggSMClientWin32 *win32) -{ -  ; -} - -static void -egg_sm_client_win32_class_init (EggSMClientWin32Class *klass) -{ -  EggSMClientClass *sm_client_class = EGG_SM_CLIENT_CLASS (klass); - -  sm_client_class->startup             = sm_client_win32_startup; -  sm_client_class->will_quit           = sm_client_win32_will_quit; -  sm_client_class->end_session         = sm_client_win32_end_session; -} - -EggSMClient * -egg_sm_client_win32_new (void) -{ -  return g_object_new (EGG_TYPE_SM_CLIENT_WIN32, NULL); -} - -static void -sm_client_win32_startup (EggSMClient *client, -			 const char  *client_id) -{ -  EggSMClientWin32 *win32 = (EggSMClientWin32 *)client; - -  win32->message_event = CreateEvent (NULL, FALSE, FALSE, NULL); -  win32->response_event = CreateEvent (NULL, FALSE, FALSE, NULL); -  g_win32_handle_source_add (win32->message_event, got_message, win32);   -  _beginthread (sm_client_thread, 0, client); -} - -static void -sm_client_win32_will_quit (EggSMClient *client, -			   gboolean     will_quit) -{ -  EggSMClientWin32 *win32 = (EggSMClientWin32 *)client; - -  win32->will_quit = will_quit; -  SetEvent (win32->response_event); -} - -static gboolean -sm_client_win32_end_session (EggSMClient         *client, -			     EggSMClientEndStyle  style, -			     gboolean             request_confirmation) -{ -  UINT uFlags = EWX_LOGOFF; - -  switch (style) -    { -    case EGG_SM_CLIENT_END_SESSION_DEFAULT: -    case EGG_SM_CLIENT_LOGOUT: -      uFlags = EWX_LOGOFF; -      break; -    case EGG_SM_CLIENT_REBOOT: -      uFlags = EWX_REBOOT; -      break; -    case EGG_SM_CLIENT_SHUTDOWN: -      uFlags = EWX_POWEROFF; -      break; -    } - -  /* There's no way to make ExitWindowsEx() show a logout dialog, so -   * we ignore @request_confirmation. -   */ - -#ifdef SHTDN_REASON_FLAG_PLANNED -  ExitWindowsEx (uFlags, SHTDN_REASON_FLAG_PLANNED); -#else -  ExitWindowsEx (uFlags, 0); -#endif - -  return TRUE; -} - - -/* callbacks from logout-listener thread */ - -static gboolean -emit_quit_requested (gpointer smclient) -{ -  gdk_threads_enter (); -  egg_sm_client_quit_requested (smclient); -  gdk_threads_leave (); - -  return FALSE; -} - -static gboolean -emit_quit (gpointer smclient) -{ -  EggSMClientWin32 *win32 = smclient; - -  gdk_threads_enter (); -  egg_sm_client_quit (smclient); -  gdk_threads_leave (); - -  SetEvent (win32->response_event); -  return FALSE; -} - -static gboolean -emit_quit_cancelled (gpointer smclient) -{ -  EggSMClientWin32 *win32 = smclient; - -  gdk_threads_enter (); -  egg_sm_client_quit_cancelled (smclient); -  gdk_threads_leave (); - -  SetEvent (win32->response_event); -  return FALSE; -} - -static gboolean -got_message (gpointer smclient) -{ -  EggSMClientWin32 *win32 = smclient; - -  win32->event (win32); -  return TRUE; -} - -/* Windows HANDLE GSource */ - -typedef struct { -  GSource source; -  GPollFD pollfd; -} GWin32HandleSource; - -static gboolean -g_win32_handle_source_prepare (GSource *source, gint *timeout) -{ -  *timeout = -1; -  return FALSE; -} - -static gboolean -g_win32_handle_source_check (GSource *source) -{ -  GWin32HandleSource *hsource = (GWin32HandleSource *)source; - -  return hsource->pollfd.revents; -} - -static gboolean -g_win32_handle_source_dispatch (GSource *source, GSourceFunc callback, gpointer user_data) -{ -  return (*callback) (user_data); -} - -static void -g_win32_handle_source_finalize (GSource *source) -{ -  ; -} - -GSourceFuncs g_win32_handle_source_funcs = { -  g_win32_handle_source_prepare, -  g_win32_handle_source_check, -  g_win32_handle_source_dispatch, -  g_win32_handle_source_finalize -}; - -static GSource * -g_win32_handle_source_add (HANDLE handle, GSourceFunc callback, gpointer user_data) -{ -  GWin32HandleSource *hsource; -  GSource *source; - -  source = g_source_new (&g_win32_handle_source_funcs, sizeof (GWin32HandleSource)); -  hsource = (GWin32HandleSource *)source; -  hsource->pollfd.fd = (int)handle; -  hsource->pollfd.events = G_IO_IN; -  hsource->pollfd.revents = 0; -  g_source_add_poll (source, &hsource->pollfd); - -  g_source_set_callback (source, callback, user_data, NULL); -  g_source_attach (source, NULL); -  return source; -} - -/* logout-listener thread */ - -LRESULT CALLBACK -sm_client_win32_window_procedure (HWND   hwnd, -				  UINT   message, -				  WPARAM wParam, -				  LPARAM lParam) -{ -  EggSMClientWin32 *win32 = -    (EggSMClientWin32 *)GetWindowLongPtr (hwnd, GWLP_USERDATA); - -  switch (message) -    { -    case WM_QUERYENDSESSION: -      win32->event = emit_quit_requested; -      SetEvent (win32->message_event); - -      WaitForSingleObject (win32->response_event, INFINITE); -      return win32->will_quit; - -    case WM_ENDSESSION: -      if (wParam) -	{ -	  /* The session is ending */ -	  win32->event = emit_quit; -	} -      else -	{ -	  /* Nope, the session *isn't* ending */ -	  win32->event = emit_quit_cancelled; -	} - -      SetEvent (win32->message_event); -      WaitForSingleObject (win32->response_event, INFINITE); - -      return 0; - -    default: -      return DefWindowProc (hwnd, message, wParam, lParam); -    } -} - -static void -sm_client_thread (gpointer smclient) -{ -  HINSTANCE instance; -  WNDCLASSEXW wcl;  -  ATOM klass; -  HWND window; -  MSG msg; - -  instance = GetModuleHandle (NULL); - -  memset (&wcl, 0, sizeof (WNDCLASSEX)); -  wcl.cbSize = sizeof (WNDCLASSEX); -  wcl.lpfnWndProc = sm_client_win32_window_procedure; -  wcl.hInstance = instance; -  wcl.lpszClassName = L"EggSmClientWindow"; -  klass = RegisterClassEx (&wcl); - -  window = CreateWindowEx (0, MAKEINTRESOURCE (klass), -			   L"EggSmClientWindow", 0, -			   10, 10, 50, 50, GetDesktopWindow (), -			   NULL, instance, NULL); -  SetWindowLongPtr (window, GWLP_USERDATA, (LONG_PTR)smclient); - -  /* main loop */ -  while (GetMessage (&msg, NULL, 0, 0)) -    DispatchMessage (&msg); -} diff --git a/pluma/smclient/eggsmclient.c b/pluma/smclient/eggsmclient.c index 0cc3818a..4fc64dad 100755 --- a/pluma/smclient/eggsmclient.c +++ b/pluma/smclient/eggsmclient.c @@ -320,23 +320,7 @@ egg_sm_client_get (void)        if (global_client_mode != EGG_SM_CLIENT_MODE_DISABLED &&  	  !sm_client_disable)  	{ -#if defined (GDK_WINDOWING_WIN32) -	  global_client = egg_sm_client_win32_new (); -#elif defined (GDK_WINDOWING_QUARTZ) -	  global_client = egg_sm_client_osx_new (); -#else -	  /* If both D-Bus and XSMP are compiled in, try XSMP first -	   * (since it supports state saving) and fall back to D-Bus -	   * if XSMP isn't available. -	   */ -# ifdef EGG_SM_CLIENT_BACKEND_XSMP  	  global_client = egg_sm_client_xsmp_new (); -# endif -# ifdef EGG_SM_CLIENT_BACKEND_DBUS -	  if (!global_client) -	    global_client = egg_sm_client_dbus_new (); -# endif -#endif  	}        /* Fallback: create a dummy client, so that callers don't have diff --git a/po/POTFILES.in b/po/POTFILES.in index 65af65a2..88e6b898 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -47,9 +47,6 @@ pluma/pluma-view.c  pluma/pluma-window.c  plugins/changecase/changecase.pluma-plugin.desktop.in  plugins/changecase/pluma-changecase-plugin.c -plugins/checkupdate/checkupdate.pluma-plugin.desktop.in -plugins/checkupdate/pluma-check-update-plugin.c -plugins/checkupdate/org.mate.pluma.plugins.checkupdate.gschema.xml.in.in  plugins/docinfo/docinfo.pluma-plugin.desktop.in  [type: gettext/glade]plugins/docinfo/docinfo.ui  plugins/docinfo/pluma-docinfo-plugin.c diff --git a/tests/document-saver.c b/tests/document-saver.c index 5ac33d54..7e1ceb54 100644 --- a/tests/document-saver.c +++ b/tests/document-saver.c @@ -359,7 +359,6 @@ test_remote ()  	            saver_test_data_new (DEFAULT_REMOTE_URI, "hello world\n\n", NULL));  } -#ifndef G_OS_WIN32  static void  check_permissions (GFile *file,                     guint  permissions) @@ -455,7 +454,6 @@ test_local_permissions ()  	test_permissions (DEFAULT_LOCAL_URI, 0666);  	test_permissions (DEFAULT_LOCAL_URI, 0760);  } -#endif  static void  test_local_unowned_directory () @@ -483,7 +481,6 @@ test_remote_unowned_directory ()  	                                 NULL));  } -#ifndef G_OS_WIN32  static void  test_remote_permissions ()  { @@ -548,8 +545,6 @@ test_remote_unowned_group ()  	test_unowned_group (UNOWNED_GROUP_REMOTE_URI);  } -#endif -  static gboolean  check_unowned_directory ()  { @@ -665,7 +660,6 @@ check_unowned_group ()  		return FALSE;  	} -#ifndef G_OS_WIN32  	if ((g_file_info_get_attribute_uint32 (info, G_FILE_ATTRIBUTE_UNIX_MODE) & ACCESSPERMS) != 0660)  	{  		g_object_unref (unowned); @@ -674,7 +668,6 @@ check_unowned_group ()  		g_object_unref (info);  		return FALSE;  	} -#endif  	g_object_unref (info);  	g_object_unref (unowned); @@ -721,7 +714,6 @@ int main (int   argc,  		/* g_test_add_func ("/document-saver/remote-unowned-group", test_remote_unowned_group); */  	} -#ifndef G_OS_WIN32  	g_test_add_func ("/document-saver/local-permissions", test_local_permissions);  	if (have_unowned_group) @@ -730,7 +722,6 @@ int main (int   argc,  	}  	g_test_add_func ("/document-saver/remote-permissions", test_remote_permissions); -#endif  	return g_test_run ();  } diff --git a/win32/Makefile.am b/win32/Makefile.am deleted file mode 100644 index 879bd02a..00000000 --- a/win32/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -# Stuff to build the Windows installer: -EXTRA_DIST = pluma.iss.in build-installer.sh querymodules.bat - --include $(top_srcdir)/git.mk diff --git a/win32/README b/win32/README deleted file mode 100644 index 1fb95f52..00000000 --- a/win32/README +++ /dev/null @@ -1,17 +0,0 @@ -To create the Windows installer for pluma, ideally all you have to do is to run -the build-installer script, after having installed all dependencies to the -correct places (that means precompiled ones to /, and self-built -ones to /local/). Also, you will need to have Python at C:\Python25. -The Inno Setup compiler (iscc) needs to be in your PATH. - -There are many paths hardcoded to fit my own build environment. Feel free to -generalize the script, to make it more adaptive to other environments. - -The script takes an argument which is the revision number of the installer. If -it is not given, then it uses 1 as revision number. The revision number should -be increased every time the installer for the same pluma version is updated, -and be reset to 1 for a new pluma version. - -Ignacio Casal Quinteiro <[email protected]> - -This script was based in Armin Burgmeier script for glom. diff --git a/win32/build-installer.sh b/win32/build-installer.sh deleted file mode 100644 index 420c6aef..00000000 --- a/win32/build-installer.sh +++ /dev/null @@ -1,258 +0,0 @@ -#!/bin/sh -echo "You need to execute this on a Windows machine within msys (http://www.mingw.org)" -echo "You also need InnoSetup (http://www.innosetup.org) with iscc in your PATH" -echo "You need to have python, pygobject, pycairo and pygtk installed into C:\\Python26" -echo "Make sure pluma and all its dependencies have been installed correctly to /local" -echo "You can specify the paths by yourself:" -echo "./build-installer.sh VERSION GTK_PREFIX PLUMA_PREFIX GTKSOURCEVIEW_PREFIX PYTHON_PREFIX MISC_PREFIX ASPELL_PREFIX WINDOWS_PREFIX" - -# we assume glib, gtk etc were installed in the root while pluma and gtksourceview -# in /local -#FIXME we need to figure out a way for autodetecting this -if test "$#" = 7; then -  _gtk_prefix="$2" -  _gtksourceview_prefix="$3" -  _pluma_prefix="$4" -  _python_prefix="$5" -  _misc_prefix="$6" -  _aspell_prefix="$7" -  _windows_prefix="$8" -else -  _gtk_prefix="/c/gtk" -  _gtksourceview_prefix="/usr/local" -  _pluma_prefix="/usr/local" -  _python_prefix="/c/Python26" -  _misc_prefix="/usr" -  _aspell_prefix="/c/Aspell" -  _windows_prefix="/c/WINDOWS/system32" -fi - -if test "$1" = '--help'; then -  echo "VERSION: The version of the installer" -  echo "GTK_PREFIX: The path for gtk, by default /c/gtk" -  echo "PLUMA_PREFIX: The path for pluma, by default /usr/local" -  echo "GTKSOURCEVIEW_PREFIX: The path for gtksourceview, by default /usr/local" -  echo "PYTHON_PREFIX: The path for python, by default /c/Python25" -  echo "MISC_PREFIX: The path for the rest of dependencies: i.e: enchant: by default /usr" -  echo "ASPELL_PREFIX: The path for Aspell: by default /c/Aspell" -  exit -fi - -revision=$1 -if test "$revision" = ''; then -  echo "Installer revision not provided, assuming 1" -  revision=1 -fi - -echo "Cleanup..." -if test -e installer; then -  rm installer -Rf || exit; -fi - -mkdir -p installer || exit - -echo "Copying the docs..." -mkdir -p installer/pluma/share/doc || exit -cp ../COPYING installer/pluma/share/doc || exit -cp ../AUTHORS installer/pluma/share/doc || exit -cp ../README installer/pluma/share/doc || exit - -echo "Copying gtk DLL files..." - -#----------------------------- gtk ------------------------------------ -mkdir -p installer/gtk/bin - -cp "${_gtk_prefix}/bin/libglib-2.0-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libgio-2.0-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libgmodule-2.0-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libgobject-2.0-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libgthread-2.0-0.dll" installer/gtk/bin || exit - -# TODO: We can probably omit these, as we do not use g_spawn on Windows anymore -cp "${_gtk_prefix}/bin/gspawn-win32-helper.exe" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/gspawn-win32-helper-console.exe" installer/gtk/bin || exit - -cp "${_gtk_prefix}/bin/libatk-1.0-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libcairo-2.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libpng12-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libjpeg-7.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libtiff-3.dll" installer/gtk/bin || exit - -cp "${_gtk_prefix}/bin/libpango-1.0-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libpangocairo-1.0-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libpangowin32-1.0-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libpangoft2-1.0-0.dll" installer/gtk/bin || exit - -cp "${_gtk_prefix}/bin/libgdk-win32-2.0-0.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libgdk_pixbuf-2.0-0.dll" installer/gtk/bin || exit - -cp "${_gtk_prefix}/bin/libgtk-win32-2.0-0.dll" installer/gtk/bin || exit - -cp "${_gtk_prefix}/bin/libgailutil-18.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libfontconfig-1.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/libexpat-1.dll" installer/gtk/bin || exit -cp "${_gtk_prefix}/bin/freetype6.dll" installer/gtk/bin || exit - -echo "Stripping DLL files..." -strip installer/gtk/bin/*.dll || exit -strip installer/gtk/bin/*.exe || exit - -#Copy zlib1 after stripping, as we strip this library it makes crash pluma -cp "${_gtk_prefix}/bin/zlib1.dll" installer/gtk/bin || exit - -#-------------------------------- pluma ------------------------------------ -echo "Copying misc DLL files..." -mkdir -p installer/pluma/bin - -cp "${_misc_prefix}/bin/libgettextpo-0.dll" installer/pluma/bin || exit - -cp "${_misc_prefix}/bin/libMateCORBA-2-0.dll" installer/pluma/bin || exit -cp "${_misc_prefix}/bin/libMateCORBACosNaming-2-0.dll" installer/pluma/bin || exit -cp "${_misc_prefix}/bin/libMateCORBA-imodule-2-0.dll" installer/pluma/bin || exit - -cp "${_misc_prefix}/bin/libmateconf-2-4.dll" installer/pluma/bin || exit - -cp "${_misc_prefix}/bin/libenchant.dll" installer/pluma/bin || exit -cp "${_misc_prefix}/bin/libsoup-2.4-1.dll" installer/pluma/bin || exit - -cp "${_gtksourceview_prefix}/bin/libgtksourceview-2.0-0.dll" installer/pluma/bin || exit - -echo "Stripping DLL files..." -strip installer/pluma/bin/*.dll || exit - - -# stripping libxml2.dll renders it unusable (although not changing it in size). -# We therefore copy it after having stripped the rest. Same with the other DLLs -# here. Perhaps those were built with MSVC. -cp "${_misc_prefix}/bin/libxml2-2.dll" installer/pluma/bin || exit -cp "${_misc_prefix}/bin/intl.dll" installer/pluma/bin || exit -cp "${_misc_prefix}/bin/iconv.dll" installer/pluma/bin || exit - - -echo "Copying Python..." - -# TODO: Find out Windows directory somehow, we should use WINDIR substuting c:\? -cp ${_windows_prefix}/python26.dll installer/pluma/bin || exit - -# We through all python modules into python/. pluma sets PYTHONPATH accordingly. -mkdir -p installer/python || exit - -# Copy the dlls needed to run python -cp -R ${_python_prefix}/DLLs installer/python || exit - -# TODO: Perhaps some scripts need more python modules. -mkdir -p installer/python/Lib || exit -cp ${_python_prefix}/Lib/*.py installer/python/Lib || exit - -mkdir -p installer/python/Lib/encodings || exit -cp ${_python_prefix}/Lib/encodings/*.py installer/python/Lib/encodings || exit - -cp -R ${_python_prefix}/Lib/site-packages installer/python/Lib || exit - -cp -R ${_python_prefix}/Lib/xml installer/python/Lib || exit - -mkdir -p installer/python/Lib/sqlite3 || exit -cp ${_python_prefix}/Lib/sqlite3/*.py installer/python/Lib/sqlite3 || exit - -echo "Copying modules..." - -cp "${_gtk_prefix}/bin/gtk-query-immodules-2.0.exe" installer/gtk/bin || exit - -mkdir -p installer/gtk/lib/gtk-2.0/2.10.0/engines || exit -cp "${_gtk_prefix}/lib/gtk-2.0/2.10.0/engines/libwimp.dll" installer/gtk/lib/gtk-2.0/2.10.0/engines || exit -strip installer/gtk/lib/gtk-2.0/2.10.0/engines/libwimp.dll || exit - -mkdir -p installer/gtk/lib/gtk-2.0/2.10.0/loaders || exit -cp "${_gtk_prefix}/lib/gtk-2.0/2.10.0/loaders/"*.dll installer/gtk/lib/gtk-2.0/2.10.0/loaders || exit -strip installer/gtk/lib/gtk-2.0/2.10.0/loaders/*.dll || exit -cp "${_gtk_prefix}/bin/gdk-pixbuf-query-loaders.exe" installer/gtk/bin || exit - -# Gail -mkdir -p installer/gtk/lib/gtk-2.0/modules || exit -cp "${_gtk_prefix}/lib/gtk-2.0/modules/libgail.dll" installer/gtk/lib/gtk-2.0/modules || exit -strip installer/gtk/lib/gtk-2.0/modules/libgail.dll - -# TODO: Can we omit this? -mkdir -p installer/gtk/etc/gtk-2.0 -#cp "${_gtk_prefix}/etc/gtk-2.0/gtk.immodules" installer/etc/gtk-2.0 || exit -1 -cp "${_gtk_prefix}/etc/gtk-2.0/gdk-pixbuf.loaders" installer/gtk/etc/gtk-2.0 || exit -1 - -mkdir -p installer/gtk/share/themes || exit -cp -R "${_gtk_prefix}/share/themes/MS-Windows" installer/gtk/share/themes || exit -mkdir -p installer/gtk/etc/gtk-2.0 || exit -echo "gtk-theme-name = \"MS-Windows\"" > installer/gtk/etc/gtk-2.0/gtkrc || exit - -# Enchant -mkdir -p installer/pluma/lib/enchant || exit -cp "${_misc_prefix}/lib/enchant/"* installer/pluma/lib/enchant || exit -strip installer/pluma/lib/enchant/*.dll || exit -mkdir -p installer/pluma/share/enchant || exit -cp "${_misc_prefix}/share/enchant/"* installer/pluma/share/enchant || exit - -# Iso codes -mkdir -p installer/pluma/share/iso-codes || exit -cp "${_misc_prefix}/share/iso-codes/"* installer/pluma/share/iso-codes || exit -mkdir -p installer/pluma/share/xml/iso-codes || exit -cp "${_misc_prefix}/share/xml/iso-codes/"* installer/pluma/share/xml/iso-codes || exit - -echo "Copying locales..." - -# We need to keep the locale files from share/locale in share/locale and those -# from lib/locale in lib/locale: -mkdir -p installer/locale/share/ || exit -cp "${_gtk_prefix}/share/locale" installer/locale/share/ -R || exit -cp "${_pluma_prefix}/share/locale" installer/locale/share/ -R || exit -cp "${_misc_prefix}/share/locale" installer/locale/share/ -R || exit - -find installer/locale/share/locale/ -type f | grep -v atk10.mo | grep -v gtk20.mo | grep -v MateConf2.mo | grep -v glib20.mo | grep -v pluma.mo | grep -v gtk20.mo | grep -v gtk20-properties.mo | grep -v gtksourceview-2.0.mo | grep -v iso_*.mo | xargs rm -find installer/locale/share/locale -type d | xargs rmdir -p --ignore-fail-on-non-empty - -echo "Copying executable..." -cp "${_pluma_prefix}/bin/pluma.exe" installer/pluma/bin || exit -strip installer/pluma/bin/pluma.exe || exit - - -echo "Copying shared data (ui files, icons, etc.)..." - -mkdir -p installer/pluma/share/gtksourceview-2.0 || exit -cp -R "${_gtksourceview_prefix}/share/gtksourceview-2.0/language-specs" installer/pluma/share/gtksourceview-2.0 || exit -cp -R "${_gtksourceview_prefix}/share/gtksourceview-2.0/styles" installer/pluma/share/gtksourceview-2.0 || exit - -#GtkBuilder files and xml files -mkdir -p installer/pluma/share/pluma/ui || exit -cp "${_pluma_prefix}/share/pluma/ui/"* installer/pluma/share/pluma/ui || exit - -#Icons & logo -mkdir -p installer/pluma/share/pluma/icons || exit -cp "${_pluma_prefix}/share/pluma/icons/pluma-plugin.png" installer/pluma/share/pluma/icons || exit - -#Plugins -mkdir -p installer/pluma/share/pluma/plugins || exit -cp -R "${_pluma_prefix}/share/pluma/plugins/"* installer/pluma/share/pluma/plugins || exit -mkdir -p installer/pluma/lib/pluma/plugins || exit -cp -R "${_pluma_prefix}/lib/pluma/plugins/"* installer/pluma/lib/pluma/plugins || exit -mkdir -p installer/pluma/lib/pluma/plugin-loaders || exit -cp -R "${_pluma_prefix}/lib/pluma/plugin-loaders/"* installer/pluma/lib/pluma/plugin-loaders || exit - -#MateConf -mkdir -p installer/pluma/etc/mateconf/schemas || exit -cp "${_pluma_prefix}/etc/mateconf/schemas/"* installer/pluma/etc/mateconf/schemas || exit -cp -R "${_misc_prefix}/etc/mateconf/"* installer/pluma/etc/mateconf/ || exit -mkdir -p installer/pluma/lib/MateConf/2 -cp "${_misc_prefix}/lib/MateConf/2/"* installer/pluma/lib/MateConf/2 || exit -strip installer/pluma/lib/MateConf/2/*.dll || exit -mkdir -p installer/pluma/libexec || exit -cp "${_misc_prefix}/libexec/mateconfd-2.exe" installer/pluma/libexec || exit - -#Aspell -mkdir -p installer/pluma/data || exit -cp "${_aspell_prefix}/data/"* installer/pluma/data || exit -cp "${_aspell_prefix}/bin/aspell-15.dll" installer/pluma/bin/libaspell-15.dll || exit - -echo "Creating installer..." - -perl -pe "s/INSTALLERREVISION/$revision/" pluma.iss > installer/pluma.iss || exit -#cp installer || exit -iscc installer/pluma.iss || exit - -echo "Done" diff --git a/win32/pluma.iss.in b/win32/pluma.iss.in deleted file mode 100644 index c480376d..00000000 --- a/win32/pluma.iss.in +++ /dev/null @@ -1,60 +0,0 @@ -[Setup] -AppName=pluma -AppVerName=pluma @VERSION@ -DefaultDirName={pf}\pluma -DefaultGroupName=pluma -UninstallDisplayIcon={app}\pluma.exe -Uninstallable=yes -AppPublisher=MATE -AppPublisherURL=http:\\www.mate-desktop.org\ -AppVersion=@VERSION@ -OutputBaseFilename=pluma-setup-@VERSION@-INSTALLERREVISION -LicenseFile=pluma\share\doc\COPYING - -[Components] -Name: "gtk"; Description: "GTK+ runtime environment"; Types: full compact custom; Flags: fixed -Name: "main"; Description: "Pluma"; Types: full compact custom; Flags: fixed - -; TODO: Enable languages separately -Name: "python"; Description: "Python runtime and modules"; Types: full compact custom; Flags: fixed -Name: "locale"; Description: "Translations"; Types: full compact custom; Flags: fixed - -[Tasks] -Name: common; Description: "For all users"; Components: main; Flags: exclusive -Name: user; Description: "For the current user only"; Components: main; Flags: exclusive unchecked -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked -Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked - -[Icons] -; Common task icons -Name: "{commonprograms}\{groupname}\pluma"; Filename: "{app}\bin\pluma.exe"; Tasks: common -Name: "{commonprograms}\{groupname}\Uninstall pluma"; Filename: "{uninstallexe}"; Tasks: common -Name: "{commondesktop}\pluma"; Filename: "{app}\bin\pluma.exe"; Tasks: desktopicon -Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\pluma"; Filename: "{app}\bin\pluma.exe"; Tasks: quicklaunchicon - -; User task icons -Name: "{userprograms}\{groupname}\pluma"; Filename: "{app}\bin\pluma.exe"; Tasks: user -Name: "{userprograms}\{groupname}\Uninstall pluma"; Filename: "{uninstallexe}"; Tasks: user - -[Files] - -; All files -Source: "gtk\*"; DestDir: "{app}\"; Components: gtk; Flags: recursesubdirs -Source: "pluma\*"; DestDir: "{app}\"; Components: main; Flags: recursesubdirs -Source: "python\*"; DestDir: "{app}\bin"; Components: python; Flags: recursesubdirs -Source: "locale\*"; DestDir: "{app}\"; Components: locale; Flags: recursesubdirs - -[Run] -Filename: "{app}\bin\querymodules.bat"; StatusMsg: "Querying modules..."; Flags: runhidden - -[Code] -{ Remove generated files not generated by the installer } - -// Skip Components selection, all components are required anyway -function ShouldSkipPage(CurPageID: Integer): Boolean; -begin -	if CurPageID = wpSelectComponents then -		Result := True -	else -		Result := False; -end; diff --git a/win32/querymodules.bat b/win32/querymodules.bat deleted file mode 100644 index 0cea96f6..00000000 --- a/win32/querymodules.bat +++ /dev/null @@ -1,3 +0,0 @@ -rem pango-querymodules.exe > ../etc/pango/pango.modules -gdk-pixbuf-query-loaders.exe > ../etc/gtk-2.0/gdk-pixbuf.loaders -gtk-query-immodules-2.0.exe > ../etc/gtk-2.0/gtk.immodules  | 
