Author: colossus
Date: 2008-08-20 12:33:00 +0000 (Wed, 20 Aug 2008)
New Revision: 27525

Modified:
   xarchiver/trunk/src/interface.c
   xarchiver/trunk/src/interface.h
   xarchiver/trunk/src/window.c
Log:
Fix gui freeze when the user renames a password protected entry.
Replaced gtk_entry with gtk_label in the archive properties dialog.
Restored entry "Encrypted" in the archive properties dialog.


Modified: xarchiver/trunk/src/interface.c
===================================================================
--- xarchiver/trunk/src/interface.c     2008-08-20 11:30:33 UTC (rev 27524)
+++ xarchiver/trunk/src/interface.c     2008-08-20 12:33:00 UTC (rev 27525)
@@ -485,7 +485,7 @@
        gtk_widget_show (total_frame);
        gtk_box_pack_start (GTK_BOX (hbox_sb),total_frame,TRUE,TRUE,0);
        gtk_frame_set_label_align (GTK_FRAME (total_frame),0,0);
-       gtk_frame_set_shadow_type (GTK_FRAME (total_frame),GTK_SHADOW_OUT);
+       gtk_frame_set_shadow_type (GTK_FRAME (total_frame),GTK_SHADOW_IN);
 
        total_label = gtk_label_new (NULL);
        gtk_misc_set_alignment (GTK_MISC(total_label),0.0,0.5);
@@ -495,7 +495,7 @@
        selected_frame = gtk_frame_new (NULL);
        gtk_box_pack_start (GTK_BOX (hbox_sb),selected_frame,TRUE,TRUE,0);
        gtk_frame_set_label_align (GTK_FRAME (selected_frame),0,0);
-       gtk_frame_set_shadow_type (GTK_FRAME (selected_frame),GTK_SHADOW_OUT);
+       gtk_frame_set_shadow_type (GTK_FRAME (selected_frame),GTK_SHADOW_IN);
 
        selected_label = gtk_label_new (NULL);
        gtk_misc_set_alignment (GTK_MISC(selected_label),0.0,0.5);
@@ -1044,13 +1044,14 @@
 
 GtkWidget *xa_create_archive_properties_window()
 {
-       archive_properties_window = gtk_dialog_new_with_buttons (_("Archive 
Properties Window"),
+       archive_properties_window = gtk_dialog_new_with_buttons (_("Archive 
Properties"),
                                                                        
GTK_WINDOW (xa_main_window),GTK_DIALOG_DESTROY_WITH_PARENT,
                                                                        
GTK_STOCK_CLOSE,GTK_RESPONSE_CANCEL,NULL);
 
        
g_signal_connect(archive_properties_window,"response",G_CALLBACK(gtk_widget_destroy),NULL);
        
g_signal_connect(archive_properties_window,"delete-event",G_CALLBACK(gtk_widget_destroy),NULL);
 
+       gtk_container_set_border_width (GTK_CONTAINER 
(archive_properties_window),6);
        gtk_window_set_position (GTK_WINDOW 
(archive_properties_window),GTK_WIN_POS_CENTER_ON_PARENT);
        gtk_window_set_transient_for (GTK_WINDOW 
(archive_properties_window),GTK_WINDOW (xa_main_window));
        gtk_window_set_type_hint (GTK_WINDOW 
(archive_properties_window),GDK_WINDOW_TYPE_HINT_DIALOG);
@@ -1058,135 +1059,141 @@
        gtk_window_set_modal (GTK_WINDOW (archive_properties_window),TRUE);
        
gtk_dialog_set_has_separator(GTK_DIALOG(archive_properties_window),FALSE);
 
-       table1 = gtk_table_new (9,2,TRUE);
-       gtk_container_add (GTK_CONTAINER (GTK_DIALOG 
(archive_properties_window)->vbox),table1);
+       table1 = gtk_table_new (10,2,FALSE);
+       gtk_box_pack_start (GTK_BOX 
(GTK_DIALOG(archive_properties_window)->vbox), table1, TRUE, TRUE, 0);
+       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),6);
+       gtk_table_set_col_spacings (GTK_TABLE (table1),12);
 
        name_label = gtk_label_new ("");
        set_label ( name_label ,_("Name:"));
        gtk_table_attach (GTK_TABLE (table1),name_label,0,1,0,1,
                      (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | 
GTK_FILL),0,0);
-       gtk_misc_set_alignment (GTK_MISC (name_label),0.99,0.5);
+                    (GtkAttachOptions) (0), 0, 0);
+       gtk_misc_set_alignment (GTK_MISC (name_label), 1, 0.5);
 
        path_label = gtk_label_new ("");
        set_label ( path_label ,_("Path:"));
        gtk_table_attach (GTK_TABLE (table1),path_label,0,1,1,2,
                     (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | 
GTK_FILL),0,0);
-       gtk_misc_set_alignment (GTK_MISC (path_label),0.99,0.5);
+                    (GtkAttachOptions) (0), 0, 0);
+       gtk_misc_set_alignment (GTK_MISC (path_label),1,0.5);
 
        type_label = gtk_label_new ("");
        set_label ( type_label ,_("Type:"));
        gtk_table_attach (GTK_TABLE (table1),type_label,0,1,2,3,
                     (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | 
GTK_FILL),0,0);
-       gtk_misc_set_alignment (GTK_MISC (type_label),0.99,0.5);
+                    (GtkAttachOptions) (0), 0, 0);
+       gtk_misc_set_alignment (GTK_MISC (type_label),1,0.5);
 
