/** * Format notebook file specification page. * \param pageNum Page (tab) number. * \param pageLbl Page (tab) label. */ static void export_ldif_page_file( gint pageNum, gchar *pageLbl ) { GtkWidget *vbox; GtkWidget *table; GtkWidget *label; GtkWidget *labelBook; GtkWidget *entryLdif; GtkWidget *btnFile; gint top; vbox = gtk_vbox_new(FALSE, 8); gtk_container_add( GTK_CONTAINER( expldif_dlg.notebook ), vbox ); gtk_container_set_border_width( GTK_CONTAINER (vbox), BORDER_WIDTH ); label = gtk_label_new( pageLbl ); gtk_widget_show( label ); gtk_notebook_set_tab_label( GTK_NOTEBOOK( expldif_dlg.notebook ), gtk_notebook_get_nth_page( GTK_NOTEBOOK( expldif_dlg.notebook ), pageNum ), label ); table = gtk_table_new( 3, 3, FALSE ); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); gtk_container_set_border_width( GTK_CONTAINER(table), 8 ); gtk_table_set_row_spacings(GTK_TABLE(table), 8); gtk_table_set_col_spacings(GTK_TABLE(table), 8 ); /* First row */ top = 0; label = gtk_label_new( _( "Address Book" ) ); gtk_table_attach(GTK_TABLE(table), label, 0, 1, top, (top + 1), GTK_FILL, 0, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); labelBook = gtk_label_new( "Address book name goes here" ); gtk_table_attach(GTK_TABLE(table), labelBook, 1, 2, top, (top + 1), GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0, 0); gtk_misc_set_alignment(GTK_MISC(labelBook), 0, 0.5); /* Second row */ top++; label = gtk_label_new( _( "LDIF Output File" ) ); gtk_table_attach(GTK_TABLE(table), label, 0, 1, top, (top + 1), GTK_FILL, 0, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); entryLdif = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), entryLdif, 1, 2, top, (top + 1), GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0, 0); btnFile = gtkut_get_browse_file_btn(_("B_rowse")); gtk_table_attach(GTK_TABLE(table), btnFile, 2, 3, top, (top + 1), GTK_FILL, 0, 3, 0); gtk_widget_show_all(vbox); /* Button handler */ g_signal_connect(G_OBJECT(btnFile), "clicked", G_CALLBACK(exp_ldif_file_select), NULL); expldif_dlg.labelBook = labelBook; expldif_dlg.entryLdif = entryLdif; }
static void create_rssyl_prefs_page(PrefsPage *page, GtkWindow *window, gpointer data) { RPrefsPage *prefs_page = (RPrefsPage *) page; GtkWidget *vbox, *vbox1, *vbox2; GtkWidget *frame; GtkWidget *refresh, *refresh_enabled, *refresh_hbox; GtkWidget *label; GtkWidget *refresh_on_startup; GtkObject *refresh_adj; GtkWidget *cookies_path, *cookies_btn, *cookies_hbox; GtkWidget *ssl_verify_peer; vbox1 = gtk_vbox_new(FALSE, 6); /* Refresh interval */ refresh_hbox = gtk_hbox_new(FALSE, 6); refresh_enabled = gtk_check_button_new_with_label( _("Default refresh interval")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(refresh_enabled), rssyl_prefs.refresh_enabled); gtk_box_pack_start(GTK_BOX(refresh_hbox), refresh_enabled, FALSE, FALSE, 0); refresh_adj = gtk_adjustment_new(rssyl_prefs.refresh, 1, 100000, 1, 10, 0); refresh = gtk_spin_button_new(GTK_ADJUSTMENT(refresh_adj), 1, 0); gtk_widget_set_sensitive(GTK_WIDGET(refresh), rssyl_prefs.refresh_enabled); g_signal_connect(G_OBJECT(refresh_enabled), "toggled", G_CALLBACK(rssyl_refresh_enabled_toggled_cb), refresh); gtk_box_pack_start(GTK_BOX(refresh_hbox), refresh, FALSE, FALSE, 0); label = gtk_label_new(_("minute(s)")); gtk_box_pack_start(GTK_BOX(refresh_hbox), label, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox1), refresh_hbox, FALSE, FALSE, 0); /* Whether to refresh all feeds on CM startup */ refresh_on_startup = gtk_check_button_new_with_label( _("Refresh all feeds on application start")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(refresh_on_startup), rssyl_prefs.refresh_on_startup); gtk_box_pack_start(GTK_BOX(vbox1), refresh_on_startup, FALSE, FALSE, 0); vbox2 = gtk_vbox_new(FALSE, 6); /* Whether to verify SSL peer certificate */ ssl_verify_peer = gtk_check_button_new_with_label( _("Verify SSL certificates validity for new feeds")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(ssl_verify_peer), rssyl_prefs.ssl_verify_peer); gtk_box_pack_start(GTK_BOX(vbox2), ssl_verify_peer, FALSE, FALSE, 0); /* Path to cookies file for libcurl to use */ cookies_hbox = gtk_hbox_new(FALSE, 6); label = gtk_label_new(_("Path to cookies file")); gtk_box_pack_start(GTK_BOX(cookies_hbox), label, FALSE, FALSE, 0); cookies_path = gtk_entry_new(); gtk_entry_set_text(GTK_ENTRY(cookies_path), rssyl_prefs.cookies_path); gtk_box_pack_start(GTK_BOX(cookies_hbox), cookies_path, TRUE, TRUE, 0); gtk_widget_set_tooltip_text(cookies_path, _("Path to Netscape-style cookies.txt file containing your cookies")); cookies_btn = gtkut_get_browse_file_btn(_("Bro_wse")); gtk_box_pack_start(GTK_BOX(cookies_hbox), cookies_btn, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(cookies_btn), "clicked", G_CALLBACK(rssyl_prefs_cookies_browse_cb), cookies_path); gtk_box_pack_start(GTK_BOX(vbox2), cookies_hbox, FALSE, FALSE, 0); vbox = gtk_vbox_new(FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (vbox), 6); PACK_FRAME (vbox, frame, _("Refreshing")); gtk_container_set_border_width(GTK_CONTAINER(vbox1), 6); gtk_container_add(GTK_CONTAINER(frame), vbox1); PACK_FRAME (vbox, frame, _("Security and privacy")); gtk_container_set_border_width(GTK_CONTAINER(vbox2), 6); gtk_container_add(GTK_CONTAINER(frame), vbox2); gtk_widget_show_all(vbox); /* Store pointers to relevant widgets */ prefs_page->page.widget = vbox; prefs_page->refresh_enabled = refresh_enabled; prefs_page->refresh = refresh; prefs_page->refresh_on_startup = refresh_on_startup; prefs_page->cookies_path = cookies_path; prefs_page->ssl_verify_peer = ssl_verify_peer; }
static void import_create(void) { GtkWidget *vbox; GtkWidget *hbox; GtkWidget *desc_label; GtkWidget *table; GtkWidget *file_label; GtkWidget *dest_label; GtkWidget *confirm_area; window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "import"); gtk_window_set_title(GTK_WINDOW(window), _("Import mbox file")); gtk_container_set_border_width(GTK_CONTAINER(window), 5); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); gtk_window_set_resizable(GTK_WINDOW(window), TRUE); g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(delete_event), NULL); g_signal_connect(G_OBJECT(window), "key_press_event", G_CALLBACK(key_pressed), NULL); MANAGE_WINDOW_SIGNALS_CONNECT(window); vbox = gtk_vbox_new(FALSE, 4); gtk_container_add(GTK_CONTAINER(window), vbox); hbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(hbox), 4); desc_label = gtk_label_new (_("Locate the mbox file and specify the destination folder.")); gtk_label_set_line_wrap(GTK_LABEL(desc_label), TRUE); gtk_box_pack_start(GTK_BOX(hbox), desc_label, FALSE, FALSE, 0); table = gtk_table_new(2, 3, FALSE); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(table), 8); gtk_table_set_row_spacings(GTK_TABLE(table), 8); gtk_table_set_col_spacings(GTK_TABLE(table), 8); gtk_widget_set_size_request(table, 420, -1); file_label = gtk_label_new(_("Mbox file:")); gtk_table_attach(GTK_TABLE(table), file_label, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0); gtk_misc_set_alignment(GTK_MISC(file_label), 1, 0.5); dest_label = gtk_label_new(_("Destination folder:")); gtk_table_attach(GTK_TABLE(table), dest_label, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_EXPAND|GTK_FILL), 0, 0); gtk_misc_set_alignment(GTK_MISC(dest_label), 1, 0.5); file_entry = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), file_entry, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND|GTK_SHRINK|GTK_FILL), (GtkAttachOptions) (0), 0, 0); dest_entry = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), dest_entry, 1, 2, 1, 2, GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0, 0); file_button = gtkut_get_browse_file_btn(_("_Browse")); gtk_table_attach(GTK_TABLE(table), file_button, 2, 3, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); g_signal_connect(G_OBJECT(file_button), "clicked", G_CALLBACK(import_filesel_cb), NULL); dest_button = gtkut_get_browse_directory_btn(_("B_rowse")); gtk_table_attach(GTK_TABLE(table), dest_button, 2, 3, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); g_signal_connect(G_OBJECT(dest_button), "clicked", G_CALLBACK(import_destsel_cb), NULL); gtkut_stock_button_set_create(&confirm_area, &cancel_button, GTK_STOCK_CANCEL, &ok_button, GTK_STOCK_OK, NULL, NULL); gtk_box_pack_end(GTK_BOX(vbox), confirm_area, FALSE, FALSE, 0); gtk_widget_grab_default(ok_button); g_signal_connect(G_OBJECT(ok_button), "clicked", G_CALLBACK(import_ok_cb), NULL); g_signal_connect(G_OBJECT(cancel_button), "clicked", G_CALLBACK(import_cancel_cb), NULL); gtk_widget_show_all(window); }
static void imp_pine_create( gboolean *cancelled ) { GtkWidget *window; GtkWidget *vbox; GtkWidget *table; GtkWidget *label; GtkWidget *file_entry; GtkWidget *name_entry; GtkWidget *hbbox; GtkWidget *ok_btn; GtkWidget *cancel_btn; GtkWidget *file_btn; GtkWidget *statusbar; GtkWidget *hsbox; gint top; window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "importpine"); gtk_widget_set_size_request(window, 450, -1); gtk_container_set_border_width( GTK_CONTAINER(window), 0 ); gtk_window_set_title( GTK_WINDOW(window), _("Import Pine file into Address Book") ); gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER); g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(imp_pine_delete_event), cancelled); g_signal_connect(G_OBJECT(window), "key_press_event", G_CALLBACK(imp_pine_key_pressed), cancelled); vbox = gtk_vbox_new(FALSE, 8); gtk_container_add(GTK_CONTAINER(window), vbox); gtk_container_set_border_width( GTK_CONTAINER(vbox), 0 ); table = gtk_table_new(2, 3, FALSE); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); gtk_container_set_border_width( GTK_CONTAINER(table), 8 ); gtk_table_set_row_spacings(GTK_TABLE(table), 8); gtk_table_set_col_spacings(GTK_TABLE(table), 8 ); /* First row */ top = 0; label = gtk_label_new(_("Name")); gtk_table_attach(GTK_TABLE(table), label, 0, 1, top, (top + 1), GTK_FILL, 0, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); name_entry = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), name_entry, 1, 2, top, (top + 1), GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0, 0); /* Second row */ top = 1; label = gtk_label_new(_("File")); gtk_table_attach(GTK_TABLE(table), label, 0, 1, top, (top + 1), GTK_FILL, 0, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); file_entry = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), file_entry, 1, 2, top, (top + 1), GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0, 0); file_btn = gtkut_get_browse_file_btn(_("_Browse")); gtk_table_attach(GTK_TABLE(table), file_btn, 2, 3, top, (top + 1), GTK_FILL, 0, 3, 0); /* Status line */ hsbox = gtk_hbox_new(FALSE, 0); gtk_box_pack_end(GTK_BOX(vbox), hsbox, FALSE, FALSE, BORDER_WIDTH); statusbar = gtk_statusbar_new(); gtk_box_pack_start(GTK_BOX(hsbox), statusbar, TRUE, TRUE, BORDER_WIDTH); /* Button panel */ gtkut_stock_button_set_create(&hbbox, &cancel_btn, GTK_STOCK_CANCEL, &ok_btn, GTK_STOCK_OK, NULL, NULL); gtk_box_pack_end(GTK_BOX(vbox), hbbox, FALSE, FALSE, 0); gtk_container_set_border_width( GTK_CONTAINER(hbbox), 5); gtk_widget_grab_default(ok_btn); g_signal_connect(G_OBJECT(ok_btn), "clicked", G_CALLBACK(imp_pine_ok), cancelled); g_signal_connect(G_OBJECT(cancel_btn), "clicked", G_CALLBACK(imp_pine_cancel), cancelled); g_signal_connect(G_OBJECT(file_btn), "clicked", G_CALLBACK(imp_pine_file_select), NULL); gtk_widget_show_all(vbox); imppine_dlg.window = window; imppine_dlg.file_entry = file_entry; imppine_dlg.name_entry = name_entry; imppine_dlg.ok_btn = ok_btn; imppine_dlg.cancel_btn = cancel_btn; imppine_dlg.statusbar = statusbar; imppine_dlg.status_cid = gtk_statusbar_get_context_id( GTK_STATUSBAR(statusbar), "Import Pine Dialog" ); }
static void prefs_custom_header_create(void) { GtkWidget *window; GtkWidget *vbox; GtkWidget *ok_btn; GtkWidget *cancel_btn; GtkWidget *confirm_area; GtkWidget *vbox1; GtkWidget *table1; GtkWidget *hdr_label; GtkWidget *hdr_combo; GtkWidget *val_label; GtkWidget *val_entry; GtkWidget *val_btn; GtkWidget *reg_hbox; GtkWidget *btn_hbox; GtkWidget *arrow; GtkWidget *add_btn; GtkWidget *del_btn; GtkWidget *preview; GtkWidget *ch_hbox; GtkWidget *ch_scrolledwin; GtkWidget *list_view; GtkWidget *btn_vbox; GtkWidget *up_btn; GtkWidget *down_btn; debug_print("Creating custom header setting window...\n"); window = gtkut_window_new(GTK_WINDOW_TOPLEVEL, "prefs_customheader"); gtk_container_set_border_width (GTK_CONTAINER (window), 8); gtk_window_set_position (GTK_WINDOW (window), GTK_WIN_POS_CENTER); gtk_window_set_resizable(GTK_WINDOW (window), TRUE); vbox = gtk_vbox_new (FALSE, 6); gtk_widget_show (vbox); gtk_container_add (GTK_CONTAINER (window), vbox); gtkut_stock_button_set_create(&confirm_area, &cancel_btn, GTK_STOCK_CANCEL, &ok_btn, GTK_STOCK_OK, NULL, NULL); gtk_widget_show (confirm_area); gtk_box_pack_end (GTK_BOX(vbox), confirm_area, FALSE, FALSE, 0); gtk_widget_grab_default (ok_btn); gtk_window_set_title (GTK_WINDOW(window), _("Custom header configuration")); MANAGE_WINDOW_SIGNALS_CONNECT (window); g_signal_connect (G_OBJECT(window), "delete_event", G_CALLBACK(prefs_custom_header_deleted), NULL); g_signal_connect (G_OBJECT(window), "key_press_event", G_CALLBACK(prefs_custom_header_key_pressed), NULL); g_signal_connect (G_OBJECT(ok_btn), "clicked", G_CALLBACK(prefs_custom_header_ok), NULL); g_signal_connect (G_OBJECT(cancel_btn), "clicked", G_CALLBACK(prefs_custom_header_cancel), NULL); vbox1 = gtk_vbox_new (FALSE, VSPACING); gtk_widget_show (vbox1); gtk_box_pack_start (GTK_BOX (vbox), vbox1, TRUE, TRUE, 0); gtk_container_set_border_width (GTK_CONTAINER (vbox1), 2); table1 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (vbox1), table1, FALSE, FALSE, 0); gtk_table_set_row_spacings (GTK_TABLE (table1), 8); gtk_table_set_col_spacings (GTK_TABLE (table1), 8); hdr_label = gtk_label_new (_("Header")); gtk_widget_show (hdr_label); gtk_table_attach (GTK_TABLE (table1), hdr_label, 0, 1, 0, 1, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_misc_set_alignment (GTK_MISC (hdr_label), 0, 0.5); hdr_combo = combobox_text_new(TRUE, "User-Agent", "Face", "X-Face", "X-Operating-System", NULL); gtk_table_attach (GTK_TABLE (table1), hdr_combo, 0, 1, 1, 2, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_set_size_request (hdr_combo, 150, -1); val_label = gtk_label_new (_("Value")); gtk_widget_show (val_label); gtk_table_attach (GTK_TABLE (table1), val_label, 1, 2, 0, 1, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_misc_set_alignment (GTK_MISC (val_label), 0, 0.5); val_entry = gtk_entry_new (); gtk_widget_show (val_entry); gtk_table_attach (GTK_TABLE (table1), val_entry, 1, 2, 1, 2, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); gtk_widget_set_size_request (val_entry, 200, -1); val_btn = gtkut_get_browse_file_btn(_("Bro_wse")); gtk_widget_show (val_btn); gtk_table_attach (GTK_TABLE (table1), val_btn, 2, 3, 1, 2, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); g_signal_connect (G_OBJECT (val_btn), "clicked", G_CALLBACK (prefs_custom_header_val_from_file_cb), NULL); /* add / delete */ reg_hbox = gtk_hbox_new (FALSE, 4); gtk_widget_show (reg_hbox); gtk_box_pack_start (GTK_BOX (vbox1), reg_hbox, FALSE, FALSE, 0); arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_OUT); gtk_widget_show (arrow); gtk_box_pack_start (GTK_BOX (reg_hbox), arrow, FALSE, FALSE, 0); gtk_widget_set_size_request (arrow, -1, 16); btn_hbox = gtk_hbox_new (TRUE, 4); gtk_widget_show (btn_hbox); gtk_box_pack_start (GTK_BOX (reg_hbox), btn_hbox, FALSE, FALSE, 0); add_btn = gtk_button_new_from_stock (GTK_STOCK_ADD); gtk_widget_show (add_btn); gtk_box_pack_start (GTK_BOX (btn_hbox), add_btn, FALSE, TRUE, 0); g_signal_connect (G_OBJECT (add_btn), "clicked", G_CALLBACK (prefs_custom_header_add_cb), NULL); del_btn = gtk_button_new_from_stock (GTK_STOCK_DELETE); gtk_widget_show (del_btn); gtk_box_pack_start (GTK_BOX (btn_hbox), del_btn, FALSE, TRUE, 0); g_signal_connect (G_OBJECT (del_btn), "clicked", G_CALLBACK (prefs_custom_header_delete_cb), NULL); ch_hbox = gtk_hbox_new (FALSE, 8); gtk_widget_show (ch_hbox); gtk_box_pack_start (GTK_BOX (vbox1), ch_hbox, TRUE, TRUE, 0); ch_scrolledwin = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_size_request (ch_scrolledwin, -1, 200); gtk_widget_show (ch_scrolledwin); gtk_box_pack_start (GTK_BOX (ch_hbox), ch_scrolledwin, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (ch_scrolledwin), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); list_view = prefs_custom_header_list_view_create(); gtk_widget_show (list_view); gtk_container_add (GTK_CONTAINER (ch_scrolledwin), list_view); btn_vbox = gtk_vbox_new (FALSE, 8); gtk_widget_show (btn_vbox); gtk_box_pack_start (GTK_BOX (ch_hbox), btn_vbox, FALSE, FALSE, 0); up_btn = gtk_button_new_from_stock (GTK_STOCK_GO_UP); gtk_widget_show (up_btn); gtk_box_pack_start (GTK_BOX (btn_vbox), up_btn, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (up_btn), "clicked", G_CALLBACK (prefs_custom_header_up), NULL); down_btn = gtk_button_new_from_stock (GTK_STOCK_GO_DOWN); gtk_widget_show (down_btn); gtk_box_pack_start (GTK_BOX (btn_vbox), down_btn, FALSE, FALSE, 0); g_signal_connect (G_OBJECT (down_btn), "clicked", G_CALLBACK (prefs_custom_header_down), NULL); preview = gtk_image_new (); gtk_widget_show (preview); gtk_box_pack_start (GTK_BOX (btn_vbox), preview, FALSE, FALSE, 0); gtk_widget_show_all(window); customhdr.window = window; customhdr.ok_btn = ok_btn; customhdr.cancel_btn = cancel_btn; customhdr.preview = preview; customhdr.hdr_combo = hdr_combo; customhdr.hdr_entry = gtk_bin_get_child(GTK_BIN((hdr_combo))); customhdr.val_entry = val_entry; customhdr.list_view = list_view; }
static void prefs_gpg_create_widget_func(PrefsPage *_page, GtkWindow *window, gpointer data) { struct GPGPage *page = (struct GPGPage *) _page; struct GPGConfig *config; GtkWidget *checkbtn_use_gpg_agent; GtkWidget *checkbtn_passphrase_grab; GtkWidget *checkbtn_store_passphrase; GtkWidget *checkbtn_auto_check_signatures; GtkWidget *checkbtn_autocompletion; GtkWidget *checkbtn_gpg_warning; GtkWidget *hbox1, *hbox2; GtkWidget *vbox1, *vbox2; GtkWidget *label_gpg_path; GtkWidget *label_expire1; GtkAdjustment *spinbtn_store_passphrase_adj; GtkWidget *spinbtn_store_passphrase; GtkWidget *label_expire2; GtkWidget *frame_passphrase; GtkWidget *gpg_path, *gpg_path_btn; vbox1 = gtk_vbox_new (FALSE, VSPACING); gtk_widget_show (vbox1); gtk_container_set_border_width (GTK_CONTAINER (vbox1), VBOX_BORDER); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); gtk_box_pack_start (GTK_BOX (vbox1), vbox2, FALSE, FALSE, 0); PACK_CHECK_BUTTON (vbox2, checkbtn_auto_check_signatures, _("Automatically check signatures")); PACK_CHECK_BUTTON (vbox2, checkbtn_autocompletion, _("Use keyring for address autocompletion")); vbox2 = gtkut_get_options_frame(vbox1, &frame_passphrase, _("Passphrase")); PACK_CHECK_BUTTON (vbox2, checkbtn_use_gpg_agent, _("Use gpg-agent to manage passwords")); if (saved_gpg_agent_info == NULL) gtk_widget_set_sensitive(checkbtn_use_gpg_agent, FALSE); PACK_CHECK_BUTTON (vbox2, checkbtn_store_passphrase, _("Store passphrase in memory")); SET_TOGGLE_SENSITIVITY_REVERSE(checkbtn_use_gpg_agent, checkbtn_store_passphrase); hbox1 = gtk_hbox_new (FALSE, 8); gtk_widget_show (hbox1); gtk_box_pack_start (GTK_BOX (vbox2), hbox1, FALSE, FALSE, 0); SET_TOGGLE_SENSITIVITY_REVERSE(checkbtn_use_gpg_agent, hbox1); label_expire1 = gtk_label_new(_("Expire after")); gtk_widget_show (label_expire1); gtk_box_pack_start (GTK_BOX (hbox1), label_expire1, FALSE, FALSE, 0); spinbtn_store_passphrase_adj = GTK_ADJUSTMENT(gtk_adjustment_new(1, 0, 1440, 1, 10, 0)); spinbtn_store_passphrase = gtk_spin_button_new(GTK_ADJUSTMENT (spinbtn_store_passphrase_adj), 1, 0); gtk_widget_show(spinbtn_store_passphrase); gtk_box_pack_start(GTK_BOX(hbox1), spinbtn_store_passphrase, FALSE, FALSE, 0); gtk_widget_set_size_request(spinbtn_store_passphrase, 64, -1); CLAWS_SET_TIP(spinbtn_store_passphrase, _("Setting to '0' will store the passphrase for the whole session")); gtk_spin_button_set_numeric(GTK_SPIN_BUTTON (spinbtn_store_passphrase), TRUE); label_expire2 = gtk_label_new(_("minute(s)")); gtk_widget_show(label_expire2); gtk_box_pack_start(GTK_BOX(hbox1), label_expire2, FALSE, FALSE, 0); gtk_misc_set_alignment(GTK_MISC(label_expire2), 0.0, 0.5); SET_TOGGLE_SENSITIVITY (checkbtn_store_passphrase, label_expire1); SET_TOGGLE_SENSITIVITY (checkbtn_store_passphrase, spinbtn_store_passphrase); SET_TOGGLE_SENSITIVITY (checkbtn_store_passphrase, label_expire2); PACK_CHECK_BUTTON (vbox2, checkbtn_passphrase_grab, _("Grab input while entering a passphrase")); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); gtk_box_pack_start (GTK_BOX (vbox1), vbox2, FALSE, FALSE, 0); PACK_CHECK_BUTTON (vbox2, checkbtn_gpg_warning, _("Display warning on start-up if GnuPG doesn't work")); hbox2 = gtk_hbox_new(FALSE, 6); label_gpg_path = gtk_label_new(_("Path to GnuPG executable")); gtk_box_pack_start(GTK_BOX(hbox2), label_gpg_path, FALSE, FALSE, 0); gpg_path = gtk_entry_new(); gtk_box_pack_start(GTK_BOX(hbox2), gpg_path, TRUE, TRUE, 0); CLAWS_SET_TIP(gpg_path, _("If left blank the location of the GnuPG executable will be automatically determined.")); gpg_path_btn = gtkut_get_browse_file_btn(_("Bro_wse")); gtk_box_pack_start(GTK_BOX(hbox2), gpg_path_btn, FALSE, FALSE, 0); g_signal_connect(G_OBJECT(gpg_path_btn), "clicked", G_CALLBACK(gpg_path_browse_cb), gpg_path); pref_set_entry_from_pref(GTK_ENTRY(gpg_path), prefs_gpg.gpg_path); gtk_box_pack_start(GTK_BOX(vbox2), hbox2, FALSE, FALSE, 0); gtk_widget_show_all(vbox1); config = prefs_gpg_get_config(); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_auto_check_signatures), config->auto_check_signatures); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_autocompletion), config->autocompletion); if (!g_getenv("GPG_AGENT_INFO")) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_use_gpg_agent), FALSE); else gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_use_gpg_agent), config->use_gpg_agent); if (!gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(checkbtn_use_gpg_agent))) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_store_passphrase), config->store_passphrase); gtk_spin_button_set_value(GTK_SPIN_BUTTON(spinbtn_store_passphrase), (float) config->store_passphrase_timeout); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_passphrase_grab), config->passphrase_grab); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbtn_gpg_warning), config->gpg_warning); gtk_entry_set_text(GTK_ENTRY(gpg_path), config->gpg_path); page->checkbtn_auto_check_signatures = checkbtn_auto_check_signatures; page->checkbtn_autocompletion = checkbtn_autocompletion; page->checkbtn_store_passphrase = checkbtn_store_passphrase; page->spinbtn_store_passphrase = spinbtn_store_passphrase; page->checkbtn_passphrase_grab = checkbtn_passphrase_grab; page->checkbtn_gpg_warning = checkbtn_gpg_warning; page->checkbtn_use_gpg_agent = checkbtn_use_gpg_agent; page->gpg_path = gpg_path; page->page.widget = vbox1; }
/** * Format notebook "file" page. * \param pageNum Page (tab) number. * \param pageLbl Page (tab) label. */ static void imp_ldif_page_file( gint pageNum, gchar *pageLbl ) { GtkWidget *vbox; GtkWidget *table; GtkWidget *label; GtkWidget *entryFile; GtkWidget *entryName; GtkWidget *btnFile; gint top; vbox = gtk_vbox_new(FALSE, 8); gtk_container_add( GTK_CONTAINER( impldif_dlg.notebook ), vbox ); gtk_container_set_border_width( GTK_CONTAINER (vbox), BORDER_WIDTH ); label = gtk_label_new( pageLbl ); gtk_widget_show( label ); gtk_notebook_set_tab_label( GTK_NOTEBOOK( impldif_dlg.notebook ), gtk_notebook_get_nth_page( GTK_NOTEBOOK( impldif_dlg.notebook ), pageNum ), label ); table = gtk_table_new(2, 3, FALSE); gtk_box_pack_start(GTK_BOX(vbox), table, FALSE, FALSE, 0); gtk_container_set_border_width( GTK_CONTAINER(table), 8 ); gtk_table_set_row_spacings(GTK_TABLE(table), 8); gtk_table_set_col_spacings(GTK_TABLE(table), 8 ); /* First row */ top = 0; label = gtk_label_new(_("Address Book")); gtk_table_attach(GTK_TABLE(table), label, 0, 1, top, (top + 1), GTK_FILL, 0, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); entryName = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), entryName, 1, 2, top, (top + 1), GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0, 0); CLAWS_SET_TIP(entryName, _( "Specify the name for the address book that will " \ "be created from the LDIF file data." )); /* Second row */ top = 1; label = gtk_label_new(_("File Name")); gtk_table_attach(GTK_TABLE(table), label, 0, 1, top, (top + 1), GTK_FILL, 0, 0, 0); gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); entryFile = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), entryFile, 1, 2, top, (top + 1), GTK_EXPAND|GTK_SHRINK|GTK_FILL, 0, 0, 0); CLAWS_SET_TIP(entryFile, _( "The full file specification of the LDIF file to import." )); btnFile = gtkut_get_browse_file_btn(_("B_rowse")); gtk_table_attach(GTK_TABLE(table), btnFile, 2, 3, top, (top + 1), GTK_FILL, 0, 3, 0); CLAWS_SET_TIP(btnFile, _( "Select the LDIF file to import." )); gtk_widget_show_all(vbox); /* Button handler */ g_signal_connect(G_OBJECT(btnFile), "clicked", G_CALLBACK(imp_ldif_file_select), NULL); impldif_dlg.entryFile = entryFile; impldif_dlg.entryName = entryName; }