...
 
Commits (20)
version 3.0.3
-------------
Bugs fixed:
* Allow to cut files from a selection.
New or updated application translations:
* Brazilian Portuguese (Rafael Ferreira)
* Chinese (simplified) (tuhaihe)
* Hungarian (Gabor Kelemen)
* Indonesian (Andika Triwidada)
* Polish (Piotr Drąg)
* Serbian (Мирослав Николић)
* Serbian (Miroslav Nikolić)
New or updated manual translations:
* Czech (Marek Černocký)
* French (Bruno Brouard)
version 3.0.2
-------------
Bugs fixed:
* Fixed fullscreen toolbars with multiple monitors.
* Fixed error when rotating keeping the origina size.
* Photobucket exporter: fixed crash when closing the dialog.
* Fixed broken video thumbnail (#666303)
* Delete key does nothing when image first opened (#678441)
* Picasa Web exporter: images not displayed in the export dialog (#679546)
* Fix parallel build problems with enum generation.
New or updated application translations:
* Chinese (Hong Kong) (taijuin)
* Chinese (simplified) (tuhaihe)
* Chinese/Traditional (taijuin)
* Latvian (Rūdolfs Mazurs)
* Ελληνικά, Σύγχρονα (Tom Tryfonidis)
New or updated manual translations:
* Deutsch (Daniel Winzen)
* Slovenian Translation (Andrej Žnidaršič)
version 3.0.1
-------------
......@@ -98,17 +146,17 @@ version 2.90.1
similar to catalogs but their content is lost after closing the application.
Use Alt-n to add files to selection n, and Control-n to view selection n,
for n in the 1..3 interval.
* High quality zoom for SVG images. Requires librsvg.
* Comment and tags dialogs: allow to save the metadata without closing the
* High quality zoom for SVG images. Requires librsvg.
* Comment and tags dialogs: allow to save the metadata without closing the
dialog.
* Added option to reuse the active window when opening files from an
external application.
* Allow to hide/show the file properties pane.
* Allow to change the position of the file properties in browser mode.
* Allow to change the position of the file properties in browser mode.
* Save the image keyworks in the Xmp.dc.subject tag as well.
* Save the Exif.Image.Software tag only if the content was modified.
* Sync the rating with the Xmp.xmp.Rating tag.
* Video viewer: jump to the specified position when clicking on the progress
* Video viewer: jump to the specified position when clicking on the progress
bar.
* Video viewer: use symbolic icons for the play button and the volume control.
* Make the 'shrink wrap' command work for the video viewer as well.
......@@ -116,12 +164,12 @@ version 2.90.1
* Image viewer: implemented the checked transparency.
* Show the Edit button in browser mode as well.
* Moved the location chooser above the file list.
* Preferences: show the slideshow preferences in the viewer tab to save some
* Preferences: show the slideshow preferences in the viewer tab to save some
horizontal space.
* Use the PICTURES special dir as the default startup location.
Internal code changes:
* Ported to Gtk+ 3
* Ported from GConf to GSettings. Automatically convert the GConf values.
* Ported from libunique to GtkApplication.
......@@ -129,7 +177,7 @@ version 2.90.1
* Removed use of deprecated functions.
* Use the G_DEFINE_* macros to define GObject classes.
* Added a custom widget to display the thumbnail list instead of GtkIconView.
New or updated application translations:
* Czech (Marek Černocký)
......@@ -171,12 +219,12 @@ version 2.13.90
Bugs fixed:
* Added ability to import from and export to 23hq.com (#657269)
* Web uploaders: update the progress bar during the upload; allow to cancel
* Web uploaders: update the progress bar during the upload; allow to cancel
an upload.
* Fixed selection of the destination folder in the import dialog.
* Fixed selection of the destination folder in the import dialog.
(#657557)
* Fixed comment synchronization when a \r character is in the text.
* Flickr importer: fixed import of photosets greater then 500 photos.
* Flickr importer: fixed import of photosets greater then 500 photos.
(#648701)
* Facebook uploader: allow to upload high resolution images. (#652216)
* Fixed a crash when loading remote images.
......
m4_define([gthumb_major_version], [3])
m4_define([gthumb_minor_version], [0])
m4_define([gthumb_micro_version], [1])
m4_define([gthumb_micro_version], [3])
m4_define([gthumb_version],
[gthumb_major_version.gthumb_minor_version.gthumb_micro_version])
m4_define([gthumb_api_version],
......
......@@ -43,16 +43,12 @@ convert_DATA = gthumb.convert
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gthumb-$(GTHUMB_API_VERSION).pc
uidir = $(pkgdatadir)/ui
ui_DATA = filmholes.png
man_MANS=gthumb.1
EXTRA_DIST = \
$(desktop_in_in_files) \
$(gsettings_schema_in_files) \
$(pkgconfig_DATA) \
$(ui_DATA) \
gthumb.convert \
$(man_MANS)
......
SUBDIRS = hicolor
EXTRA_DIST = selection.svg
icondir = $(pkgdatadir)/icons
icon_DATA = filmholes.png
EXTRA_DIST = \
selection.svg \
$(icon_DATA)
-include $(top_srcdir)/git.mk
......@@ -659,9 +659,10 @@ exiv2_read_metadata (Exiv2::Image::AutoPtr image,
raw_value.str().c_str(),
"Iptc",
md->typeName());
add_metadata_to_hash (table, metadata);
_g_object_unref (metadata);
if (metadata != NULL) {
add_metadata_to_hash (table, metadata);
g_object_unref (metadata);
}
}
set_file_info_from_hash (info, table);
......@@ -690,15 +691,16 @@ exiv2_read_metadata (Exiv2::Image::AutoPtr image,
raw_value.str().c_str(),
"Xmp::Embedded",
md->typeName());
if (metadata != NULL) {
if ((g_strcmp0 (md->typeName(), "XmpBag") == 0)
|| (g_strcmp0 (md->typeName(), "XmpSeq") == 0))
{
add_string_list_to_metadata (metadata, *md);
}
if ((g_strcmp0 (md->typeName(), "XmpBag") == 0)
|| (g_strcmp0 (md->typeName(), "XmpSeq") == 0))
{
add_string_list_to_metadata (metadata, *md);
add_metadata_to_hash (table, metadata);
g_object_unref (metadata);
}
add_metadata_to_hash (table, metadata);
_g_object_unref (metadata);
}
set_file_info_from_hash (info, table);
......@@ -847,15 +849,16 @@ exiv2_read_sidecar (GFile *file,
raw_value.str().c_str(),
"Xmp::Sidecar",
md->typeName());
if (metadata != NULL) {
if ((g_strcmp0 (md->typeName(), "XmpBag") == 0)
|| (g_strcmp0 (md->typeName(), "XmpSeq") == 0))
{
add_string_list_to_metadata (metadata, *md);
}
if ((g_strcmp0 (md->typeName(), "XmpBag") == 0)
|| (g_strcmp0 (md->typeName(), "XmpSeq") == 0))
{
add_string_list_to_metadata (metadata, *md);
add_metadata_to_hash (table, metadata);
g_object_unref (metadata);
}
add_metadata_to_hash (table, metadata);
_g_object_unref (metadata);
}
set_file_info_from_hash (info, table);
......
......@@ -229,7 +229,7 @@ static gboolean
gth_file_source_selections_can_cut (GthFileSource *file_source,
GFile *file)
{
return FALSE;
return g_file_has_uri_scheme (file, "selection");
}
......
......@@ -279,14 +279,12 @@ gthumb_LDADD = \
$(NULL)
if RUN_IN_PLACE
data_dir = $(abs_top_srcdir)/data
ui_dir = $(data_dir)/ui
icon_dir = $(data_dir)/icons
ui_dir = $(abs_top_srcdir)/data/ui
icon_dir = $(abs_top_srcdir)/data/icons
extensions_ui_dir = $(abs_top_srcdir)/extensions
extensions_dir = $(abs_top_builddir)/extensions
applications_dir = $(abs_top_builddir)/data
else
data_dir = $(datadir)
ui_dir = $(pkgdatadir)/ui
icon_dir = $(pkgdatadir)/icons
extensions_ui_dir = $(pkgdatadir)/ui
......@@ -312,7 +310,6 @@ gthumb_CFLAGS = \
-DGTHUMB_LOCALEDIR=\"$(datadir)/locale\" \
-DGTHUMB_PREFIX=\"$(prefix)\" \
-DGTHUMB_SYSCONFDIR=\"$(sysconfdir)\" \
-DGTHUMB_DATADIR=\"$(data_dir)\" \
-DGTHUMB_LIBDIR=\"$(libdir)\" \
-DGTHUMB_PKGDATADIR=\"$(pkgdatadir)\" \
-DGTHUMB_UI_DIR=\"$(ui_dir)\" \
......
......@@ -4596,6 +4596,7 @@ gth_browser_init (GthBrowser *browser)
browser->priv->fast_file_type = g_settings_get_boolean (browser->priv->browser_settings, PREF_BROWSER_FAST_FILE_TYPE);
gtk_widget_realize (browser->priv->file_list);
gth_hook_invoke ("gth-browser-construct", browser);
performance (DEBUG_INFO, "window initialized");
......
......@@ -1228,7 +1228,7 @@ _cairo_film_pattern_create (void)
char *filename;
cairo_surface_t *surface;
filename = g_build_filename (GTHUMB_DATADIR, "filmholes.png", NULL);
filename = g_build_filename (GTHUMB_ICON_DIR, "filmholes.png", NULL);
surface = cairo_image_surface_create_from_png (filename);
film_pattern = cairo_pattern_create_for_surface (surface);
cairo_pattern_set_filter (film_pattern, CAIRO_FILTER_GOOD);
......
......@@ -218,8 +218,12 @@ child_hide_options_cb (GtkWidget *tool,
gpointer data)
{
GthToolbox *toolbox = data;
GtkWidget *tool_options;
gth_file_tool_destroy_options (GTH_FILE_TOOL (tool));
tool_options = gtk_bin_get_child (GTK_BIN (toolbox->priv->options));
if (tool_options != NULL)
gtk_container_remove (GTK_CONTAINER (toolbox->priv->options), tool_options);
gtk_notebook_set_current_page (GTK_NOTEBOOK (toolbox), GTH_TOOLBOX_LIST_PAGE);
toolbox->priv->active_tool = NULL;
......
......@@ -36,17 +36,18 @@ enum {
struct _GthWindowPrivate {
int n_pages;
int current_page;
GtkWidget *table;
GtkWidget *notebook;
GtkWidget *menubar;
GtkWidget *toolbar;
GtkWidget *infobar;
GtkWidget *statusbar;
GtkWidget **toolbars;
GtkWidget **contents;
GthWindowSize *window_size;
int n_pages;
int current_page;
GtkWidget *table;
GtkWidget *notebook;
GtkWidget *menubar;
GtkWidget *toolbar;
GtkWidget *infobar;
GtkWidget *statusbar;
GtkWidget **toolbars;
GtkWidget **contents;
GthWindowSize *window_size;
GtkWindowGroup *window_group;
};
......@@ -159,6 +160,7 @@ gth_window_finalize (GObject *object)
g_free (window->priv->toolbars);
g_free (window->priv->contents);
g_free (window->priv->window_size);
g_object_unref (window->priv->window_group);
G_OBJECT_CLASS (gth_window_parent_class)->finalize (object);
}
......@@ -254,6 +256,8 @@ gth_window_init (GthWindow *window)
window->priv->toolbar = NULL;
window->priv->infobar = NULL;
window->priv->statusbar = NULL;
window->priv->window_group = gtk_window_group_new ();
gtk_window_group_add_window (window->priv->window_group, GTK_WINDOW (window));
gtk_window_set_application (GTK_WINDOW (window), Main_Application);
}
......
......@@ -137,6 +137,8 @@ _gtk_message_dialog_new (GtkWindow *parent,
d = gtk_dialog_new_with_buttons ("", parent, flags, NULL, NULL);
gtk_window_set_resizable (GTK_WINDOW (d), FALSE);
if (flags & GTK_DIALOG_MODAL)
_gtk_dialog_add_to_window_group (GTK_DIALOG (d));
gtk_container_set_border_width (GTK_CONTAINER (d), 6);
gtk_container_set_border_width (GTK_CONTAINER (gtk_dialog_get_content_area (GTK_DIALOG (d))), 6);
......@@ -502,6 +504,19 @@ _g_icon_get_pixbuf (GIcon *icon,
}
void
_gtk_dialog_add_to_window_group (GtkDialog *dialog)
{
GtkWidget *toplevel;
g_return_if_fail (dialog != NULL);
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (dialog));
if (gtk_widget_is_toplevel (toplevel) && gtk_window_has_group (GTK_WINDOW (toplevel)))
gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), GTK_WINDOW (dialog));
}
GdkPixbuf *
get_mime_type_pixbuf (const char *mime_type,
int icon_size,
......
......@@ -79,6 +79,7 @@ void _gtk_error_dialog_show (GtkWindow *pa
void _gtk_info_dialog_run (GtkWindow *parent,
const gchar *format,
...) G_GNUC_PRINTF (2, 3);
void _gtk_dialog_add_to_window_group (GtkDialog *dialog);
GdkPixbuf * _g_icon_get_pixbuf (GIcon *icon,
int size,
GtkIconTheme *icon_theme);
......
......@@ -52,7 +52,7 @@ DOC_PAGES = \
slideshow.page \
file-copy-move.page
DOC_LINGUAS = de el es eu fr oc sl sv zh_CN
DOC_LINGUAS = cs de el es eu fr oc sl sv zh_CN
EXTRA_DIST = album-theme-format.txt
......
This diff is collapsed.
......@@ -11,10 +11,11 @@ msgid ""
msgstr ""
"Project-Id-Version: gthumb.help\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-10-23 17:16+0000\n"
"PO-Revision-Date: 2012-02-12 16:18+0100 \n"
"POT-Creation-Date: 2012-08-18 22:07+0000\n"
"PO-Revision-Date: 2012-09-06 16:38+0200\n"
"Last-Translator: Bruno Brouard <annoa.b@gmail.com>\n"
"Language-Team: GNOME French Team <gnomefr@traduc.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
......@@ -317,8 +318,8 @@ msgstr ""
"Il n'est pas obligatoire d'utiliser les formats de date prédéfinis. Si vous "
"sélectionnez <gui>Format personnalisé</gui>, les codes de date standards "
"peuvent être utilisés. Cliquez sur l'icône d'aide à droite du champ de "
"format personnalisé pour obtenir une liste des codes disponibles. Le code « %"
"E » est un code spécial qui permet d'inclure le nom de l'<gui>Évènement</"
"format personnalisé pour obtenir une liste des codes disponibles. Le code "
"« %E » est un code spécial qui permet d'inclure le nom de l'<gui>Évènement</"
"gui> défini dans la boîte de dialogue d'importation principale."
#: C/import.page:67(p)
......@@ -1284,11 +1285,11 @@ msgid ""
msgstr ""
"Cet outil fonctionne mieux lorsqu'il y a un contraste de couleur important "
"entre l'œil rouge et la zone du visage qui l'entoure. Il ne fonctionne pas "
"bien avec les « yeux orange » que l'on voit parfois sur les photos d'enfants, "
"ou si la peau autour de l'œil possède une teinte rouge. Cet outil peut être "
"amélioré ; si vous êtes très intelligent, aimez l'algèbre matricielle et le "
"logiciel libre, vous pouvez <link href=\"http://live.gnome.org/gthumb/"
"development\">soumettre un correctif</link>."
"bien avec les « yeux orange » que l'on voit parfois sur les photos "
"d'enfants, ou si la peau autour de l'œil possède une teinte rouge. Cet outil "
"peut être amélioré ; si vous êtes très intelligent, aimez l'algèbre "
"matricielle et le logiciel libre, vous pouvez <link href=\"http://live.gnome."
"org/gthumb/development\">soumettre un correctif</link>."
#: C/edit-resize-crop.page:6(title)
msgid "Resizing and Cropping"
......@@ -1603,8 +1604,8 @@ msgid ""
msgstr ""
"Ce symbole est remplacé par la date de modification de l'image originale. Le "
"format de la date (optionnellement de l'heure) peut être spécifié en "
"ajoutant le code de formatage standard entre accolades. Par exemple, « %M{%Y-%"
"m-%d, %T} » est remplacé par la date et l'heure suivante « 2010-04-01, "
"ajoutant le code de formatage standard entre accolades. Par exemple, « %M{%Y-"
"%m-%d, %T} » est remplacé par la date et l'heure suivante « 2010-04-01, "
"15:02:01 »."
#: C/rename-series.page:99(key)
......@@ -1616,14 +1617,14 @@ msgid ""
"This symbol will be replaced with the date that the photo was original taken "
"(normally determined from the EXIF datestamps embedded inside the photo). "
"The formatting of this date (and optionally time) can be specified by adding "
"a standard formatting code in curly braces. For example, \"%D{%Y-%m-%d, %T}"
"\" would be replaced with a date and time like \"2010-04-01, 15:02:01\"."
"a standard formatting code in curly braces. For example, \"%D{%Y-%m-%d, "
"%T}\" would be replaced with a date and time like \"2010-04-01, 15:02:01\"."
msgstr ""
"Ce symbole est remplacé par la date de prise de vue de l'image originale (en "
"général déterminée par l'horodatage Exif intégré dans la photo). Le format "
"de la date (optionnellement de l'heure) peut être spécifié en ajoutant le "
"code de formatage standard entre accolades. Par exemple, « %D{%Y-%m-%d, %T} » "
"est remplacé par la date et l'heure suivante « 2010-04-01, 15:02:01 »."
"code de formatage standard entre accolades. Par exemple, « %D{%Y-%m-%d, "
"%T} » est remplacé par la date et l'heure suivante « 2010-04-01, 15:02:01 »."
#: C/rename-series.page:115(key)
msgid "%A{identifier}"
......@@ -2471,8 +2472,8 @@ msgstr "%U"
#: C/strftime.page:289(p)
msgid ""
"The week number of the current year as a decimal number, range 00 to 53, "
"starting with the first Sunday as the first day of week 01. See also %V and %"
"W."
"starting with the first Sunday as the first day of week 01. See also %V and "
"%W."
msgstr ""
"Le numéro de la semaine de l'année actuelle sous la forme d'un nombre "
"décimal compris entre 00 et 53, le premier dimanche est le premier jour de "
......@@ -2486,8 +2487,8 @@ msgstr "%V"
msgid ""
"The ISO 8601:1988 week number of the current year as a decimal number, range "
"01 to 53, where week 1 is the first week that has at least 4 days in the "
"current year, and with Monday as the first day of the week. See also %U and %"
"W."
"current year, and with Monday as the first day of the week. See also %U and "
"%W."
msgstr ""
"Le numéro ISO 8601:1988 de la semaine de l'année actuelle sous la forme d'un "
"nombre décimal, compris entre 01 et 53, où la semaine 1 est la première "
......@@ -2568,8 +2569,8 @@ msgid ""
"dates (using \"%a, %d %b %Y %H:%M:%S %z\")."
msgstr ""
"Le fuseau horaire représenté par le décalage horaire par rapport à GMT. Ceci "
"est nécessaire pour émettre des dates conformes à RFC 822 (en utilisant « %a, "
"%d %b %Y %H:%M:%S %z »)."
"est nécessaire pour émettre des dates conformes à RFC 822 (en utilisant "
"« %a, %d %b %Y %H:%M:%S %z »)."
#: C/strftime.page:372(p)
msgid "%Z"
......@@ -2585,9 +2586,9 @@ msgid ""
"specifier character by the E or O modifier to indicate that an alternative "
"format should be used. If the alternative format or specification does not "
"exist for the current locale, the behaviour will be as if the unmodified "
"conversion specification were used. The Single Unix Specification mentions %"
"Ec, %EC, %Ex, %EX, %Ey, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %"
"OV, %Ow, %OW, %Oy, where the effect of the O modifier is to use alternative "
"conversion specification were used. The Single Unix Specification mentions "
"%Ec, %EC, %Ex, %EX, %Ey, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, "
"%OV, %Ow, %OW, %Oy, where the effect of the O modifier is to use alternative "
"numeric symbols (say, roman numerals), and that of the E modifier is to use "
"a locale-dependent alternative representation."
msgstr ""
......@@ -2596,8 +2597,8 @@ msgstr ""
"E ou O, pour indiquer qu'un format alternatif doit être utilisé. Si le "
"format alternatif ou la spécification n'existe pas dans l'environnement "
"linguistique actuel, le comportement reste le même que celui sans le "
"modificateur. Le « Single Unix Specification » mentionne %Ec, %EC, %Ex, %EX, %"
"Ey, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy où "
"modificateur. Le « Single Unix Specification » mentionne %Ec, %EC, %Ex, %EX, "
"%Ey, %EY, %Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy où "
"les effets de l'utilisation du préfixe O sont l'utilisation d'autres "
"symboles numériques (comme des chiffres romains, par exemple) et que ceux du "
"préfixe E sont l'usage d'une représentation alternative dépendante de "
......@@ -2762,8 +2763,8 @@ msgid "mjc@avtechpulse.com"
msgstr "mjc@avtechpulse.com"
#: C/index.page:20(title)
msgid "<app>gThumb</app>Help"
msgstr "Manuel de <app>gThumb</app>"
msgid "gThumb Help"
msgstr "Manuel de gThumb"
#: C/index.page:23(title)
msgid "Welcome"
......
......@@ -2,7 +2,6 @@
am
ar
az
be
bg
ca
ca@valencia
......@@ -55,6 +54,7 @@ sk
sl
sq
sr
sr@latin
sr@Latn
sv
th
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.