+       encrypted_label = gtk_label_new ("");
+       set_label ( encrypted_label ,_("Encrypted:"));
+       gtk_table_attach (GTK_TABLE (table1),encrypted_label,0,1,3,4,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+       gtk_misc_set_alignment (GTK_MISC (encrypted_label),0.99,0.5);
+
        modified_label = gtk_label_new ("");
        set_label ( modified_label ,_("Modified on:"));
-       gtk_table_attach (GTK_TABLE (table1),modified_label,0,1,3,4,
+       gtk_table_attach (GTK_TABLE (table1),modified_label,0,1,4,5,
                     (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | 
GTK_FILL),0,0);
-       gtk_misc_set_alignment (GTK_MISC (modified_label),0.99,0.5);
+                    (GtkAttachOptions) (0), 0, 0);
+       gtk_misc_set_alignment (GTK_MISC (modified_label),1,0.5);
 
        size_label = gtk_label_new ("");
        set_label ( size_label ,_("Compressed size:"));
-       gtk_table_attach (GTK_TABLE (table1),size_label,0,1,4,5,
+       gtk_table_attach (GTK_TABLE (table1),size_label,0,1,5,6,
                     (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | 
GTK_FILL),0,0);
+                    (GtkAttachOptions) (0), 0, 0);
        gtk_misc_set_alignment (GTK_MISC (size_label),0.99,0.5);
 
        content_label = gtk_label_new ("");
        set_label ( content_label ,_("Uncompressed size:"));
-       gtk_table_attach (GTK_TABLE (table1),content_label,0,1,5,6,
+       gtk_table_attach (GTK_TABLE (table1),content_label,0,1,6,7,
                     (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | 
GTK_FILL),0,0);
+                    (GtkAttachOptions) (0), 0, 0);
        gtk_misc_set_alignment (GTK_MISC (content_label),0.99,0.5);
 
        comment_label = gtk_label_new ("");
        set_label ( comment_label ,_("Comment:"));
-       gtk_table_attach (GTK_TABLE (table1),comment_label,0,1,6,7,
+       gtk_table_attach (GTK_TABLE (table1),comment_label,0,1,7,8,
                     (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | 
GTK_FILL),0,0);
+                    (GtkAttachOptions) (0), 0, 0);
        gtk_misc_set_alignment (GTK_MISC (comment_label),0.99,0.5);
 
+       number_of_files_label = gtk_label_new ("");
+       set_label ( number_of_files_label ,_("Number of files:"));
+       gtk_table_attach (GTK_TABLE (table1),number_of_files_label,0,1,8,9,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0), 0, 0);
+       gtk_misc_set_alignment (GTK_MISC (number_of_files_label),0.99,0.5);
+       
        compression_label = gtk_label_new ("");
        set_label ( compression_label ,_("Compression ratio:"));
