...
 
Commits (12)
version 3.14.2
--------------
New or updated application translations:
* Dutch (Hannie Dumoleyn)
version 3.14.1
--------------
......
......@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_PREREQ([2.68])
AC_INIT([file-roller],[3.14.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=file-roller],[file-roller])
AC_INIT([file-roller],[3.14.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=file-roller],[file-roller])
AM_INIT_AUTOMAKE([1.11 foreign no-dist-gzip dist-xz tar-ustar])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
......
This diff is collapsed.
......@@ -14,7 +14,7 @@ msgstr ""
"Project-Id-Version: file-roller\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=file-"
"roller&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2014-09-06 04:49+0000\n"
"POT-Creation-Date: 2014-11-07 05:38+0000\n"
"PO-Revision-Date: 2014-09-06 17:05+0300\n"
"Last-Translator: Jiri Grönroos <jiri.gronroos+l10n@iki.fi>\n"
"Language-Team: suomi <gnome-fi-laatu@lists.sourceforge.net>\n"
......@@ -53,7 +53,6 @@ msgid "bzip archives (.tar.bz, .tbz)"
msgstr "bzip-arkistot (.tar.bz, .tbz)"
#: ../data/org.gnome.FileRoller.appdata.xml.in.h:6
#| msgid "Zip (.zip)"
msgid "zip archives (.zip)"
msgstr "zip-arkistot (.zip)"
......@@ -463,7 +462,7 @@ msgstr ""
"Ilkka Tuohela , 2005-2009\n"
"Pauli Virtanen, 2003-2004\n"
"\n"
"http://gnome.fi/"
"https://l10n.gnome.org/teams/fi/"
#: ../src/fr-archive.c:1845
msgid "You don't have the right permissions."
......@@ -1122,7 +1121,6 @@ msgid "_About"
msgstr "Ti_etoja"
#: ../src/ui/ask-password.ui.h:2
#| msgid "_Ok"
msgid "_OK"
msgstr "_OK"
......@@ -1135,7 +1133,6 @@ msgid "Delete"
msgstr "Poista"
#: ../src/ui/delete.ui.h:3
#| msgid "Delete"
msgid "_Delete"
msgstr "_Poista"
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -1641,6 +1641,7 @@ fr_archive_libarchive_add_files (FrArchive *archive,
typedef struct {
GHashTable *files_to_remove;
gboolean remove_all_files;
int n_files_to_remove;
} RemoveData;
......@@ -1648,7 +1649,8 @@ typedef struct {
static void
remove_data_free (RemoveData *remove_data)
{
g_hash_table_unref (remove_data->files_to_remove);
if (remove_data->files_to_remove != NULL)
g_hash_table_unref (remove_data->files_to_remove);
g_free (remove_data);
}
......@@ -1662,7 +1664,7 @@ _remove_files_begin (SaveData *save_data,
fr_archive_progress_set_total_files (load_data->archive, remove_data->n_files_to_remove);
fr_archive_progress_set_total_bytes (load_data->archive,
FR_ARCHIVE_LIBARCHIVE (load_data->archive)->priv->uncompressed_size);
FR_ARCHIVE_LIBARCHIVE (load_data->archive)->priv->uncompressed_size);
}
......@@ -1676,6 +1678,9 @@ _remove_files_entry_action (SaveData *save_data,
WriteAction action;
const char *pathname;
if (remove_data->remove_all_files)
return WRITE_ACTION_SKIP_ENTRY;
action = WRITE_ACTION_WRITE_ENTRY;
pathname = archive_entry_pathname (w_entry);
if (g_hash_table_lookup (remove_data->files_to_remove, pathname) != NULL) {
......@@ -1701,12 +1706,17 @@ fr_archive_libarchive_remove_files (FrArchive *archive,
GList *scan;
remove_data = g_new0 (RemoveData, 1);
remove_data->files_to_remove = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
remove_data->n_files_to_remove = 0;
for (scan = file_list; scan; scan = scan->next) {
g_hash_table_insert (remove_data->files_to_remove, g_strdup (scan->data), GINT_TO_POINTER (1));
remove_data->n_files_to_remove++;
remove_data->remove_all_files = (file_list == NULL);
if (! remove_data->remove_all_files) {
remove_data->files_to_remove = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
remove_data->n_files_to_remove = 0;
for (scan = file_list; scan; scan = scan->next) {
g_hash_table_insert (remove_data->files_to_remove, g_strdup (scan->data), GINT_TO_POINTER (1));
remove_data->n_files_to_remove++;
}
}
else
remove_data->n_files_to_remove = archive->files->len;
_fr_archive_libarchive_save (archive,
FALSE,
......
......@@ -424,11 +424,7 @@ fr_command_7z_delete (FrCommand *command,
if (g_str_has_prefix (scan->data, "@"))
fr_process_add_arg_concat (command->process, "-i!", scan->data, NULL);
if (archive->encrypt_header
&& fr_archive_is_capable_of (archive, FR_ARCHIVE_CAN_ENCRYPT_HEADER))
{
add_password_arg (command, FR_ARCHIVE (command)->password, FALSE);
}
add_password_arg (command, FR_ARCHIVE (command)->password, FALSE);
fr_process_add_arg (command->process, "--");
fr_process_add_arg (command->process, command->filename);
......
......@@ -632,6 +632,10 @@ _fr_command_load_complete (XferData *xfer_data,
* original name */
if (archive->multi_volume)
fr_archive_change_name (archive, FR_COMMAND (archive)->filename);
/* the header is encrypted if the load is successful and the password is not void */
archive->encrypt_header = (xfer_data->password != NULL) && (*xfer_data->password != '\0');
fr_archive_update_capabilities (archive);
}
else
......
......@@ -4228,6 +4228,7 @@ static char *
get_xds_atom_value (GdkDragContext *context)
{
char *ret;
int len;
g_return_val_if_fail (context != NULL, NULL);
g_return_val_if_fail (gdk_drag_context_get_source_window (context) != NULL, NULL);
......@@ -4235,9 +4236,12 @@ get_xds_atom_value (GdkDragContext *context)
if (gdk_property_get (gdk_drag_context_get_source_window (context),
XDS_ATOM, TEXT_ATOM,
0, MAX_XDS_ATOM_VAL_LEN,
FALSE, NULL, NULL, NULL,
FALSE, NULL, NULL, &len,
(unsigned char **) &ret))
{
ret[len] = '\0';
return ret;
}
return NULL;
}
......@@ -4511,10 +4515,15 @@ fr_window_file_list_drag_data_get (FrWindow *window,
g_return_val_if_fail (uri != NULL, FALSE);
destination = g_file_new_for_uri (uri);
destination_folder = g_file_get_parent (destination);
if (destination == NULL)
return FALSE;
destination_folder = g_file_get_parent (destination);
g_object_unref (destination);
if (destination_folder == NULL)
return FALSE;
/* check whether the extraction can be performed in the destination
* folder */
......@@ -6186,6 +6195,9 @@ fr_window_archive_add_dropped_items (FrWindow *window,
}
/* -- fr_window_archive_remove -- */
static void
archive_remove_ready_cb (GObject *source_object,
GAsyncResult *result,
......@@ -6205,10 +6217,26 @@ void
fr_window_archive_remove (FrWindow *window,
GList *file_list)
{
GList *new_file_list;
new_file_list = _g_string_list_dup (file_list);
fr_window_set_current_batch_action (window,
FR_BATCH_ACTION_REMOVE,
new_file_list,
(GFreeFunc) _g_string_list_free);
_archive_operation_started (window, FR_ACTION_DELETING_FILES);
g_object_set (window->archive,
"compression", window->priv->compression,
"encrypt-header", window->priv->encrypt_header,
"password", window->priv->password,
"volume-size", window->priv->volume_size,
NULL);
fr_window_clipboard_remove_file_list (window, file_list);
fr_archive_remove (window->archive,
file_list,
new_file_list,
window->priv->compression,
window->priv->cancellable,
archive_remove_ready_cb,
......@@ -9153,6 +9181,11 @@ fr_window_exec_batch_action (FrWindow *window,
fr_window_archive_add_dropped_items (window, (GList *) action->data);
break;
case FR_BATCH_ACTION_REMOVE:
debug (DEBUG_INFO, "[BATCH] REMOVE\n");
fr_window_archive_remove (window, (GList *) action->data);
break;
case FR_BATCH_ACTION_OPEN:
debug (DEBUG_INFO, "[BATCH] OPEN\n");
......
......@@ -54,6 +54,7 @@ typedef enum {
FR_BATCH_ACTION_LOAD,
FR_BATCH_ACTION_OPEN,
FR_BATCH_ACTION_ADD,
FR_BATCH_ACTION_REMOVE,
FR_BATCH_ACTION_EXTRACT,
FR_BATCH_ACTION_EXTRACT_HERE,
FR_BATCH_ACTION_EXTRACT_INTERACT,
......