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