-       gtk_table_attach (GTK_TABLE (table1),compression_label,0,1,8,9,
+       gtk_table_attach (GTK_TABLE (table1),compression_label,0,1,9,10,
                     (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | 
GTK_FILL),0,0);
+                    (GtkAttachOptions) (0), 0, 0);
        gtk_misc_set_alignment (GTK_MISC (compression_label),0.99,0.5);
+       
+/* */
+       compression_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (compression_data), 0, 0.5);
+       gtk_table_attach (GTK_TABLE (table1),compression_data,1,2,9,10,
+                    (GtkAttachOptions) (GTK_FILL),
+                    (GtkAttachOptions) (0),0,0);
 
-       number_of_files_label = gtk_label_new ("");
-       set_label ( number_of_files_label ,_("Number of files:"));
-       gtk_table_attach (GTK_TABLE (table1),number_of_files_label,0,1,7,8,
+       number_of_files_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (number_of_files_data), 0, 0.5);
+       gtk_table_attach (GTK_TABLE (table1),number_of_files_data,1,2,8,9,
                     (GtkAttachOptions) (GTK_FILL),
-                    (GtkAttachOptions) (GTK_EXPAND | GTK_SHRINK | 
GTK_FILL),0,0);
-       gtk_misc_set_alignment (GTK_MISC (number_of_files_label),0.99,0.5);
-
-       compression_data = gtk_entry_new ();
-       gtk_editable_set_editable (GTK_EDITABLE (compression_data),FALSE);
-       gtk_entry_set_has_frame (GTK_ENTRY (compression_data),FALSE);
-       gtk_table_attach (GTK_TABLE (table1),compression_data,1,2,8,9,
-                    (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
                     (GtkAttachOptions) (0),0,0);
 
-       number_of_files_data = gtk_entry_new ();
-       gtk_editable_set_editable (GTK_EDITABLE (number_of_files_data),FALSE);
-       gtk_entry_set_has_frame (GTK_ENTRY (number_of_files_data),FALSE);
-       gtk_table_attach (GTK_TABLE (table1),number_of_files_data,1,2,7,8,
-                    (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+       comment_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (comment_data), 0, 0.5);
+       gtk_table_attach (GTK_TABLE (table1),comment_data,1,2,7,8,
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0),0,0);
 
-       comment_data = gtk_entry_new ();
-       gtk_editable_set_editable (GTK_EDITABLE (comment_data),FALSE);
-       gtk_entry_set_has_frame (GTK_ENTRY (comment_data),FALSE);
-       gtk_table_attach (GTK_TABLE (table1),comment_data,1,2,6,7,
-                    (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+       content_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (content_data), 0, 0.5);
+       gtk_table_attach (GTK_TABLE (table1),content_data,1,2,6,7,
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0),0,0);
 
-       content_data = gtk_entry_new ();
-       gtk_editable_set_editable (GTK_EDITABLE (content_data),FALSE);
-       gtk_entry_set_has_frame (GTK_ENTRY (content_data),FALSE);
-       gtk_table_attach (GTK_TABLE (table1),content_data,1,2,5,6,
-                    (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+       size_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (size_data), 0, 0.5);
+       gtk_table_attach (GTK_TABLE (table1),size_data,1,2,5,6,
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0),0,0);
 
-       size_data = gtk_entry_new ();
-       gtk_editable_set_editable (GTK_EDITABLE (size_data),FALSE);
-       gtk_entry_set_has_frame (GTK_ENTRY (size_data),FALSE);
-       gtk_table_attach (GTK_TABLE (table1),size_data,1,2,4,5,
-                    (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+       modified_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (modified_data), 0, 0.5);
+       gtk_table_attach (GTK_TABLE (table1),modified_data,1,2,4,5,
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0),0,0);
 
-       modified_data = gtk_entry_new ();
-       gtk_table_attach (GTK_TABLE (table1),modified_data,1,2,3,4,
-                    (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+       encrypted_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (encrypted_data), 0, 0.5);
+       gtk_table_attach (GTK_TABLE (table1),encrypted_data,1,2,3,4,
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0),0,0);
-       gtk_editable_set_editable (GTK_EDITABLE (modified_data),FALSE);
-       gtk_entry_set_has_frame (GTK_ENTRY (modified_data),FALSE);
 
-       type_data = gtk_entry_new ();
-       gtk_editable_set_editable (GTK_EDITABLE (type_data),FALSE);
-       gtk_entry_set_has_frame (GTK_ENTRY (type_data),FALSE);
+       type_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (type_data), 0, 0.5);
        gtk_table_attach (GTK_TABLE (table1),type_data,1,2,2,3,
-                    (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0),0,0);
 
