Hello community, here is the log from the commit of package eog-plugins for openSUSE:Factory checked in at Mon Jul 11 10:01:09 CEST 2011.
-------- --- GNOME/eog-plugins/eog-plugins.changes 2011-04-28 14:03:31.000000000 +0200 +++ /mounts/work_src_done/STABLE/eog-plugins/eog-plugins.changes 2011-07-09 18:54:18.000000000 +0200 @@ -1,0 +2,12 @@ +Sat Jul 9 18:38:23 CEST 2011 - [email protected] + +- Update to version 3.1.1: + + Python Console + - Install code files into subfolder for a cleaner plugin folder + + PicasaWeb Uploader + - Port to libpeas-base plugin API + + Updated translations. +- Comment pkgconfig(libgdata) BuildRequires as the postasa plugin + doesn't build with libgdata 0.9.x (bgo#654302). + +------------------------------------------------------------------- calling whatdependson for head-i586 Old: ---- eog-plugins-3.0.0.tar.bz2 New: ---- eog-plugins-3.1.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ eog-plugins.spec ++++++ --- /var/tmp/diff_new_pack.ROHAXI/_old 2011-07-11 09:59:31.000000000 +0200 +++ /var/tmp/diff_new_pack.ROHAXI/_new 2011-07-11 09:59:31.000000000 +0200 @@ -18,14 +18,15 @@ Name: eog-plugins -Version: 3.0.0 +Version: 3.1.1 Release: 1 +#FIXME: on update to new version (last checked: 3.1.1), re-enable libgdata BuildRequires (see bgo#654302) #FIXME: add postr BuildRequires when we have a package License: GPLv2+ Summary: A collection of plugins for Eye of GNOME Group: Productivity/Graphics/Viewers Url: http://live.gnome.org/EyeOfGnome/Plugins -Source: %{name}-%{version}.tar.bz2 +Source: http://download.gnome.org/sources/eog-plugins/3.1/%{name}-%{version}.tar.bz2 BuildRequires: fdupes BuildRequires: intltool BuildRequires: translation-update-upstream @@ -34,7 +35,7 @@ BuildRequires: pkgconfig(eog) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libexif) -BuildRequires: pkgconfig(libgdata) +#BuildRequires: pkgconfig(libgdata) BuildRequires: pkgconfig(libpeas-1.0) BuildRequires: pkgconfig(pygobject-2.0) Requires: %{name}-lang = %{version} @@ -78,6 +79,7 @@ %{_libdir}/eog/plugins/*.so %{_libdir}/eog/plugins/exif-display/ #%{_libdir}/eog/plugins/postasa/ +%{_libdir}/eog/plugins/pythonconsole/ # Explicit list of plugins %{_libdir}/eog/plugins/exif-display.plugin %{_libdir}/eog/plugins/fit-to-width.plugin ++++++ eog-plugins-3.0.0.tar.bz2 -> eog-plugins-3.1.1.tar.bz2 ++++++ ++++ 1860 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/ChangeLog new/eog-plugins-3.1.1/ChangeLog --- old/eog-plugins-3.0.0/ChangeLog 2011-04-22 12:25:22.000000000 +0200 +++ new/eog-plugins-3.1.1/ChangeLog 2011-07-09 15:10:32.000000000 +0200 @@ -1,5 +1,89 @@ # Generated by Makefile. Do not edit. +commit 200b013ccf6e4fee6f9b107c13d87ee5d5d87381 +Author: Felix Riemann <[email protected]> +Date: Sat Jul 9 15:09:55 2011 +0200 + + Prepare for release 3.1.1 + + NEWS | 15 +++++++++++++++ + 1 files changed, 15 insertions(+), 0 deletions(-) + +commit 1e42928ff43069e7bb6c63ee4ae2eb6538e95bd1 +Author: Felix Riemann <[email protected]> +Date: Thu Jun 23 18:03:16 2011 +0200 + + [postasa] Fix intltool configuration + + po/POTFILES.in | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit 072a6cf00efe89f3e8b7dda469d383b3e8377512 +Author: Felix Riemann <[email protected]> +Date: Thu Jun 23 17:55:57 2011 +0200 + + [postasa] Reenable plugin in configure + + This completes the porting of the old plugins to the libpeas-based API. + + configure.ac | 7 ------- + 1 files changed, 0 insertions(+), 7 deletions(-) + +commit a56dee5d9734a6047502bc17083ecf8ae5c7c0de +Author: Felix Riemann <[email protected]> +Date: Thu Jun 23 17:26:23 2011 +0200 + + [postasa] Port to libpeas plugin API + + Leaves out the configuration dialog option for now as it only displays + the login dialog which is shown anyway if needed. + + plugins/postasa/Makefile.am | 6 +- + plugins/postasa/eog-postasa-plugin.c | 246 +++++++++++--------- + plugins/postasa/eog-postasa-plugin.h | 9 +- + ...plugin.desktop.in => postasa.plugin.desktop.in} | 2 +- + 4 files changed, 147 insertions(+), 116 deletions(-) + +commit fb4bab48731aa44600b920cf5c53fbd531abe5f2 +Author: Felix Riemann <[email protected]> +Date: Thu Jun 23 15:25:33 2011 +0200 + + [pythonconsole] Install python scripts into their own subdirectory + + Helps keeping the plugin folder clean. + + plugins/pythonconsole/Makefile.am | 5 +++-- + .../{pythonconsole.py => __init__.py} | 0 + 2 files changed, 3 insertions(+), 2 deletions(-) + +commit 71d4c19d440a641ba359b2852dbf1a43121dc727 +Author: Felix Riemann <[email protected]> +Date: Thu Jun 23 15:27:33 2011 +0200 + + Update version number for development path + + configure.ac | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +commit ab77397e7614d06c1b1ee4c978052d1fe2e64ff9 +Author: Yuri Myasoedov <[email protected]> +Date: Tue Jun 7 20:04:10 2011 +0400 + + Added Russian translation + + po/LINGUAS | 1 + + po/ru.po | 252 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 253 insertions(+), 0 deletions(-) + +commit d7a1d6d892594cfdf42f58a1de638f2a44f847d1 +Author: Felix Riemann <[email protected]> +Date: Fri Apr 22 12:26:39 2011 +0200 + + Post-release version bump + + configure.ac | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + commit 87585fafddbc3a6f79e032d900c1ed182fc25dbd Author: Felix Riemann <[email protected]> Date: Fri Apr 22 12:21:06 2011 +0200 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/INSTALL new/eog-plugins-3.1.1/INSTALL --- old/eog-plugins-3.0.0/INSTALL 2009-09-08 12:48:04.000000000 +0200 +++ new/eog-plugins-3.1.1/INSTALL 1970-01-01 01:00:00.000000000 +0100 @@ -1,302 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009 Free Software Foundation, Inc. - - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. - -Basic Installation -================== - - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 6. Often, you can also type `make uninstall' to remove the installed - files again. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - -Installation Names -================== - - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `<wchar.h>' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--prefix=DIR' - Use DIR as the installation prefix. *Note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/NEWS new/eog-plugins-3.1.1/NEWS --- old/eog-plugins-3.0.0/NEWS 2011-04-22 12:17:08.000000000 +0200 +++ new/eog-plugins-3.1.1/NEWS 2011-07-09 15:09:38.000000000 +0200 @@ -1,3 +1,18 @@ +Version 3.1.1 +------------- + +Plugin changes: + +- Python Console + - Install code files into subfolder for a cleaner plugin folder (Felix Riemann) + +- PicasaWeb Uploader + - Port to libpeas-base plugin API (Felix Riemann) + +New and updated translations: + +- Yuri Myasoedov [ru] + Version 3.0.0 ------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/configure.ac new/eog-plugins-3.1.1/configure.ac --- old/eog-plugins-3.0.0/configure.ac 2011-04-22 12:17:20.000000000 +0200 +++ new/eog-plugins-3.1.1/configure.ac 2011-07-09 15:04:49.000000000 +0200 @@ -3,7 +3,7 @@ EOG_MAJOR=3.0.0 EOG_PLUGINS_MAJOR=3.0.0 -AC_INIT([eog-plugins], [3.0.0], [http://bugzilla.gnome.org/enter_bug.cgi?product=eog&component=plugins]) +AC_INIT([eog-plugins], [3.1.1], [http://bugzilla.gnome.org/enter_bug.cgi?product=eog&component=plugins]) AC_CONFIG_SRCDIR([plugins]) AC_PREFIX_PROGRAM([eog]) @@ -212,13 +212,6 @@ done fi -# Disable plugins that are not yet ported to eog-3.0 -UNPORTED_PLUGINS="postasa" -for pl in $UNPORTED_PLUGINS -do - undef_plugin "$pl" "not yet ported to 3.0" -done - # ***** # Postr # ***** diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/plugins/postasa/Makefile.am new/eog-plugins-3.1.1/plugins/postasa/Makefile.am --- old/eog-plugins-3.0.0/plugins/postasa/Makefile.am 2011-02-05 18:40:38.000000000 +0100 +++ new/eog-plugins-3.1.1/plugins/postasa/Makefile.am 2011-06-23 17:01:44.000000000 +0200 @@ -25,15 +25,15 @@ # Plugin Info -plugin_in_files = postasa.eog-plugin.desktop.in +plugin_in_files = postasa.plugin.desktop.in UI_FILES = postasa-config.xml postasa-uploads.xml ui_DATA = $(UI_FILES) uidir = $(plugindir)/postasa -%.eog-plugin: %.eog-plugin.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(AM_V_GEN)$(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache +%.plugin: %.plugin.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(AM_V_GEN)$(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache -plugin_DATA = $(plugin_in_files:.eog-plugin.desktop.in=.eog-plugin) +plugin_DATA = $(plugin_in_files:.plugin.desktop.in=.plugin) EXTRA_DIST = $(plugin_in_files) $(UI_FILES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/plugins/postasa/eog-postasa-plugin.c new/eog-plugins-3.1.1/plugins/postasa/eog-postasa-plugin.c --- old/eog-plugins-3.0.0/plugins/postasa/eog-postasa-plugin.c 2011-02-05 18:40:38.000000000 +0100 +++ new/eog-plugins-3.1.1/plugins/postasa/eog-postasa-plugin.c 2011-07-09 15:04:49.000000000 +0200 @@ -34,16 +34,26 @@ #include <eog/eog-debug.h> #include <eog/eog-thumb-view.h> #include <eog/eog-image.h> +#include <eog/eog-window-activatable.h> #include <gdata/gdata.h> -#define WINDOW_DATA_KEY "EogPostasaWindowData" - #define GTKBUILDER_CONFIG_FILE EOG_PLUGINDIR"/postasa/postasa-config.xml" #define GTKBUILDER_UPLOAD_FILE EOG_PLUGINDIR"/postasa/postasa-uploads.xml" #define DEFAULT_THUMBNAIL EOG_PLUGINDIR"/postasa/default.png" -EOG_PLUGIN_REGISTER_TYPE(EogPostasaPlugin, eog_postasa_plugin) +enum { + PROP_O, + PROP_WINDOW +}; + +static void +eog_window_activatable_iface_init (EogWindowActivatableInterface *iface); + +G_DEFINE_DYNAMIC_TYPE_EXTENDED (EogPostasaPlugin, eog_postasa_plugin, + PEAS_TYPE_EXTENSION_BASE, 0, + G_IMPLEMENT_INTERFACE_DYNAMIC(EOG_TYPE_WINDOW_ACTIVATABLE, + eog_window_activatable_iface_init)) /** * _EogPostasaPluginPrivate: @@ -53,6 +63,10 @@ struct _EogPostasaPluginPrivate { EogWindow *eog_window; + GtkActionGroup *ui_action_group; + guint ui_id; + + GDataPicasaWebService *service; GCancellable *login_cancellable; @@ -71,20 +85,6 @@ }; /** - * WindowData: - * - * Data we'll associate with the window, describing the action group - * as well as the plugin, so we'll be able to access it even from the - * #GtkActionEntry's callback. - **/ -typedef struct -{ - GtkActionGroup *ui_action_group; - guint ui_id; - EogPostasaPlugin *plugin; -} WindowData; - -/** * PicasaWebUploadFileAsyncData: * * Small chunk of data for use by our asynchronous PicasaWeb upload @@ -101,7 +101,7 @@ GFile *imgfile; } PicasaWebUploadFileAsyncData; -static void picasaweb_upload_cb (GtkAction *action, EogWindow *window); +static void picasaweb_upload_cb (GtkAction *action, EogPostasaPlugin *plugin); static GtkWidget *login_get_dialog (EogPostasaPlugin *plugin); static gboolean login_dialog_close (EogPostasaPlugin *plugin); @@ -319,7 +319,7 @@ 4, cancellable, 5, _("Uploading..."), -1); /* TODO: where should cancellabe, scaled_pixbuf be unref'd? don't worry about it since - they'll exist until EoG exits anyway? or in eog_postasa_plugin_finalize()? */ + they'll exist until EoG exits anyway? or in eog_postasa_plugin_dispose()? */ g_free (uri); g_free (size); g_object_unref (scaled_pixbuf); @@ -626,20 +626,22 @@ **/ static void picasaweb_upload_cb (GtkAction *action, - EogWindow *window) + EogPostasaPlugin *plugin) { - WindowData *data = g_object_get_data (G_OBJECT (window), WINDOW_DATA_KEY); - EogPostasaPlugin *plugin = data->plugin; + EogPostasaPluginPrivate *priv; - if (gdata_service_is_authenticated (GDATA_SERVICE (plugin->priv->service)) == TRUE) { + g_return_if_fail (EOG_IS_POSTASA_PLUGIN (plugin)); + + priv = plugin->priv; + if (gdata_service_is_authenticated (GDATA_SERVICE (priv->service)) == TRUE) { picasaweb_upload_files (plugin); } else { /* when the dialog closes, it checks if this is set to see if it should upload anything */ - plugin->priv->uploads_pending = TRUE; + priv->uploads_pending = TRUE; login_get_dialog (plugin); - gtk_label_set_text (plugin->priv->login_message, _("Please log in to continue upload.")); - gtk_window_present (GTK_WINDOW (plugin->priv->login_dialog)); + gtk_label_set_text (priv->login_message, _("Please log in to continue upload.")); + gtk_window_present (GTK_WINDOW (priv->login_dialog)); } } @@ -740,35 +742,6 @@ /*** EogPlugin Functions ***/ /** - * free_window_data: - * - * This handles destruction of the #WindowData we define for this plugin. - **/ -static void -free_window_data (WindowData *data) -{ - eog_debug (DEBUG_PLUGINS); - - g_return_if_fail (data != NULL); - g_object_unref (data->ui_action_group); - g_free (data); -} - -/** - * impl_create_config_dialog: - * - * Plugin hook for obtaining the configure/preferences dialog. In - * this case, it's just our Login dialog. In the future, it might - * include an album chooser, if there's demand. - **/ -static GtkWidget * -impl_create_config_dialog (EogPlugin *_plugin) -{ - EogPostasaPlugin *plugin = EOG_POSTASA_PLUGIN (_plugin); - return GTK_WIDGET (login_get_dialog (plugin)); -} - -/** * impl_activate: * * Plugin hook for plugin activation. Creates #WindowData for the @@ -776,31 +749,30 @@ * some UI. **/ static void -impl_activate (EogPlugin *_plugin, - EogWindow *window) +impl_activate (EogWindowActivatable *activatable) { + EogPostasaPlugin *plugin = EOG_POSTASA_PLUGIN (activatable); + EogPostasaPluginPrivate *priv = plugin->priv; GtkUIManager *manager; - WindowData *data; - EogPostasaPlugin *plugin = EOG_POSTASA_PLUGIN (_plugin); + EogWindow *window; eog_debug (DEBUG_PLUGINS); - plugin->priv->eog_window = window; + window = priv->eog_window; - data = g_new (WindowData, 1); /* free'd by free_window_data() when window object is destroyed */ - data->plugin = EOG_POSTASA_PLUGIN (plugin); /* circular references, fun */ - data->ui_action_group = gtk_action_group_new ("EogPostasaPluginActions"); /* freed with WindowData in free_window_data() */ - gtk_action_group_set_translation_domain (data->ui_action_group, GETTEXT_PACKAGE); - gtk_action_group_add_actions (data->ui_action_group, action_entries, G_N_ELEMENTS (action_entries), window); + priv->ui_action_group = gtk_action_group_new ("EogPostasaPluginActions"); + gtk_action_group_set_translation_domain (priv->ui_action_group, + GETTEXT_PACKAGE); + gtk_action_group_add_actions (priv->ui_action_group, + action_entries, + G_N_ELEMENTS (action_entries), plugin); manager = eog_window_get_ui_manager (window); /* do not unref */ - gtk_ui_manager_insert_action_group (manager, data->ui_action_group, -1); - data->ui_id = gtk_ui_manager_add_ui_from_string (manager, + gtk_ui_manager_insert_action_group (manager, priv->ui_action_group, -1); + priv->ui_id = gtk_ui_manager_add_ui_from_string (manager, ui_definition, -1, NULL); - g_warn_if_fail (data->ui_id != 0); - - g_object_set_data_full (G_OBJECT (window), WINDOW_DATA_KEY, data, (GDestroyNotify) free_window_data); + g_warn_if_fail (priv->ui_id != 0); } /** @@ -809,38 +781,23 @@ * Plugin hook for plugin deactivation. Removes UI and #WindowData **/ static void -impl_deactivate (EogPlugin *plugin, - EogWindow *window) +impl_deactivate (EogWindowActivatable *activatable) { + EogPostasaPlugin *plugin = EOG_POSTASA_PLUGIN (activatable); + EogPostasaPluginPrivate *priv = plugin->priv; GtkUIManager *manager; - WindowData *data; eog_debug (DEBUG_PLUGINS); - manager = eog_window_get_ui_manager (window); - - data = (WindowData *) g_object_get_data (G_OBJECT (window), WINDOW_DATA_KEY); - g_return_if_fail (data != NULL); + manager = eog_window_get_ui_manager (priv->eog_window); - gtk_ui_manager_remove_ui (manager, data->ui_id); - gtk_ui_manager_remove_action_group (manager, data->ui_action_group); + gtk_ui_manager_remove_ui (manager, priv->ui_id); + gtk_ui_manager_remove_action_group (manager, priv->ui_action_group); - g_object_set_data (G_OBJECT (window), WINDOW_DATA_KEY, NULL); /* TODO: does doing this interfere with the GDestroyNotify - set in impl_activate()? It's how it was done in Postr... */ + priv->ui_action_group = NULL; + priv->ui_id = 0; } -/** - * impl_update_ui: - * - * Plugin hook for updating the UI. I don't think we do anything of use in here. - **/ -static void -impl_update_ui (EogPlugin *plugin, - EogWindow *window) -{ -} - - /*** GObject Functions ***/ /** @@ -856,30 +813,83 @@ eog_debug_message (DEBUG_PLUGINS, "EogPostasaPlugin initializing"); plugin->priv = G_TYPE_INSTANCE_GET_PRIVATE (plugin, EOG_TYPE_POSTASA_PLUGIN, EogPostasaPluginPrivate); - plugin->priv->service = gdata_picasaweb_service_new ("EogPostasa"); /* unref'd in eog_postasa_plugin_finalize() */ - plugin->priv->login_cancellable = g_cancellable_new (); /* unref'd in eog_postasa_plugin_finalize() */ + plugin->priv->service = gdata_picasaweb_service_new ("EogPostasa"); /* unref'd in eog_postasa_plugin_dispose() */ + plugin->priv->login_cancellable = g_cancellable_new (); /* unref'd in eog_postasa_plugin_dispose() */ plugin->priv->uploads_pending = FALSE; } /** - * eog_postasa_plugin_finalize: + * eog_postasa_plugin_dispose: * * Cleans up the #EogPostasaPlugin object, unref'ing its #GDataPicasaWebService and #GCancellable. **/ static void -eog_postasa_plugin_finalize (GObject *_plugin) +eog_postasa_plugin_dispose (GObject *_plugin) { EogPostasaPlugin *plugin = EOG_POSTASA_PLUGIN (_plugin); - eog_debug_message (DEBUG_PLUGINS, "EogPostasaPlugin finalizing"); + eog_debug_message (DEBUG_PLUGINS, "EogPostasaPlugin disposing"); - g_object_unref (plugin->priv->service); - g_object_unref (plugin->priv->login_cancellable); - if (G_IS_OBJECT (plugin->priv->uploads_store)) + if (plugin->priv->service) { + g_object_unref (plugin->priv->service); + plugin->priv->service = NULL; + } + if (plugin->priv->login_cancellable) { + g_object_unref (plugin->priv->login_cancellable); + plugin->priv->login_cancellable = NULL; + } + if (G_IS_OBJECT (plugin->priv->uploads_store)) { /* we check in case the upload window was never created */ g_object_unref (plugin->priv->uploads_store); + plugin->priv->uploads_store = NULL; + } + + if (plugin->priv->eog_window) { + g_object_unref (plugin->priv->eog_window); + plugin->priv->eog_window = NULL; + } - G_OBJECT_CLASS (eog_postasa_plugin_parent_class)->finalize (_plugin); + G_OBJECT_CLASS (eog_postasa_plugin_parent_class)->dispose (_plugin); +} + +static void +eog_postasa_plugin_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + EogPostasaPlugin *plugin = EOG_POSTASA_PLUGIN (object); + + switch (prop_id) + { + case PROP_WINDOW: + g_value_set_object (value, plugin->priv->eog_window); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +eog_postasa_plugin_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + EogPostasaPlugin *plugin = EOG_POSTASA_PLUGIN (object); + + switch (prop_id) + { + case PROP_WINDOW: + plugin->priv->eog_window = EOG_WINDOW (g_value_dup_object (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } /** @@ -891,14 +901,34 @@ eog_postasa_plugin_class_init (EogPostasaPluginClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - EogPluginClass *plugin_class = EOG_PLUGIN_CLASS (klass); g_type_class_add_private (klass, sizeof (EogPostasaPluginPrivate)); - object_class->finalize = eog_postasa_plugin_finalize; + object_class->dispose = eog_postasa_plugin_dispose; + object_class->set_property = eog_postasa_plugin_set_property; + object_class->get_property = eog_postasa_plugin_get_property; + + g_object_class_override_property (object_class, PROP_WINDOW, "window"); +} - plugin_class->activate = impl_activate; - plugin_class->deactivate = impl_deactivate; - plugin_class->update_ui = impl_update_ui; - plugin_class->create_configure_dialog = impl_create_config_dialog; +static void +eog_postasa_plugin_class_finalize (EogPostasaPluginClass *klass) +{ + /* Dummy needed for G_DEFINE_DYNAMIC_TYPE_EXTENDED */ +} + +static void +eog_window_activatable_iface_init (EogWindowActivatableInterface *iface) +{ + iface->activate = impl_activate; + iface->deactivate = impl_deactivate; +} + +G_MODULE_EXPORT void +peas_register_types (PeasObjectModule *module) +{ + eog_postasa_plugin_register_type (G_TYPE_MODULE (module)); + peas_object_module_register_extension_type (module, + EOG_TYPE_WINDOW_ACTIVATABLE, + EOG_TYPE_POSTASA_PLUGIN); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/plugins/postasa/eog-postasa-plugin.h new/eog-plugins-3.1.1/plugins/postasa/eog-postasa-plugin.h --- old/eog-plugins-3.0.0/plugins/postasa/eog-postasa-plugin.h 2011-02-05 18:40:38.000000000 +0100 +++ new/eog-plugins-3.1.1/plugins/postasa/eog-postasa-plugin.h 2011-06-23 16:49:29.000000000 +0200 @@ -27,7 +27,8 @@ #include <glib.h> #include <glib-object.h> -#include <eog/eog-plugin.h> +#include <libpeas/peas-extension-base.h> +#include <libpeas/peas-object-module.h> G_BEGIN_DECLS @@ -51,7 +52,7 @@ struct _EogPostasaPlugin { - EogPlugin parent_instance; + PeasExtensionBase parent_instance; EogPostasaPluginPrivate *priv; }; @@ -62,7 +63,7 @@ struct _EogPostasaPluginClass { - EogPluginClass parent_class; + PeasExtensionBaseClass parent_class; }; /* @@ -71,7 +72,7 @@ GType eog_postasa_plugin_get_type (void) G_GNUC_CONST; /* All the plugins must implement this function */ -G_MODULE_EXPORT GType register_eog_plugin (GTypeModule *module); +G_MODULE_EXPORT void peas_register_types (PeasObjectModule *module); G_END_DECLS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/plugins/postasa/postasa.eog-plugin.desktop.in new/eog-plugins-3.1.1/plugins/postasa/postasa.eog-plugin.desktop.in --- old/eog-plugins-3.0.0/plugins/postasa/postasa.eog-plugin.desktop.in 2011-02-05 18:40:38.000000000 +0100 +++ new/eog-plugins-3.1.1/plugins/postasa/postasa.eog-plugin.desktop.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -[Eog Plugin] -Module=postasa -IAge=2 -_Name=PicasaWeb Uploader -Icon=postasa -_Description=Upload your pictures to PicasaWeb -Authors=Richard Schwarting <[email protected]> -Copyright=Copyright © 2009 Richard Schwarting -Website=http://www.gnome.org/projects/eog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/plugins/postasa/postasa.plugin.desktop.in new/eog-plugins-3.1.1/plugins/postasa/postasa.plugin.desktop.in --- old/eog-plugins-3.0.0/plugins/postasa/postasa.plugin.desktop.in 1970-01-01 01:00:00.000000000 +0100 +++ new/eog-plugins-3.1.1/plugins/postasa/postasa.plugin.desktop.in 2011-06-23 17:02:49.000000000 +0200 @@ -0,0 +1,9 @@ +[Plugin] +Module=postasa +IAge=2 +_Name=PicasaWeb Uploader +Icon=postasa +_Description=Upload your pictures to PicasaWeb +Authors=Richard Schwarting <[email protected]> +Copyright=Copyright © 2009 Richard Schwarting +Website=http://www.gnome.org/projects/eog diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/plugins/pythonconsole/Makefile.am new/eog-plugins-3.1.1/plugins/pythonconsole/Makefile.am --- old/eog-plugins-3.0.0/plugins/pythonconsole/Makefile.am 2011-03-18 17:11:27.000000000 +0100 +++ new/eog-plugins-3.1.1/plugins/pythonconsole/Makefile.am 2011-06-23 15:35:08.000000000 +0200 @@ -1,9 +1,10 @@ # Python Console plugin plugindir = $(libdir)/eog/plugins +pythonconsoledir = $(plugindir)/pythonconsole plugin_in_files = pythonconsole.plugin.desktop.in -plugin_PYTHON = \ - pythonconsole.py \ +pythonconsole_PYTHON = \ + __init__.py \ console.py %.plugin: %.plugin.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(AM_V_GEN)$(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/plugins/pythonconsole/__init__.py new/eog-plugins-3.1.1/plugins/pythonconsole/__init__.py --- old/eog-plugins-3.0.0/plugins/pythonconsole/__init__.py 1970-01-01 01:00:00.000000000 +0100 +++ new/eog-plugins-3.1.1/plugins/pythonconsole/__init__.py 2011-06-23 15:35:08.000000000 +0200 @@ -0,0 +1,95 @@ +# -*- coding: utf-8 -*- + +# __init__.py -- plugin object +# +# Copyright (C) 2007 - Diego Escalante Urrelo +# Copyright (C) 2006 - Steve Frécinaux +# +# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +# Parts from "Interactive Python-GTK Console" (stolen from gedit's python console.pe which was actually stolen from epiphany's console.py) +# Copyright (C), 1998 James Henstridge <[email protected]> +# Copyright (C), 2005 Adam Hooper <[email protected]> +# Copyrignt (C), 2005 Raphaël Slinckx + +from gi.repository import GObject, Gtk, Eog +from console import PythonConsole + +ui_str = """ + <ui> + <menubar name="MainMenu"> + <menu name="ToolsMenu" action="Tools"> + <separator/> + <menuitem name="PythonConsole" action="PythonConsole"/> + <separator/> + </menu> + </menubar> + </ui> + """ + +class PythonConsolePlugin(GObject.Object, Eog.WindowActivatable): + + # Override EogWindowActivatable's window property + window = GObject.property(type=Eog.Window) + action_group = None + + def __init__(self): + GObject.Object.__init__(self) + self.console_window = None + ui_id = 0 + + def do_activate(self): + ui_manager = self.window.get_ui_manager() + self.action_group = Gtk.ActionGroup('PythonConsole') + self.action_group.add_actions([('PythonConsole', None, 'P_ython Console', None, None, self.console_cb)], self.window) + ui_manager.insert_action_group(self.action_group, 0) + self.ui_id = ui_manager.add_ui_from_string(ui_str) + + def do_deactivate(self): + ui_manager = self.window.get_ui_manager() + ui_manager.remove_ui(self.ui_id) + self.ui_id = 0 + ui_manager.remove_action_group(self.action_group) + self.action_group = None + ui_manager.ensure_update() + if self.console_window is not None: + self.console_window.destroy() + + def console_cb(self, action, window): + if not self.console_window: + self.console_window = Gtk.Window() + console = PythonConsole(namespace = {'__builtins__' : __builtins__, + 'eog' : Eog, + 'window' : window}) + console.set_size_request(600, 400) + console.eval('print "You can access the main window through ' \ + '\'window\' :\\n%s" % window', False) + + + self.console_window.set_title('Python Console') + self.console_window.add(console) + self.console_window.connect('delete-event', self.on_delete_cb) + self.console_window.show_all() + self.console_window.set_transient_for(window) + self.console_window.set_destroy_with_parent(True) + else: + self.console_window.show_all() + self.console_window.grab_focus() + + def on_delete_cb(self, window, event): + window.destroy() + self.console_window = None + + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/plugins/pythonconsole/pythonconsole.py new/eog-plugins-3.1.1/plugins/pythonconsole/pythonconsole.py --- old/eog-plugins-3.0.0/plugins/pythonconsole/pythonconsole.py 2011-03-18 17:11:27.000000000 +0100 +++ new/eog-plugins-3.1.1/plugins/pythonconsole/pythonconsole.py 1970-01-01 01:00:00.000000000 +0100 @@ -1,95 +0,0 @@ -# -*- coding: utf-8 -*- - -# __init__.py -- plugin object -# -# Copyright (C) 2007 - Diego Escalante Urrelo -# Copyright (C) 2006 - Steve Frécinaux -# -# 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -# Parts from "Interactive Python-GTK Console" (stolen from gedit's python console.pe which was actually stolen from epiphany's console.py) -# Copyright (C), 1998 James Henstridge <[email protected]> -# Copyright (C), 2005 Adam Hooper <[email protected]> -# Copyrignt (C), 2005 Raphaël Slinckx - -from gi.repository import GObject, Gtk, Eog -from console import PythonConsole - -ui_str = """ - <ui> - <menubar name="MainMenu"> - <menu name="ToolsMenu" action="Tools"> - <separator/> - <menuitem name="PythonConsole" action="PythonConsole"/> - <separator/> - </menu> - </menubar> - </ui> - """ - -class PythonConsolePlugin(GObject.Object, Eog.WindowActivatable): - - # Override EogWindowActivatable's window property - window = GObject.property(type=Eog.Window) - action_group = None - - def __init__(self): - GObject.Object.__init__(self) - self.console_window = None - ui_id = 0 - - def do_activate(self): - ui_manager = self.window.get_ui_manager() - self.action_group = Gtk.ActionGroup('PythonConsole') - self.action_group.add_actions([('PythonConsole', None, 'P_ython Console', None, None, self.console_cb)], self.window) - ui_manager.insert_action_group(self.action_group, 0) - self.ui_id = ui_manager.add_ui_from_string(ui_str) - - def do_deactivate(self): - ui_manager = self.window.get_ui_manager() - ui_manager.remove_ui(self.ui_id) - self.ui_id = 0 - ui_manager.remove_action_group(self.action_group) - self.action_group = None - ui_manager.ensure_update() - if self.console_window is not None: - self.console_window.destroy() - - def console_cb(self, action, window): - if not self.console_window: - self.console_window = Gtk.Window() - console = PythonConsole(namespace = {'__builtins__' : __builtins__, - 'eog' : Eog, - 'window' : window}) - console.set_size_request(600, 400) - console.eval('print "You can access the main window through ' \ - '\'window\' :\\n%s" % window', False) - - - self.console_window.set_title('Python Console') - self.console_window.add(console) - self.console_window.connect('delete-event', self.on_delete_cb) - self.console_window.show_all() - self.console_window.set_transient_for(window) - self.console_window.set_destroy_with_parent(True) - else: - self.console_window.show_all() - self.console_window.grab_focus() - - def on_delete_cb(self, window, event): - window.destroy() - self.console_window = None - - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/po/LINGUAS new/eog-plugins-3.1.1/po/LINGUAS --- old/eog-plugins-3.0.0/po/LINGUAS 2011-02-05 18:40:38.000000000 +0100 +++ new/eog-plugins-3.1.1/po/LINGUAS 2011-06-10 21:56:07.000000000 +0200 @@ -37,6 +37,7 @@ pt pt_BR ro +ru sq sl sv diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/po/POTFILES.in new/eog-plugins-3.1.1/po/POTFILES.in --- old/eog-plugins-3.0.0/po/POTFILES.in 2011-03-18 17:16:18.000000000 +0100 +++ new/eog-plugins-3.1.1/po/POTFILES.in 2011-06-23 18:02:10.000000000 +0200 @@ -9,7 +9,7 @@ plugins/postasa/eog-postasa-plugin.c [type: gettext/glade]plugins/postasa/postasa-config.xml [type: gettext/glade]plugins/postasa/postasa-uploads.xml -plugins/postasa/postasa.eog-plugin.desktop.in +plugins/postasa/postasa.plugin.desktop.in plugins/postr/eog-postr-plugin.c plugins/postr/postr.plugin.desktop.in plugins/pythonconsole/pythonconsole.plugin.desktop.in diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/eog-plugins-3.0.0/po/ru.po new/eog-plugins-3.1.1/po/ru.po --- old/eog-plugins-3.0.0/po/ru.po 1970-01-01 01:00:00.000000000 +0100 +++ new/eog-plugins-3.1.1/po/ru.po 2011-06-10 21:56:07.000000000 +0200 @@ -0,0 +1,252 @@ +# Russian translation for eog-plugins. +# Copyright (C) 2011 eog-plugins's COPYRIGHT HOLDER +# This file is distributed under the same license as the eog-plugins package. +# Yuri Myasoedov <[email protected]>, 2011. +# +msgid "" +msgstr "" +"Project-Id-Version: eog-plugins master\n" +"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=eog-plugins&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2011-04-22 10:27+0000\n" +"PO-Revision-Date: 2011-06-07 20:02+0300\n" +"Last-Translator: Yuri Myasoedov <[email protected]>\n" +"Language-Team: Russian <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" + +#: ../plugins/exif-display/eog-exif-display-plugin.c:105 +msgid " (invalid Unicode)" +msgstr " (неверный Юникод)" + +#. TRANSLATORS: This is the actual focal length used when +#. the image was taken. +#: ../plugins/exif-display/eog-exif-display-plugin.c:183 +#, c-format +msgid "%.1fmm (lens)" +msgstr "%.1fmm (объектив)" + +#. Print as float to get a similar look as above. +#. TRANSLATORS: This is the equivalent focal length assuming +#. a 35mm film camera. +#: ../plugins/exif-display/eog-exif-display-plugin.c:194 +#, c-format +msgid "%.1fmm (35mm film)" +msgstr "%.1fмм (плёнка 35мм)" + +#: ../plugins/exif-display/exif-display-config.ui.h:1 +msgid "<b>General</b>" +msgstr "<b>Общие</b>" + +#: ../plugins/exif-display/exif-display-config.ui.h:2 +msgid "<b>Histogram</b>" +msgstr "<b>Гистограмма</b>" + +#: ../plugins/exif-display/exif-display-config.ui.h:3 +msgid "Display RGB histogram" +msgstr "Показывать RGB-гистограмму" + +#: ../plugins/exif-display/exif-display-config.ui.h:4 +msgid "Display camera settings in statusbar" +msgstr "Показывать параметры камеры в панели состояния" + +#: ../plugins/exif-display/exif-display-config.ui.h:5 +msgid "Display per-channel histogram" +msgstr "Показывать поканальную гистограмму" + +#: ../plugins/exif-display/exif-display.plugin.desktop.in.h:1 +msgid "Displays camera settings and histogram" +msgstr "Показывает параметры камеры и гистограмму" + +#: ../plugins/exif-display/exif-display.plugin.desktop.in.h:2 +msgid "Exif display" +msgstr "Данные EXIF" + +#: ../plugins/exif-display/exif-display.ui.h:1 +msgid "<b>Aperture:</b>" +msgstr "<b>Диафрагма:</b>" + +#: ../plugins/exif-display/exif-display.ui.h:2 +msgid "<b>Description:</b>" +msgstr "<b>Описание:</b>" + +#: ../plugins/exif-display/exif-display.ui.h:3 +msgid "<b>Expo. Time:</b>" +msgstr "<b>Время экспоз.:</b>" + +#: ../plugins/exif-display/exif-display.ui.h:4 +msgid "<b>Expo. bias:</b>" +msgstr "<b>Компенсация экспоз.:</b>" + +#: ../plugins/exif-display/exif-display.ui.h:5 +msgid "<b>ISO speed:</b>" +msgstr "<b>Светочувст. ISO:</b>" + +#: ../plugins/exif-display/exif-display.ui.h:6 +msgid "<b>Metering:</b>" +msgstr "<b>Измерение:</b>" + +#: ../plugins/exif-display/exif-display.ui.h:7 +msgid "<b>Zoom:</b>" +msgstr "<b>Увеличение:</b>" + +#: ../plugins/fit-to-width/eog-fit-to-width-plugin.c:91 +msgid "Fit to width" +msgstr "По ширине" + +#: ../plugins/fit-to-width/eog-fit-to-width-plugin.c:93 +#: ../plugins/fit-to-width/fit-to-width.plugin.desktop.in.h:1 +msgid "Zoom to fit image width" +msgstr "Уместить изображение по ширине" + +#: ../plugins/map/eog-map-plugin.c:363 +msgid "Jump to current image's location" +msgstr "Перейти к текущему местоположению изображения" + +#: ../plugins/map/eog-map-plugin.c:375 +msgid "Zoom in" +msgstr "Приблизить" + +#: ../plugins/map/eog-map-plugin.c:383 +msgid "Zoom out" +msgstr "Отдалить" + +#: ../plugins/map/eog-map-plugin.c:397 +#: ../plugins/map/map.plugin.desktop.in.h:2 +msgid "Map" +msgstr "Карта" + +#: ../plugins/map/map.plugin.desktop.in.h:1 +msgid "Display the geolocation of the image on a map" +msgstr "Отображение местоположения изображения на карте" + +#: ../plugins/postasa/eog-postasa-plugin.c:124 +msgid "Upload to PicasaWeb" +msgstr "Загрузить в PicasaWeb" + +#: ../plugins/postasa/eog-postasa-plugin.c:126 +#: ../plugins/postasa/postasa.eog-plugin.desktop.in.h:2 +msgid "Upload your pictures to PicasaWeb" +msgstr "Загрузка изображений в PicasaWeb" + +#: ../plugins/postasa/eog-postasa-plugin.c:320 +msgid "Uploading..." +msgstr "Загрузка…" + +#: ../plugins/postasa/eog-postasa-plugin.c:366 +msgid "Uploaded" +msgstr "Загружено" + +#: ../plugins/postasa/eog-postasa-plugin.c:370 +msgid "Cancelled" +msgstr "Отменено" + +#: ../plugins/postasa/eog-postasa-plugin.c:373 +msgid "Failed" +msgstr "Сбой" + +#: ../plugins/postasa/eog-postasa-plugin.c:581 +#, c-format +msgid "Login failed. %s" +msgstr "Не удалось войти. %s" + +#: ../plugins/postasa/eog-postasa-plugin.c:585 +msgid "Logged in successully." +msgstr "Вход завершён успешно." + +#: ../plugins/postasa/eog-postasa-plugin.c:586 +msgid "Close" +msgstr "Закрыть" + +#: ../plugins/postasa/eog-postasa-plugin.c:607 +#: ../plugins/postasa/postasa-config.xml.h:1 +msgid "Cancel" +msgstr "Отменить" + +#. TODO: want to handle passwords more securely +#: ../plugins/postasa/eog-postasa-plugin.c:613 +msgid "Logging in..." +msgstr "Вход…" + +#: ../plugins/postasa/eog-postasa-plugin.c:641 +msgid "Please log in to continue upload." +msgstr "Чтобы продолжить загрузки, нужно выполнить вход." + +#: ../plugins/postasa/postasa-config.xml.h:2 +msgid "Login" +msgstr "Войти" + +#: ../plugins/postasa/postasa-config.xml.h:3 +msgid "Password" +msgstr "Пароль" + +#: ../plugins/postasa/postasa-config.xml.h:4 +msgid "PicasaWeb Login" +msgstr "Вход в PicasaWeb" + +#: ../plugins/postasa/postasa-config.xml.h:5 +msgid "Username" +msgstr "Имя пользователя" + +#: ../plugins/postasa/postasa-uploads.xml.h:1 +msgid "Cancel All" +msgstr "Отменить все" + +#: ../plugins/postasa/postasa-uploads.xml.h:2 +msgid "Cancel Selected" +msgstr "Отменить выделенное" + +#: ../plugins/postasa/postasa-uploads.xml.h:3 +msgid "Uploads:" +msgstr "Загрузки:" + +#: ../plugins/postasa/postasa.eog-plugin.desktop.in.h:1 +msgid "PicasaWeb Uploader" +msgstr "Загрузчик PicasaWeb" + +#: ../plugins/postr/eog-postr-plugin.c:62 +msgid "Upload to Flickr" +msgstr "Загрузить на Flickr" + +#: ../plugins/postr/eog-postr-plugin.c:64 +#: ../plugins/postr/postr.plugin.desktop.in.h:2 +msgid "Upload your pictures to Flickr" +msgstr "Загрузите изображения на Flickr" + +#: ../plugins/postr/postr.plugin.desktop.in.h:1 +msgid "Flickr Uploader" +msgstr "Загрузчик Flickr" + +#: ../plugins/pythonconsole/pythonconsole.plugin.desktop.in.h:1 +msgid "Python Console" +msgstr "Консоль Python" + +#: ../plugins/pythonconsole/pythonconsole.plugin.desktop.in.h:2 +msgid "Python console for Eye of GNOME" +msgstr "Консоль Python для Eye of GNOME" + +#: ../plugins/send-by-mail/eog-send-by-mail-plugin.c:63 +msgid "Send by Mail" +msgstr "Отправить по эл. почте" + +#: ../plugins/send-by-mail/eog-send-by-mail-plugin.c:65 +msgid "Send the selected images by mail" +msgstr "Отправить выбранные изображения по эл. почте" + +#: ../plugins/send-by-mail/send-by-mail.plugin.desktop.in.h:1 +msgid "Send By Mail" +msgstr "Отправить по эл. почте" + +#: ../plugins/send-by-mail/send-by-mail.plugin.desktop.in.h:2 +msgid "Sends an image attached to a new mail" +msgstr "Отправляет изображение, прикреплённое к новой почте" + +#: ../plugins/slideshowshuffle/slideshowshuffle.plugin.desktop.in.h:1 +msgid "Shuffles images in slideshow mode" +msgstr "Перемешивает изображения в режиме слайд-шоу" + +#: ../plugins/slideshowshuffle/slideshowshuffle.plugin.desktop.in.h:2 +msgid "Slideshow Shuffle" +msgstr "Случайное слайд-шоу" + ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
