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 - vuntz@opensuse.org
+
+- 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
+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
+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
+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
+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
+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
+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
+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
+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
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 `' 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
#include
#include
+#include
#include
-#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
#include
-#include
+#include
+#include
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
-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
+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
+# Copyright (C), 2005 Adam Hooper
+# 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
-# Copyright (C), 2005 Adam Hooper
-# 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 , 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 \n"
+"Language-Team: Russian \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: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org