-       path_data = gtk_entry_new ();
-       gtk_editable_set_editable (GTK_EDITABLE (path_data),FALSE);
-       gtk_entry_set_has_frame (GTK_ENTRY (path_data),FALSE);
+       path_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (path_data), 0, 0.5);
        gtk_table_attach (GTK_TABLE (table1),path_data,1,2,1,2,
-                    (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0),0,0);
 
-       name_data = gtk_entry_new ();
-       gtk_editable_set_editable (GTK_EDITABLE (name_data),FALSE);
-       gtk_entry_set_has_frame (GTK_ENTRY (name_data),FALSE);
+       name_data = gtk_label_new("");
+       gtk_misc_set_alignment (GTK_MISC (name_data), 0, 0.5);
        gtk_table_attach (GTK_TABLE (table1),name_data,1,2,0,1,
-                    (GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
+                    (GtkAttachOptions) (GTK_FILL),
                     (GtkAttachOptions) (0),0,0);
        return archive_properties_window;
 }

Modified: xarchiver/trunk/src/interface.h
===================================================================
--- xarchiver/trunk/src/interface.h     2008-08-20 11:30:33 UTC (rev 27524)
+++ xarchiver/trunk/src/interface.h     2008-08-20 12:33:00 UTC (rev 27525)
@@ -43,7 +43,7 @@
 GtkWidget *xa_popup_menu, *xa_main_window, *vbox1, *hbox_sb, *menubar1, 
*menuitem1, *menuitem1_menu, *new1, *open1, *listing, *listing_submenu,
 *listing_text, *listing_html, *save1, *entry1, *green_led, *red_led, 
*progressbar, *total_label,*selected_label, *total_frame,*selected_frame,
 *archive_properties_window, *table1, *path_label, *modified_label, 
*size_label, *content_label, *comment_label, *compression_label, 
*number_of_files_label,
-*name_label, *type_label, *compression_data, *number_of_files_data, 
*content_data, *comment_data, *size_data, *modified_data, *path_data, 
*type_data,
+*name_label, *type_label, *compression_data, *encrypted_data, 
*encrypted_label,*number_of_files_data, *content_data, *comment_data, 
*size_data, *modified_data, *path_data, *type_data,
 *name_data, *separatormenuitem1, *separatormenuitem2, *separatormenuitem3, 
*separatormenuitem4, *separatormenuitem5, *separatormenuitem6, *quit1,
 *close1, *check_menu, *properties, *menuitem2, *menuitem2_menu, *addfile, 
*extract_menu, *delete_menu, *comment_menu, 
*multi_extract_menu,*view_shell_output1,
 *prefs_menu,*password_entry_menu, *image1, *image2, *menuitem4, 
*select_all,*deselect_all,*select_pattern, *exe_menu, *menuitem4_menu,

