diff options
author | Alan Fitton <ajf@eth0.org.uk> | 2011-10-03 07:46:12 +0000 |
---|---|---|
committer | Alan Fitton <ajf@eth0.org.uk> | 2011-10-03 07:46:12 +0000 |
commit | a9780439e066ea76d7b5aa6af66a8a539c59b0cf (patch) | |
tree | 5cbde63721e07e7498bf952ac25df2c92139207c /src/trg-torrent-add-dialog.c | |
parent | 88499797cc64ae0e563ef978ca2e08f38c4a6051 (diff) |
issue 145 - fix my broken regex which was causing filenames to be treated as URLs. issue 141 - patch for showing mime type icons in file list.
Diffstat (limited to 'src/trg-torrent-add-dialog.c')
-rw-r--r-- | src/trg-torrent-add-dialog.c | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/src/trg-torrent-add-dialog.c b/src/trg-torrent-add-dialog.c index 1b7be0b..2d034f8 100644 --- a/src/trg-torrent-add-dialog.c +++ b/src/trg-torrent-add-dialog.c @@ -712,23 +712,28 @@ static void trg_torrent_add_dialog_set_filenames(TrgTorrentAddDialog * d, if (nfiles == 1) { gchar *file_name = (gchar *) filenames->data; - gchar *file_name_base = g_path_get_basename(file_name); - trg_torrent_file *tor_data = trg_parse_torrent_file(file_name); - - if (file_name_base) { - gtk_button_set_label(chooser, file_name_base); - g_free(file_name_base); - } else { + if (is_url(file_name)) { gtk_button_set_label(chooser, file_name); - } - - if (!tor_data) { - torrent_not_parsed_warning(GTK_WINDOW(priv->parent)); gtk_widget_set_sensitive(priv->file_list, FALSE); + gtk_widget_set_sensitive(priv->delete_check, FALSE); } else { - store_add_node(priv->store, NULL, tor_data->top_node); - trg_torrent_file_free(tor_data); - gtk_widget_set_sensitive(priv->file_list, TRUE); + gchar *file_name_base = g_path_get_basename(file_name); + trg_torrent_file *tor_data = trg_parse_torrent_file(file_name); + + if (file_name_base) { + gtk_button_set_label(chooser, file_name_base); + g_free(file_name_base); + } else { + gtk_button_set_label(chooser, file_name); + } + + gtk_widget_set_sensitive(priv->file_list, tor_data != NULL); + if (!tor_data) { + torrent_not_parsed_warning(GTK_WINDOW(priv->parent)); + } else { + store_add_node(priv->store, NULL, tor_data->top_node); + trg_torrent_file_free(tor_data); + } } } else { gtk_widget_set_sensitive(priv->file_list, FALSE); |