X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=aoview%2Faoview_dev_dialog.c;h=530187c11369329912f12e4923520a199b4811eb;hp=00947404e7100dbf076cd00905f7af2a06a8f743;hb=2c780d67b8a22d75a2da4b2af21fd35f0c6f5236;hpb=be3f4fed7b863c8cdaabe32b61b65a8b3cd11355 diff --git a/aoview/aoview_dev_dialog.c b/aoview/aoview_dev_dialog.c index 00947404..530187c1 100644 --- a/aoview/aoview_dev_dialog.c +++ b/aoview/aoview_dev_dialog.c @@ -45,6 +45,23 @@ aoview_dev_dialog_map(GtkWidget *widget, gpointer data) gtk_tree_view_columns_autosize(dev_list); } +static GtkMessageDialog *dev_open_fail_dialog; + +static void +aoview_dev_open_failed(char *name) +{ + char *utf8_file; + utf8_file = g_filename_to_utf8(name, -1, NULL, NULL, NULL); + if (!utf8_file) + utf8_file = name; + gtk_message_dialog_format_secondary_text(dev_open_fail_dialog, + "\"%s\"", utf8_file); + if (utf8_file != name) + g_free(utf8_file); + gtk_dialog_run(GTK_DIALOG(dev_open_fail_dialog)); + gtk_widget_hide(GTK_WIDGET(dev_open_fail_dialog)); +} + static void aoview_dev_selected(GtkTreeModel *model, GtkTreePath *path, @@ -55,7 +72,8 @@ aoview_dev_selected(GtkTreeModel *model, gtk_tree_model_get(model, iter, 2, &string, -1); - aoview_monitor_connect(string); + if (!aoview_monitor_connect(string)) + aoview_dev_open_failed(string); } static GtkWidget *dialog; @@ -123,4 +141,7 @@ aoview_dev_dialog_init(GladeXML *xml) g_signal_connect(G_OBJECT(ao_disconnect), "activate", G_CALLBACK(aoview_dev_disconnect), ao_disconnect); + + dev_open_fail_dialog = GTK_MESSAGE_DIALOG(glade_xml_get_widget(xml, "dev_open_fail_dialog")); + assert(dev_open_fail_dialog); }