Modified: xarchiver/trunk/src/window.c
===================================================================
--- xarchiver/trunk/src/window.c        2008-08-20 11:30:33 UTC (rev 27524)
+++ xarchiver/trunk/src/window.c        2008-08-20 12:33:00 UTC (rev 27525)
@@ -1502,7 +1502,7 @@
     file_size = my_stat.st_size;
     archive_properties_window = xa_create_archive_properties_window();
     utf8_string = xa_remove_path_from_archive_name(archive[idx]->escaped_path);
-       gtk_entry_set_text ( GTK_ENTRY (name_data), utf8_string );
+       gtk_label_set_text(GTK_LABEL(name_data), utf8_string );
        g_free (utf8_string);
     /* Path */
     dummy_string = xa_remove_level_from_path (archive[idx]->path);
@@ -1512,38 +1512,43 @@
                utf8_string = g_filename_display_name (dummy_string);
     g_free ( dummy_string );
 
-    gtk_entry_set_text ( GTK_ENTRY (path_data), utf8_string );
+    gtk_label_set_text(GTK_LABEL(path_data), utf8_string);
     g_free ( utf8_string );
        /* Type */
-       gtk_entry_set_text ( GTK_ENTRY (type_data), archive[idx]->format );
+       gtk_label_set_text(GTK_LABEL(type_data), archive[idx]->format );
     /* Modified Date */
     strftime (date, 64, "%c", localtime (&my_stat.st_mtime) );
     t = g_locale_to_utf8 ( date, -1, 0, 0, 0);
-    gtk_entry_set_text ( GTK_ENTRY (modified_data), t);
+    gtk_label_set_text(GTK_LABEL(modified_data), t);
     g_free (t);
     /* Archive Size */
        t = xa_set_size_string(file_size);
-    gtk_entry_set_text ( GTK_ENTRY (size_data), t );
+    gtk_label_set_text(GTK_LABEL(size_data), t );
     g_free (t);
     /* content_size */
     t = xa_set_size_string(archive[idx]->dummy_size);
-    gtk_entry_set_text ( GTK_ENTRY (content_data), t );
+    gtk_label_set_text(GTK_LABEL(content_data), t );
     g_free (t);
     /* Has Comment */
     if (archive[idx]->has_comment)
-               gtk_entry_set_text ( GTK_ENTRY (comment_data), _("Yes") );
+               gtk_label_set_text(GTK_LABEL(comment_data), _("Yes") );
        else
-               gtk_entry_set_text ( GTK_ENTRY (comment_data), _("No") );
+               gtk_label_set_text(GTK_LABEL(comment_data), _("No") );
 
     /* Compression_ratio */
     content_size = (double)archive[idx]->dummy_size / file_size;
     t = g_strdup_printf ( "%.2f", content_size);
-    gtk_entry_set_text ( GTK_ENTRY (compression_data), t );
+    gtk_label_set_text(GTK_LABEL(compression_data), t );
     g_free (t);
     /* Number of files */
     t = g_strdup_printf ( "%d", archive[idx]->nr_of_files);
-    gtk_entry_set_text ( GTK_ENTRY (number_of_files_data), t );
+    gtk_label_set_text(GTK_LABEL(number_of_files_data), t );
     g_free (t);
+    
+    if (archive[idx]->has_passwd)
+       gtk_label_set_text(GTK_LABEL(encrypted_data), _("Yes") );
+       else
+               gtk_label_set_text(GTK_LABEL(encrypted_data), _("No") );
     gtk_widget_show_all (archive_properties_window);
 }
 
@@ -2646,6 +2651,12 @@
        if (gtk_tree_model_get_iter_from_string(model,&iter,path_string))
        {
                gtk_tree_model_get(model,&iter,archive->nc+1,&entry,-1);
+               if (entry->is_encrypted)
+               {
+                       archive->passwd = xa_create_password_dialog(archive);
+                       if (archive->passwd == NULL)
+                               return;
+               }
                /* Extract the file to the tmp dir */
                if (archive->extraction_path)
                {

_______________________________________________
Xfce4-commits mailing list
Xfce4-commits@xfce.org
http://foo-projects.org/mailman/listinfo/xfce4-commits

Reply via email to