/** * Read file into list. Main entry point * \param pilotFile JPilot control data. * \return Error/status code. <code>MGU_SUCCESS</code> if data read * successfully. */ gint jpilot_read_data( JPilotFile *pilotFile ) { const gchar *cur_locale; name_order = FAMILY_LAST; convert_charcode = FALSE; cur_locale = conv_get_current_locale(); if( g_strncasecmp( cur_locale, "ja", 2 ) == 0 ) { name_order = FAMILY_FIRST; } if( conv_get_current_charset() == C_EUC_JP ) { convert_charcode = TRUE; } g_return_val_if_fail( pilotFile != NULL, -1 ); pilotFile->retVal = MGU_SUCCESS; pilotFile->addressCache->accessFlag = FALSE; if( jpilot_check_files( pilotFile ) ) { addrcache_clear( pilotFile->addressCache ); jpilot_read_metadata( pilotFile ); if( pilotFile->retVal == MGU_SUCCESS ) { pilotFile->retVal = jpilot_read_file( pilotFile ); if( pilotFile->retVal == MGU_SUCCESS ) { pilotFile->addressCache->modified = FALSE; pilotFile->addressCache->dataRead = TRUE; } } } return pilotFile->retVal; }
static GtkWidget *about_create_child_page_info(void) { GtkWidget *scrolledwin; GtkWidget *text; GtkTextBuffer *buffer; GtkTextIter iter; GdkColor uri_color; gchar buf[1024]; GtkTextTag *tag; #if HAVE_SYS_UTSNAME_H struct utsname utsbuf; #endif scrolledwin = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwin), GTK_SHADOW_IN); text = gtk_text_view_new(); gtk_text_view_set_editable(GTK_TEXT_VIEW(text), FALSE); gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text), GTK_WRAP_WORD); gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text), 6); gtk_text_view_set_right_margin(GTK_TEXT_VIEW(text), 6); gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(text), FALSE); gtk_container_add(GTK_CONTAINER(scrolledwin), text); gtk_widget_add_events(text, GDK_LEAVE_NOTIFY_MASK); buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)); gtk_text_buffer_get_iter_at_offset(buffer, &iter, 0); /* textview link style (based upon main prefs) */ gtkut_convert_int_to_gdk_color(prefs_common.uri_col, (GdkColor*)&uri_color); tag = gtk_text_buffer_create_tag(buffer, "link", "foreground-gdk", &uri_color, "wrap-mode", GTK_WRAP_NONE, NULL); gtk_text_buffer_create_tag(buffer, "link-hover", "foreground-gdk", &uri_color, "underline", PANGO_UNDERLINE_SINGLE, NULL); gtk_text_buffer_insert(buffer, &iter, _( "Claws Mail is a lightweight, fast and " "highly-configurable email client.\n\n" "For further information visit the Claws Mail " "website:\n"), -1); gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, HOMEPAGE_URI, -1, "link", NULL); gtk_text_buffer_insert(buffer, &iter, _("\n\n" "For support and discussion subscribe to the Claws Mail " "users' mailing list:\n"),-1); gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, USERS_ML_URI, -1, "link", NULL); gtk_text_buffer_insert(buffer, &iter, _("\n\n" "Claws Mail is free software released " "under the GPL. If you wish to donate " "to the Claws Mail project you can do " "so at:\n"), -1); gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, DONATE_URI, -1, "link", NULL); gtk_text_buffer_create_tag(buffer, "indented-list-item", "indent", 8, NULL); gtk_text_buffer_create_tag(buffer, "underlined-list-title", "underline", PANGO_UNDERLINE_SINGLE, NULL); #ifdef GENERIC_UMPC gtk_text_buffer_insert(buffer, &iter, _( "\n\nCopyright (C) 1999-2016\nThe Claws Mail Team\n" " and Hiroyuki Yamamoto"), -1); #endif gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, (_("\n\nSystem Information\n")), -1, "underlined-list-title", NULL); #if HAVE_SYS_UTSNAME_H uname(&utsbuf); g_snprintf(buf, sizeof(buf),g_strconcat( "GTK+ %d.%d.%d / GLib %d.%d.%d\n", _("Locale: %s (charset: %s)\n" "Operating System: %s %s (%s)"), NULL), gtk_major_version, gtk_minor_version, gtk_micro_version, glib_major_version, glib_minor_version, glib_micro_version, conv_get_current_locale(), conv_get_locale_charset_str(), utsbuf.sysname, utsbuf.release, utsbuf.machine); #elif defined(G_OS_WIN32) g_snprintf(buf, sizeof(buf),g_strconcat( "GTK+ %d.%d.%d / GLib %d.%d.%d\n", _("Locale: %s (charset: %s)\n" "Operating System: %s"), NULL), gtk_major_version, gtk_minor_version, gtk_micro_version, glib_major_version, glib_minor_version, glib_micro_version, conv_get_current_locale(), conv_get_locale_charset_str(), "Win32"); #else g_snprintf(buf, sizeof(buf),g_strconcat( "GTK+ %d.%d.%d / GLib %d.%d.%d\n", _("Locale: %s (charset: %s)\n" "Operating System: unknown"), NULL), gtk_major_version, gtk_minor_version, gtk_micro_version, glib_major_version, glib_minor_version, glib_micro_version, conv_get_current_locale(), conv_get_locale_charset_str()); #endif gtk_text_buffer_insert_with_tags_by_name(buffer, &iter, buf, -1, "indented-list-item", NULL); gtk_text_buffer_insert(buffer, &iter, "\n", -1); g_signal_connect(G_OBJECT(tag), "event", G_CALLBACK(about_textview_uri_clicked), text); g_signal_connect(G_OBJECT(text), "motion-notify-event", G_CALLBACK(about_textview_motion_notify), text); g_signal_connect(G_OBJECT(text), "leave-notify-event", G_CALLBACK(about_textview_leave_notify), text); return scrolledwin; }
/*! *\brief show crash dialog * *\param text Description *\param debug_output Output text by gdb * *\return GtkWidget * Dialog widget */ static GtkWidget *crash_dialog_show(const gchar *text, const gchar *debug_output) { GtkWidget *window1; GtkWidget *vbox1; GtkWidget *hbox1; GtkWidget *label1; GtkWidget *frame1; GtkWidget *scrolledwindow1; GtkWidget *text1; GtkWidget *hbuttonbox3; GtkWidget *hbuttonbox4; GtkWidget *button3; GtkWidget *button4; GtkWidget *button5; gchar *crash_report; GtkTextBuffer *buffer; GtkTextIter iter; window1 = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "crash"); gtk_container_set_border_width(GTK_CONTAINER(window1), 5); gtk_window_set_title(GTK_WINDOW(window1), _("Claws Mail has crashed")); gtk_window_set_position(GTK_WINDOW(window1), GTK_WIN_POS_CENTER); gtk_window_set_modal(GTK_WINDOW(window1), TRUE); gtk_window_set_default_size(GTK_WINDOW(window1), 460, 272); vbox1 = gtk_vbox_new(FALSE, 2); gtk_widget_show(vbox1); gtk_container_add(GTK_CONTAINER(window1), vbox1); hbox1 = gtk_hbox_new(FALSE, 4); gtk_widget_show(hbox1); gtk_box_pack_start(GTK_BOX(vbox1), hbox1, FALSE, TRUE, 0); gtk_container_set_border_width(GTK_CONTAINER(hbox1), 4); label1 = gtk_label_new (g_strdup_printf(_("%s.\nPlease file a bug report and include the information below."), text)); gtk_widget_show(label1); gtk_box_pack_start(GTK_BOX(hbox1), label1, TRUE, TRUE, 0); gtk_misc_set_alignment(GTK_MISC(label1), 7.45058e-09, 0.5); frame1 = gtk_frame_new(_("Debug log")); gtk_widget_show(frame1); gtk_box_pack_start(GTK_BOX(vbox1), frame1, TRUE, TRUE, 0); scrolledwindow1 = gtk_scrolled_window_new(NULL, NULL); gtk_widget_show(scrolledwindow1); gtk_container_add(GTK_CONTAINER(frame1), scrolledwindow1); gtk_container_set_border_width(GTK_CONTAINER(scrolledwindow1), 3); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwindow1), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); text1 = gtk_text_view_new(); gtk_text_view_set_editable(GTK_TEXT_VIEW(text1), FALSE); gtk_widget_show(text1); gtk_container_add(GTK_CONTAINER(scrolledwindow1), text1); crash_report = g_strdup_printf( "Claws Mail version %s\n" "GTK+ version %d.%d.%d / GLib %d.%d.%d\n" "Locale: %s (charset: %s)\n" "Features:%s\n" "Operating system: %s\n" "C Library: %s\n--\n%s", VERSION, gtk_major_version, gtk_minor_version, gtk_micro_version, glib_major_version, glib_minor_version, glib_micro_version, conv_get_current_locale(), conv_get_locale_charset_str(), get_compiled_in_features(), get_operating_system(), get_lib_version(), debug_output); buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text1)); gtk_text_buffer_get_start_iter(buffer, &iter); gtk_text_buffer_insert(buffer, &iter, crash_report, -1); hbuttonbox3 = gtk_hbutton_box_new(); gtk_widget_show(hbuttonbox3); gtk_box_pack_start(GTK_BOX(vbox1), hbuttonbox3, FALSE, FALSE, 0); hbuttonbox4 = gtk_hbutton_box_new(); gtk_widget_show(hbuttonbox4); gtk_box_pack_start(GTK_BOX(vbox1), hbuttonbox4, FALSE, FALSE, 0); button3 = gtk_button_new_with_label(_("Close")); gtk_widget_show(button3); gtk_container_add(GTK_CONTAINER(hbuttonbox4), button3); gtkut_widget_set_can_default(button3, TRUE); button4 = gtk_button_new_with_label(_("Save...")); gtk_widget_show(button4); gtk_container_add(GTK_CONTAINER(hbuttonbox4), button4); gtkut_widget_set_can_default(button4, TRUE); button5 = gtk_button_new_with_label(_("Create bug report")); gtk_widget_show(button5); gtk_container_add(GTK_CONTAINER(hbuttonbox4), button5); gtkut_widget_set_can_default(button5, TRUE); g_signal_connect(G_OBJECT(window1), "delete_event", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(G_OBJECT(button3), "clicked", G_CALLBACK(gtk_main_quit), NULL); g_signal_connect(G_OBJECT(button4), "clicked", G_CALLBACK(crash_save_crash_log), crash_report); g_signal_connect(G_OBJECT(button5), "clicked", G_CALLBACK(crash_create_bug_report), NULL); MANAGE_WINDOW_SIGNALS_CONNECT(window1); gtk_widget_show(window1); gtk_main(); return window1; }