X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=aoview%2Faoview_dev_dialog.c;h=530187c11369329912f12e4923520a199b4811eb;hp=f1165e12f89168536291fd6375594a49f4dec10d;hb=b730c8bcbce649cdddba935e1112aaae538bc526;hpb=09771c644de54ae354e8f98af7ba74289b3c0fcc diff --git a/aoview/aoview_dev_dialog.c b/aoview/aoview_dev_dialog.c index f1165e12..530187c1 100644 --- a/aoview/aoview_dev_dialog.c +++ b/aoview/aoview_dev_dialog.c @@ -17,26 +17,6 @@ #include "aoview.h" -static GtkTreeViewColumn * -add_plain_text_column (GtkTreeView *view, const gchar *title, gint model_column, gint width) -{ - GtkCellRenderer *renderer; - GtkTreeViewColumn *column; - - renderer = gtk_cell_renderer_text_new (); - g_object_set(renderer, "ellipsize", PANGO_ELLIPSIZE_NONE, NULL); - g_object_set(renderer, "width-chars", width, NULL); - column = gtk_tree_view_column_new_with_attributes (title, renderer, - "text", model_column, - NULL); - gtk_tree_view_column_set_resizable (column, FALSE); - gtk_tree_view_append_column (view, column); - - return column; -} - - - static void aoview_dev_dialog_map(GtkWidget *widget, gpointer data) { @@ -65,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, @@ -75,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; @@ -118,9 +116,9 @@ aoview_dev_dialog_init(GladeXML *xml) dev_list = GTK_TREE_VIEW(glade_xml_get_widget(xml, "dev_list")); assert(dev_list); - add_plain_text_column(dev_list, _("Product"), 0, 16); - add_plain_text_column(dev_list, _("Serial"), 1, 8); - add_plain_text_column(dev_list, _("Device"), 2, 13); + aoview_add_plain_text_column(dev_list, _("Product"), 0, 16); + aoview_add_plain_text_column(dev_list, _("Serial"), 1, 8); + aoview_add_plain_text_column(dev_list, _("Device"), 2, 13); dev_selection = gtk_tree_view_get_selection(dev_list); gtk_tree_selection_set_mode(dev_selection, GTK_SELECTION_SINGLE); @@ -143,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); }