diff options
-rw-r--r-- | libre/xarchiver/0001-Add-support-for-GTK-3.patch (renamed from libre/xarchiver/gtk3-port.patch) | 1633 | ||||
-rw-r--r-- | libre/xarchiver/0001-Fix-docbook-file.patch | 58 | ||||
-rw-r--r-- | libre/xarchiver/PKGBUILD | 64 | ||||
-rw-r--r-- | libre/xarchiver/add-mime-types.patch | 17 | ||||
-rw-r--r-- | libre/xarchiver/fix-icon-names.patch | 87 | ||||
-rw-r--r-- | libre/xarchiver/fix-password-protected.patch | 42 | ||||
-rw-r--r-- | libre/xarchiver/fix-rpm-support.patch | 86 | ||||
-rw-r--r-- | libre/xarchiver/no-xfce.patch | 93 | ||||
-rw-r--r-- | libre/xarchiver/remove-nonfree-unrar-support.patch | 481 |
9 files changed, 1718 insertions, 843 deletions
diff --git a/libre/xarchiver/gtk3-port.patch b/libre/xarchiver/0001-Add-support-for-GTK-3.patch index 7f8ce073a..59a987ca9 100644 --- a/libre/xarchiver/gtk3-port.patch +++ b/libre/xarchiver/0001-Add-support-for-GTK-3.patch @@ -1,11 +1,55 @@ -diff -Naur xarchiver-0.5.4.orig/configure.in xarchiver-0.5.4/configure.in ---- xarchiver-0.5.4.orig/configure.in 2014-02-09 16:29:23.000000000 +0100 -+++ xarchiver-0.5.4/configure.in 2015-07-09 17:27:29.948257405 +0200 -@@ -80,9 +80,22 @@ +From 3dd5509417259229da204493f2d5cce5333269d8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com> +Date: Tue, 12 Apr 2016 01:40:56 +0200 +Subject: [PATCH] Add support for GTK+ 3 + +Provide full support for GTK+ 3 by fixing all deprecations in Xarchiver. It keeps the compatibility with GTK+ 2 by using the --disable-gtk3 configure flag. +--- + README | 2 +- + configure.ac | 15 +- + doc/html/ch01s01.html | 4 +- + doc/xarchiver.docbook | 2 +- + src/Makefile.am | 2 - + src/add_dialog.c | 25 +- + src/add_dialog.h | 4 +- + src/archive.c | 2 +- + src/extract_dialog.c | 50 ++- + src/extract_dialog.h | 1 - + src/interface.c | 81 ++--- + src/interface.h | 3 +- + src/new_dialog.c | 12 +- + src/open-with-dlg.c | 9 +- + src/pref_dialog.c | 90 +++-- + src/pref_dialog.h | 1 - + src/sexy-icon-entry.c | 950 -------------------------------------------------- + src/sexy-icon-entry.h | 101 ------ + src/window.c | 87 +++-- + xarchiver.desktop.in | 2 +- + 20 files changed, 204 insertions(+), 1239 deletions(-) + delete mode 100644 src/sexy-icon-entry.c + delete mode 100644 src/sexy-icon-entry.h + +diff --git a/README b/README +index a275bb0..e30b781 100644 +--- a/README ++++ b/README +@@ -3,7 +3,7 @@ What is it? + Xarchiver is the ultimate solution for handling archives on Linux and FreeBSD. + It's a Desktop Environment independent archiver frontend. All common archive + types are supported. RPM and DEB packages are handled without their package +-managers being installed. Xarchiver only depends on the GTK+2 libraries and ++managers being installed. Xarchiver only depends on the GTK+ libraries and + utilizes various (un)compressor/(un)archiver command line programs at runtime. + Installation of xdg-utils is optional but installing it will allow Xarchiver + the support to open more file types directly from inside an archive. +diff --git a/configure.ac b/configure.ac +index cff493f..b1bc07f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -76,8 +76,21 @@ AM_GLIB_GNU_GETTEXT dnl *********************************** dnl *** Check for required packages *** dnl *********************************** --XDT_CHECK_PACKAGE([GTK], [gtk+-2.0], [2.10.0]) +AC_ARG_ENABLE([gtk3], + [AC_HELP_STRING([--enable-gtk3], + [compile xarchiver against gtk+ 3.0 (default: yes)])], @@ -19,17 +63,62 @@ diff -Naur xarchiver-0.5.4.orig/configure.in xarchiver-0.5.4/configure.in + GTK_API_VERSION="2.0" +fi + -+XDT_CHECK_PACKAGE([GTK], [gtk+-$GTK_API_VERSION], [2.10.0]) - XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.10.0]) --GTK_VERSION=`$PKG_CONFIG --modversion gtk+-2.0` -+GTK_VERSION=`$PKG_CONFIG --modversion gtk+-$GTK_API_VERSION` + PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.10.0]) +-PKG_CHECK_MODULES([GTK], [gtk+-2.0 >= 2.10.0]) ++PKG_CHECK_MODULES([GTK], [gtk+-$GTK_API_VERSION >= 2.10.0]) dnl *********************************** dnl *** Check for debugging support *** -diff -Naur xarchiver-0.5.4.orig/src/add_dialog.c xarchiver-0.5.4/src/add_dialog.c ---- xarchiver-0.5.4.orig/src/add_dialog.c 2014-02-09 16:26:24.000000000 +0100 -+++ xarchiver-0.5.4/src/add_dialog.c 2015-07-09 17:27:29.951590832 +0200 -@@ -31,16 +31,13 @@ +diff --git a/doc/html/ch01s01.html b/doc/html/ch01s01.html +index ecfd58d..96b1748 100644 +--- a/doc/html/ch01s01.html ++++ b/doc/html/ch01s01.html +@@ -4,11 +4,11 @@ + </th><td width="20%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="intro_about"></a>About Xarchiver</h2></div></div></div><p> + Xarchiver is a small and lightweight archive manager. + I developed it to manage archives without depending from a special Desktop Environment +- like KDE or GNOME, so Xarchiver requires only the GTK+2 toolkit ++ like KDE or GNOME, so Xarchiver requires only the GTK+ toolkit + to work. The package <span class="emphasis"><em>xdg-utils</em></span> is optional. + </p><p> + Xarchiver presents the following characteristic: + </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">Archive directories can be browsed just like a file manager</li><li class="listitem">Mime icon for each of the archive entries</li><li class="listitem">The most used archiver's command line options are supported in the Add and Extract dialogs</li><li class="listitem">Tabs Firefox style support</li><li class="listitem">Multi-extract facility</li><li class="listitem">Dump of the whole archive content as HTML or text file</li><li class="listitem">Context menu on each of the archive entries with cut/copy/paste/rename abilities</li><li class="listitem">Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz</li><li class="listitem">Drag and drop from and to Xarchiver window</li><li class="listitem">Progress window when using Xarchiver from the command line or from a file-manager</li><li class="listitem">ARJ, RAR and ZIP archive comment are supported</li><li class="listitem">Ability to convert the archive to self-extracting for those archive types which support it</li><li class="listitem">Smart detection of arj, zip and rar password encrypted archives</li><li class="listitem">All the the output of the command line archiver is displayed in the Xarchiver window</li><li class="listitem">All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, rar, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</li><li class="listitem">Deb and Rpm packages are handled internally, their package managers are NOT required.</li><li class="listitem">Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</li></ul></div><p> + </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. + Introduction +- </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Where to get it</td></tr></table></div></body></html> +\ No newline at end of file ++ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Where to get it</td></tr></table></div></body></html> +diff --git a/doc/xarchiver.docbook b/doc/xarchiver.docbook +index 22bc073..a6d71fe 100644 +--- a/doc/xarchiver.docbook ++++ b/doc/xarchiver.docbook +@@ -40,7 +40,7 @@ + <para> + &app; is a small and lightweight archive manager. + I developed it to manage archives without depending from a special Desktop Environment +- like KDE or GNOME, so &app; requires only the GTK+2 toolkit ++ like KDE or GNOME, so &app; requires only the GTK+ toolkit + to work. The package <emphasis>xdg-utils</emphasis> is optional. + </para> + <para> +diff --git a/src/Makefile.am b/src/Makefile.am +index dd98a21..f620943 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -37,8 +37,6 @@ xarchiver_SOURCES = \ + rar.h \ + rpm.c \ + rpm.h \ +- sexy-icon-entry.c \ +- sexy-icon-entry.h \ + socket.c \ + socket.h \ + string_utils.c \ +diff --git a/src/add_dialog.c b/src/add_dialog.c +index d8afc2f..4dd93a1 100644 +--- a/src/add_dialog.c ++++ b/src/add_dialog.c +@@ -31,16 +31,13 @@ Add_dialog_data *xa_create_add_dialog() add_dialog = g_new0 (Add_dialog_data, 1); add_dialog->path_group = NULL; @@ -47,7 +136,7 @@ diff -Naur xarchiver-0.5.4.orig/src/add_dialog.c xarchiver-0.5.4/src/add_dialog. add_dialog->notebook1 = gtk_notebook_new (); gtk_box_pack_start (GTK_BOX (add_dialog->dialog_vbox1),add_dialog->notebook1, TRUE, TRUE,0); -@@ -107,13 +104,13 @@ +@@ -107,13 +104,13 @@ Add_dialog_data *xa_create_add_dialog() add_dialog->update = gtk_check_button_new_with_mnemonic (_("Update and add")); gtk_button_set_focus_on_click (GTK_BUTTON (add_dialog->update), FALSE); @@ -63,7 +152,7 @@ diff -Naur xarchiver-0.5.4.orig/src/add_dialog.c xarchiver-0.5.4/src/add_dialog. gtk_box_pack_start (GTK_BOX (vbox3), add_dialog->freshen, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (add_dialog->freshen),"toggled",G_CALLBACK (add_fresh_update_toggled_cb) , add_dialog); -@@ -123,7 +120,7 @@ +@@ -123,7 +120,7 @@ Add_dialog_data *xa_create_add_dialog() add_dialog->solid_archive = gtk_check_button_new_with_mnemonic (_("Create a solid archive")); gtk_button_set_focus_on_click (GTK_BUTTON (add_dialog->solid_archive), FALSE); @@ -72,10 +161,10 @@ diff -Naur xarchiver-0.5.4.orig/src/add_dialog.c xarchiver-0.5.4/src/add_dialog. gtk_box_pack_start (GTK_BOX (vbox3), add_dialog->solid_archive, FALSE, FALSE, 0); add_dialog->remove_files = gtk_check_button_new_with_mnemonic (_("Delete files after adding")); -@@ -172,12 +169,12 @@ +@@ -172,12 +169,12 @@ Add_dialog_data *xa_create_add_dialog() label5 = gtk_label_new (_("Encryption: ")); gtk_frame_set_label_widget (GTK_FRAME (frame3), label5); - + - dialog_action_area1 = GTK_DIALOG (add_dialog->dialog1)->action_area; + dialog_action_area1 = gtk_dialog_get_action_area(GTK_DIALOG (add_dialog->dialog1)); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); @@ -87,7 +176,7 @@ diff -Naur xarchiver-0.5.4.orig/src/add_dialog.c xarchiver-0.5.4/src/add_dialog. add_dialog->add_button = gtk_button_new(); add_dialog->add_image = xa_main_window_find_image("xarchiver-add.png", GTK_ICON_SIZE_SMALL_TOOLBAR); -@@ -192,7 +189,7 @@ +@@ -192,7 +189,7 @@ Add_dialog_data *xa_create_add_dialog() gtk_container_add(GTK_CONTAINER(add_dialog->add_button), alignment2); gtk_dialog_add_action_widget (GTK_DIALOG (add_dialog->dialog1), add_dialog->add_button, GTK_RESPONSE_OK); @@ -96,7 +185,7 @@ diff -Naur xarchiver-0.5.4.orig/src/add_dialog.c xarchiver-0.5.4/src/add_dialog. gtk_dialog_set_default_response (GTK_DIALOG (add_dialog->dialog1), GTK_RESPONSE_OK); return add_dialog; } -@@ -316,7 +313,7 @@ +@@ -312,7 +309,7 @@ void xa_set_add_dialog_options(Add_dialog_data *add_dialog,XArchive *archive) gtk_range_set_inverted (GTK_RANGE (add_dialog->compression_scale), TRUE); else if (archive->type == XARCHIVETYPE_7ZIP) g_signal_connect (G_OBJECT (add_dialog->compression_value),"value-changed",G_CALLBACK (fix_adjustment_value), NULL); @@ -105,7 +194,7 @@ diff -Naur xarchiver-0.5.4.orig/src/add_dialog.c xarchiver-0.5.4/src/add_dialog. if (archive->type == XARCHIVETYPE_TAR || archive->type == XARCHIVETYPE_TAR_GZ || archive->type == XARCHIVETYPE_TAR_LZMA || archive->type == XARCHIVETYPE_TAR_XZ || archive->type == XARCHIVETYPE_TAR_BZ2 || archive->type == XARCHIVETYPE_TAR_LZOP) flag = FALSE; -@@ -419,13 +416,13 @@ +@@ -414,13 +411,13 @@ void xa_parse_add_dialog_options (XArchive *archive,Add_dialog_data *add_dialog) if (add_dialog->remove_files != NULL) archive->remove_files = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (add_dialog->remove_files)); @@ -122,10 +211,11 @@ diff -Naur xarchiver-0.5.4.orig/src/add_dialog.c xarchiver-0.5.4/src/add_dialog. { archive->compression_level = gtk_adjustment_get_value(GTK_ADJUSTMENT (add_dialog->compression_value)); compression_string = g_strdup_printf("%d",archive->compression_level); -diff -Naur xarchiver-0.5.4.orig/src/add_dialog.h xarchiver-0.5.4/src/add_dialog.h ---- xarchiver-0.5.4.orig/src/add_dialog.h 2008-11-10 11:35:55.000000000 +0100 -+++ xarchiver-0.5.4/src/add_dialog.h 2015-07-09 17:27:29.951590832 +0200 -@@ -46,10 +46,8 @@ +diff --git a/src/add_dialog.h b/src/add_dialog.h +index f80ca30..56ebee1 100644 +--- a/src/add_dialog.h ++++ b/src/add_dialog.h +@@ -46,10 +46,8 @@ typedef struct GtkWidget *add_label; GtkWidget *cancel_button; GtkWidget *add_button; @@ -137,21 +227,23 @@ diff -Naur xarchiver-0.5.4.orig/src/add_dialog.h xarchiver-0.5.4/src/add_dialog. } Add_dialog_data; Add_dialog_data *xa_create_add_dialog(); -diff -Naur xarchiver-0.5.4.orig/src/archive.c xarchiver-0.5.4/src/archive.c ---- xarchiver-0.5.4.orig/src/archive.c 2014-02-09 16:26:24.000000000 +0100 -+++ xarchiver-0.5.4/src/archive.c 2015-07-09 17:27:29.951590832 +0200 -@@ -361,7 +361,7 @@ +diff --git a/src/archive.c b/src/archive.c +index ac413ec..c001a62 100644 +--- a/src/archive.c ++++ b/src/archive.c +@@ -359,7 +359,7 @@ gboolean xa_create_temp_directory (XArchive *archive) if (archive->tmp != NULL) return TRUE; - value = gtk_combo_box_get_active_text (GTK_COMBO_BOX(prefs_window->combo_prefered_temp_dir)); + value = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(prefs_window->combo_prefered_temp_dir)); tmp_dir = g_strconcat(value,"/xa-XXXXXX",NULL); + g_free(value); - if (mkdtemp (tmp_dir) == 0) -diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract_dialog.c ---- xarchiver-0.5.4.orig/src/extract_dialog.c 2014-09-28 22:11:16.000000000 +0200 -+++ xarchiver-0.5.4/src/extract_dialog.c 2015-07-09 17:27:29.951590832 +0200 +diff --git a/src/extract_dialog.c b/src/extract_dialog.c +index dfcc486..0a6f6ce 100644 +--- a/src/extract_dialog.c ++++ b/src/extract_dialog.c @@ -19,7 +19,6 @@ #include <gtk/gtk.h> #include <stdlib.h> @@ -160,7 +252,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract #include "window.h" #include "string_utils.h" #include "support.h" -@@ -30,7 +29,7 @@ +@@ -30,7 +29,7 @@ extern Progress_bar_data *pb; extern extract_func extract [XARCHIVETYPE_COUNT]; static gchar *xa_multi_extract_archive(Multi_extract_data *,gchar *,gboolean,gboolean,gchar *); @@ -169,7 +261,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract static void xa_remove_files_liststore (GtkWidget *,Multi_extract_data *); static void xa_multi_extract_dialog_select_files_to_add (GtkButton*,Multi_extract_data *); static void xa_multi_extract_dialog_selection_changed(GtkTreeSelection *selection,Multi_extract_data *); -@@ -51,11 +50,9 @@ +@@ -51,11 +50,9 @@ Extract_dialog_data *xa_create_extract_dialog() gtk_window_set_position (GTK_WINDOW (dialog_data->dialog1),GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_type_hint (GTK_WINDOW (dialog_data->dialog1),GDK_WINDOW_TYPE_HINT_DIALOG); @@ -182,7 +274,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract vbox1 = gtk_vbox_new (FALSE,2); gtk_box_pack_start (GTK_BOX (dialog_data->dialog_vbox1),vbox1,TRUE,TRUE,0); -@@ -65,9 +62,9 @@ +@@ -65,9 +62,9 @@ Extract_dialog_data *xa_create_extract_dialog() gtk_box_pack_start (GTK_BOX (vbox1),label1,FALSE,FALSE,0); gtk_misc_set_alignment (GTK_MISC (label1),0,0.5); @@ -195,7 +287,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract gtk_box_pack_start (GTK_BOX (vbox1),dialog_data->destination_path_entry,FALSE,FALSE,0); hbox1 = gtk_hbox_new (TRUE,10); -@@ -129,20 +126,20 @@ +@@ -129,20 +126,20 @@ Extract_dialog_data *xa_create_extract_dialog() gtk_box_pack_start (GTK_BOX (vbox5),dialog_data->overwrite_check,FALSE,FALSE,0); dialog_data->extract_full = gtk_check_button_new_with_mnemonic (_("Extract files with full path")); @@ -220,7 +312,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract gtk_box_pack_start (GTK_BOX (vbox5),dialog_data->update,FALSE,FALSE,0); g_signal_connect (G_OBJECT (dialog_data->update),"toggled",G_CALLBACK (update_fresh_toggled_cb),dialog_data); -@@ -159,12 +156,12 @@ +@@ -159,12 +156,12 @@ Extract_dialog_data *xa_create_extract_dialog() gtk_box_pack_start (GTK_BOX (hbox3),dialog_data->password_entry,TRUE,TRUE,0); gtk_entry_set_visibility (GTK_ENTRY (dialog_data->password_entry),FALSE); @@ -235,7 +327,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract extract_button = gtk_button_new(); extract_image = xa_main_window_find_image("xarchiver-extract.png",GTK_ICON_SIZE_SMALL_TOOLBAR); -@@ -178,7 +175,7 @@ +@@ -178,7 +175,7 @@ Extract_dialog_data *xa_create_extract_dialog() gtk_container_add(GTK_CONTAINER(extract_button),alignment3); gtk_dialog_add_action_widget (GTK_DIALOG (dialog_data->dialog1),extract_button,GTK_RESPONSE_OK); @@ -244,7 +336,16 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract gtk_dialog_set_default_response (GTK_DIALOG (dialog_data->dialog1),GTK_RESPONSE_OK); return dialog_data; } -@@ -387,11 +384,9 @@ +@@ -267,7 +264,7 @@ void xa_set_extract_dialog_options(Extract_dialog_data *dialog_data,gint selecte + + if (archive->extraction_path == NULL) + { +- archive_dir = gtk_combo_box_get_active_text (GTK_COMBO_BOX(prefs_window->combo_prefered_extract_dir)); ++ archive_dir = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(prefs_window->combo_prefered_extract_dir)); + if (archive_dir == NULL) archive_dir = xa_remove_level_from_path (archive->path); + gtk_entry_set_text (GTK_ENTRY(dialog_data->destination_path_entry),archive_dir); + } +@@ -391,11 +388,9 @@ Multi_extract_data *xa_create_multi_extract_dialog() GtkTreeSelection *selection; GtkTreeViewColumn *column; GSList *radiobutton1_group = NULL; @@ -256,7 +357,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract dialog_data = g_new0 (Multi_extract_data,1); dialog_data->multi_extract = gtk_dialog_new(); -@@ -399,10 +394,9 @@ +@@ -403,10 +398,9 @@ Multi_extract_data *xa_create_multi_extract_dialog() gtk_window_set_type_hint (GTK_WINDOW (dialog_data->multi_extract),GDK_WINDOW_TYPE_HINT_DIALOG); gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog_data->multi_extract),TRUE); gtk_widget_set_size_request(dialog_data->multi_extract,-1,300); @@ -268,7 +369,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract vbox1 = gtk_vbox_new (FALSE,5); gtk_box_pack_start (GTK_BOX (dialog_vbox1),vbox1,TRUE,TRUE,0); scrolledwindow1 = gtk_scrolled_window_new (NULL,NULL); -@@ -466,13 +460,13 @@ +@@ -470,13 +464,13 @@ Multi_extract_data *xa_create_multi_extract_dialog() gtk_radio_button_set_group (GTK_RADIO_BUTTON (dialog_data->extract_to),radiobutton1_group); radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (dialog_data->extract_to)); @@ -286,7 +387,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract gtk_box_pack_start (GTK_BOX (vbox2),dialog_data->extract_to_archive_name,FALSE,FALSE,0); gtk_radio_button_set_group (GTK_RADIO_BUTTON (dialog_data->extract_to_archive_name),radiobutton1_group); radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (dialog_data->extract_to_archive_name)); -@@ -496,11 +490,11 @@ +@@ -500,11 +494,11 @@ Multi_extract_data *xa_create_multi_extract_dialog() label2 = gtk_label_new (_("Options:")); gtk_frame_set_label_widget(GTK_FRAME(frame2),label2); @@ -297,10 +398,10 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract gtk_dialog_add_action_widget (GTK_DIALOG (dialog_data->multi_extract),cancelbutton1,GTK_RESPONSE_CANCEL); - GTK_WIDGET_SET_FLAGS (cancelbutton1,GTK_CAN_DEFAULT); + gtk_widget_set_can_default(cancelbutton1,TRUE); - + extract_button = gtk_button_new(); extract_image = xa_main_window_find_image("xarchiver-extract.png",GTK_ICON_SIZE_SMALL_TOOLBAR); -@@ -514,7 +508,7 @@ +@@ -518,7 +512,7 @@ Multi_extract_data *xa_create_multi_extract_dialog() gtk_container_add(GTK_CONTAINER(extract_button),alignment3); gtk_dialog_add_action_widget (GTK_DIALOG (dialog_data->multi_extract),extract_button,GTK_RESPONSE_OK); @@ -309,7 +410,7 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract gtk_dialog_set_default_response (GTK_DIALOG (dialog_data->multi_extract),GTK_RESPONSE_OK); return dialog_data; } -@@ -662,7 +656,7 @@ +@@ -665,7 +659,7 @@ static void xa_multi_extract_dialog_drag_data_received (GtkWidget *widget,GdkDra g_strfreev (array); } @@ -318,21 +419,23 @@ diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.c xarchiver-0.5.4/src/extract { GtkWidget *file_selector; gchar *dest_dir; -diff -Naur xarchiver-0.5.4.orig/src/extract_dialog.h xarchiver-0.5.4/src/extract_dialog.h ---- xarchiver-0.5.4.orig/src/extract_dialog.h 2008-10-08 12:14:57.000000000 +0200 -+++ xarchiver-0.5.4/src/extract_dialog.h 2015-07-09 17:27:29.954924258 +0200 -@@ -44,7 +44,6 @@ +diff --git a/src/extract_dialog.h b/src/extract_dialog.h +index 2bbb01a..fd31d56 100644 +--- a/src/extract_dialog.h ++++ b/src/extract_dialog.h +@@ -44,7 +44,6 @@ GtkWidget *label1,*label2,*label3,*label_password; GtkWidget *hbox1,*hbox2,*hbox3,*vbox1,*vbox2,*vbox3,*vbox5; GtkWidget *frame1,*frame2,*alignment1,*alignment2,*alignment3; GtkWidget *dialog_action_area1,*cancel_button,*okbutton1,*extract_button,*extract_image,*extract_hbox,*extract_label; -GtkTooltips *option_tooltip; - + Extract_dialog_data *xa_create_extract_dialog(); void xa_activate_entry(GtkToggleButton *,gpointer ); -diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c ---- xarchiver-0.5.4.orig/src/interface.c 2014-09-28 22:11:04.000000000 +0200 -+++ xarchiver-0.5.4/src/interface.c 2015-07-09 17:27:29.954924258 +0200 -@@ -55,7 +55,6 @@ +diff --git a/src/interface.c b/src/interface.c +index 8bd29ad..2899a31 100644 +--- a/src/interface.c ++++ b/src/interface.c +@@ -57,7 +57,6 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo GdkPixbuf *icon; xa_create_popup_menu(); @@ -340,7 +443,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c accel_group = gtk_accel_group_new (); xa_set_window_title (xa_main_window,NULL); -@@ -128,7 +127,7 @@ +@@ -130,7 +129,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (check_menu); gtk_widget_set_sensitive (check_menu,FALSE); gtk_container_add (GTK_CONTAINER (menuitem1_menu),check_menu); @@ -349,7 +452,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-index",GTK_ICON_SIZE_MENU); gtk_widget_show (tmp_image); -@@ -138,7 +137,7 @@ +@@ -140,7 +139,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (properties); gtk_widget_set_sensitive ( properties,FALSE); gtk_container_add (GTK_CONTAINER (menuitem1_menu),properties); @@ -358,7 +461,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-properties",GTK_ICON_SIZE_MENU); gtk_widget_show (tmp_image); -@@ -169,7 +168,7 @@ +@@ -171,7 +170,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_set_sensitive (addfile,FALSE); gtk_widget_show (addfile); gtk_container_add (GTK_CONTAINER (menuitem2_menu),addfile); @@ -367,7 +470,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c image2 = xa_main_window_find_image ("xarchiver-add.png",GTK_ICON_SIZE_MENU); gtk_widget_show (image2); -@@ -179,7 +178,7 @@ +@@ -181,7 +180,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_set_sensitive (extract_menu,FALSE); gtk_widget_show (extract_menu); gtk_container_add (GTK_CONTAINER (menuitem2_menu),extract_menu); @@ -376,16 +479,16 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c image2 = xa_main_window_find_image ("xarchiver-extract.png",GTK_ICON_SIZE_MENU); gtk_widget_show (image2); -@@ -189,7 +188,7 @@ +@@ -191,7 +190,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_set_sensitive (delete_menu,FALSE); gtk_widget_show (delete_menu); gtk_container_add (GTK_CONTAINER (menuitem2_menu),delete_menu); - gtk_widget_add_accelerator (delete_menu,"activate",accel_group,GDK_Delete,GDK_MODE_DISABLED,GTK_ACCEL_VISIBLE); + gtk_widget_add_accelerator (delete_menu,"activate",accel_group,GDK_KEY_Delete,GDK_MODE_DISABLED,GTK_ACCEL_VISIBLE); - rename_menu = gtk_image_menu_item_new_with_mnemonic (_("Rename")); + rename_menu = gtk_image_menu_item_new_with_mnemonic (_("Re_name")); gtk_widget_set_sensitive (rename_menu,FALSE); -@@ -209,7 +208,7 @@ +@@ -215,7 +214,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_set_sensitive (exe_menu,FALSE); gtk_widget_show (exe_menu); gtk_container_add (GTK_CONTAINER (menuitem2_menu),exe_menu); @@ -394,14 +497,14 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c image2 = gtk_image_new_from_stock ("gtk-execute",GTK_ICON_SIZE_MENU); gtk_widget_show (image2); -@@ -218,13 +217,13 @@ +@@ -224,13 +223,13 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo multi_extract_menu = gtk_menu_item_new_with_mnemonic (_("_Multi-Extract")); gtk_widget_show (multi_extract_menu); gtk_container_add (GTK_CONTAINER (menuitem2_menu),multi_extract_menu); - gtk_widget_add_accelerator (multi_extract_menu,"activate",accel_group,GDK_m,GDK_CONTROL_MASK,GTK_ACCEL_VISIBLE); + gtk_widget_add_accelerator (multi_extract_menu,"activate",accel_group,GDK_KEY_m,GDK_CONTROL_MASK,GTK_ACCEL_VISIBLE); - comment_menu = gtk_image_menu_item_new_with_mnemonic (_("Archive comment")); + comment_menu = gtk_image_menu_item_new_with_mnemonic (_("Archive _comment")); gtk_widget_set_sensitive (comment_menu,FALSE); gtk_widget_show (comment_menu); gtk_container_add (GTK_CONTAINER (menuitem2_menu),comment_menu); @@ -410,7 +513,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-justify-fill",GTK_ICON_SIZE_MENU); gtk_widget_show (tmp_image); -@@ -238,7 +237,7 @@ +@@ -244,7 +243,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (select_all); gtk_container_add (GTK_CONTAINER (menuitem2_menu),select_all); gtk_widget_set_sensitive (select_all,FALSE); @@ -419,7 +522,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-select-all",GTK_ICON_SIZE_MENU); gtk_widget_show (tmp_image); -@@ -248,13 +247,13 @@ +@@ -254,13 +253,13 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (deselect_all); gtk_container_add (GTK_CONTAINER (menuitem2_menu),deselect_all); gtk_widget_set_sensitive (deselect_all,FALSE); @@ -435,7 +538,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c separatormenuitem5 = gtk_separator_menu_item_new (); gtk_widget_show (separatormenuitem5); -@@ -263,7 +262,7 @@ +@@ -269,7 +268,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo view_shell_output1 = gtk_image_menu_item_new_with_mnemonic (_("Cmd-line outp_ut")); gtk_container_add (GTK_CONTAINER (menuitem2_menu),view_shell_output1); @@ -444,7 +547,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c if (show_output_menu_item) gtk_widget_set_sensitive(view_shell_output1,TRUE); else -@@ -278,7 +277,7 @@ +@@ -284,7 +283,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (password_entry_menu); gtk_widget_set_sensitive (password_entry_menu,FALSE); gtk_container_add (GTK_CONTAINER (menuitem2_menu),password_entry_menu); @@ -453,7 +556,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c separatormenuitem6 = gtk_separator_menu_item_new (); gtk_widget_show (separatormenuitem6); -@@ -288,7 +287,7 @@ +@@ -294,7 +293,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo prefs_menu = gtk_image_menu_item_new_with_mnemonic (_("_Preferences")); gtk_widget_show (prefs_menu); gtk_container_add (GTK_CONTAINER (menuitem2_menu),prefs_menu); @@ -462,8 +565,8 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-preferences",GTK_ICON_SIZE_MENU); gtk_widget_show (tmp_image); -@@ -304,7 +303,7 @@ - help1 = gtk_image_menu_item_new_with_mnemonic ("_Contents"); +@@ -310,7 +309,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo + help1 = gtk_image_menu_item_new_with_mnemonic (_("_Contents")); gtk_widget_show (help1); gtk_container_add (GTK_CONTAINER (menuitem4_menu),help1); - gtk_widget_add_accelerator (help1,"activate",accel_group,GDK_F1,GDK_MODE_DISABLED,GTK_ACCEL_VISIBLE); @@ -471,7 +574,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-help",GTK_ICON_SIZE_MENU); gtk_widget_show (tmp_image); -@@ -327,7 +326,7 @@ +@@ -334,7 +333,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (New_button); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (New_button),FALSE); gtk_container_add (GTK_CONTAINER (toolbar1),New_button); @@ -480,7 +583,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-open",tmp_toolbar_icon_size); gtk_widget_show (tmp_image); -@@ -335,7 +334,7 @@ +@@ -342,7 +341,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (Open_button); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (Open_button),FALSE); gtk_container_add (GTK_CONTAINER (toolbar1),Open_button); @@ -489,7 +592,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c separatortoolitem1 = (GtkWidget*) gtk_separator_tool_item_new (); gtk_widget_show (separatortoolitem1); -@@ -348,7 +347,7 @@ +@@ -355,7 +354,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (back_button); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (back_button),FALSE); gtk_container_add (GTK_CONTAINER (toolbar1),back_button); @@ -498,7 +601,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-go-up",tmp_toolbar_icon_size); gtk_widget_show (tmp_image); -@@ -357,7 +356,7 @@ +@@ -364,7 +363,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (up_button); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (up_button),FALSE); gtk_container_add (GTK_CONTAINER (toolbar1),up_button); @@ -507,7 +610,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-go-forward",tmp_toolbar_icon_size); gtk_widget_show (tmp_image); -@@ -366,7 +365,7 @@ +@@ -373,7 +372,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (forward_button); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (forward_button),FALSE); gtk_container_add (GTK_CONTAINER (toolbar1),forward_button); @@ -516,7 +619,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = gtk_image_new_from_stock ("gtk-home",tmp_toolbar_icon_size); gtk_widget_show (tmp_image); -@@ -375,7 +374,7 @@ +@@ -382,7 +381,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (home_button); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (home_button),FALSE); gtk_container_add (GTK_CONTAINER (toolbar1),home_button); @@ -525,7 +628,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c separatortoolitem3 = (GtkWidget*) gtk_separator_tool_item_new (); gtk_widget_show (separatortoolitem3); -@@ -388,7 +387,7 @@ +@@ -395,7 +394,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (AddFile_button); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (AddFile_button),FALSE); gtk_container_add (GTK_CONTAINER (toolbar1),AddFile_button); @@ -534,7 +637,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c tmp_image = xa_main_window_find_image("xarchiver-extract.png",GTK_ICON_SIZE_LARGE_TOOLBAR); gtk_widget_show (tmp_image); -@@ -397,7 +396,7 @@ +@@ -404,7 +403,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (Extract_button); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM (Extract_button),FALSE); gtk_container_add (GTK_CONTAINER (toolbar1),Extract_button); @@ -543,7 +646,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c separatortoolitem2 = (GtkWidget*) gtk_separator_tool_item_new (); gtk_widget_show (separatortoolitem2); -@@ -410,7 +409,7 @@ +@@ -417,7 +416,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (Stop_button); gtk_tool_item_set_homogeneous (GTK_TOOL_ITEM ( Stop_button),FALSE); gtk_container_add (GTK_CONTAINER (toolbar1),Stop_button); @@ -552,7 +655,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c /* Location entry */ toolbar2 = gtk_toolbar_new (); -@@ -510,7 +509,7 @@ +@@ -517,7 +516,7 @@ void xa_create_main_window (GtkWidget *xa_main_window,gboolean show_location,gbo gtk_widget_show (green_led); gtk_box_pack_start (GTK_BOX (hbox_sb),green_led,FALSE,FALSE,0); gtk_misc_set_alignment (GTK_MISC (green_led),1,1); @@ -561,7 +664,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c red_led = gtk_image_new_from_icon_name ("gtk-no",GTK_ICON_SIZE_BUTTON); gtk_box_pack_start (GTK_BOX (hbox_sb),red_led,FALSE,FALSE,0); -@@ -564,7 +563,7 @@ +@@ -572,7 +571,7 @@ gboolean xa_flash_led_indicator (XArchive *archive) archive->pb_source = 0; return FALSE; } @@ -570,7 +673,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c { gtk_widget_hide(green_led); gtk_widget_show(red_led); -@@ -577,7 +576,7 @@ +@@ -585,7 +584,7 @@ gboolean xa_flash_led_indicator (XArchive *archive) return TRUE; } @@ -579,7 +682,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c { gint id,selected = 0; GtkTreeSelection *selection = NULL; -@@ -648,7 +647,6 @@ +@@ -670,7 +669,6 @@ void xa_page_has_changed (GtkNotebook *notebook,GtkNotebookPage *page,guint page void xa_add_page (XArchive *archive) { GtkWidget *page_hbox,*label,*tab_label,*close_button,*image,*align; @@ -587,7 +690,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c gchar *filename_only; GtkRcStyle *rcstyle; GtkRequisition size; -@@ -684,13 +682,13 @@ +@@ -706,13 +704,13 @@ void xa_add_page (XArchive *archive) close_button = gtk_button_new(); gtk_button_set_focus_on_click(GTK_BUTTON(close_button),FALSE); gtk_button_set_relief (GTK_BUTTON(close_button),GTK_RELIEF_NONE); @@ -603,7 +706,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c image = gtk_image_new_from_stock (GTK_STOCK_CLOSE,GTK_ICON_SIZE_MENU); gtk_widget_size_request(image,&size); -@@ -745,9 +743,8 @@ +@@ -766,9 +764,8 @@ gchar *xa_create_password_dialog(XArchive *archive) gtk_window_set_position (GTK_WINDOW (password_dialog),GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_resizable (GTK_WINDOW (password_dialog),FALSE); gtk_window_set_type_hint (GTK_WINDOW (password_dialog),GDK_WINDOW_TYPE_HINT_DIALOG); @@ -614,7 +717,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c gtk_widget_show (dialog_vbox1); vbox1 = gtk_vbox_new (FALSE,12); -@@ -945,14 +942,13 @@ +@@ -965,14 +962,13 @@ void xa_select_by_pattern_dialog(GtkMenuItem *menuitem,gpointer user_data) current_page = gtk_notebook_get_current_page (notebook); id = xa_find_archive_index (current_page); @@ -630,7 +733,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c gtk_widget_show (ddialog_vbox1); dhbox1 = gtk_hbox_new (FALSE,10); -@@ -965,19 +961,19 @@ +@@ -985,19 +981,19 @@ void xa_select_by_pattern_dialog(GtkMenuItem *menuitem,gpointer user_data) gtk_box_pack_start (GTK_BOX (dhbox1),pattern_label,FALSE,FALSE,0); pattern_entry = gtk_entry_new (); @@ -653,7 +756,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c okbutton1 = gtk_button_new(); tmp_image = gtk_image_new_from_stock ("gtk-ok",GTK_ICON_SIZE_BUTTON); -@@ -992,7 +988,7 @@ +@@ -1012,7 +1008,7 @@ void xa_select_by_pattern_dialog(GtkMenuItem *menuitem,gpointer user_data) gtk_container_add(GTK_CONTAINER(okbutton1),alignment2); gtk_widget_show_all (okbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (ddialog1),okbutton1,GTK_RESPONSE_OK); @@ -662,7 +765,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c gtk_dialog_set_default_response (GTK_DIALOG (ddialog1),GTK_RESPONSE_OK); while (! done) -@@ -1066,10 +1062,9 @@ +@@ -1086,10 +1082,9 @@ GtkWidget *xa_create_archive_properties_window() gtk_window_set_type_hint (GTK_WINDOW (archive_properties_window),GDK_WINDOW_TYPE_HINT_DIALOG); gtk_window_set_resizable (GTK_WINDOW (archive_properties_window),FALSE); gtk_window_set_modal (GTK_WINDOW (archive_properties_window),TRUE); @@ -674,7 +777,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c gtk_container_set_border_width (GTK_CONTAINER (table1),6); gtk_table_set_row_spacings (GTK_TABLE (table1),6); gtk_table_set_col_spacings (GTK_TABLE (table1),12); -@@ -1485,7 +1480,7 @@ +@@ -1503,7 +1498,7 @@ gboolean xa_sidepane_drag_motion (GtkWidget *widget,GdkDragContext *context,gint } /* This to set the focus on the dropped row */ gtk_tree_view_set_drag_dest_row(GTK_TREE_VIEW(widget),path,GTK_TREE_VIEW_DROP_INTO_OR_BEFORE); @@ -683,7 +786,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c return TRUE; } -@@ -1629,7 +1624,7 @@ +@@ -1654,7 +1649,7 @@ static void xa_progress_dialog_stop_action (GtkWidget *widget,GPid *pid) gboolean xa_pulse_progress_bar_window (Progress_bar_data *pb) { @@ -692,10 +795,11 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c { gtk_progress_bar_pulse(GTK_PROGRESS_BAR(pb->progressbar1)); return TRUE; -diff -Naur xarchiver-0.5.4.orig/src/interface.h xarchiver-0.5.4/src/interface.h ---- xarchiver-0.5.4.orig/src/interface.h 2014-02-09 16:26:24.000000000 +0100 -+++ xarchiver-0.5.4/src/interface.h 2015-07-09 17:27:29.954924258 +0200 -@@ -39,7 +39,6 @@ +diff --git a/src/interface.h b/src/interface.h +index 5bf29ed..8804f6e 100644 +--- a/src/interface.h ++++ b/src/interface.h +@@ -39,7 +39,6 @@ GtkTreeStore *archive_dir_model; GtkTreeViewColumn *column; GtkCellRenderer *archive_dir_renderer; GtkAccelGroup *accel_group; @@ -703,7 +807,7 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.h xarchiver-0.5.4/src/interface.h GtkIconTheme *icon_theme; GtkWidget *xa_popup_menu, *xa_main_window, *vbox1, *hbox_sb, *menubar1, *menuitem1, *menuitem1_menu, *new1, *open1, *listing, *listing_submenu, -@@ -65,7 +64,7 @@ +@@ -64,7 +63,7 @@ gboolean select_matched_rows(GtkTreeModel *,GtkTreePath *,GtkTreeIter *,gpointer void xa_select_by_pattern_dialog(GtkMenuItem *, gpointer ); void xa_handle_navigation_buttons (GtkMenuItem *, gpointer ); void xa_add_page (XArchive *); @@ -712,29 +816,28 @@ diff -Naur xarchiver-0.5.4.orig/src/interface.h xarchiver-0.5.4/src/interface.h void xa_close_page ( GtkWidget*, gpointer ); void xa_set_button_state (gboolean,gboolean,gboolean,gboolean,gboolean,gboolean, gboolean, gboolean,gboolean,gboolean,gboolean); void xa_restore_navigation(int idx); -diff -Naur xarchiver-0.5.4.orig/src/Makefile.am xarchiver-0.5.4/src/Makefile.am ---- xarchiver-0.5.4.orig/src/Makefile.am 2008-09-23 08:39:50.000000000 +0200 -+++ xarchiver-0.5.4/src/Makefile.am 2015-07-09 17:27:29.958257684 +0200 -@@ -4,7 +4,6 @@ - - xarchiver_SOURCES = \ - socket.c socket.h \ -- sexy-icon-entry.c sexy-icon-entry.h \ - main.c main.h \ - string_utils.c string_utils.h \ - mime.c mime.h \ -diff -Naur xarchiver-0.5.4.orig/src/new_dialog.c xarchiver-0.5.4/src/new_dialog.c ---- xarchiver-0.5.4.orig/src/new_dialog.c 2014-02-09 16:26:24.000000000 +0100 -+++ xarchiver-0.5.4/src/new_dialog.c 2015-07-09 17:27:29.958257684 +0200 -@@ -38,7 +38,6 @@ +diff --git a/src/new_dialog.c b/src/new_dialog.c +index 692a503..4638ad5 100644 +--- a/src/new_dialog.c ++++ b/src/new_dialog.c +@@ -51,7 +51,7 @@ static void xa_change_archive_extension (GtkComboBox *combo_box, GtkWidget *xa_f + gchar *file, *stem, *newfile; + + g_free(ComboArchiveType); +- ComboArchiveType = gtk_combo_box_get_active_text(combo_box); ++ ComboArchiveType = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(combo_box)); + newsuff = xa_get_suffix(g_list_first(ArchiveType), ComboArchiveType); + + Name = g_list_last(ArchiveType); +@@ -97,7 +97,6 @@ XArchive *xa_new_archive_dialog (gchar *path, XArchive *archive_open[], gboolean + GtkWidget *hbox = NULL; GtkWidget *combo_box = NULL; - GtkWidget *add_extension_cb = NULL; GtkFileFilter *xa_new_archive_dialog_filter; - GtkTooltips *filter_tooltip; GList *Suffix,*Name; gchar *my_path = NULL; - gchar *my_path_ext = NULL; -@@ -93,16 +92,15 @@ + gchar *basepath, *filename; +@@ -150,10 +149,9 @@ XArchive *xa_new_archive_dialog (gchar *path, XArchive *archive_open[], gboolean hbox = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (hbox),gtk_label_new (_("Archive type:")),FALSE,FALSE,0); @@ -747,26 +850,29 @@ diff -Naur xarchiver-0.5.4.orig/src/new_dialog.c xarchiver-0.5.4/src/new_dialog. Name = g_list_first (ArchiveType); while (Name) - { - if (!(strncmp(Name->data, "rar", 3) == 0 && unrar)) +@@ -161,7 +159,7 @@ XArchive *xa_new_archive_dialog (gchar *path, XArchive *archive_open[], gboolean + if (!(*(char *) Name->data == 0 || + (strncmp(Name->data, "arj", 3) == 0 && unarj) || + (strncmp(Name->data, "rar", 3) == 0 && unrar))) - gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box),Name->data); + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box),Name->data); Name = g_list_next (Name); } if (new_combo_box == -1) -@@ -138,7 +136,7 @@ - if (response == GTK_RESPONSE_ACCEPT) - { - my_path = gtk_file_chooser_get_filename ( GTK_FILE_CHOOSER (xa_file_chooser) ); -- ComboArchiveType = gtk_combo_box_get_active_text (GTK_COMBO_BOX (combo_box)); -+ ComboArchiveType = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT (combo_box)); - - if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (add_extension_cb))) - { -diff -Naur xarchiver-0.5.4.orig/src/open-with-dlg.c xarchiver-0.5.4/src/open-with-dlg.c ---- xarchiver-0.5.4.orig/src/open-with-dlg.c 2014-09-28 22:11:22.000000000 +0200 -+++ xarchiver-0.5.4/src/open-with-dlg.c 2015-07-09 17:27:29.958257684 +0200 -@@ -58,10 +58,9 @@ +@@ -173,7 +171,7 @@ XArchive *xa_new_archive_dialog (gchar *path, XArchive *archive_open[], gboolean + + gtk_widget_show_all (hbox); + gtk_file_chooser_set_extra_widget (GTK_FILE_CHOOSER (xa_file_chooser), hbox); +- ComboArchiveType = gtk_combo_box_get_active_text(GTK_COMBO_BOX(combo_box)); ++ ComboArchiveType = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(combo_box)); + suffix = xa_get_suffix(g_list_first(ArchiveType), ComboArchiveType); + g_signal_connect(G_OBJECT(combo_box), "changed", G_CALLBACK(xa_change_archive_extension), xa_file_chooser); + +diff --git a/src/open-with-dlg.c b/src/open-with-dlg.c +index 56e93a9..737ed38 100644 +--- a/src/open-with-dlg.c ++++ b/src/open-with-dlg.c +@@ -60,10 +60,9 @@ void xa_create_open_with_dialog(gchar *filename,gchar *filenames,int nr) gtk_window_set_modal (GTK_WINDOW (data->dialog1), TRUE); gtk_window_set_type_hint (GTK_WINDOW (data->dialog1), GDK_WINDOW_TYPE_HINT_DIALOG); gtk_window_set_transient_for(GTK_WINDOW(data->dialog1),GTK_WINDOW(xa_main_window)); @@ -778,7 +884,7 @@ diff -Naur xarchiver-0.5.4.orig/src/open-with-dlg.c xarchiver-0.5.4/src/open-wit vbox1 = gtk_vbox_new (FALSE, 5); gtk_box_pack_start (GTK_BOX (dialog_vbox1),vbox1,TRUE,TRUE,0); -@@ -130,20 +129,20 @@ +@@ -133,20 +132,20 @@ void xa_create_open_with_dialog(gchar *filename,gchar *filenames,int nr) gtk_box_pack_start (GTK_BOX (hbox_expander),browse,FALSE,TRUE,0); gtk_container_add(GTK_CONTAINER(custom_command_expander),hbox_expander); @@ -802,10 +908,11 @@ diff -Naur xarchiver-0.5.4.orig/src/open-with-dlg.c xarchiver-0.5.4/src/open-wit gtk_widget_show_all(data->dialog1); /* Let's parse the desktop files in all the system data dirs */ -diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialog.c ---- xarchiver-0.5.4.orig/src/pref_dialog.c 2014-02-09 16:26:24.000000000 +0100 -+++ xarchiver-0.5.4/src/pref_dialog.c 2015-07-09 17:27:29.958257684 +0200 -@@ -41,13 +41,11 @@ +diff --git a/src/pref_dialog.c b/src/pref_dialog.c +index eb1fb6e..88ec37f 100644 +--- a/src/pref_dialog.c ++++ b/src/pref_dialog.c +@@ -41,13 +41,11 @@ Prefs_dialog_data *xa_create_prefs_dialog() prefs_data->dialog1 = gtk_dialog_new_with_buttons (_("Preferences"), GTK_WINDOW (xa_main_window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,GTK_STOCK_OK,GTK_RESPONSE_OK, NULL); @@ -820,16 +927,16 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo hbox1 = gtk_hbox_new (FALSE, 6); gtk_box_pack_start (GTK_BOX (vbox1),hbox1,TRUE,TRUE,10); -@@ -75,7 +73,7 @@ +@@ -76,7 +74,7 @@ Prefs_dialog_data *xa_create_prefs_dialog() prefs_iconview = gtk_icon_view_new_with_model(GTK_TREE_MODEL(prefs_data->prefs_liststore)); - g_object_unref (prefs_data->prefs_liststore); + g_object_unref (prefs_data->prefs_liststore); - gtk_icon_view_set_orientation (GTK_ICON_VIEW (prefs_iconview), GTK_ORIENTATION_VERTICAL); + gtk_icon_view_set_item_orientation (GTK_ICON_VIEW (prefs_iconview), GTK_ORIENTATION_VERTICAL); gtk_icon_view_set_columns (GTK_ICON_VIEW (prefs_iconview),1); gtk_icon_view_set_pixbuf_column (GTK_ICON_VIEW (prefs_iconview), 0); gtk_icon_view_set_text_column(GTK_ICON_VIEW (prefs_iconview),1); -@@ -84,7 +82,7 @@ +@@ -85,7 +83,7 @@ Prefs_dialog_data *xa_create_prefs_dialog() prefs_data->prefs_notebook = gtk_notebook_new (); g_object_set (G_OBJECT (prefs_data->prefs_notebook),"show-border", FALSE,"show-tabs", FALSE,"enable-popup",FALSE,NULL); gtk_box_pack_start (GTK_BOX (hbox1), prefs_data->prefs_notebook,TRUE,TRUE,0); @@ -838,7 +945,7 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo g_signal_connect (G_OBJECT (prefs_iconview),"selection-changed",G_CALLBACK (xa_prefs_iconview_changed),prefs_data); /* Archive page*/ -@@ -97,7 +95,7 @@ +@@ -98,7 +96,7 @@ Prefs_dialog_data *xa_create_prefs_dialog() label4 = gtk_label_new (_("Preferred archive format")); gtk_box_pack_start (GTK_BOX (hbox1), label4, FALSE, FALSE,0); @@ -847,16 +954,16 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo gtk_box_pack_start (GTK_BOX (hbox1), prefs_data->combo_prefered_format,FALSE,TRUE,0); archive_type = g_list_first (ArchiveType); while ( archive_type != NULL ) -@@ -107,7 +105,7 @@ - (strncmp(archive_type->data, "rar", 3) == 0 && unrar) ) - goto next; - else +@@ -106,7 +104,7 @@ Prefs_dialog_data *xa_create_prefs_dialog() + if (!(*(char *) archive_type->data == 0 || + (strncmp(archive_type->data, "arj", 3) == 0 && unarj) || + (strncmp(archive_type->data, "rar", 3) == 0 && unrar))) - gtk_combo_box_append_text (GTK_COMBO_BOX (prefs_data->combo_prefered_format),archive_type->data ); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (prefs_data->combo_prefered_format),archive_type->data ); - next: - archive_type = g_list_next (archive_type); + archive_type = g_list_next (archive_type); } -@@ -119,12 +117,12 @@ + +@@ -117,12 +115,12 @@ Prefs_dialog_data *xa_create_prefs_dialog() prefs_data->check_sort_filename_column = gtk_check_button_new_with_mnemonic(_("Sort archive by filename")); gtk_box_pack_start (GTK_BOX (vbox4), prefs_data->check_sort_filename_column, FALSE, FALSE, 0); gtk_button_set_focus_on_click (GTK_BUTTON (prefs_data->check_sort_filename_column), FALSE); @@ -871,7 +978,7 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo label1 = gtk_label_new (""); gtk_notebook_set_tab_label (GTK_NOTEBOOK (prefs_data->prefs_notebook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (prefs_data->prefs_notebook), 0), label1); -@@ -140,15 +138,15 @@ +@@ -138,15 +136,15 @@ Prefs_dialog_data *xa_create_prefs_dialog() (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_SHRINK), 0, 0); gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5); @@ -884,14 +991,14 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo gtk_table_attach (GTK_TABLE (table1), prefs_data->combo_icon_size, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_SHRINK), 0, 0); - + prefs_data->check_show_comment = gtk_check_button_new_with_mnemonic (_("Show archive comment")); - gtk_tooltips_set_tip(tooltips, prefs_data->check_show_comment, _("If checked the archive comment is shown after the archive is loaded"), NULL); + gtk_widget_set_tooltip_text(prefs_data->check_show_comment, _("If checked the archive comment is shown after the archive is loaded")); gtk_table_attach (GTK_TABLE (table1), prefs_data->check_show_comment, 0, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_SHRINK), 0, 0); -@@ -187,9 +185,9 @@ +@@ -191,9 +189,9 @@ Prefs_dialog_data *xa_create_prefs_dialog() (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_SHRINK), 0, 0); gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); @@ -904,7 +1011,7 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo g_signal_connect (prefs_data->combo_prefered_web_browser,"changed",G_CALLBACK (xa_prefs_combo_changed),NULL); gtk_table_attach (GTK_TABLE (table2), prefs_data->combo_prefered_web_browser, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), -@@ -200,9 +198,9 @@ +@@ -204,9 +202,9 @@ Prefs_dialog_data *xa_create_prefs_dialog() (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_SHRINK), 0, 0); gtk_misc_set_alignment (GTK_MISC (label7), 0, 0.5); @@ -917,7 +1024,7 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo g_signal_connect (prefs_data->combo_prefered_editor,"changed",G_CALLBACK (xa_prefs_combo_changed),NULL); gtk_table_attach (GTK_TABLE (table2), prefs_data->combo_prefered_editor, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), -@@ -213,9 +211,9 @@ +@@ -217,9 +215,9 @@ Prefs_dialog_data *xa_create_prefs_dialog() (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_SHRINK), 0, 0); gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5); @@ -930,7 +1037,7 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo g_signal_connect (prefs_data->combo_prefered_viewer,"changed",G_CALLBACK (xa_prefs_combo_changed),NULL); gtk_table_attach (GTK_TABLE (table2), prefs_data->combo_prefered_viewer, 1, 2, 2, 3, (GtkAttachOptions) (GTK_FILL), -@@ -226,9 +224,9 @@ +@@ -230,9 +228,9 @@ Prefs_dialog_data *xa_create_prefs_dialog() (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_SHRINK), 0, 0); gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5); @@ -943,8 +1050,21 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo g_signal_connect (prefs_data->combo_prefered_temp_dir,"changed",G_CALLBACK (xa_prefs_combo_changed),(gpointer) 1); gtk_table_attach (GTK_TABLE (table2), prefs_data->combo_prefered_temp_dir, 1, 2, 3, 4, (GtkAttachOptions) (GTK_FILL), -@@ -243,7 +241,7 @@ - gtk_table_attach (GTK_TABLE (table2), prefs_data->allow_sub_dir, 0, 2, 5, 6, +@@ -243,9 +241,9 @@ Prefs_dialog_data *xa_create_prefs_dialog() + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_SHRINK), 0, 0); + gtk_misc_set_alignment (GTK_MISC (label10), 0, 0.5); +- prefs_data->combo_prefered_extract_dir = gtk_combo_box_new_text(); +- gtk_combo_box_append_text (GTK_COMBO_BOX (prefs_data->combo_prefered_extract_dir), _("/tmp") ); +- gtk_combo_box_append_text (GTK_COMBO_BOX (prefs_data->combo_prefered_extract_dir), _("choose...") ); ++ prefs_data->combo_prefered_extract_dir = gtk_combo_box_text_new(); ++ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (prefs_data->combo_prefered_extract_dir), _("/tmp") ); ++ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (prefs_data->combo_prefered_extract_dir), _("choose...") ); + g_signal_connect (prefs_data->combo_prefered_extract_dir,"changed",G_CALLBACK (xa_prefs_combo_changed),(gpointer) 1); + gtk_table_attach (GTK_TABLE (table2), prefs_data->combo_prefered_extract_dir, 1, 2, 4, 5, + (GtkAttachOptions) (GTK_FILL), +@@ -260,7 +258,7 @@ Prefs_dialog_data *xa_create_prefs_dialog() + gtk_table_attach (GTK_TABLE (table2), prefs_data->allow_sub_dir, 0, 2, 6, 7, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); - gtk_tooltips_set_tip(tooltips, prefs_data->allow_sub_dir, _("This option includes the subdirectories when you add files with drag and drop"), NULL); @@ -952,8 +1072,8 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo gtk_button_set_focus_on_click (GTK_BUTTON (prefs_data->check_save_geometry), FALSE); if (xdg_open == FALSE) -@@ -330,26 +328,26 @@ - +@@ -350,32 +348,32 @@ void xa_prefs_save_options(Prefs_dialog_data *prefs_data, const char *filename) + if (!xdg_open) { - value = gtk_combo_box_get_active_text (GTK_COMBO_BOX(prefs_data->combo_prefered_web_browser)); @@ -983,7 +1103,14 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo if (value != NULL) { g_key_file_set_string (xa_key_file,PACKAGE,"preferred_temp_dir",value); -@@ -438,24 +436,24 @@ + g_free(value); + } +- value = gtk_combo_box_get_active_text (GTK_COMBO_BOX(prefs_data->combo_prefered_extract_dir)); ++ value = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(prefs_data->combo_prefered_extract_dir)); + if (value != NULL) + { + g_key_file_set_string (xa_key_file,PACKAGE,"preferred_extract_dir",value); +@@ -475,24 +473,24 @@ void xa_prefs_load_options(Prefs_dialog_data *prefs_data) value = g_key_file_get_string(xa_key_file,PACKAGE,"preferred_web_browser",NULL); if (value != NULL) { @@ -1014,7 +1141,7 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo gtk_combo_box_set_active (GTK_COMBO_BOX(prefs_data->combo_prefered_viewer),0); g_free(value); } -@@ -463,8 +461,8 @@ +@@ -500,16 +498,16 @@ void xa_prefs_load_options(Prefs_dialog_data *prefs_data) value = g_key_file_get_string(xa_key_file,PACKAGE,"preferred_temp_dir",NULL); if (value != NULL) { @@ -1025,7 +1152,17 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo gtk_combo_box_set_active (GTK_COMBO_BOX(prefs_data->combo_prefered_temp_dir),0); g_free(value); } -@@ -538,8 +536,8 @@ + value = g_key_file_get_string(xa_key_file,PACKAGE,"preferred_extract_dir",NULL); + if (value != NULL) + { +- gtk_combo_box_remove_text(GTK_COMBO_BOX (prefs_data->combo_prefered_extract_dir),0); +- gtk_combo_box_insert_text (GTK_COMBO_BOX(prefs_data->combo_prefered_extract_dir),0,value); ++ gtk_combo_box_text_remove(GTK_COMBO_BOX_TEXT (prefs_data->combo_prefered_extract_dir),0); ++ gtk_combo_box_text_insert_text (GTK_COMBO_BOX_TEXT(prefs_data->combo_prefered_extract_dir),0,value); + gtk_combo_box_set_active (GTK_COMBO_BOX(prefs_data->combo_prefered_extract_dir),0); + g_free(value); + } +@@ -583,8 +581,8 @@ void xa_prefs_combo_changed (GtkComboBox *widget,gpointer user_data) filename = xa_prefs_choose_program(flag); if (filename != NULL) { @@ -1036,21 +1173,1086 @@ diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialo g_free(filename); } gtk_combo_box_set_active (GTK_COMBO_BOX (widget),0); -diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.h xarchiver-0.5.4/src/pref_dialog.h ---- xarchiver-0.5.4.orig/src/pref_dialog.h 2008-08-27 14:56:03.000000000 +0200 -+++ xarchiver-0.5.4/src/pref_dialog.h 2015-07-09 17:27:29.958257684 +0200 -@@ -28,7 +28,6 @@ - GtkWidget *check_show_comment, *check_sort_filename_column,*show_location_bar,*show_sidebar,*combo_prefered_viewer; - GtkWidget *combo_prefered_web_browser, *combo_prefered_editor, *combo_prefered_temp_dir, *allow_sub_dir,*check_save_geometry,*prefs_notebook; +diff --git a/src/pref_dialog.h b/src/pref_dialog.h +index 1227ab6..62581dc 100644 +--- a/src/pref_dialog.h ++++ b/src/pref_dialog.h +@@ -28,7 +28,6 @@ typedef struct + GtkWidget *check_show_comment, *check_sort_filename_column,*show_location_bar,*show_sidebar,*show_toolbar,*combo_prefered_viewer; + GtkWidget *combo_prefered_web_browser, *combo_prefered_editor, *combo_prefered_temp_dir, *combo_prefered_extract_dir, *allow_sub_dir,*check_save_geometry,*prefs_notebook; GtkListStore *prefs_liststore; - GtkTooltips *tooltips; gint geometry[5]; gint extract_dialog[2]; gint add_coords[2]; -diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c ---- xarchiver-0.5.4.orig/src/window.c 2015-07-09 17:27:02.254150000 +0200 -+++ xarchiver-0.5.4/src/window.c 2015-07-09 17:27:29.961591111 +0200 -@@ -152,10 +152,9 @@ +diff --git a/src/sexy-icon-entry.c b/src/sexy-icon-entry.c +deleted file mode 100644 +index 9ee95f4..0000000 +--- a/src/sexy-icon-entry.c ++++ /dev/null +@@ -1,950 +0,0 @@ +-/* +- * @file libsexy/sexy-icon-entry.c Entry widget +- * +- * @Copyright (C) 2004-2006 Christian Hammond. +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 59 Temple Place - Suite 330, +- * Boston, MA 02111-1307, USA. +- */ +-#include <string.h> +-#include <gtk/gtk.h> +-#include "sexy-icon-entry.h" +- +-#define ICON_MARGIN 2 +-#define MAX_ICONS 2 +- +-#define IS_VALID_ICON_ENTRY_POSITION(pos) \ +- ((pos) == SEXY_ICON_ENTRY_PRIMARY || \ +- (pos) == SEXY_ICON_ENTRY_SECONDARY) +- +-typedef struct +-{ +- GtkImage *icon; +- gboolean highlight; +- gboolean hovered; +- GdkWindow *window; +- +-} SexyIconInfo; +- +-struct _SexyIconEntryPriv +-{ +- SexyIconInfo icons[MAX_ICONS]; +- +- gulong icon_released_id; +-}; +- +-enum +-{ +- ICON_PRESSED, +- ICON_RELEASED, +- LAST_SIGNAL +-}; +- +-static void sexy_icon_entry_class_init(SexyIconEntryClass *klass); +-static void sexy_icon_entry_editable_init(GtkEditableClass *iface); +-static void sexy_icon_entry_init(SexyIconEntry *entry); +-static void sexy_icon_entry_finalize(GObject *obj); +-static void sexy_icon_entry_destroy(GtkObject *obj); +-static void sexy_icon_entry_map(GtkWidget *widget); +-static void sexy_icon_entry_unmap(GtkWidget *widget); +-static void sexy_icon_entry_realize(GtkWidget *widget); +-static void sexy_icon_entry_unrealize(GtkWidget *widget); +-static void sexy_icon_entry_size_request(GtkWidget *widget, +- GtkRequisition *requisition); +-static void sexy_icon_entry_size_allocate(GtkWidget *widget, +- GtkAllocation *allocation); +-static gint sexy_icon_entry_expose(GtkWidget *widget, GdkEventExpose *event); +-static gint sexy_icon_entry_enter_notify(GtkWidget *widget, +- GdkEventCrossing *event); +-static gint sexy_icon_entry_leave_notify(GtkWidget *widget, +- GdkEventCrossing *event); +-static gint sexy_icon_entry_button_press(GtkWidget *widget, +- GdkEventButton *event); +-static gint sexy_icon_entry_button_release(GtkWidget *widget, +- GdkEventButton *event); +- +-static GtkEntryClass *parent_class = NULL; +-static guint signals[LAST_SIGNAL] = {0}; +- +-G_DEFINE_TYPE_EXTENDED(SexyIconEntry, sexy_icon_entry, GTK_TYPE_ENTRY, +- 0, +- G_IMPLEMENT_INTERFACE(GTK_TYPE_EDITABLE, +- sexy_icon_entry_editable_init)); +- +-static void +-sexy_icon_entry_class_init(SexyIconEntryClass *klass) +-{ +- GObjectClass *gobject_class; +- GtkObjectClass *object_class; +- GtkWidgetClass *widget_class; +- +- parent_class = g_type_class_peek_parent(klass); +- +- gobject_class = G_OBJECT_CLASS(klass); +- object_class = GTK_OBJECT_CLASS(klass); +- widget_class = GTK_WIDGET_CLASS(klass); +- +- gobject_class->finalize = sexy_icon_entry_finalize; +- +- object_class->destroy = sexy_icon_entry_destroy; +- +- widget_class->map = sexy_icon_entry_map; +- widget_class->unmap = sexy_icon_entry_unmap; +- widget_class->realize = sexy_icon_entry_realize; +- widget_class->unrealize = sexy_icon_entry_unrealize; +- widget_class->size_request = sexy_icon_entry_size_request; +- widget_class->size_allocate = sexy_icon_entry_size_allocate; +- widget_class->expose_event = sexy_icon_entry_expose; +- widget_class->enter_notify_event = sexy_icon_entry_enter_notify; +- widget_class->leave_notify_event = sexy_icon_entry_leave_notify; +- widget_class->button_press_event = sexy_icon_entry_button_press; +- widget_class->button_release_event = sexy_icon_entry_button_release; +- +- /** +- * SexyIconEntry::icon-pressed: +- * @entry: The entry on which the signal is emitted. +- * @icon_pos: The position of the clicked icon. +- * @button: The mouse button clicked. +- * +- * The ::icon-pressed signal is emitted when an icon is clicked. +- */ +- signals[ICON_PRESSED] = +- g_signal_new("icon_pressed", +- G_TYPE_FROM_CLASS(gobject_class), +- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, +- G_STRUCT_OFFSET(SexyIconEntryClass, icon_pressed), +- NULL, NULL, +- gtk_marshal_VOID__INT_INT, +- G_TYPE_NONE, 2, +- G_TYPE_INT, +- G_TYPE_INT); +- +- /** +- * SexyIconEntry::icon-released: +- * @entry: The entry on which the signal is emitted. +- * @icon_pos: The position of the clicked icon. +- * @button: The mouse button clicked. +- * +- * The ::icon-released signal is emitted on the button release from a +- * mouse click. +- */ +- signals[ICON_RELEASED] = +- g_signal_new("icon_released", +- G_TYPE_FROM_CLASS(gobject_class), +- G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, +- G_STRUCT_OFFSET(SexyIconEntryClass, icon_released), +- NULL, NULL, +- gtk_marshal_VOID__INT_INT, +- G_TYPE_NONE, 2, +- G_TYPE_INT, +- G_TYPE_INT); +-} +- +-static void +-sexy_icon_entry_editable_init(GtkEditableClass *iface G_GNUC_UNUSED ) +-{ +-}; +- +-static void +-sexy_icon_entry_init(SexyIconEntry *entry) +-{ +- entry->priv = g_new0(SexyIconEntryPriv, 1); +-} +- +-static void +-sexy_icon_entry_finalize(GObject *obj) +-{ +- SexyIconEntry *entry; +- +- g_return_if_fail(obj != NULL); +- g_return_if_fail(SEXY_IS_ICON_ENTRY(obj)); +- +- entry = SEXY_ICON_ENTRY(obj); +- +- g_free(entry->priv); +- +- if (G_OBJECT_CLASS(parent_class)->finalize) +- G_OBJECT_CLASS(parent_class)->finalize(obj); +-} +- +-static void +-sexy_icon_entry_destroy(GtkObject *obj) +-{ +- SexyIconEntry *entry; +- +- entry = SEXY_ICON_ENTRY(obj); +- +- sexy_icon_entry_set_icon(entry, SEXY_ICON_ENTRY_PRIMARY, NULL); +- sexy_icon_entry_set_icon(entry, SEXY_ICON_ENTRY_SECONDARY, NULL); +- +- if (GTK_OBJECT_CLASS(parent_class)->destroy) +- GTK_OBJECT_CLASS(parent_class)->destroy(obj); +-} +- +-static void +-sexy_icon_entry_map(GtkWidget *widget) +-{ +- if (GTK_WIDGET_REALIZED(widget) && !GTK_WIDGET_MAPPED(widget)) +- { +- SexyIconEntry *entry = SEXY_ICON_ENTRY(widget); +- int i; +- +- GTK_WIDGET_CLASS(parent_class)->map(widget); +- +- for (i = 0; i < MAX_ICONS; i++) +- { +- if (entry->priv->icons[i].icon != NULL) +- gdk_window_show(entry->priv->icons[i].window); +- } +- } +-} +- +-static void +-sexy_icon_entry_unmap(GtkWidget *widget) +-{ +- if (GTK_WIDGET_MAPPED(widget)) +- { +- SexyIconEntry *entry = SEXY_ICON_ENTRY(widget); +- int i; +- +- for (i = 0; i < MAX_ICONS; i++) +- { +- if (entry->priv->icons[i].icon != NULL) +- gdk_window_hide(entry->priv->icons[i].window); +- } +- +- GTK_WIDGET_CLASS(parent_class)->unmap(widget); +- } +-} +- +-static gint +-get_icon_width(SexyIconEntry *entry, SexyIconEntryPosition icon_pos) +-{ +- GtkRequisition requisition; +- gint menu_icon_width; +- gint width; +- SexyIconInfo *icon_info = &entry->priv->icons[icon_pos]; +- +- if (icon_info->icon == NULL) +- return 0; +- +- gtk_widget_size_request(GTK_WIDGET(icon_info->icon), &requisition); +- gtk_icon_size_lookup(GTK_ICON_SIZE_MENU, &menu_icon_width, NULL); +- +- width = MAX(requisition.width, menu_icon_width); +- +- return width; +-} +- +-static void +-get_borders(SexyIconEntry *entry, gint *xborder, gint *yborder) +-{ +- GtkWidget *widget = GTK_WIDGET(entry); +- gint focus_width; +- gboolean interior_focus; +- +- gtk_widget_style_get(widget, +- "interior-focus", &interior_focus, +- "focus-line-width", &focus_width, +- NULL); +- +- if (gtk_entry_get_has_frame(GTK_ENTRY(entry))) +- { +- *xborder = widget->style->xthickness; +- *yborder = widget->style->ythickness; +- } +- else +- { +- *xborder = 0; +- *yborder = 0; +- } +- +- if (!interior_focus) +- { +- *xborder += focus_width; +- *yborder += focus_width; +- } +-} +- +-static void +-get_text_area_size(SexyIconEntry *entry, GtkAllocation *alloc) +-{ +- GtkWidget *widget = GTK_WIDGET(entry); +- GtkRequisition requisition; +- gint xborder, yborder; +- +- gtk_widget_get_child_requisition(widget, &requisition); +- get_borders(entry, &xborder, &yborder); +- +- alloc->x = xborder; +- alloc->y = yborder; +- alloc->width = widget->allocation.width - xborder * 2; +- alloc->height = requisition.height - yborder * 2; +-} +- +-static void +-get_icon_allocation(SexyIconEntry *icon_entry, +- gboolean left, +- GtkAllocation *widget_alloc G_GNUC_UNUSED, +- GtkAllocation *text_area_alloc, +- GtkAllocation *allocation, +- SexyIconEntryPosition *icon_pos) +-{ +- gboolean rtl; +- +- rtl = (gtk_widget_get_direction(GTK_WIDGET(icon_entry)) == +- GTK_TEXT_DIR_RTL); +- +- if (left) +- *icon_pos = (rtl ? SEXY_ICON_ENTRY_SECONDARY : SEXY_ICON_ENTRY_PRIMARY); +- else +- *icon_pos = (rtl ? SEXY_ICON_ENTRY_PRIMARY : SEXY_ICON_ENTRY_SECONDARY); +- +- allocation->y = text_area_alloc->y; +- allocation->width = get_icon_width(icon_entry, *icon_pos); +- allocation->height = text_area_alloc->height; +- +- if (left) +- allocation->x = text_area_alloc->x + ICON_MARGIN; +- else +- { +- allocation->x = text_area_alloc->x + text_area_alloc->width - +- allocation->width - ICON_MARGIN; +- } +-} +- +-static void +-sexy_icon_entry_realize(GtkWidget *widget) +-{ +- SexyIconEntry *entry = SEXY_ICON_ENTRY(widget); +- GdkWindowAttr attributes; +- gint attributes_mask; +- int i; +- +- GTK_WIDGET_CLASS(parent_class)->realize(widget); +- +- attributes.x = 0; +- attributes.y = 0; +- attributes.width = 1; +- attributes.height = 1; +- attributes.window_type = GDK_WINDOW_CHILD; +- attributes.wclass = GDK_INPUT_OUTPUT; +- attributes.visual = gtk_widget_get_visual(widget); +- attributes.colormap = gtk_widget_get_colormap(widget); +- attributes.event_mask = gtk_widget_get_events(widget); +- attributes.event_mask |= +- (GDK_EXPOSURE_MASK +- | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK +- | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK); +- +- attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL | GDK_WA_COLORMAP; +- +- for (i = 0; i < MAX_ICONS; i++) +- { +- SexyIconInfo *icon_info; +- +- icon_info = &entry->priv->icons[i]; +- icon_info->window = gdk_window_new(widget->window, &attributes, +- attributes_mask); +- gdk_window_set_user_data(icon_info->window, widget); +- +- gdk_window_set_background(icon_info->window, +- &widget->style->base[GTK_WIDGET_STATE(widget)]); +- } +- +- gtk_widget_queue_resize(widget); +-} +- +-static void +-sexy_icon_entry_unrealize(GtkWidget *widget) +-{ +- SexyIconEntry *entry = SEXY_ICON_ENTRY(widget); +- int i; +- +- GTK_WIDGET_CLASS(parent_class)->unrealize(widget); +- +- for (i = 0; i < MAX_ICONS; i++) +- { +- SexyIconInfo *icon_info = &entry->priv->icons[i]; +- +- gdk_window_destroy(icon_info->window); +- icon_info->window = NULL; +- } +-} +- +-static void +-sexy_icon_entry_size_request(GtkWidget *widget, GtkRequisition *requisition) +-{ +- SexyIconEntry *entry; +- gint icon_widths = 0; +- int i; +- +- entry = SEXY_ICON_ENTRY(widget); +- +- for (i = 0; i < MAX_ICONS; i++) +- { +- int icon_width = get_icon_width(entry, i); +- +- if (icon_width > 0) +- icon_widths += icon_width + ICON_MARGIN; +- } +- +- GTK_WIDGET_CLASS(parent_class)->size_request(widget, requisition); +- +- if (icon_widths > requisition->width) +- requisition->width += icon_widths; +-} +- +-static void +-place_windows(SexyIconEntry *icon_entry, GtkAllocation *widget_alloc) +-{ +- SexyIconEntryPosition left_icon_pos; +- SexyIconEntryPosition right_icon_pos; +- GtkAllocation left_icon_alloc; +- GtkAllocation right_icon_alloc; +- GtkAllocation text_area_alloc; +- +- get_text_area_size(icon_entry, &text_area_alloc); +- get_icon_allocation(icon_entry, TRUE, widget_alloc, &text_area_alloc, +- &left_icon_alloc, &left_icon_pos); +- get_icon_allocation(icon_entry, FALSE, widget_alloc, &text_area_alloc, +- &right_icon_alloc, &right_icon_pos); +- +- if (left_icon_alloc.width > 0) +- { +- text_area_alloc.x = left_icon_alloc.x + left_icon_alloc.width + +- ICON_MARGIN; +- } +- +- if (right_icon_alloc.width > 0) +- text_area_alloc.width -= right_icon_alloc.width + ICON_MARGIN; +- +- text_area_alloc.width -= text_area_alloc.x; +- +- gdk_window_move_resize(icon_entry->priv->icons[left_icon_pos].window, +- left_icon_alloc.x, left_icon_alloc.y, +- left_icon_alloc.width, left_icon_alloc.height); +- +- gdk_window_move_resize(icon_entry->priv->icons[right_icon_pos].window, +- right_icon_alloc.x, right_icon_alloc.y, +- right_icon_alloc.width, right_icon_alloc.height); +- +- gdk_window_move_resize(GTK_ENTRY(icon_entry)->text_area, +- text_area_alloc.x, text_area_alloc.y, +- text_area_alloc.width, text_area_alloc.height); +-} +- +-static void +-sexy_icon_entry_size_allocate(GtkWidget *widget, GtkAllocation *allocation) +-{ +- g_return_if_fail(SEXY_IS_ICON_ENTRY(widget)); +- g_return_if_fail(allocation != NULL); +- +- widget->allocation = *allocation; +- +- GTK_WIDGET_CLASS(parent_class)->size_allocate(widget, allocation); +- +- if (GTK_WIDGET_REALIZED(widget)) +- place_windows(SEXY_ICON_ENTRY(widget), allocation); +-} +- +-static GdkPixbuf * +-get_pixbuf_from_icon(SexyIconEntry *entry, SexyIconEntryPosition icon_pos) +-{ +- GdkPixbuf *pixbuf = NULL; +- gchar *stock_id; +- SexyIconInfo *icon_info = &entry->priv->icons[icon_pos]; +- GtkIconSize size; +- +- switch (gtk_image_get_storage_type(GTK_IMAGE(icon_info->icon))) +- { +- case GTK_IMAGE_PIXBUF: +- pixbuf = gtk_image_get_pixbuf(GTK_IMAGE(icon_info->icon)); +- g_object_ref(pixbuf); +- break; +- +- case GTK_IMAGE_STOCK: +- gtk_image_get_stock(GTK_IMAGE(icon_info->icon), &stock_id, &size); +- pixbuf = gtk_widget_render_icon(GTK_WIDGET(entry), +- stock_id, size, NULL); +- break; +- +- default: +- return NULL; +- } +- +- return pixbuf; +-} +- +-/* Kudos to the gnome-panel guys. */ +-static void +-colorshift_pixbuf(GdkPixbuf *dest, GdkPixbuf *src, int shift) +-{ +- gint i, j; +- gint width, height, has_alpha, src_rowstride, dest_rowstride; +- guchar *target_pixels; +- guchar *original_pixels; +- guchar *pix_src; +- guchar *pix_dest; +- int val; +- guchar r, g, b; +- +- has_alpha = gdk_pixbuf_get_has_alpha(src); +- width = gdk_pixbuf_get_width(src); +- height = gdk_pixbuf_get_height(src); +- src_rowstride = gdk_pixbuf_get_rowstride(src); +- dest_rowstride = gdk_pixbuf_get_rowstride(dest); +- original_pixels = gdk_pixbuf_get_pixels(src); +- target_pixels = gdk_pixbuf_get_pixels(dest); +- +- for (i = 0; i < height; i++) +- { +- pix_dest = target_pixels + i * dest_rowstride; +- pix_src = original_pixels + i * src_rowstride; +- +- for (j = 0; j < width; j++) +- { +- r = *(pix_src++); +- g = *(pix_src++); +- b = *(pix_src++); +- +- val = r + shift; +- *(pix_dest++) = CLAMP(val, 0, 255); +- +- val = g + shift; +- *(pix_dest++) = CLAMP(val, 0, 255); +- +- val = b + shift; +- *(pix_dest++) = CLAMP(val, 0, 255); +- +- if (has_alpha) +- *(pix_dest++) = *(pix_src++); +- } +- } +-} +- +-static void +-draw_icon(GtkWidget *widget, SexyIconEntryPosition icon_pos) +-{ +- SexyIconEntry *entry = SEXY_ICON_ENTRY(widget); +- SexyIconInfo *icon_info = &entry->priv->icons[icon_pos]; +- GdkPixbuf *pixbuf; +- gint x, y, width, height; +- +- if (icon_info->icon == NULL || !GTK_WIDGET_REALIZED(widget)) +- return; +- +- if ((pixbuf = get_pixbuf_from_icon(entry, icon_pos)) == NULL) +- return; +- +- gdk_drawable_get_size(icon_info->window, &width, &height); +- +- if (width == 1 || height == 1) +- { +- /* +- * size_allocate hasn't been called yet. These are the default values. +- */ +- return; +- } +- +- if (gdk_pixbuf_get_height(pixbuf) > height) +- { +- GdkPixbuf *temp_pixbuf; +- int scale; +- +- scale = height - (2 * ICON_MARGIN); +- +- temp_pixbuf = gdk_pixbuf_scale_simple(pixbuf, scale, scale, GDK_INTERP_BILINEAR); +- +- g_object_unref(pixbuf); +- +- pixbuf = temp_pixbuf; +- } +- +- x = (width - gdk_pixbuf_get_width(pixbuf)) / 2; +- y = (height - gdk_pixbuf_get_height(pixbuf)) / 2; +- +- if (icon_info->hovered) +- { +- GdkPixbuf *temp_pixbuf; +- +- temp_pixbuf = gdk_pixbuf_copy(pixbuf); +- +- colorshift_pixbuf(temp_pixbuf, pixbuf, 30); +- +- g_object_unref(pixbuf); +- +- pixbuf = temp_pixbuf; +- } +- +- gdk_draw_pixbuf(icon_info->window, widget->style->black_gc, pixbuf, +- 0, 0, x, y, -1, -1, +- GDK_RGB_DITHER_NORMAL, 0, 0); +- +- g_object_unref(pixbuf); +-} +- +-static gint +-sexy_icon_entry_expose(GtkWidget *widget, GdkEventExpose *event) +-{ +- SexyIconEntry *entry; +- +- g_return_val_if_fail(SEXY_IS_ICON_ENTRY(widget), FALSE); +- g_return_val_if_fail(event != NULL, FALSE); +- +- entry = SEXY_ICON_ENTRY(widget); +- +- if (GTK_WIDGET_DRAWABLE(widget)) +- { +- gboolean found = FALSE; +- int i; +- +- for (i = 0; i < MAX_ICONS && !found; i++) +- { +- SexyIconInfo *icon_info = &entry->priv->icons[i]; +- +- if (event->window == icon_info->window) +- { +- gint width; +- GtkAllocation text_area_alloc; +- +- get_text_area_size(entry, &text_area_alloc); +- gdk_drawable_get_size(icon_info->window, &width, NULL); +- +- gtk_paint_flat_box(widget->style, icon_info->window, +- GTK_WIDGET_STATE(widget), GTK_SHADOW_NONE, +- NULL, widget, "entry_bg", +- 0, 0, width, text_area_alloc.height); +- +- draw_icon(widget, i); +- +- found = TRUE; +- } +- } +- +- if (!found) +- GTK_WIDGET_CLASS(parent_class)->expose_event(widget, event); +- } +- +- return FALSE; +-} +- +-static void +-update_icon(GObject *obj G_GNUC_UNUSED, GParamSpec *param, SexyIconEntry *entry) +-{ +- if (param != NULL) +- { +- const char *name = g_param_spec_get_name(param); +- +- if (strcmp(name, "pixbuf") && strcmp(name, "stock") && +- strcmp(name, "image") && strcmp(name, "pixmap") && +- strcmp(name, "icon_set") && strcmp(name, "pixbuf_animation")) +- { +- return; +- } +- } +- +- gtk_widget_queue_resize(GTK_WIDGET(entry)); +-} +- +-static gint +-sexy_icon_entry_enter_notify(GtkWidget *widget, GdkEventCrossing *event) +-{ +- SexyIconEntry *entry = SEXY_ICON_ENTRY(widget); +- int i; +- +- for (i = 0; i < MAX_ICONS; i++) +- { +- if (event->window == entry->priv->icons[i].window) +- { +- if (sexy_icon_entry_get_icon_highlight(entry, i)) +- { +- entry->priv->icons[i].hovered = TRUE; +- +- update_icon(NULL, NULL, entry); +- +- break; +- } +- } +- } +- +- return FALSE; +-} +- +-static gint +-sexy_icon_entry_leave_notify(GtkWidget *widget, GdkEventCrossing *event) +-{ +- SexyIconEntry *entry = SEXY_ICON_ENTRY(widget); +- int i; +- +- for (i = 0; i < MAX_ICONS; i++) +- { +- if (event->window == entry->priv->icons[i].window) +- { +- if (sexy_icon_entry_get_icon_highlight(entry, i)) +- { +- entry->priv->icons[i].hovered = FALSE; +- +- update_icon(NULL, NULL, entry); +- +- break; +- } +- } +- } +- +- return FALSE; +-} +- +-static gint +-sexy_icon_entry_button_press(GtkWidget *widget, GdkEventButton *event) +-{ +- SexyIconEntry *entry = SEXY_ICON_ENTRY(widget); +- int i; +- +- for (i = 0; i < MAX_ICONS; i++) +- { +- if (event->window == entry->priv->icons[i].window) +- { +- if (event->button == 1 && +- sexy_icon_entry_get_icon_highlight(entry, i)) +- { +- entry->priv->icons[i].hovered = FALSE; +- +- update_icon(NULL, NULL, entry); +- } +- +- g_signal_emit(entry, signals[ICON_PRESSED], 0, i, event->button); +- +- return TRUE; +- } +- } +- +- if (GTK_WIDGET_CLASS(parent_class)->button_press_event) +- return GTK_WIDGET_CLASS(parent_class)->button_press_event(widget, +- event); +- +- return FALSE; +-} +- +-static gint +-sexy_icon_entry_button_release(GtkWidget *widget, GdkEventButton *event) +-{ +- SexyIconEntry *entry = SEXY_ICON_ENTRY(widget); +- int i; +- +- for (i = 0; i < MAX_ICONS; i++) +- { +- GdkWindow *icon_window = entry->priv->icons[i].window; +- +- if (event->window == icon_window) +- { +- int width, height; +- gdk_drawable_get_size(icon_window, &width, &height); +- +- if (event->button == 1 && +- sexy_icon_entry_get_icon_highlight(entry, i) && +- event->x >= 0 && event->y >= 0 && +- event->x <= width && event->y <= height) +- { +- entry->priv->icons[i].hovered = TRUE; +- +- update_icon(NULL, NULL, entry); +- } +- +- g_signal_emit(entry, signals[ICON_RELEASED], 0, i, event->button); +- +- return TRUE; +- } +- } +- +- if (GTK_WIDGET_CLASS(parent_class)->button_release_event) +- return GTK_WIDGET_CLASS(parent_class)->button_release_event(widget, +- event); +- +- return FALSE; +-} +- +-/** +- * sexy_icon_entry_new +- * +- * Creates a new SexyIconEntry widget. +- * +- * Returns a new #SexyIconEntry. +- */ +-GtkWidget * +-sexy_icon_entry_new(void) +-{ +- return GTK_WIDGET(g_object_new(SEXY_TYPE_ICON_ENTRY, NULL)); +-} +- +-/** +- * sexy_icon_entry_set_icon +- * @entry: A #SexyIconEntry. +- * @position: Icon position. +- * @icon: A #GtkImage to set as the icon. +- * +- * Sets the icon shown in the entry +- */ +-void +-sexy_icon_entry_set_icon(SexyIconEntry *entry, SexyIconEntryPosition icon_pos, +- GtkImage *icon) +-{ +- SexyIconInfo *icon_info; +- +- g_return_if_fail(entry != NULL); +- g_return_if_fail(SEXY_IS_ICON_ENTRY(entry)); +- g_return_if_fail(IS_VALID_ICON_ENTRY_POSITION(icon_pos)); +- g_return_if_fail(icon == NULL || GTK_IS_IMAGE(icon)); +- +- icon_info = &entry->priv->icons[icon_pos]; +- +- if (icon == icon_info->icon) +- return; +- +- if (icon_pos == SEXY_ICON_ENTRY_SECONDARY && +- entry->priv->icon_released_id != 0) +- { +- g_signal_handler_disconnect(entry, entry->priv->icon_released_id); +- entry->priv->icon_released_id = 0; +- } +- +- if (icon == NULL) +- { +- if (icon_info->icon != NULL) +- { +- gtk_widget_destroy(GTK_WIDGET(icon_info->icon)); +- icon_info->icon = NULL; +- +- /* +- * Explicitly check, as the pointer may become invalidated +- * during destruction. +- */ +- if (icon_info->window != NULL && GDK_IS_WINDOW(icon_info->window)) +- gdk_window_hide(icon_info->window); +- } +- } +- else +- { +- if (icon_info->window != NULL && icon_info->icon == NULL) +- gdk_window_show(icon_info->window); +- +- g_signal_connect(G_OBJECT(icon), "notify", +- G_CALLBACK(update_icon), entry); +- +- icon_info->icon = icon; +- g_object_ref(icon); +- } +- +- update_icon(NULL, NULL, entry); +-} +- +-/** +- * sexy_icon_entry_set_icon_highlight +- * @entry: A #SexyIconEntry; +- * @position: Icon position. +- * @highlight: TRUE if the icon should highlight on mouse-over +- * +- * Determines whether the icon will highlight on mouse-over. +- */ +-void +-sexy_icon_entry_set_icon_highlight(SexyIconEntry *entry, +- SexyIconEntryPosition icon_pos, +- gboolean highlight) +-{ +- SexyIconInfo *icon_info; +- +- g_return_if_fail(entry != NULL); +- g_return_if_fail(SEXY_IS_ICON_ENTRY(entry)); +- g_return_if_fail(IS_VALID_ICON_ENTRY_POSITION(icon_pos)); +- +- icon_info = &entry->priv->icons[icon_pos]; +- +- if (icon_info->highlight == highlight) +- return; +- +- icon_info->highlight = highlight; +-} +- +-/** +- * sexy_icon_entry_get_icon +- * @entry: A #SexyIconEntry. +- * @position: Icon position. +- * +- * Retrieves the image used for the icon +- * +- * Returns: A #GtkImage. +- */ +-GtkImage * +-sexy_icon_entry_get_icon(const SexyIconEntry *entry, +- SexyIconEntryPosition icon_pos) +-{ +- g_return_val_if_fail(entry != NULL, NULL); +- g_return_val_if_fail(SEXY_IS_ICON_ENTRY(entry), NULL); +- g_return_val_if_fail(IS_VALID_ICON_ENTRY_POSITION(icon_pos), NULL); +- +- return entry->priv->icons[icon_pos].icon; +-} +- +-/** +- * sexy_icon_entry_get_icon_highlight +- * @entry: A #SexyIconEntry. +- * @position: Icon position. +- * +- * Retrieves whether entry will highlight the icon on mouseover. +- * +- * Returns: TRUE if icon highlights. +- */ +-gboolean +-sexy_icon_entry_get_icon_highlight(const SexyIconEntry *entry, +- SexyIconEntryPosition icon_pos) +-{ +- g_return_val_if_fail(entry != NULL, FALSE); +- g_return_val_if_fail(SEXY_IS_ICON_ENTRY(entry), FALSE); +- g_return_val_if_fail(IS_VALID_ICON_ENTRY_POSITION(icon_pos), FALSE); +- +- return entry->priv->icons[icon_pos].highlight; +-} +- +-/** +- * sexy_icon_entry_add_clear_button +- * @icon_entry: A #SexyIconEntry. +- * +- * A convenience function to add a clear button to the end of the entry. +- * This is useful for search boxes. +- */ +-void +-sexy_icon_entry_add_clear_button(SexyIconEntry *icon_entry,gpointer data, gpointer function) +-{ +- GtkWidget *icon; +- +- g_return_if_fail(icon_entry != NULL); +- g_return_if_fail(SEXY_IS_ICON_ENTRY(icon_entry)); +- +- icon = gtk_image_new_from_stock(GTK_STOCK_OPEN, GTK_ICON_SIZE_MENU); +- gtk_widget_show(icon); +- sexy_icon_entry_set_icon(SEXY_ICON_ENTRY(icon_entry), +- SEXY_ICON_ENTRY_SECONDARY, +- GTK_IMAGE(icon)); +- sexy_icon_entry_set_icon_highlight(SEXY_ICON_ENTRY(icon_entry), +- SEXY_ICON_ENTRY_SECONDARY, TRUE); +- +- if (icon_entry->priv->icon_released_id != 0) +- { +- g_signal_handler_disconnect(icon_entry, +- icon_entry->priv->icon_released_id); +- } +- +- icon_entry->priv->icon_released_id = g_signal_connect(G_OBJECT(icon_entry), "icon_released",G_CALLBACK(function), data); +-} +diff --git a/src/sexy-icon-entry.h b/src/sexy-icon-entry.h +deleted file mode 100644 +index 5941a8c..0000000 +--- a/src/sexy-icon-entry.h ++++ /dev/null +@@ -1,101 +0,0 @@ +-/* +- * @file libsexy/sexy-icon-entry.h Entry widget +- * +- * @Copyright (C) 2004-2006 Christian Hammond. +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- * +- * You should have received a copy of the GNU Lesser General Public +- * License along with this library; if not, write to the +- * Free Software Foundation, Inc., 59 Temple Place - Suite 330, +- * Boston, MA 02111-1307, USA. +- */ +-#ifndef _SEXY_ICON_ENTRY_H_ +-#define _SEXY_ICON_ENTRY_H_ +- +-typedef struct _SexyIconEntry SexyIconEntry; +-typedef struct _SexyIconEntryClass SexyIconEntryClass; +-typedef struct _SexyIconEntryPriv SexyIconEntryPriv; +- +-#include <gtk/gtkentry.h> +-#include <gtk/gtkimage.h> +- +-#define SEXY_TYPE_ICON_ENTRY (sexy_icon_entry_get_type()) +-#define SEXY_ICON_ENTRY(obj) \ +- (G_TYPE_CHECK_INSTANCE_CAST((obj), SEXY_TYPE_ICON_ENTRY, SexyIconEntry)) +-#define SEXY_ICON_ENTRY_CLASS(klass) \ +- (G_TYPE_CHECK_CLASS_CAST((klass), SEXY_TYPE_ICON_ENTRY, SexyIconEntryClass)) +-#define SEXY_IS_ICON_ENTRY(obj) \ +- (G_TYPE_CHECK_INSTANCE_TYPE((obj), SEXY_TYPE_ICON_ENTRY)) +-#define SEXY_IS_ICON_ENTRY_CLASS(klass) \ +- (G_TYPE_CHECK_CLASS_TYPE((klass), SEXY_TYPE_ICON_ENTRY)) +-#define SEXY_ICON_ENTRY_GET_CLASS(obj) \ +- (G_TYPE_INSTANCE_GET_CLASS ((obj), SEXY_TYPE_ICON_ENTRY, SexyIconEntryClass)) +- +-typedef enum +-{ +- SEXY_ICON_ENTRY_PRIMARY, +- SEXY_ICON_ENTRY_SECONDARY +- +-} SexyIconEntryPosition; +- +-struct _SexyIconEntry +-{ +- GtkEntry parent_object; +- +- SexyIconEntryPriv *priv; +- +- void (*gtk_reserved1)(void); +- void (*gtk_reserved2)(void); +- void (*gtk_reserved3)(void); +- void (*gtk_reserved4)(void); +-}; +- +-struct _SexyIconEntryClass +-{ +- GtkEntryClass parent_class; +- +- /* Signals */ +- void (*icon_pressed)(SexyIconEntry *entry, SexyIconEntryPosition icon_pos, +- int button); +- void (*icon_released)(SexyIconEntry *entry, SexyIconEntryPosition icon_pos, +- int button); +- +- void (*gtk_reserved1)(void); +- void (*gtk_reserved2)(void); +- void (*gtk_reserved3)(void); +- void (*gtk_reserved4)(void); +-}; +- +-G_BEGIN_DECLS +- +-GType sexy_icon_entry_get_type(void); +- +-GtkWidget *sexy_icon_entry_new(void); +- +-void sexy_icon_entry_set_icon(SexyIconEntry *entry, +- SexyIconEntryPosition position, +- GtkImage *icon); +- +-void sexy_icon_entry_set_icon_highlight(SexyIconEntry *entry, +- SexyIconEntryPosition position, +- gboolean highlight); +- +-GtkImage *sexy_icon_entry_get_icon(const SexyIconEntry *entry, +- SexyIconEntryPosition position); +- +-gboolean sexy_icon_entry_get_icon_highlight(const SexyIconEntry *entry, +- SexyIconEntryPosition position); +-void sexy_icon_entry_add_clear_button(SexyIconEntry *icon_entry,gpointer, gpointer); +- +-G_END_DECLS +- +-#endif /* _SEXY_ICON_ENTRY_H_ */ +diff --git a/src/window.c b/src/window.c +index 7f96fd2..49fc66c 100644 +--- a/src/window.c ++++ b/src/window.c +@@ -150,10 +150,9 @@ void xa_show_cmd_line_output(GtkMenuItem *menuitem,XArchive *_archive) GTK_WINDOW(xa_main_window),GTK_DIALOG_MODAL,GTK_STOCK_OK,GTK_RESPONSE_OK,NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog),GTK_RESPONSE_OK); @@ -1063,7 +2265,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c gtk_widget_set_size_request (dialog,400,-1); scrolledwindow = gtk_scrolled_window_new (NULL,NULL); -@@ -188,7 +187,7 @@ +@@ -186,7 +185,7 @@ void xa_show_cmd_line_output(GtkMenuItem *menuitem,XArchive *_archive) } gtk_container_add (GTK_CONTAINER (scrolledwindow),textview); gtk_box_pack_start (GTK_BOX (vbox),scrolledwindow,TRUE,TRUE,0); @@ -1072,26 +2274,36 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c output = _archive->error_output; while (output) -@@ -964,14 +963,31 @@ +@@ -446,7 +445,7 @@ void xa_list_archive (GtkMenuItem *menuitem,gpointer data) + g_free(filename_plus); + filename = NULL; + +- pref_path = gtk_combo_box_get_active_text (GTK_COMBO_BOX(prefs_window->combo_prefered_extract_dir)); ++ pref_path = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(prefs_window->combo_prefered_extract_dir)); + if (current_open_directory != NULL || pref_path != NULL) + gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (save), pref_path ? pref_path : current_open_directory); + g_free (pref_path); +@@ -961,14 +960,32 @@ void xa_convert_sfx (GtkMenuItem *menuitem ,gpointer user_data) void xa_about (GtkMenuItem *menuitem,gpointer user_data) { static GtkWidget *about = NULL; -- const char *authors[] = {"Main developer:\nGiuseppe Torelli <colossus73@gmail.com>\n\nArchive navigation code:\nJohn Berthels\n\nLHA and DEB support:\nŁukasz Zemczak <sil2100@vexillium.org>\n\nLZMA support:\nThomas Dy <dysprosium66@gmail.com>\n\nLZOP support:\nKevin Day\n\nRAR5, XZ, TAR.XZ support:\nFrederick GUERIN <fguerin01@gmail.com>\n",NULL}; -- const char *documenters[] = {"Special thanks to Bjoern Martensen for\nbugs hunting and Xarchiver Tango logo.\n\nThanks to:\nBenedikt Meurer\nStephan Arts\nBruno Jesus <00cpxxx@gmail.com>\nUracile for the stunning logo\n",NULL}; -+ +- const char *authors[] = {"\nMain developer:\nGiuseppe Torelli <colossus73@gmail.com>\n\nThis version:\nIngo Brückl <ib@wupperonline.de>\n\nArchive navigation code:\nJohn Berthels\n\nCode fixing:\nEnrico Tröger\n\nLHA and DEB support:\nŁukasz Zemczak <sil2100@vexillium.org>\n\nLZMA support:\nThomas Dy <dysprosium66@gmail.com>\n\nLZOP support:\nKevin Day\n\nRARv5, XZ, TAR.XZ support:\nFrederick GUERIN <fguerin01@gmail.com>\n",NULL}; +- const char *documenters[] = {"\nSpecial thanks to Bjoern Martensen for\nbugs hunting and " PACKAGE_NAME " Tango logo.\n\nThanks to:\nBenedikt Meurer\nStephan Arts\nBruno Jesus <00cpxxx@gmail.com>\nUracile for the stunning logo\n",NULL}; + const char *authors[] = { + "Main developer:\nGiuseppe Torelli <colossus73@gmail.com>\n", ++ "This version:\nIngo Brückl <ib@wupperonline.de>\n", + "Archive navigation code:\nJohn Berthels\n", ++ "Code fixing:\nEnrico Tröger\n", + "LHA and DEB support:\nŁukasz Zemczak <sil2100@vexillium.org>\n", + "LZMA support:\nThomas Dy <dysprosium66@gmail.com>\n", + "LZOP support:\nKevin Day\n", -+ "RAR5, XZ, TAR.XZ support:\nFrederick GUERIN <fguerin01@gmail.com>\n", ++ "RARv5, XZ, TAR.XZ support:\nFrederick GUERIN <fguerin01@gmail.com>\n", + "GTK+ 3 port:\nBalló György <ballogyor@gmail.com>\n", + NULL + }; + + const char *documenters[] = { -+ "Special thanks to Bjoern Martensen for\nbugs hunting and Xarchiver Tango logo.\n", ++ "Special thanks to Bjoern Martensen for\nbugs hunting and " PACKAGE_NAME " Tango logo.\n", + "Thanks to:", + "Benedikt Meurer", + "Stephan Arts", @@ -1108,16 +2320,16 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c gtk_window_set_position (GTK_WINDOW (about),GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_transient_for (GTK_WINDOW (about),GTK_WINDOW (xa_main_window)); gtk_window_set_destroy_with_parent (GTK_WINDOW (about),TRUE); -@@ -979,7 +995,7 @@ - "name", "xarchiver", +@@ -976,7 +993,7 @@ void xa_about (GtkMenuItem *menuitem,gpointer user_data) + "program-name", PACKAGE_NAME, "version",PACKAGE_VERSION, "copyright","Copyright \xC2\xA9 2005-2014 Giuseppe Torelli", -- "comments","A GTK+2 only lightweight archive manager", -+ "comments","A GTK+ only lightweight archive manager", +- "comments",_("A GTK+2 only lightweight archive manager"), ++ "comments",_("A GTK+ only lightweight archive manager"), "authors",authors, "documenters",documenters, "translator_credits",_("translator-credits"), -@@ -1325,7 +1341,7 @@ +@@ -1325,7 +1342,7 @@ void xa_cancel_archive (GtkMenuItem *menuitem,gpointer data) current_page = gtk_notebook_get_current_page(notebook); idx = xa_find_archive_index (current_page); gtk_widget_set_sensitive(Stop_button,FALSE); @@ -1126,7 +2338,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c { multi_extract_window->stop_pressed = TRUE; kill (multi_extract_window->archive->child_pid,SIGINT); -@@ -1658,7 +1674,7 @@ +@@ -1656,7 +1673,7 @@ void drag_begin (GtkWidget *treeview1,GdkDragContext *context,XArchive *archive) gtk_tree_model_get_iter(archive->model,&iter,(GtkTreePath*) (row_list->data)); gtk_tree_model_get (GTK_TREE_MODEL (archive->liststore),&iter,archive->nc+1,&entry,-1); @@ -1135,8 +2347,8 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c gdk_atom_intern ("XdndDirectSave0",FALSE), gdk_atom_intern ("text/plain",FALSE), 8,GDK_PROP_MODE_REPLACE, -@@ -1694,7 +1710,7 @@ - response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't perform another extraction:"),_("Please wait until the completion of the current one!")); +@@ -1691,7 +1708,7 @@ void drag_data_get (GtkWidget *widget,GdkDragContext *dc,GtkSelectionData *selec + xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't perform another extraction:"),_("Please wait until the completion of the current one!")); return; } - gdk_property_get ( dc->source_window, @@ -1144,7 +2356,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c gdk_atom_intern ("XdndDirectSave0",FALSE), gdk_atom_intern ("text/plain",FALSE), 0,4096,FALSE,NULL,NULL,NULL,&_destination ); -@@ -1749,7 +1765,7 @@ +@@ -1749,7 +1766,7 @@ void drag_data_get (GtkWidget *widget,GdkDragContext *dc,GtkSelectionData *selec g_free (archive->extraction_path); archive->extraction_path = NULL; } @@ -1153,7 +2365,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c } } -@@ -1892,7 +1908,7 @@ +@@ -1894,7 +1911,7 @@ void xa_activate_link (GtkAboutDialog *about,const gchar *link,gpointer data) if ( !xdg_open) { gchar *browser_path = NULL; @@ -1161,8 +2373,8 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c + browser_path = gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(prefs_window->combo_prefered_web_browser)); if (strlen(browser_path) == 0) { - response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,_("You didn't set which browser to use!"),_("Please go to Preferences->Advanced and set it.")); -@@ -1915,16 +1931,16 @@ + xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_INFO,GTK_BUTTONS_OK,_("You didn't set which browser to use!"),_("Please go to Preferences->Advanced and set it.")); +@@ -1917,16 +1934,16 @@ void xa_determine_program_to_run(gchar *file) { if (strstr(file,".html")) { @@ -1175,14 +2387,14 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c + program = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(prefs_window->combo_prefered_editor)); } else if (strstr(file,".png") || strstr(file,".gif") || strstr(file,".jpg") || strstr(file,".bmp") || - strstr(file,".tif") || strstr(file,".tiff")|| strstr(file,".svg") || strstr(file,".png") || + strstr(file,".tif") || strstr(file,".tiff")|| strstr(file,".svg") || strstr(file,".tga")) - program = gtk_combo_box_get_active_text (GTK_COMBO_BOX(prefs_window->combo_prefered_viewer)); + program = gtk_combo_box_text_get_active_text (GTK_COMBO_BOX_TEXT(prefs_window->combo_prefered_viewer)); else { xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("This file type is not supported!"),_("Please install xdg-utils package.")); -@@ -1943,6 +1959,11 @@ +@@ -1945,6 +1962,11 @@ void xa_determine_program_to_run(gchar *file) g_free(program); } @@ -1194,7 +2406,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c gboolean xa_launch_external_program(gchar *program,gchar *arg) { GtkWidget *message; -@@ -1950,13 +1971,21 @@ +@@ -1952,6 +1974,7 @@ gboolean xa_launch_external_program(gchar *program,gchar *arg) gchar *command_line = NULL; gchar **argv; GdkScreen *screen; @@ -1202,6 +2414,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c command_line = g_strconcat(program," ",arg,NULL); g_shell_parse_argv(command_line,NULL,&argv,NULL); +@@ -1959,7 +1982,14 @@ gboolean xa_launch_external_program(gchar *program,gchar *arg) g_free(command_line); screen = gtk_widget_get_screen (GTK_WIDGET (xa_main_window)); @@ -1217,7 +2430,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c { message = gtk_message_dialog_new (GTK_WINDOW (xa_main_window), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, -@@ -2017,8 +2046,7 @@ +@@ -2019,8 +2049,7 @@ void xa_show_archive_comment (GtkMenuItem *menuitem,gpointer user_data) comment_dialog = gtk_dialog_new_with_buttons (_("Comment"),GTK_WINDOW(xa_main_window),GTK_DIALOG_MODAL,NULL); gtk_window_set_position (GTK_WINDOW (comment_dialog),GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_type_hint (GTK_WINDOW (comment_dialog),GDK_WINDOW_TYPE_HINT_DIALOG); @@ -1227,7 +2440,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c gtk_widget_set_size_request(comment_dialog,500,330); scrolledwindow1 = gtk_scrolled_window_new (NULL,NULL); -@@ -2034,7 +2062,7 @@ +@@ -2036,7 +2065,7 @@ void xa_show_archive_comment (GtkMenuItem *menuitem,gpointer user_data) g_object_unref (textbuffer); gtk_container_add (GTK_CONTAINER (scrolledwindow1),textview); @@ -1236,7 +2449,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1),GTK_BUTTONBOX_END); clear = gtk_button_new_from_stock ("gtk-clear"); -@@ -2295,7 +2323,7 @@ +@@ -2295,7 +2324,7 @@ int xa_mouse_button_event(GtkWidget *widget,GdkEventButton *event,XArchive *arch clipboard_selection = gtk_clipboard_wait_for_contents(clipboard,XA_INFO_LIST); if (clipboard_selection != NULL) { @@ -1245,7 +2458,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c gtk_selection_data_free (clipboard_selection); if (strcmp(archive->escaped_path,paste_data->cut_copy_archive->escaped_path) == 0) value = FALSE; -@@ -2363,7 +2391,7 @@ +@@ -2363,7 +2392,7 @@ void xa_clipboard_paste(GtkMenuItem* item,gpointer data) selection = gtk_clipboard_wait_for_contents(clipboard,XA_INFO_LIST); if (selection == NULL) return; @@ -1254,7 +2467,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c gtk_selection_data_free (selection); /* Let's add the already extracted files in the tmp dir to the current archive dir */ -@@ -2461,7 +2489,7 @@ +@@ -2464,7 +2493,7 @@ void xa_clipboard_get (GtkClipboard *clipboard,GtkSelectionData *selection_data, XArchive *archive = user_data; GSList *_files = archive->clipboard_data->files; GString *params = g_string_new(""); @@ -1263,7 +2476,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c return; g_string_append (params,g_strdup(archive->escaped_path)); -@@ -2477,7 +2505,7 @@ +@@ -2480,7 +2509,7 @@ void xa_clipboard_get (GtkClipboard *clipboard,GtkSelectionData *selection_data, g_string_append (params,"\r\n"); _files = _files->next; } @@ -1272,7 +2485,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c g_string_free (params,TRUE); } -@@ -2514,7 +2542,7 @@ +@@ -2517,7 +2546,7 @@ void xa_rename_archive(GtkMenuItem* item,gpointer data) row_list = gtk_tree_selection_get_selected_rows(selection,&model); g_object_set(archive[idx]->renderer_text,"editable",TRUE,NULL); @@ -1281,7 +2494,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c column = gtk_tree_view_get_column(GTK_TREE_VIEW (archive[idx]->treeview),0); gtk_tree_view_set_cursor(GTK_TREE_VIEW(archive[idx]->treeview),row_list->data,column,TRUE); gtk_tree_path_free (row_list->data); -@@ -2524,7 +2552,7 @@ +@@ -2527,7 +2556,7 @@ void xa_rename_archive(GtkMenuItem* item,gpointer data) void xa_rename_cell_edited_canceled(GtkCellRenderer *renderer,gpointer data) { g_object_set(renderer,"editable",FALSE,NULL); @@ -1290,7 +2503,7 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c } void xa_rename_cell_edited (GtkCellRendererText *cell,const gchar *path_string,const gchar *new_name,XArchive *archive) -@@ -2600,7 +2628,7 @@ +@@ -2606,7 +2635,7 @@ void xa_rename_cell_edited (GtkCellRendererText *cell,const gchar *path_string,c chdir (archive->tmp); xa_execute_add_commands(archive,list,NULL); } @@ -1299,15 +2512,19 @@ diff -Naur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c g_object_set(cell,"editable",FALSE,NULL); } -diff -Naur xarchiver-0.5.4.orig/xarchiver.desktop.in xarchiver-0.5.4/xarchiver.desktop.in ---- xarchiver-0.5.4.orig/xarchiver.desktop.in 2015-07-09 17:27:02.254150000 +0200 -+++ xarchiver-0.5.4/xarchiver.desktop.in 2015-07-09 17:27:46.692057955 +0200 -@@ -2,7 +2,7 @@ - Encoding=UTF-8 - Version=1.0 - _Name=Xarchiver +diff --git a/xarchiver.desktop.in b/xarchiver.desktop.in +index 719d18f..2ac0c17 100644 +--- a/xarchiver.desktop.in ++++ b/xarchiver.desktop.in +@@ -3,7 +3,7 @@ Version=1.0 + Type=Application + Name=Xarchiver + _GenericName=Archive manager -_Comment=A GTK+2 only archive manager +_Comment=A GTK+ only archive manager - _GenericName=Archive manager - Exec=xarchiver %f Icon=xarchiver + Exec=xarchiver %f + Terminal=false +-- +2.8.0 + diff --git a/libre/xarchiver/0001-Fix-docbook-file.patch b/libre/xarchiver/0001-Fix-docbook-file.patch new file mode 100644 index 000000000..ac1acd705 --- /dev/null +++ b/libre/xarchiver/0001-Fix-docbook-file.patch @@ -0,0 +1,58 @@ +From 560ce30c8541de2f8edf6d6d483f34aca58e42ac Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= <ballogyor@gmail.com> +Date: Tue, 12 Apr 2016 16:25:09 +0200 +Subject: [PATCH] Fix docbook file + +para element is needed within listitem. +--- + doc/xarchiver.docbook | 34 +++++++++++++++++----------------- + 1 file changed, 17 insertions(+), 17 deletions(-) + +diff --git a/doc/xarchiver.docbook b/doc/xarchiver.docbook +index 22bc073..ff724e6 100644 +--- a/doc/xarchiver.docbook ++++ b/doc/xarchiver.docbook +@@ -46,23 +46,23 @@ + <para> + &app; presents the following characteristic: + <itemizedlist> +- <listitem>Archive directories can be browsed just like a file manager</listitem> +- <listitem>Mime icon for each of the archive entries</listitem> +- <listitem>The most used archiver's command line options are supported in the Add and Extract dialogs</listitem> +- <listitem>Tabs Firefox style support</listitem> +- <listitem>Multi-extract facility</listitem> +- <listitem>Dump of the whole archive content as HTML or text file</listitem> +- <listitem>Context menu on each of the archive entries with cut/copy/paste/rename abilities</listitem> +- <listitem>Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz</listitem> +- <listitem>Drag and drop from and to &app; window</listitem> +- <listitem>Progress window when using &app; from the command line or from a file-manager</listitem> +- <listitem>ARJ, RAR and ZIP archive comment are supported</listitem> +- <listitem>Ability to convert the archive to self-extracting for those archive types which support it</listitem> +- <listitem>Smart detection of arj, zip and rar password encrypted archives</listitem> +- <listitem>All the the output of the command line archiver is displayed in the &app; window</listitem> +- <listitem>All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, rar, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</listitem> +- <listitem>Deb and Rpm packages are handled internally, their package managers are NOT required.</listitem> +- <listitem>Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</listitem> ++ <listitem><para>Archive directories can be browsed just like a file manager</para></listitem> ++ <listitem><para>Mime icon for each of the archive entries</para></listitem> ++ <listitem><para>The most used archiver's command line options are supported in the Add and Extract dialogs</para></listitem> ++ <listitem><para>Tabs Firefox style support</para></listitem> ++ <listitem><para>Multi-extract facility</para></listitem> ++ <listitem><para>Dump of the whole archive content as HTML or text file</para></listitem> ++ <listitem><para>Context menu on each of the archive entries with cut/copy/paste/rename abilities</para></listitem> ++ <listitem><para>Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz</para></listitem> ++ <listitem><para>Drag and drop from and to &app; window</para></listitem> ++ <listitem><para>Progress window when using &app; from the command line or from a file-manager</para></listitem> ++ <listitem><para>ARJ, RAR and ZIP archive comment are supported</para></listitem> ++ <listitem><para>Ability to convert the archive to self-extracting for those archive types which support it</para></listitem> ++ <listitem><para>Smart detection of arj, zip and rar password encrypted archives</para></listitem> ++ <listitem><para>All the the output of the command line archiver is displayed in the &app; window</para></listitem> ++ <listitem><para>All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, rar, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</para></listitem> ++ <listitem><para>Deb and Rpm packages are handled internally, their package managers are NOT required.</para></listitem> ++ <listitem><para>Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</para></listitem> + </itemizedlist> + </para> + </section> +-- +2.8.0 + diff --git a/libre/xarchiver/PKGBUILD b/libre/xarchiver/PKGBUILD index 85ccab447..df78babe2 100644 --- a/libre/xarchiver/PKGBUILD +++ b/libre/xarchiver/PKGBUILD @@ -6,75 +6,57 @@ pkgbase=xarchiver pkgname=(xarchiver xarchiver-gtk2) -pkgver=0.5.4 -pkgrel=3.parabola1 +pkgver=0.5.4.6 +pkgrel=1.parabola1 pkgdesc="GTK+ frontend to various command line archivers, without nonfree unrar support" -arch=('i686' 'x86_64') -url="http://xarchiver.sourceforge.net/" +arch=('i686' 'x86_64' 'armv7h') +url="https://github.com/ib/xarchiver" license=('GPL') depends=('gtk2' 'gtk3' 'desktop-file-utils') -makedepends=('intltool') +makedepends=('docbook-xsl' 'intltool' 'xmlto') optdepends=('zip: ZIP support' 'unzip: ZIP support' 'p7zip: 7z support' 'lzop: LZOP support' 'cpio: RPM support') install=xarchiver.install -source=(http://downloads.sourceforge.net/xarchiver/xarchiver-$pkgver.tar.bz2 - fix-rpm-support.patch - fix-password-protected.patch - add-mime-types.patch - gtk3-port.patch - fix-icon-names.patch - no-xfce.patch +source=(https://github.com/ib/xarchiver/archive/$pkgbase-$pkgver.tar.gz + 0001-Add-support-for-GTK-3.patch + 0001-Fix-docbook-file.patch remove-nonfree-unrar-support.patch) -md5sums=('1b4cd37a6af03afc957a8e307417e8d0' - '812b93339f5e3332621f3c5abebfe277' - '35ab96d98521a0a36f3e9e9ec0969107' - '0cee887b3c989ba2cdce9154813843fb' - '62641fc15b2536a5379a1587bc025c46' - 'c99ff044585b98d7769063c2f8774a98' - 'f6e7d38a998a11980b81289f54955170' - 'fe46d0ac1e411b6b8659985769dbf13a') +sha256sums=('5199670b435e9a25d33c6101b99f7bd64375377920d389a9a566d9ba72cc9f8b' + '4ac66b7e23e714ed03fe377b2f8e494c6048a7a507bbc439fe2f081ba110021a' + '12e4848f81d2532e93ee5bb0774334d176ad09462f07f16a0928558564fdf3a3' + 'b210b98fe60ffc50f6feac48b565dd1faa7e0f7adf14d7d7534089c3b32c9131') prepare() { - cd $pkgbase-$pkgver + cd $pkgbase-$pkgbase-$pkgver - # Fix RPM support - patch -Np1 -i ../fix-rpm-support.patch + # Add support for GTK+ 3 + patch -Np1 -i ../0001-Add-support-for-GTK-3.patch - # Fix segfault when handling password protected files - patch -Np1 -i ../fix-password-protected.patch - - # Add more MIME types to the desktop file, fix exec line - patch -Np1 -i ../add-mime-types.patch - - # Port to GTK+ 3 - patch -Np1 -i ../gtk3-port.patch - - # Use standard icon names - patch -Np1 -i ../fix-icon-names.patch - - # Don't use xfce4-dev-tools - patch -Np1 -i ../no-xfce.patch + # Fix docbook file + patch -Np1 -i ../0001-Fix-docbook-file.patch # Remove nonfree unRAR support patch -Np1 -i ../remove-nonfree-unrar-support.patch rm -v src/rar.{c,h} + + ./autogen.sh } build() { # GTK+ 3 version - [ -d gtk3 ] || cp -r $pkgbase-$pkgver gtk3 + [ -d gtk3 ] || cp -r $pkgbase-$pkgbase-$pkgver gtk3 cd gtk3 - ./autogen.sh --prefix=/usr --libexecdir=/usr/lib/xfce4 + ./configure --prefix=/usr --libexecdir=/usr/lib/xfce4 make cd "$srcdir" # GTK+ 2 version - [ -d gtk2 ] || cp -r $pkgbase-$pkgver gtk2 + [ -d gtk2 ] || cp -r $pkgbase-$pkgbase-$pkgver gtk2 cd gtk2 - ./autogen.sh --prefix=/usr --libexecdir=/usr/lib/xfce4 --disable-gtk3 + ./configure --prefix=/usr --libexecdir=/usr/lib/xfce4 --disable-gtk3 make } diff --git a/libre/xarchiver/add-mime-types.patch b/libre/xarchiver/add-mime-types.patch deleted file mode 100644 index ec427b99a..000000000 --- a/libre/xarchiver/add-mime-types.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -Naur xarchiver-0.5.3.orig/xarchiver.desktop.in xarchiver-0.5.3/xarchiver.desktop.in ---- xarchiver-0.5.3.orig/xarchiver.desktop.in 2014-05-12 01:08:12.159131913 +0000 -+++ xarchiver-0.5.3/xarchiver.desktop.in 2014-05-12 01:09:02.585526393 +0000 -@@ -4,11 +4,11 @@ - _Name=Xarchiver - _Comment=A GTK+2 only archive manager - _GenericName=Archive manager --Exec=xarchiver -+Exec=xarchiver %f - Icon=xarchiver - Terminal=false - Type=Application - X-MultipleArgs=false - Categories=GTK;Archiving;Utility; - StartupNotify=true --MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;multipart/x-zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar; -+MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-deb;application/x-rpm; diff --git a/libre/xarchiver/fix-icon-names.patch b/libre/xarchiver/fix-icon-names.patch deleted file mode 100644 index c62db3515..000000000 --- a/libre/xarchiver/fix-icon-names.patch +++ /dev/null @@ -1,87 +0,0 @@ -diff -Naur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c ---- xarchiver-0.5.4.orig/src/interface.c 2015-07-09 16:34:05.291144000 +0200 -+++ xarchiver-0.5.4/src/interface.c 2015-07-09 16:34:43.482238551 +0200 -@@ -1511,7 +1511,7 @@ - hbox1 = gtk_hbox_new (FALSE,12); - gtk_box_pack_start (GTK_BOX (vbox1),hbox1,TRUE,TRUE,0); - -- pixbuf = gtk_icon_theme_load_icon(icon_theme,"gnome-mime-application-zip",40,0,NULL); -+ pixbuf = gtk_icon_theme_load_icon(icon_theme,"package-x-generic",40,0,NULL); - icon_pixbuf = gtk_image_new_from_pixbuf(pixbuf); - g_object_unref(pixbuf); - -diff -Naur xarchiver-0.5.4.orig/src/mime.c xarchiver-0.5.4/src/mime.c ---- xarchiver-0.5.4.orig/src/mime.c 2008-11-05 10:53:22.000000000 +0100 -+++ xarchiver-0.5.4/src/mime.c 2015-07-09 16:56:02.796695229 +0200 -@@ -24,44 +24,44 @@ - const char *xa_get_stock_mime_icon(char *filename) - { - const char *mime; -- const char *icon_name = "binary"; -+ const char *icon_name = "application-x-executable"; - - mime = xdg_mime_get_mime_type_from_file_name(filename); - if (strstr(filename,".ogg") || strstr(filename,".flac") ) -- icon_name = "sound"; -+ icon_name = "audio-x-generic"; - else if (strncmp(mime,"image/",6) == 0) -- icon_name = "image"; -+ icon_name = "image-x-generic"; - else if (strcmp(mime,"text/html") == 0) -- icon_name = "html"; -+ icon_name = "text-html"; - else if (strncmp(mime,"text/",5) == 0) -- icon_name = "txt"; -+ icon_name = "text-x-generic"; - else if (strcmp(mime,"application/rtf") == 0 || strcmp(mime,"application/pdf") == 0 || strcmp(mime,"application/msword") == 0 - || strcmp (mime,"application/vnd.oasis.opendocument.text") == 0) -- icon_name = "document"; -+ icon_name = "x-office-document"; - else if (strcmp(mime,"audio/mpeg") == 0 || strcmp(mime,"audio/midi") == 0 || strcmp (mime,"audio/mp2") == 0) -- icon_name = "sound"; -+ icon_name = "audio-x-generic"; - else if (strcmp(mime,"application/vnd.ms-excel") == 0 || strcmp(mime,"application/vnd.oasis.opendocument.spreadsheet") == 0) -- icon_name = "gnome-mime-application-vnd.ms-excel"; -+ icon_name = "x-office-spreadsheet"; - else if (strcmp(mime,"application/vnd.ms-powerpoint") == 0 || strcmp (mime,"application/vnd.oasis.opendocument.presentation") == 0) -- icon_name = "gnome-mime-application-vnd.ms-powerpoint"; -+ icon_name = "x-office-presentation"; - else if (strcmp(mime,"application/zip") == 0 || strcmp(mime,"application/x-rar") == 0 || strcmp(mime,"application/x-tar") == 0 - || strcmp(mime,"application/x-7z-compressed") == 0 || strcmp(mime,"application/x-bzip-compressed-tar") == 0 - || strcmp (mime,"application/x-compressed-tar") == 0 || strcmp (mime,"application/x-lha") == 0 - || strcmp (mime,"application/x-rpm") == 0 || strcmp (mime,"application/x-deb") == 0 - || strcmp (mime,"application/x-bzip") == 0 || strcmp (mime,"application/x-gzip") == 0) -- icon_name = "package"; -+ icon_name = "package-x-generic"; - else if (strcmp(mime,"application/x-shockwave-flash") == 0 || strcmp(mime,"video/mpeg") == 0 || strcmp(mime,"video/quicktime") == 0 - || strcmp(mime,"video/x-msvideo") == 0 || strcmp (mime,"video/mp4") == 0 || strcmp(mime,"application/x-flash-video") == 0 - || strcmp(mime,"video/dv") == 0) -- icon_name = "video"; -+ icon_name = "video-x-generic"; - else if (strcmp(mime,"application/x-cd-image") == 0) -- icon_name = "application-x-cd-image"; -+ icon_name = "media-optical"; - else if (strcmp(mime,"application/x-php") == 0) -- icon_name = "gnome-mime-application-x-php"; -+ icon_name = "text-html"; - else if (strcmp(mime,"application/x-perl") == 0 || strcmp (mime,"application/x-csh") == 0 || strcmp (mime,"application/x-shellscript") == 0) -- icon_name = "gnome-mime-application-x-perl"; -+ icon_name = "text-x-script"; - else if (strcmp(mime,"application/x-font-ttf") == 0) -- icon_name = "gnome-mime-application-x-font-ttf"; -+ icon_name = "font-x-generic"; - return icon_name; - } - -diff -Naur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialog.c ---- xarchiver-0.5.4.orig/src/pref_dialog.c 2015-07-09 16:34:05.294477000 +0200 -+++ xarchiver-0.5.4/src/pref_dialog.c 2015-07-09 16:34:53.065846548 +0200 -@@ -55,7 +55,7 @@ - - prefs_data->prefs_liststore = gtk_list_store_new (3,GDK_TYPE_PIXBUF,G_TYPE_STRING,G_TYPE_UINT); - gtk_list_store_append (prefs_data->prefs_liststore,&iter); -- icon_pixbuf = gtk_icon_theme_load_icon(icon_theme,"gnome-mime-application-zip",40,0,NULL); -+ icon_pixbuf = gtk_icon_theme_load_icon(icon_theme,"package-x-generic",40,0,NULL); - gtk_list_store_set (prefs_data->prefs_liststore, &iter, 0, icon_pixbuf, 1, _("Archive"),2,0,-1); - if(icon_pixbuf != NULL) - g_object_unref (icon_pixbuf); diff --git a/libre/xarchiver/fix-password-protected.patch b/libre/xarchiver/fix-password-protected.patch deleted file mode 100644 index 00969349d..000000000 --- a/libre/xarchiver/fix-password-protected.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff -Naur xarchiver-0.5.3.orig/src/window.c xarchiver-0.5.2/src/window.c ---- xarchiver-0.5.3.orig/src/window.c 2014-01-24 08:10:09.305990000 +0100 -+++ xarchiver-0.5.3/src/window.c 2014-01-24 08:42:45.110729290 +0100 -@@ -1694,7 +1694,7 @@ - { - if (archive->passwd == NULL) - { -- archive->passwd = xa_create_password_dialog(NULL); -+ archive->passwd = xa_create_password_dialog(archive); - if ( archive->passwd == NULL) - { - gtk_drag_finish (dc,FALSE,FALSE,t); -@@ -2702,9 +2702,12 @@ - - if (entry->is_encrypted) - { -- archive[idx]->passwd = xa_create_password_dialog(archive[idx]); - if (archive[idx]->passwd == NULL) -- return; -+ { -+ archive[idx]->passwd = xa_create_password_dialog(archive[idx]); -+ if (archive[idx]->passwd == NULL) -+ return; -+ } - } - filename = g_strconcat(archive[idx]->tmp,"/",entry->filename,NULL); - if (g_file_test(filename,G_FILE_TEST_EXISTS)) -@@ -2768,8 +2771,12 @@ - { - if (entry->is_encrypted) - { -- if (archive->passwd == NULL) -- return; -+ if (archive->passwd == NULL) -+ { -+ archive->passwd = xa_create_password_dialog(archive); -+ if (archive->passwd == NULL) -+ return; -+ } - } - if (archive->extraction_path) - { diff --git a/libre/xarchiver/fix-rpm-support.patch b/libre/xarchiver/fix-rpm-support.patch deleted file mode 100644 index cf17ff738..000000000 --- a/libre/xarchiver/fix-rpm-support.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff -Naur xarchiver-0.5.3.orig/src/rpm.c xarchiver-0.5.3/src/rpm.c ---- xarchiver-0.5.3.orig/src/rpm.c 2014-02-09 16:26:24.000000000 +0100 -+++ xarchiver-0.5.3/src/rpm.c 2014-02-19 07:54:27.744136749 +0100 -@@ -23,8 +23,11 @@ - - void xa_open_rpm (XArchive *archive) - { -+ unsigned char bytes[8]; - unsigned short int i; -- int response; -+ int dl,il,sigsize,offset,response; -+ gchar *ibs,*executable; -+ gchar *gzip_tmp = NULL; - GSList *list = NULL; - FILE *stream; - gboolean result; -@@ -53,14 +56,68 @@ - archive->column_types[i] = types[i]; - - xa_create_liststore (archive,names); -+ if (fseek ( stream, 104 , SEEK_CUR ) ) -+ { -+ fclose (stream); -+ response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't fseek to position 104:"),g_strerror(errno)); -+ return; -+ } -+ if ( fread ( bytes, 1, 8, stream ) == 0 ) -+ { -+ fclose ( stream ); -+ response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't read data from file:"),g_strerror(errno)); -+ return; -+ } -+ il = 256 * ( 256 * ( 256 * bytes[0] + bytes[1]) + bytes[2] ) + bytes[3]; -+ dl = 256 * ( 256 * ( 256 * bytes[4] + bytes[5]) + bytes[6] ) + bytes[7]; -+ sigsize = 8 + 16 * il + dl; -+ offset = 104 + sigsize + ( 8 - ( sigsize % 8 ) ) % 8 + 8; -+ if (fseek ( stream, offset , SEEK_SET ) ) -+ { -+ fclose (stream); -+ response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't fseek in file:"),g_strerror(errno)); -+ return; -+ } -+ if ( fread ( bytes, 1, 8, stream ) == 0 ) -+ { -+ fclose ( stream ); -+ response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't read data from file:"),g_strerror(errno)); -+ return; -+ } -+ il = 256 * ( 256 * ( 256 * bytes[0] + bytes[1]) + bytes[2] ) + bytes[3]; -+ dl = 256 * ( 256 * ( 256 * bytes[4] + bytes[5]) + bytes[6] ) + bytes[7]; -+ sigsize = 8 + 16 * il + dl; -+ offset = offset + sigsize; -+ fclose (stream); - - /* Create a unique temp dir in /tmp */ - result = xa_create_temp_directory (archive); - if (!result) - return; - -+ gzip_tmp = g_strconcat (archive->tmp,"/file.gz_bz",NULL); -+ ibs = g_strdup_printf ( "%u" , offset ); -+ - /* Now I run dd to have the bzip2 / gzip compressed cpio archive in /tmp */ -- gchar *command = g_strconcat ( "sh -c \"rpm2cpio ",archive->escaped_path," > ",archive->tmp, "/file.cpio\"",NULL); -+ gchar *command = g_strconcat ( "dd if=",archive->escaped_path," ibs=",ibs," skip=1 of=",gzip_tmp,NULL); -+ g_free (ibs); -+ list = g_slist_append(list,command); -+ batch_mode = TRUE; -+ result = xa_run_command (archive,list); -+ if (result == FALSE) -+ { -+ g_free (gzip_tmp); -+ return; -+ } -+ if (xa_detect_archive_type (gzip_tmp) == XARCHIVETYPE_GZIP) -+ executable = "gzip -dc "; -+ else if (xa_detect_archive_type (gzip_tmp) == XARCHIVETYPE_BZIP2) -+ executable = "bzip2 -dc "; -+ else -+ executable = "xz -dc "; -+ -+ command = g_strconcat("sh -c \"",executable,gzip_tmp," > ",archive->tmp,"/file.cpio\"",NULL); -+ g_free(gzip_tmp); - list = NULL; - list = g_slist_append(list,command); - result = xa_run_command (archive,list); diff --git a/libre/xarchiver/no-xfce.patch b/libre/xarchiver/no-xfce.patch deleted file mode 100644 index 9ddaced13..000000000 --- a/libre/xarchiver/no-xfce.patch +++ /dev/null @@ -1,93 +0,0 @@ -diff -Naur xarchiver-0.5.4.orig/autogen.sh xarchiver-0.5.4/autogen.sh ---- xarchiver-0.5.4.orig/autogen.sh 2008-10-13 16:03:03.000000000 +0200 -+++ xarchiver-0.5.4/autogen.sh 2014-12-23 13:45:00.959300133 +0100 -@@ -1,39 +1,9 @@ - #!/bin/sh --# --# $Id: autogen.sh 22391 2006-07-10 12:54:50Z benny $ --# --# Copyright (c) 2002-2006 --# The Xfce development team. All rights reserved. --# --# Written for Xfce by Benedikt Meurer <benny@xfce.org>. --# -- --(type xdt-autogen) >/dev/null 2>&1 || { -- cat >&2 <<EOF --autogen.sh: You don't seem to have the Xfce development tools installed on -- your system, which are required to build this software. -- Please install the xfce4-dev-tools package first, it is available -- from http://www.xfce.org/. --EOF -- exit 1 --} -- --# verify that po/LINGUAS is present --(test -f po/LINGUAS) >/dev/null 2>&1 || { -- cat >&2 <<EOF --autogen.sh: The file po/LINGUAS could not be found. Please check your snapshot -- or try to checkout again. --EOF -- exit 1 --} -- --# substitute revision and linguas --linguas=`sed -e '/^#/d' po/LINGUAS` --revision=`LC_ALL=C svn info $0 | awk '/^Revision: / {printf "%05d\n", $2}'` --sed -e "s/@LINGUAS@/${linguas}/g" \ -- -e "s/@REVISION@/${revision}/g" \ -- < "configure.in.in" > "configure.in" -- --exec xdt-autogen $@ -- --# vi:set ts=2 sw=2 et ai: -+# use automake v1.9 -+aclocal \ -+&& libtoolize --force --copy \ -+&& intltoolize --force --copy --automake \ -+&& autoheader \ -+&& automake --add-missing --gnu --copy \ -+&& autoconf \ -+&& ./configure $@ -diff -Naur xarchiver-0.5.4.orig/configure.in xarchiver-0.5.4/configure.in ---- xarchiver-0.5.4.orig/configure.in 2014-12-23 12:30:10.265150000 +0100 -+++ xarchiver-0.5.4/configure.in 2014-12-23 13:50:45.394385149 +0100 -@@ -27,7 +27,6 @@ - AC_INIT([xarchiver], [xarchiver_version], [http://bugzilla.xfce.org/]) - AC_PREREQ([2.50]) - AC_CANONICAL_TARGET() --AC_REVISION([$Id: configure.in.in 28647 2008-11-07 13:53:00Z colossus $]) - - dnl *************************** - dnl *** Initialize automake *** -@@ -75,7 +74,11 @@ - dnl ****************************** - dnl *** Check for i18n support *** - dnl ****************************** --XDT_I18N([bg ca cs da de el en_GB es eu fi fr hu id ja nb_NO nl pl pt_BR pt_PT ru sq sv tr uk]) -+GETTEXT_PACKAGE=AC_PACKAGE_TARNAME() -+AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE], ["$GETTEXT_PACKAGE"], [Name of default gettext domain]) -+AC_SUBST([GETTEXT_PACKAGE]) -+ -+AM_GLIB_GNU_GETTEXT() - - dnl *********************************** - dnl *** Check for required packages *** -@@ -93,15 +96,10 @@ - GTK_API_VERSION="2.0" - fi - --XDT_CHECK_PACKAGE([GTK], [gtk+-$GTK_API_VERSION], [2.10.0]) --XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.10.0]) -+PKG_CHECK_MODULES([GTK], [gtk+-$GTK_API_VERSION >= 2.10.0]) -+PKG_CHECK_MODULES([GLIB], [glib-2.0 >= 2.10.0]) - GTK_VERSION=`$PKG_CONFIG --modversion gtk+-$GTK_API_VERSION` - --dnl *********************************** --dnl *** Check for debugging support *** --dnl *********************************** --XDT_FEATURE_DEBUG() -- - AC_OUTPUT([ - Makefile - po/Makefile.in diff --git a/libre/xarchiver/remove-nonfree-unrar-support.patch b/libre/xarchiver/remove-nonfree-unrar-support.patch index 11795daaf..75745aa2b 100644 --- a/libre/xarchiver/remove-nonfree-unrar-support.patch +++ b/libre/xarchiver/remove-nonfree-unrar-support.patch @@ -1,157 +1,131 @@ -diff -Nur xarchiver-0.5.4.orig/doc/html/ch01.html xarchiver-0.5.4/doc/html/ch01.html ---- xarchiver-0.5.4.orig/doc/html/ch01.html 2014-09-28 17:46:31.000000000 -0300 -+++ xarchiver-0.5.4/doc/html/ch01.html 2015-07-11 07:08:07.905619485 -0300 -@@ -23,13 +23,13 @@ - <li>Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz</li> - <li>Drag and drop from and to Xarchiver window</li> - <li>Progress window when using Xarchiver from the cmd-line or from a file-manager</li> -- <li>ARJ, RAR and ZIP archive comment are supported</li> -+ <li>ARJ and ZIP archive comment are supported</li> - <li>Ability to convert the archive to self-extracting for those archive types which support it</li> -- <li>Smart detection of arj, zip and rar password encrypted archives</li> -+ <li>Smart detection of arj and zip password encrypted archives</li> - <li>All the the output of the cmd-line archiver is displayed in the Xarchiver window</li> -- <li>All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, rar, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</li> -+ <li>All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</li> - <li>Deb and Rpm packages are handled internally, their package managers are NOT required.</li> -- <li>Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</li> -+ <li>Zip, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</li> - </ul></div><p></p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> - Xarchiver 0.5.4 +--- xarchiver-0.5.4.6.orig/doc/html/ch01s01.html 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/doc/html/ch01s01.html 2016-04-12 15:42:24.032705366 -0500 +@@ -8,7 +8,7 @@ + to work. The package <span class="emphasis"><em>xdg-utils</em></span> is optional. + </p><p> + Xarchiver presents the following characteristic: +- </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">Archive directories can be browsed just like a file manager</li><li class="listitem">Mime icon for each of the archive entries</li><li class="listitem">The most used archiver's command line options are supported in the Add and Extract dialogs</li><li class="listitem">Tabs Firefox style support</li><li class="listitem">Multi-extract facility</li><li class="listitem">Dump of the whole archive content as HTML or text file</li><li class="listitem">Context menu on each of the archive entries with cut/copy/paste/rename abilities</li><li class="listitem">Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz</li><li class="listitem">Drag and drop from and to Xarchiver window</li><li class="listitem">Progress window when using Xarchiver from the command line or from a file-manager</li><li class="listitem">ARJ, RAR and ZIP archive comment are supported</li><li class="listitem">Ability to convert the archive to self-extracting for those archive types which support it</li><li class="listitem">Smart detection of arj, zip and rar password encrypted archives</li><li class="listitem">All the the output of the command line archiver is displayed in the Xarchiver window</li><li class="listitem">All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, rar, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</li><li class="listitem">Deb and Rpm packages are handled internally, their package managers are NOT required.</li><li class="listitem">Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</li></ul></div><p> ++ </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">Archive directories can be browsed just like a file manager</li><li class="listitem">Mime icon for each of the archive entries</li><li class="listitem">The most used archiver's command line options are supported in the Add and Extract dialogs</li><li class="listitem">Tabs Firefox style support</li><li class="listitem">Multi-extract facility</li><li class="listitem">Dump of the whole archive content as HTML or text file</li><li class="listitem">Context menu on each of the archive entries with cut/copy/paste/rename abilities</li><li class="listitem">Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz</li><li class="listitem">Drag and drop from and to Xarchiver window</li><li class="listitem">Progress window when using Xarchiver from the command line or from a file-manager</li><li class="listitem">ARJ and ZIP archive comment are supported</li><li class="listitem">Ability to convert the archive to self-extracting for those archive types which support it</li><li class="listitem">Smart detection of arj and zip password encrypted archives</li><li class="listitem">All the the output of the command line archiver is displayed in the Xarchiver window</li><li class="listitem">All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</li><li class="listitem">Deb and Rpm packages are handled internally, their package managers are NOT required.</li><li class="listitem">Zip, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</li></ul></div><p> + </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 1. + Introduction </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Where to get it</td></tr></table></div></body></html> -diff -Nur xarchiver-0.5.3.orig/doc/html/ch03s03.html xarchiver-0.5.3/doc/html/ch03s03.html ---- xarchiver-0.5.3.orig/doc/html/ch03s03.html 2008-11-03 04:49:49.000000000 -0200 -+++ xarchiver-0.5.3/doc/html/ch03s03.html 2014-05-05 16:25:59.026943013 -0300 -@@ -1,7 +1,7 @@ +\ No newline at end of file +--- xarchiver-0.5.4.6.orig/doc/html/ch03s03.html 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/doc/html/ch03s03.html 2016-04-12 15:41:13.299755226 -0500 +@@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> - <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>General</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch03.html" title="Chapter 3. Usage" /><link rel="prev" href="ch03s02.html" title="Command line options" /><link rel="next" href="ch03s04.html" title="Xarchiver menu" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">General</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s04.html">Next</a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="general"></a>General</h2></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="general_startup"></a>Startup</h3></div></div></div><p> -- At startup, Xarchiver detects the available installed archivers (tar,rar,zip etc) and the script <i>xdg-open</i> for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, Xarchiver can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. -+ At startup, Xarchiver detects the available installed archivers (tar,zip etc) and the script <i>xdg-open</i> for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. - </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="how_it_works"></a>How it works</h3></div></div></div><p> - Xarchiver will run in the background the cmd-line executable of the archiver with the archiver's proper switches to perform the selected operation. If something goes wrong Xarchiver reports the full output of the archiver executable in the command line output window. From the release 0.5 the files in the archive can be opened within Xarchiver. The script <i>xdg-open</i> will detect the file type and run the proper application to handle it. If you don't have such script installed in your system (it's found in the xdg-utils package) Xarchiver will recognize HTML, txt and images files only. The Preferences dialog will notify this to you when you click the Advanced section inside it. - </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="dnd"></a>Drag and Drop</h3></div></div></div><p> -diff -Nur xarchiver-0.5.3.orig/doc/html/ch04s02.html xarchiver-0.5.3/doc/html/ch04s02.html ---- xarchiver-0.5.3.orig/doc/html/ch04s02.html 2007-08-23 07:27:40.000000000 -0300 -+++ xarchiver-0.5.3/doc/html/ch04s02.html 2014-05-05 16:31:53.479628949 -0300 -@@ -1,5 +1,5 @@ + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>General</title><link rel="stylesheet" type="text/css" href="xarchiver.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="Xarchiver 0.5.4" /><link rel="up" href="ch03.html" title="Chapter 3. Usage" /><link rel="prev" href="ch03s02.html" title="Command line options" /><link rel="next" href="ch03s04.html" title="Xarchiver menu" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">General</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s04.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="usage_general"></a>General</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="general_startup"></a>Startup</h3></div></div></div><p> +- At startup, Xarchiver detects the available installed archivers (tar,rar,zip etc) and the script <span class="emphasis"><em>xdg-open</em></span> for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the command line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, Xarchiver can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. ++ At startup, Xarchiver detects the available installed archivers (tar,zip etc) and the script <span class="emphasis"><em>xdg-open</em></span> for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the command line executables) it can't create archives whose archiver is not available. + </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="how_it_works"></a>How it works</h3></div></div></div><p> + Xarchiver will run in the background the command line executable of the archiver with the archiver's proper switches to perform the selected operation. If something goes wrong Xarchiver reports the full output of the archiver executable in the command line output window. Starting with release 0.5 the files in the archive can be opened within Xarchiver. The script <span class="emphasis"><em>xdg-open</em></span> will detect the file type and run the proper application to handle it. If you don't have such script installed in your system (it's found in the xdg-utils package) Xarchiver will recognize HTML, txt and images files only. The Preferences dialog will notify this to you when you click the Advanced section inside it. + </p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="dnd"></a>Drag and Drop</h3></div></div></div><p> +--- xarchiver-0.5.4.6.orig/doc/html/ch04s02.html 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/doc/html/ch04s02.html 2016-04-12 15:39:11.457081971 -0500 +@@ -1,4 +1,4 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> --<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>How can I create an archive with some files password protected and others not?</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04.html" title="Chapter 4. FAQ" /><link rel="next" href="ch04s03.html" title="Why does Xarchiver emit this error message when handling tar archives?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How can I create an archive with some files password protected and others not?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="second"></a>How can I create an archive with some files password protected and others not?</h2></div></div></div><p>First of all choose 'New' and select one of arj, 7zip, rar or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and -+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>How can I create an archive with some files password protected and others not?</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04.html" title="Chapter 4. FAQ" /><link rel="next" href="ch04s03.html" title="Why does Xarchiver emit this error message when handling tar archives?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How can I create an archive with some files password protected and others not?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="second"></a>How can I create an archive with some files password protected and others not?</h2></div></div></div><p>First of all choose 'New' and select one of arj, 7zip or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and +-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>How can I create an archive with some files password protected and others not?</title><link rel="stylesheet" type="text/css" href="xarchiver.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="Xarchiver 0.5.4" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04s01.html" title="Why are ace archives not supported?" /><link rel="next" href="ch04s03.html" title="Why does Xarchiver emit this error message when handling tar archives?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How can I create an archive with some files password protected and others not?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s01.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="faq_2"></a>How can I create an archive with some files password protected and others not?</h2></div></div></div><p>First of all choose 'New' and select one of arj, 7zip, rar or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and ++<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>How can I create an archive with some files password protected and others not?</title><link rel="stylesheet" type="text/css" href="xarchiver.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="Xarchiver 0.5.4" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04s01.html" title="Why are ace archives not supported?" /><link rel="next" href="ch04s03.html" title="Why does Xarchiver emit this error message when handling tar archives?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How can I create an archive with some files password protected and others not?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s01.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="faq_2"></a>How can I create an archive with some files password protected and others not?</h2></div></div></div><p>First of all choose 'New' and select one of arj, 7zip or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and enter your password. From now on all the files you add to the archive will be password protected. - </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 4. FAQ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Why does Xarchiver emit this error message when handling tar archives?</td></tr></table></div></body></html> -diff -Nur xarchiver-0.5.3.orig/doc/html/ch04s06.html xarchiver-0.5.3/doc/html/ch04s06.html ---- xarchiver-0.5.3.orig/doc/html/ch04s06.html 2008-11-03 04:49:49.000000000 -0200 -+++ xarchiver-0.5.3/doc/html/ch04s06.html 2014-05-05 16:33:00.806793156 -0300 -@@ -1,4 +1,4 @@ + </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s01.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Why are ace archives not supported? </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Why does Xarchiver emit this error message when handling tar archives?</td></tr></table></div></body></html> +\ No newline at end of file +--- xarchiver-0.5.4.6.orig/doc/html/ch04s06.html 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/doc/html/ch04s06.html 2016-04-12 15:38:34.257283499 -0500 +@@ -1,3 +1,3 @@ <?xml version="1.0" encoding="UTF-8" standalone="no"?> - <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> --<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04s06.html" title="What is the meaning of this error message?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s06.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="seventh"></a>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</h2></div></div></div><p>Because rar and arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. -+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04s06.html" title="What is the meaning of this error message?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s06.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="seventh"></a>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</h2></div></div></div><p>Because arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. +-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</title><link rel="stylesheet" type="text/css" href="xarchiver.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="Xarchiver 0.5.4" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04s05.html" title="Why does Xarchiver sometimes report errors but the Error messages window is empty?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="faq_6"></a>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</h2></div></div></div><p>Because rar and arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. ++<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</title><link rel="stylesheet" type="text/css" href="xarchiver.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /><link rel="home" href="index.html" title="Xarchiver 0.5.4" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04s05.html" title="Why does Xarchiver sometimes report errors but the Error messages window is empty?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="faq_6"></a>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</h2></div></div></div><p>Because arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">Why does Xarchiver sometimes report errors but the Error messages window is empty? </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> -diff -Nur xarchiver-0.5.4.orig/doc/xarchiver.docbook xarchiver-0.5.4/doc/xarchiver.docbook ---- xarchiver-0.5.4.orig/doc/xarchiver.docbook 2007-08-22 07:49:19.000000000 -0300 -+++ xarchiver-0.5.4/doc/xarchiver.docbook 2015-07-11 07:08:07.905619485 -0300 -@@ -50,14 +50,14 @@ - <listitem><para>The most used archiver cmd-line options are supported in the Add and Extract dialog</para></listitem> +\ No newline at end of file +--- xarchiver-0.5.4.6.orig/doc/xarchiver.docbook 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/doc/xarchiver.docbook 2016-04-12 15:37:03.884439758 -0500 +@@ -56,13 +56,13 @@ <listitem><para>Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz</para></listitem> - <listitem><para>Drag and drop from and to Xarchiver window is supported with XDS protocol</para></listitem> -- <listitem><para>ZIP and ARJ archive comment are supported. RAR comment is not yet supported because it's compressed inside the archive itself</para></listitem> -+ <listitem><para>ZIP and ARJ archive comment are supported.</para></listitem> - <listitem><para>Tabs Firefox style support</para></listitem> + <listitem><para>Drag and drop from and to &app; window</para></listitem> + <listitem><para>Progress window when using &app; from the command line or from a file-manager</para></listitem> +- <listitem><para>ARJ, RAR and ZIP archive comment are supported</para></listitem> ++ <listitem><para>ARJ and ZIP archive comment are supported</para></listitem> <listitem><para>Ability to convert the archive to self-extracting for those archive types which support it</para></listitem> - <listitem><para>Smart detection of arj, zip and rar password encrypted archives</para></listitem> + <listitem><para>Smart detection of arj and zip password encrypted archives</para></listitem> - <listitem><para>All the the output of the cmd-line archiver is displayed in the Xarchiver window</para></listitem> -- <listitem><para>All common formats are supported: arj, bzip2, lha, gzip, 7z, rar, tar, tar.bz2, tar.gz, zip, DEB and RPM (only open,view and extract)</para></listitem> -- <listitem><para>Support of RPM files without RPM executable. This is useful on not RPM-based distributions like Slackware and Arch Linux</para></listitem> + <listitem><para>All the the output of the command line archiver is displayed in the &app; window</para></listitem> +- <listitem><para>All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, rar, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</para></listitem> ++ <listitem><para>All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</para></listitem> + <listitem><para>Deb and Rpm packages are handled internally, their package managers are NOT required.</para></listitem> - <listitem><para>Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</para></listitem> -+ <listitem><para>All common formats are supported: arj, bzip2, lha, gzip, 7z, tar, tar.bz2, tar.gz, zip, DEB and RPM (only open,view and extract)</para></listitem> -+ <listitem><para>Support of RPM files without RPM executable. This is useful on not RPM-based distributions</para></listitem> + <listitem><para>Zip, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</para></listitem> </itemizedlist> </para> </section> -@@ -204,7 +204,7 @@ +@@ -209,7 +209,7 @@ <section id="general_startup"> <title>Startup</title> <para> -- At startup, &app; detects the available installed archivers (tar,rar,zip etc). Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, Xarchiver can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. -+ At startup, &app; detects the available installed archivers (tar,zip etc). Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. +- At startup, &app; detects the available installed archivers (tar,rar,zip etc) and the script <emphasis>xdg-open</emphasis> for handling different file types. Since &app; is a frontend (a graphic user interface to the command line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, &app; can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. ++ At startup, &app; detects the available installed archivers (tar,zip etc) and the script <emphasis>xdg-open</emphasis> for handling different file types. Since &app; is a frontend (a graphic user interface to the command line executables) it can't create archives whose archiver is not available. </para> </section> <section id="how_it_works"> -@@ -244,7 +244,7 @@ - <title>Open</title> - <para> - Opens a new archive. If you force &app; to open an unsupported archive -- type an error message will be emitted. The archive type is detected by its magic header and not by the extension. Password protected archives are supported also. The password detection is done by looking for the password flag inside the archive structure except for rar ones since encrypted files in rar archives have an asterisk right before their filename. 7zip encrypted archives are not detected due to the complexity of 7zip format. Please see <ulink url="http://sourceforge.net/forum/forum.php?thread_id=1378003&forum_id=383044"> -+ type an error message will be emitted. The archive type is detected by its magic header and not by the extension. Password protected archives are supported also. The password detection is done by looking for the password flag inside the archive structure. 7zip encrypted archives are not detected due to the complexity of 7zip format. Please see <ulink url="http://sourceforge.net/forum/forum.php?thread_id=1378003&forum_id=383044"> - <citetitle>this thread on sf.net</citetitle> - </ulink>for more information. - </para> -@@ -394,7 +394,7 @@ +@@ -435,7 +435,7 @@ </section> - <section id="second"> + <section id="faq_2"> <title>How can I create an archive with some files password protected and others not?</title> - <para>First of all choose 'New' and select one of arj, 7zip, rar or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and + <para>First of all choose 'New' and select one of arj, 7zip or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and enter your password. From now on all the files you add to the archive will be password protected. </para> </section> -@@ -427,7 +427,7 @@ +@@ -456,7 +456,7 @@ </section> - <section id="seventh"> - <title>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</title> + <section id="faq_6"> + <title>Why &app; doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</title> - <para>Because rar and arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. + <para>Because arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. </para> </section> </chapter> -diff -Nur xarchiver-0.5.3.orig/po/POTFILES.in xarchiver-0.5.3/po/POTFILES.in ---- xarchiver-0.5.3.orig/po/POTFILES.in 2008-08-26 08:53:27.000000000 -0300 -+++ xarchiver-0.5.3/po/POTFILES.in 2014-05-05 16:28:26.154740706 -0300 -@@ -15,7 +15,6 @@ - src/open-with-dlg.c +--- xarchiver-0.5.4.6.orig/po/POTFILES.in 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/po/POTFILES.in 2016-04-12 15:27:20.210935122 -0500 +@@ -12,7 +12,6 @@ src/new_dialog.c + src/open-with-dlg.c src/pref_dialog.c -src/rar.c src/rpm.c src/tar.c - src/zip.c -diff -Nur xarchiver-0.5.4.orig/src/Makefile.am xarchiver-0.5.4/src/Makefile.am ---- xarchiver-0.5.4.orig/src/Makefile.am 2015-07-11 07:05:10.401331645 -0300 -+++ xarchiver-0.5.4/src/Makefile.am 2015-07-11 07:08:07.905619485 -0300 -@@ -15,7 +15,6 @@ - arj.c arj.h \ - deb.c deb.h \ - zip.c zip.h \ -- rar.c rar.h \ - 7zip.c 7zip.h \ - tar.c tar.h \ - bzip2.c bzip2.h \ -diff -Nur xarchiver-0.5.3.orig/src/Makefile.in xarchiver-0.5.3/src/Makefile.in ---- xarchiver-0.5.3.orig/src/Makefile.in 2008-11-12 05:50:37.000000000 -0200 -+++ xarchiver-0.5.3/src/Makefile.in 2014-05-05 16:30:50.625828168 -0300 -@@ -57,7 +57,7 @@ - xarchiver-archive.$(OBJEXT) xarchiver-interface.$(OBJEXT) \ - xarchiver-window.$(OBJEXT) xarchiver-arj.$(OBJEXT) \ - xarchiver-deb.$(OBJEXT) xarchiver-zip.$(OBJEXT) \ -- xarchiver-rar.$(OBJEXT) xarchiver-7zip.$(OBJEXT) \ -+ xarchiver-7zip.$(OBJEXT) \ - xarchiver-tar.$(OBJEXT) xarchiver-bzip2.$(OBJEXT) \ - xarchiver-gzip.$(OBJEXT) xarchiver-rpm.$(OBJEXT) \ - xarchiver-lha.$(OBJEXT) xarchiver-extract_dialog.$(OBJEXT) \ -@@ -267,7 +267,6 @@ - arj.c arj.h \ - deb.c deb.h \ - zip.c zip.h \ -- rar.c rar.h \ - 7zip.c 7zip.h \ - tar.c tar.h \ - bzip2.c bzip2.h \ -@@ -381,7 +380,6 @@ + src/window.c +--- xarchiver-0.5.4.6.orig/src/Makefile.am 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/src/Makefile.am 2016-04-12 15:26:39.234490444 -0500 +@@ -33,8 +33,6 @@ + open-with-dlg.h \ + pref_dialog.c \ + pref_dialog.h \ +- rar.c \ +- rar.h \ + rpm.c \ + rpm.h \ + sexy-icon-entry.c \ +--- xarchiver-0.5.4.6.orig/src/Makefile.in 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/src/Makefile.in 2016-04-12 15:25:55.908058496 -0500 +@@ -112,7 +112,7 @@ + xarchiver-lha.$(OBJEXT) xarchiver-main.$(OBJEXT) \ + xarchiver-mime.$(OBJEXT) xarchiver-new_dialog.$(OBJEXT) \ + xarchiver-open-with-dlg.$(OBJEXT) \ +- xarchiver-pref_dialog.$(OBJEXT) xarchiver-rar.$(OBJEXT) \ ++ xarchiver-pref_dialog.$(OBJEXT) \ + xarchiver-rpm.$(OBJEXT) xarchiver-sexy-icon-entry.$(OBJEXT) \ + xarchiver-socket.$(OBJEXT) xarchiver-string_utils.$(OBJEXT) \ + xarchiver-support.$(OBJEXT) xarchiver-tar.$(OBJEXT) \ +@@ -420,8 +420,6 @@ + open-with-dlg.h \ + pref_dialog.c \ + pref_dialog.h \ +- rar.c \ +- rar.h \ + rpm.c \ + rpm.h \ + sexy-icon-entry.c \ +@@ -564,7 +562,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-new_dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-open-with-dlg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-pref_dialog.Po@am__quote@ @@ -159,121 +133,113 @@ diff -Nur xarchiver-0.5.3.orig/src/Makefile.in xarchiver-0.5.3/src/Makefile.in @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-rpm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-sexy-icon-entry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-socket.Po@am__quote@ -@@ -595,20 +593,6 @@ +@@ -806,20 +803,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ - @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-zip.obj `if test -f 'zip.c'; then $(CYGPATH_W) 'zip.c'; else $(CYGPATH_W) '$(srcdir)/zip.c'; fi` + @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-pref_dialog.obj `if test -f 'pref_dialog.c'; then $(CYGPATH_W) 'pref_dialog.c'; else $(CYGPATH_W) '$(srcdir)/pref_dialog.c'; fi` -xarchiver-rar.o: rar.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-rar.o -MD -MP -MF "$(DEPDIR)/xarchiver-rar.Tpo" -c -o xarchiver-rar.o `test -f 'rar.c' || echo '$(srcdir)/'`rar.c; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xarchiver-rar.Tpo" "$(DEPDIR)/xarchiver-rar.Po"; else rm -f "$(DEPDIR)/xarchiver-rar.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rar.c' object='xarchiver-rar.o' libtool=no @AMDEPBACKSLASH@ +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-rar.o -MD -MP -MF $(DEPDIR)/xarchiver-rar.Tpo -c -o xarchiver-rar.o `test -f 'rar.c' || echo '$(srcdir)/'`rar.c +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xarchiver-rar.Tpo $(DEPDIR)/xarchiver-rar.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rar.c' object='xarchiver-rar.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-rar.o `test -f 'rar.c' || echo '$(srcdir)/'`rar.c +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-rar.o `test -f 'rar.c' || echo '$(srcdir)/'`rar.c - -xarchiver-rar.obj: rar.c --@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-rar.obj -MD -MP -MF "$(DEPDIR)/xarchiver-rar.Tpo" -c -o xarchiver-rar.obj `if test -f 'rar.c'; then $(CYGPATH_W) 'rar.c'; else $(CYGPATH_W) '$(srcdir)/rar.c'; fi`; \ --@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xarchiver-rar.Tpo" "$(DEPDIR)/xarchiver-rar.Po"; else rm -f "$(DEPDIR)/xarchiver-rar.Tpo"; exit 1; fi --@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rar.c' object='xarchiver-rar.obj' libtool=no @AMDEPBACKSLASH@ +-@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-rar.obj -MD -MP -MF $(DEPDIR)/xarchiver-rar.Tpo -c -o xarchiver-rar.obj `if test -f 'rar.c'; then $(CYGPATH_W) 'rar.c'; else $(CYGPATH_W) '$(srcdir)/rar.c'; fi` +-@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xarchiver-rar.Tpo $(DEPDIR)/xarchiver-rar.Po +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rar.c' object='xarchiver-rar.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ --@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-rar.obj `if test -f 'rar.c'; then $(CYGPATH_W) 'rar.c'; else $(CYGPATH_W) '$(srcdir)/rar.c'; fi` +-@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-rar.obj `if test -f 'rar.c'; then $(CYGPATH_W) 'rar.c'; else $(CYGPATH_W) '$(srcdir)/rar.c'; fi` - - xarchiver-7zip.o: 7zip.c - @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-7zip.o -MD -MP -MF "$(DEPDIR)/xarchiver-7zip.Tpo" -c -o xarchiver-7zip.o `test -f '7zip.c' || echo '$(srcdir)/'`7zip.c; \ - @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xarchiver-7zip.Tpo" "$(DEPDIR)/xarchiver-7zip.Po"; else rm -f "$(DEPDIR)/xarchiver-7zip.Tpo"; exit 1; fi -diff -Nur xarchiver-0.5.4.orig/src/interface.c xarchiver-0.5.4/src/interface.c ---- xarchiver-0.5.4.orig/src/interface.c 2015-07-11 07:05:21.077451685 -0300 -+++ xarchiver-0.5.4/src/interface.c 2015-07-11 07:08:07.908952647 -0300 -@@ -45,7 +45,7 @@ - { "text/uri-list",0,0 }, - }; + xarchiver-rpm.o: rpm.c + @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-rpm.o -MD -MP -MF $(DEPDIR)/xarchiver-rpm.Tpo -c -o xarchiver-rpm.o `test -f 'rpm.c' || echo '$(srcdir)/'`rpm.c + @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xarchiver-rpm.Tpo $(DEPDIR)/xarchiver-rpm.Po +--- xarchiver-0.5.4.6.orig/src/interface.c 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/src/interface.c 2016-04-12 15:22:08.385957756 -0500 +@@ -47,7 +47,7 @@ + + static gulong selchghid; --extern gboolean unrar,batch_mode; -+extern gboolean batch_mode; +-extern gboolean unarj,unrar,batch_mode; ++extern gboolean unarj,batch_mode; - static gboolean xa_progress_dialog_delete_event (GtkWidget *caller,GdkEvent *event,GPid pid); - static void xa_progress_dialog_stop_action (GtkWidget *widget,GPid pid); -@@ -592,7 +592,7 @@ + static gboolean xa_progress_dialog_delete_event (GtkWidget *caller,GdkEvent *event,GPid *pid); + static void xa_progress_dialog_stop_action (GtkWidget *widget,GPid *pid); +@@ -601,7 +601,7 @@ if (selection != NULL) xa_row_selected(selection,archive[id]); -- if (archive[id]->type == XARCHIVETYPE_7ZIP || archive[id]->type == XARCHIVETYPE_ZIP || archive[id]->type == XARCHIVETYPE_RAR || archive[id]->type == XARCHIVETYPE_RAR5 || archive[id]->type == XARCHIVETYPE_ARJ) -+ if (archive[id]->type == XARCHIVETYPE_7ZIP || archive[id]->type == XARCHIVETYPE_ZIP || archive[id]->type == XARCHIVETYPE_ARJ) +- if (archive[id]->type == XARCHIVETYPE_ZIP || archive[id]->type == XARCHIVETYPE_RAR || archive[id]->type == XARCHIVETYPE_ARJ) ++ if (archive[id]->type == XARCHIVETYPE_ZIP || archive[id]->type == XARCHIVETYPE_ARJ) gtk_widget_set_sensitive (comment_menu,TRUE); else gtk_widget_set_sensitive (comment_menu,FALSE); -@@ -615,12 +615,7 @@ +@@ -624,12 +624,7 @@ { gtk_widget_show(selected_frame); gtk_widget_set_sensitive(deselect_all,TRUE); -- if ((archive[id]->type == XARCHIVETYPE_RAR || archive[id]->type == XARCHIVETYPE_RAR5) && unrar) +- if (archive[id]->type == XARCHIVETYPE_RAR && unrar) - { - gtk_widget_set_sensitive (delete_menu,FALSE); - gtk_widget_set_sensitive (rename_menu,FALSE); - } -- else if (archive[id]->type == XARCHIVETYPE_BZIP2 || archive[id]->type == XARCHIVETYPE_GZIP || archive[id]->type == XARCHIVETYPE_DEB || archive[id]->type == XARCHIVETYPE_RPM || archive[id]->type == XARCHIVETYPE_LZMA || archive[id]->type == XARCHIVETYPE_XZ || archive[id]->type == XARCHIVETYPE_LZOP) -+ if (archive[id]->type == XARCHIVETYPE_BZIP2 || archive[id]->type == XARCHIVETYPE_GZIP || archive[id]->type == XARCHIVETYPE_DEB || archive[id]->type == XARCHIVETYPE_RPM || archive[id]->type == XARCHIVETYPE_LZMA || archive[id]->type == XARCHIVETYPE_XZ || archive[id]->type == XARCHIVETYPE_LZOP) +- else if (archive[id]->type == XARCHIVETYPE_ARJ && unarj) ++ if (archive[id]->type == XARCHIVETYPE_ARJ && unarj) { gtk_widget_set_sensitive (delete_menu,FALSE); gtk_widget_set_sensitive (rename_menu,FALSE); -diff -Nur xarchiver-0.5.4.orig/src/main.c xarchiver-0.5.4/src/main.c ---- xarchiver-0.5.4.orig/src/main.c 2014-09-28 17:12:13.000000000 -0300 -+++ xarchiver-0.5.4/src/main.c 2014-09-30 16:34:33.820381950 -0300 -@@ -33,13 +33,11 @@ - gchar *add_files; +--- xarchiver-0.5.4.6.orig/src/main.c 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/src/main.c 2016-04-12 15:18:19.947195315 -0500 +@@ -34,7 +34,6 @@ gboolean error_output, file_to_open, ask_and_extract, ask_and_add, multi_extract; gboolean batch_mode = FALSE; + gboolean unarj = FALSE; -gboolean unrar = FALSE; - gboolean sevenzr = FALSE, sevenza = FALSE, xdg_open = FALSE; - static gboolean show_version = FALSE; - int response; - extern gchar *current_open_directory; - extern int status; --extern int rar_version; - - extern Progress_bar_data *pb; - Prefs_dialog_data *prefs_window = NULL; -@@ -320,7 +318,6 @@ + gboolean xdg_open = FALSE; + const gchar *sevenz = NULL; + static gboolean tbz2, tgz, tlz, txz, tzo, zip; +@@ -325,7 +324,6 @@ open_archive[XARCHIVETYPE_GZIP] = &xa_open_gzip; open_archive[XARCHIVETYPE_LZMA] = &xa_open_bzip2_lzma; open_archive[XARCHIVETYPE_XZ] = &xa_open_bzip2_lzma; -- open_archive[XARCHIVETYPE_RAR] = open_archive[XARCHIVETYPE_RAR5] = &xa_open_rar; +- open_archive[XARCHIVETYPE_RAR] = &xa_open_rar; open_archive[XARCHIVETYPE_RPM] = &xa_open_rpm; open_archive[XARCHIVETYPE_TAR] = open_archive[XARCHIVETYPE_TAR_BZ2] = open_archive[XARCHIVETYPE_TAR_GZ] = open_archive[XARCHIVETYPE_TAR_LZMA] = open_archive[XARCHIVETYPE_TAR_XZ] = open_archive[XARCHIVETYPE_TAR_LZOP] = &xa_open_tar; open_archive[XARCHIVETYPE_ZIP] = &xa_open_zip; -@@ -332,7 +329,6 @@ +@@ -337,7 +335,6 @@ delete[XARCHIVETYPE_ARJ] = &xa_arj_delete; delete[XARCHIVETYPE_DEB] = 0; delete[XARCHIVETYPE_BZIP2] = delete[XARCHIVETYPE_GZIP] = delete[XARCHIVETYPE_LZMA] = delete[XARCHIVETYPE_XZ] = delete[XARCHIVETYPE_LZOP] = &xa_tar_delete; -- delete[XARCHIVETYPE_RAR] = delete[XARCHIVETYPE_RAR5] = &xa_rar_delete; +- delete[XARCHIVETYPE_RAR] = &xa_rar_delete; delete[XARCHIVETYPE_RPM] = 0; delete[XARCHIVETYPE_TAR] = delete[XARCHIVETYPE_TAR_BZ2] = delete[XARCHIVETYPE_TAR_GZ] = delete[XARCHIVETYPE_TAR_LZMA] = delete[XARCHIVETYPE_TAR_XZ] = delete[XARCHIVETYPE_TAR_LZOP] = &xa_tar_delete; delete[XARCHIVETYPE_ZIP] = &xa_zip_delete; -@@ -344,7 +340,6 @@ +@@ -349,7 +346,6 @@ add[XARCHIVETYPE_ARJ] = &xa_arj_add; add[XARCHIVETYPE_DEB] = 0; add[XARCHIVETYPE_BZIP2] = add[XARCHIVETYPE_GZIP] = add[XARCHIVETYPE_LZMA] = add[XARCHIVETYPE_XZ] = add[XARCHIVETYPE_LZOP] = &xa_tar_add; -- add[XARCHIVETYPE_RAR] = add[XARCHIVETYPE_RAR5] = &xa_rar_add; +- add[XARCHIVETYPE_RAR] = &xa_rar_add; add[XARCHIVETYPE_RPM] = 0; add[XARCHIVETYPE_TAR] = add[XARCHIVETYPE_TAR_BZ2] = add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = add[XARCHIVETYPE_TAR_XZ] = add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add; add[XARCHIVETYPE_ZIP] = &xa_zip_add; -@@ -355,7 +350,6 @@ +@@ -360,7 +356,6 @@ extract[XARCHIVETYPE_ARJ] = &xa_arj_extract; extract[XARCHIVETYPE_DEB] = &xa_deb_extract;; extract[XARCHIVETYPE_BZIP2] = extract[XARCHIVETYPE_GZIP] = extract[XARCHIVETYPE_LZMA] = extract[XARCHIVETYPE_XZ] = extract[XARCHIVETYPE_LZOP] = &xa_tar_extract; -- extract[XARCHIVETYPE_RAR] = extract[XARCHIVETYPE_RAR5] = &xa_rar_extract; +- extract[XARCHIVETYPE_RAR] = &xa_rar_extract; extract[XARCHIVETYPE_RPM] = &xa_rpm_extract; extract[XARCHIVETYPE_TAR] = extract[XARCHIVETYPE_TAR_BZ2] = extract[XARCHIVETYPE_TAR_GZ] = extract[XARCHIVETYPE_TAR_LZMA] = extract[XARCHIVETYPE_TAR_XZ] = extract[XARCHIVETYPE_TAR_LZOP] = &xa_tar_extract; extract[XARCHIVETYPE_ZIP] = &xa_zip_extract; -@@ -365,7 +359,6 @@ +@@ -370,7 +365,6 @@ test[XARCHIVETYPE_7ZIP] = &xa_7zip_test; test[XARCHIVETYPE_ARJ] = &xa_arj_test; test[XARCHIVETYPE_DEB] = test[XARCHIVETYPE_BZIP2] = test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = test[XARCHIVETYPE_XZ] = test[XARCHIVETYPE_LZOP] = &xa_tar_test; -- test[XARCHIVETYPE_RAR] = test[XARCHIVETYPE_RAR5] = &xa_rar_test; +- test[XARCHIVETYPE_RAR] = &xa_rar_test; test[XARCHIVETYPE_RPM] = 0; test[XARCHIVETYPE_TAR] = test[XARCHIVETYPE_TAR_BZ2] = test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = test[XARCHIVETYPE_TAR_XZ] = test[XARCHIVETYPE_TAR_LZOP] = &xa_tar_test; test[XARCHIVETYPE_ZIP] = &xa_zip_test; -@@ -436,39 +429,6 @@ - //ArchiveSuffix = g_list_append(ArchiveSuffix, ""); +@@ -479,31 +473,6 @@ + g_free (absolute_path); } - absolute_path = g_find_program_in_path ("rar"); @@ -281,12 +247,10 @@ diff -Nur xarchiver-0.5.4.orig/src/main.c xarchiver-0.5.4/src/main.c - { - ArchiveType = g_list_append(ArchiveType, "rar"); - ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); -- // Is RAR v5 ? -- xa_rar_checkversion (absolute_path); -- if (rar_version == 5) +- if (xa_rar_checkversion(absolute_path) == 5) - { - ArchiveType = g_list_append(ArchiveType, "rar5"); -- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar5"); +- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); - } - g_free (absolute_path); - } @@ -296,15 +260,9 @@ diff -Nur xarchiver-0.5.4.orig/src/main.c xarchiver-0.5.4/src/main.c - if ( absolute_path ) - { - unrar = TRUE; +- xa_rar_checkversion(absolute_path); - ArchiveType = g_list_append(ArchiveType, "rar"); - ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); -- // Is RAR v5 ? -- xa_rar_checkversion (absolute_path); -- if (rar_version == 5) -- { -- ArchiveType = g_list_append(ArchiveType, "rar5"); -- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar5"); -- } - g_free (absolute_path); - } - } @@ -312,42 +270,38 @@ diff -Nur xarchiver-0.5.4.orig/src/main.c xarchiver-0.5.4/src/main.c absolute_path = g_find_program_in_path("cpio"); if ( absolute_path ) { -diff -Nur xarchiver-0.5.4.orig/src/mime.c xarchiver-0.5.4/src/mime.c ---- xarchiver-0.5.4.orig/src/mime.c 2015-07-11 07:05:21.077451685 -0300 -+++ xarchiver-0.5.4/src/mime.c 2015-07-11 07:10:24.465369710 -0300 -@@ -44,7 +44,7 @@ - icon_name = "x-office-spreadsheet"; - else if (strcmp(mime,"application/vnd.ms-powerpoint") == 0 || strcmp (mime,"application/vnd.oasis.opendocument.presentation") == 0) - icon_name = "x-office-presentation"; -- else if (strcmp(mime,"application/zip") == 0 || strcmp(mime,"application/x-rar") == 0 || strcmp(mime,"application/x-tar") == 0 -+ else if (strcmp(mime,"application/zip") == 0 || strcmp(mime,"application/x-tar") == 0 - || strcmp(mime,"application/x-7z-compressed") == 0 || strcmp(mime,"application/x-bzip-compressed-tar") == 0 - || strcmp (mime,"application/x-compressed-tar") == 0 || strcmp (mime,"application/x-lha") == 0 - || strcmp (mime,"application/x-rpm") == 0 || strcmp (mime,"application/x-deb") == 0 -diff -Nur xarchiver-0.5.4.orig/src/new_dialog.c xarchiver-0.5.4/src/new_dialog.c ---- xarchiver-0.5.4.orig/src/new_dialog.c 2015-07-11 07:05:10.401331645 -0300 -+++ xarchiver-0.5.4/src/new_dialog.c 2015-07-11 07:13:52.991250444 -0300 -@@ -24,7 +24,6 @@ +--- xarchiver-0.5.4.6.orig/src/mime.c 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/src/mime.c 2016-04-12 15:09:26.186753610 -0500 +@@ -69,7 +69,6 @@ + strcmp(mime,"application/x-lzma") == 0 || + strcmp(mime,"application/x-lzma-compressed-tar") == 0 || + strcmp(mime,"application/x-lzop") == 0 || +- strcmp(mime,"application/x-rar") == 0 || + strcmp(mime,"application/x-rpm") == 0 || + strcmp(mime,"application/x-source-rpm") == 0 || + strcmp(mime,"application/x-tar") == 0 || +--- xarchiver-0.5.4.6.orig/src/new_dialog.c 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/src/new_dialog.c 2016-04-12 15:07:58.673894375 -0500 +@@ -24,7 +24,7 @@ #include "string_utils.h" #include "main.h" --extern gboolean unrar; +-extern gboolean unarj, unrar; ++extern gboolean unarj; extern Prefs_dialog_data *prefs_window; gchar *current_new_directory = NULL; gint new_combo_box = -1; -@@ -98,11 +97,6 @@ - Name = g_list_first (ArchiveType); - +@@ -159,8 +159,7 @@ while (Name) -- { -- if (!(strncmp(Name->data, "rar", 3) == 0 && unrar)) -- gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box),Name->data); -- Name = g_list_next (Name); -- } - if (new_combo_box == -1) - gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box),gtk_combo_box_get_active(GTK_COMBO_BOX(prefs_window->combo_prefered_format))); - else -@@ -225,16 +219,6 @@ + { + if (!(*(char *) Name->data == 0 || +- (strncmp(Name->data, "arj", 3) == 0 && unarj) || +- (strncmp(Name->data, "rar", 3) == 0 && unrar))) ++ (strncmp(Name->data, "arj", 3) == 0 && unarj))) + gtk_combo_box_text_append_text(GTK_COMBO_BOX_TEXT(combo_box),Name->data); + Name = g_list_next (Name); + } +@@ -284,16 +283,6 @@ type = XARCHIVETYPE_LZOP; format = "LZOP"; } @@ -358,59 +312,56 @@ diff -Nur xarchiver-0.5.4.orig/src/new_dialog.c xarchiver-0.5.4/src/new_dialog.c - } - else if (strcmp (ComboArchiveType,"rar5") == 0) - { -- type = XARCHIVETYPE_RAR5; +- type = XARCHIVETYPE_RAR; - format = "RAR5"; - } else if (strcmp (ComboArchiveType,"tar") == 0) { type = XARCHIVETYPE_TAR; -diff -Nur xarchiver-0.5.4.orig/src/pref_dialog.c xarchiver-0.5.4/src/pref_dialog.c ---- xarchiver-0.5.4.orig/src/pref_dialog.c 2015-07-11 07:05:21.077451685 -0300 -+++ xarchiver-0.5.4/src/pref_dialog.c 2015-07-11 07:08:07.908952647 -0300 -@@ -23,7 +23,6 @@ +--- xarchiver-0.5.4.6.orig/src/pref_dialog.c 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/src/pref_dialog.c 2016-04-12 15:03:58.515195426 -0500 +@@ -23,7 +23,7 @@ #include "main.h" #include "support.h" --extern gboolean unrar; +-extern gboolean unarj, unrar; ++extern gboolean unarj; extern gboolean xdg_open; extern Extract_dialog_data *extract_window; extern Add_dialog_data *add_window; -@@ -101,9 +100,7 @@ +@@ -104,8 +102,7 @@ while ( archive_type != NULL ) { - if (strcmp(archive_type->data, "tgz") == 0 || -- strcmp(archive_type->data, "rpm") == 0 || -- (strncmp(archive_type->data, "rar", 3) == 0 && unrar) ) -- goto next; -+ strcmp(archive_type->data, "rpm") == 0); - else + if (!(*(char *) archive_type->data == 0 || +- (strncmp(archive_type->data, "arj", 3) == 0 && unarj) || +- (strncmp(archive_type->data, "rar", 3) == 0 && unrar))) ++ (strncmp(archive_type->data, "arj", 3) == 0 && unarj))) gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (prefs_data->combo_prefered_format),archive_type->data ); - next: -diff -Nur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c ---- xarchiver-0.5.4.orig/src/window.c 2015-07-11 07:05:10.404664805 -0300 -+++ xarchiver-0.5.4/src/window.c 2015-07-11 07:13:00.640641666 -0300 -@@ -26,7 +26,6 @@ + archive_type = g_list_next (archive_type); + } +--- xarchiver-0.5.4.6.orig/src/window.c 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/src/window.c 2016-04-12 15:01:10.642771536 -0500 +@@ -26,7 +26,7 @@ extern GList *ArchiveType; extern GList *ArchiveSuffix; --extern gboolean unrar; +-extern gboolean unarj, unrar; ++extern gboolean unarj; extern gboolean xdg_open; extern Prefs_dialog_data *prefs_window; extern Extract_dialog_data *extract_window; -@@ -325,11 +324,7 @@ +@@ -323,9 +323,7 @@ /* Does the user open an archive from the command line whose archiver is not installed? */ gchar *ext = NULL; - if (type == XARCHIVETYPE_RAR) - ext = "rar"; -- else if (type == XARCHIVETYPE_RAR5) -- ext = "rar5"; - else if (type == XARCHIVETYPE_7ZIP) + if (type == XARCHIVETYPE_7ZIP) ext = "7z"; else if (type == XARCHIVETYPE_ARJ) ext = "arj"; -@@ -357,7 +352,7 @@ +@@ -353,7 +351,7 @@ g_free (path); return; } @@ -419,12 +370,11 @@ diff -Nur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c if (type == XARCHIVETYPE_ZIP) archive[current_page]->has_comment = xa_detect_archive_comment (XARCHIVETYPE_ZIP,path,archive[current_page]); else if (type == XARCHIVETYPE_ARJ) -@@ -779,13 +774,6 @@ +@@ -778,12 +776,6 @@ archive[idx]->status = XA_ARCHIVESTATUS_SFX; switch ( archive[idx]->type) { - case XARCHIVETYPE_RAR: -- case XARCHIVETYPE_RAR5: - command = g_strconcat ("rar s -o+ ",archive[idx]->escaped_path,NULL); - list = g_slist_append(list,command); - xa_run_command (archive[idx],list); @@ -433,80 +383,74 @@ diff -Nur xarchiver-0.5.4.orig/src/window.c xarchiver-0.5.4/src/window.c case XARCHIVETYPE_ZIP: { gchar *archive_name = NULL; -@@ -970,7 +958,7 @@ +@@ -968,7 +960,7 @@ "LHA and DEB support:\nŁukasz Zemczak <sil2100@vexillium.org>\n", "LZMA support:\nThomas Dy <dysprosium66@gmail.com>\n", "LZOP support:\nKevin Day\n", -- "RAR5, XZ, TAR.XZ support:\nFrederick GUERIN <fguerin01@gmail.com>\n", +- "RARv5, XZ, TAR.XZ support:\nFrederick GUERIN <fguerin01@gmail.com>\n", + "XZ, TAR.XZ support:\nFrederick GUERIN <fguerin01@gmail.com>\n", "GTK+ 3 port:\nBalló György <ballogyor@gmail.com>\n", NULL }; -@@ -1138,10 +1126,6 @@ +@@ -1134,8 +1126,6 @@ xx = XARCHIVETYPE_ZIP; else if (memcmp (magic,"\x60\xea",2) == 0) xx = XARCHIVETYPE_ARJ; -- else if (memcmp ( magic,"\x52\x61\x72\x21\x1a\x07\x00",7) == 0) +- else if (memcmp ( magic,"\x52\x61\x72\x21\x1a\x07\x00",7) == 0 || memcmp ( magic,"\x52\x61\x72\x21\x1a\x07\x01",7) == 0) - xx = XARCHIVETYPE_RAR; -- else if (memcmp ( magic,"\x52\x61\x72\x21\x1a\x07\x01",7) == 0) -- xx = XARCHIVETYPE_RAR5; else if (memcmp ( magic,"\x42\x5a\x68",3) == 0) xx = XARCHIVETYPE_BZIP2; else if (memcmp ( magic,"\x1f\x8b",2) == 0 || memcmp ( magic,"\x1f\x9d",2) == 0) -@@ -1495,8 +1479,6 @@ +@@ -1496,7 +1486,6 @@ pos = 3; break; - case XARCHIVETYPE_RAR: -- case XARCHIVETYPE_RAR5: case XARCHIVETYPE_ARJ: case XARCHIVETYPE_7ZIP: pos = 2; -@@ -1561,8 +1543,6 @@ +@@ -1561,7 +1550,6 @@ pos = 3; break; - case XARCHIVETYPE_RAR: -- case XARCHIVETYPE_RAR5: case XARCHIVETYPE_ARJ: case XARCHIVETYPE_7ZIP: pos = 2; -@@ -1600,7 +1580,7 @@ +@@ -1599,7 +1587,7 @@ gtk_widget_show(selected_frame); gtk_widget_set_sensitive(deselect_all,TRUE); } -- if ( (archive->type == XARCHIVETYPE_RAR && unrar) || (archive->type == XARCHIVETYPE_RAR5 && unrar) || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) -+ if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) +- if ((archive->type == XARCHIVETYPE_ARJ && unarj) || (archive->type == XARCHIVETYPE_RAR && unrar) || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) ++ if ((archive->type == XARCHIVETYPE_ARJ && unarj) || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) { gtk_widget_set_sensitive (delete_menu,FALSE); gtk_widget_set_sensitive (rename_menu,FALSE); -@@ -1817,11 +1797,6 @@ - else - idx = xa_find_archive_index (current_page); - -- if ((archive[idx]->type == XARCHIVETYPE_RAR || archive[idx]->type == XARCHIVETYPE_RAR5) && unrar) +@@ -1823,11 +1811,6 @@ + xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't perform this action:"),_("You have to install arj package!")); + return; + } +- if (archive[idx]->type == XARCHIVETYPE_RAR && unrar) - { -- response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't perform this action:"),_("You have to install rar package!")); +- xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't perform this action:"),_("You have to install rar package!")); - return; - } if (archive[idx]->type == XARCHIVETYPE_DEB || archive[idx]->type == XARCHIVETYPE_RPM) { gchar *msg; -@@ -2139,11 +2114,6 @@ +@@ -2139,10 +2122,6 @@ command = g_strconcat ("arj c ",archive[idx]->escaped_path," -z",tmp,NULL); break; - + - case XARCHIVETYPE_RAR: -- case XARCHIVETYPE_RAR5: - command = g_strconcat ("rar c ",archive[idx]->escaped_path," -z",tmp,NULL); - break; -- +- case XARCHIVETYPE_ZIP: command = g_strconcat ("sh -c \"zip ",archive[idx]->escaped_path," -z <",tmp,"\"",NULL); break; -diff -Nur xarchiver-0.5.3.orig/src/window.h xarchiver-0.5.3/src/window.h ---- xarchiver-0.5.3.orig/src/window.h 2008-10-24 07:26:51.000000000 -0200 -+++ xarchiver-0.5.3/src/window.h 2014-05-05 16:29:42.841987069 -0300 +--- xarchiver-0.5.4.6.orig/src/window.h 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/src/window.h 2016-04-12 14:36:54.387327416 -0500 @@ -40,7 +40,6 @@ #include "deb.h" #include "lha.h" @@ -515,12 +459,11 @@ diff -Nur xarchiver-0.5.3.orig/src/window.h xarchiver-0.5.3/src/window.h #include "tar.h" #include "7zip.h" #include "bzip2.h" -diff -Nur xarchiver-0.5.3.orig/xarchiver.desktop.in xarchiver-0.5.3/xarchiver.desktop.in ---- xarchiver-0.5.3.orig/xarchiver.desktop.in 2014-05-12 02:00:44.138672823 -0300 -+++ xarchiver-0.5.3/xarchiver.desktop.in 2014-05-12 02:01:31.452361143 -0300 -@@ -11,4 +11,4 @@ - X-MultipleArgs=false +--- xarchiver-0.5.4.6.orig/xarchiver.desktop.in 2016-03-09 10:25:48.000000000 -0500 ++++ xarchiver-0.5.4.6/xarchiver.desktop.in 2016-04-12 14:35:46.771027058 -0500 +@@ -9,4 +9,4 @@ + Terminal=false Categories=GTK;Archiving;Utility; StartupNotify=true --MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-deb;application/x-rpm; -+MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-deb;application/x-rpm; +-MimeType=application/gzip;application/vnd.debian.binary-package;application/x-7z-compressed;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-compressed-tar;application/x-java-archive;application/x-lha;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-rar;application/x-rpm;application/x-source-rpm;application/x-tar;application/x-tzo;application/x-xz;application/x-xz-compressed-tar;application/zip; ++MimeType=application/gzip;application/vnd.debian.binary-package;application/x-7z-compressed;application/x-arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-compressed-tar;application/x-java-archive;application/x-lha;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-rpm;application/x-source-rpm;application/x-tar;application/x-tzo;application/x-xz;application/x-xz-compressed-tar;application/zip; |