📄 build_store.c
字号:
gen_check_cap_low = gtk_check_button_new_with_label(_("Force other letters to lowercase")); gtk_widget_set_name(gen_check_cap_low, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(gen_cap_frame_vbox), gen_check_cap_low, TRUE, TRUE, 0); switch (cap_mode) { case CAP_ALL_WORDS: gtk_combo_box_set_active(GTK_COMBO_BOX(gen_combo_cap), 0); break; case CAP_FIRST_WORD: gtk_combo_box_set_active(GTK_COMBO_BOX(gen_combo_cap), 1); break; } if (cap_pre_enabled) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gen_check_cap_pre), TRUE); } else { gtk_widget_set_sensitive(gen_combo_cap, FALSE); } if (cap_low_enabled) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gen_check_cap_low), TRUE); } if (cap_enabled) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gen_check_cap), TRUE); } else { gtk_widget_set_sensitive(gen_combo_cap, FALSE); gtk_widget_set_sensitive(gen_check_cap_pre, FALSE); gtk_widget_set_sensitive(gen_entry_cap_pre, FALSE); gtk_widget_set_sensitive(gen_check_cap_low, FALSE); } gen_check_rm_spaces = gtk_check_button_new_with_label(_("Trim leading, tailing and duplicate spaces")); gtk_widget_set_name(gen_check_rm_spaces, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(gen_vbox), gen_check_rm_spaces, FALSE, FALSE, 0); if (rm_spaces_enabled) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gen_check_rm_spaces), TRUE); } gen_check_add_year = gtk_check_button_new_with_label(_("Add year to the comments of new records")); gtk_widget_set_name(gen_check_add_year, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(gen_vbox), gen_check_add_year, FALSE, FALSE, 0); if (add_year_to_comment) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gen_check_add_year), TRUE); } gen_check_reset_data = gtk_check_button_new_with_label(_("Reread data for existing tracks")); gtk_widget_set_name(gen_check_reset_data, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(gen_vbox), gen_check_reset_data, FALSE, FALSE, 0); if (reset_existing_data) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(gen_check_reset_data), TRUE); } /* Metadata */ meta_vbox = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(meta_vbox), 5); label = gtk_label_new(_("Metadata")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), meta_vbox, label); meta_check_enable = gtk_check_button_new_with_label(_("Import file metadata")); gtk_widget_set_name(meta_check_enable, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(meta_vbox), meta_check_enable, FALSE, FALSE, 5); if (meta_enable) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(meta_check_enable), TRUE); } g_signal_connect(G_OBJECT(meta_check_enable), "toggled", G_CALLBACK(meta_check_enable_toggled), NULL); meta_check_wspace = gtk_check_button_new_with_label(_("Exclude whitespace-only metadata")); gtk_widget_set_name(meta_check_wspace, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(meta_vbox), meta_check_wspace, FALSE, FALSE, 0); if (meta_wspace) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(meta_check_wspace), TRUE); } meta_frame = gtk_frame_new(_("Import")); gtk_box_pack_start(GTK_BOX(meta_vbox), meta_frame, FALSE, FALSE, 5); meta_frame_vbox = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(meta_frame_vbox), 5); gtk_container_add(GTK_CONTAINER(meta_frame), meta_frame_vbox); meta_check_artist = gtk_check_button_new_with_label(_("Artist name")); gtk_widget_set_name(meta_check_artist, "check_on_notebook"); if (build_type == BUILD_STORE) { gtk_box_pack_start(GTK_BOX(meta_frame_vbox), meta_check_artist, FALSE, FALSE, 0); } if (meta_artist) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(meta_check_artist), TRUE); } meta_check_record = gtk_check_button_new_with_label(_("Record name")); gtk_widget_set_name(meta_check_record, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(meta_frame_vbox), meta_check_record, FALSE, FALSE, 0); if (meta_record) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(meta_check_record), TRUE); } meta_check_title = gtk_check_button_new_with_label(_("Track name")); gtk_widget_set_name(meta_check_title, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(meta_frame_vbox), meta_check_title, FALSE, FALSE, 0); if (meta_title) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(meta_check_title), TRUE); } meta_check_comment = gtk_check_button_new_with_label(_("Comment")); gtk_widget_set_name(meta_check_comment, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(meta_frame_vbox), meta_check_comment, FALSE, FALSE, 0); if (meta_comment) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(meta_check_comment), TRUE); } meta_check_rva = gtk_check_button_new_with_label(_("Replaygain tag as manual RVA")); gtk_widget_set_name(meta_check_rva, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(meta_frame_vbox), meta_check_rva, FALSE, FALSE, 0); if (meta_rva) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(meta_check_rva), TRUE); } if (!meta_enable) { gtk_widget_set_sensitive(meta_check_title, FALSE); gtk_widget_set_sensitive(meta_check_artist, FALSE); gtk_widget_set_sensitive(meta_check_record, FALSE); gtk_widget_set_sensitive(meta_check_rva, FALSE); gtk_widget_set_sensitive(meta_check_comment, FALSE); gtk_widget_set_sensitive(meta_check_wspace, FALSE); } /* CDDB */#ifdef HAVE_CDDB cddb_vbox = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(cddb_vbox), 5); label = gtk_label_new(_("CDDB")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), cddb_vbox, label); cddb_check_enable = gtk_check_button_new_with_label(_("Perform CDDB lookup for records")); gtk_widget_set_name(cddb_check_enable, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(cddb_vbox), cddb_check_enable, FALSE, FALSE, 5); if (cddb_enable) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cddb_check_enable), TRUE); } g_signal_connect(G_OBJECT(cddb_check_enable), "toggled", G_CALLBACK(cddb_check_enable_toggled), NULL); cddb_frame = gtk_frame_new(_("Import")); gtk_box_pack_start(GTK_BOX(cddb_vbox), cddb_frame, FALSE, FALSE, 0); cddb_frame_vbox = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(cddb_frame_vbox), 5); gtk_container_add(GTK_CONTAINER(cddb_frame), cddb_frame_vbox); cddb_check_artist = gtk_check_button_new_with_label(_("Artist name")); gtk_widget_set_name(cddb_check_artist, "check_on_notebook"); if (build_type == BUILD_STORE) { gtk_box_pack_start(GTK_BOX(cddb_frame_vbox), cddb_check_artist, FALSE, FALSE, 0); } if (cddb_artist) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cddb_check_artist), TRUE); } cddb_check_record = gtk_check_button_new_with_label(_("Record name")); gtk_widget_set_name(cddb_check_record, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(cddb_frame_vbox), cddb_check_record, FALSE, FALSE, 0); if (cddb_record) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cddb_check_record), TRUE); } cddb_check_title = gtk_check_button_new_with_label(_("Track name")); gtk_widget_set_name(cddb_check_title, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(cddb_frame_vbox), cddb_check_title, FALSE, FALSE, 0); if (cddb_title) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(cddb_check_title), TRUE); } if (!cddb_enable) { gtk_widget_set_sensitive(cddb_check_title, FALSE); gtk_widget_set_sensitive(cddb_check_artist, FALSE); gtk_widget_set_sensitive(cddb_check_record, FALSE); }#endif /* HAVE_CDDB */ /* Filenames */ fs_vbox = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(fs_vbox), 5); label = gtk_label_new(_("Filesystem")); gtk_notebook_append_page(GTK_NOTEBOOK(notebook), fs_vbox, label); fs_frame_preset = gtk_frame_new(NULL); gtk_box_pack_start(GTK_BOX(fs_vbox), fs_frame_preset, FALSE, FALSE, 5); fs_frame_preset_vbox = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(fs_frame_preset_vbox), 5); gtk_container_add(GTK_CONTAINER(fs_frame_preset), fs_frame_preset_vbox); fs_radio_preset = gtk_radio_button_new_with_label(NULL, _("Predefined transformations")); gtk_widget_set_name(fs_radio_preset, "check_on_notebook"); gtk_frame_set_label_widget(GTK_FRAME(fs_frame_preset), fs_radio_preset); g_signal_connect(G_OBJECT(fs_radio_preset), "toggled", G_CALLBACK(fs_radio_preset_toggled), NULL); fs_check_rm_number = gtk_check_button_new_with_label(_("Remove leading number")); gtk_widget_set_name(fs_check_rm_number, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(fs_frame_preset_vbox), fs_check_rm_number, FALSE, FALSE, 0); if (fs_rm_number) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fs_check_rm_number), TRUE); } fs_check_rm_ext = gtk_check_button_new_with_label(_("Remove file extension")); gtk_widget_set_name(fs_check_rm_ext, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(fs_frame_preset_vbox), fs_check_rm_ext, FALSE, FALSE, 0); if (fs_rm_ext) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fs_check_rm_ext), TRUE); } fs_check_underscore = gtk_check_button_new_with_label(_("Convert underscore to space")); gtk_widget_set_name(fs_check_underscore, "check_on_notebook"); gtk_box_pack_start(GTK_BOX(fs_frame_preset_vbox), fs_check_underscore, FALSE, FALSE, 0); if (fs_underscore) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fs_check_underscore), TRUE); } fs_frame_regexp = gtk_frame_new(NULL); gtk_box_pack_start(GTK_BOX(fs_vbox), fs_frame_regexp, FALSE, FALSE, 5); fs_frame_regexp_vbox = gtk_vbox_new(FALSE, 0); gtk_container_set_border_width(GTK_CONTAINER(fs_frame_regexp_vbox), 5); gtk_container_add(GTK_CONTAINER(fs_frame_regexp), fs_frame_regexp_vbox); fs_radio_regexp = gtk_radio_button_new_with_label_from_widget( GTK_RADIO_BUTTON(fs_radio_preset), _("Regular expression")); gtk_widget_set_name(fs_radio_regexp, "check_on_notebook"); gtk_frame_set_label_widget(GTK_FRAME(fs_frame_regexp), fs_radio_regexp); table = gtk_table_new(2, 2, FALSE); gtk_box_pack_start(GTK_BOX(fs_frame_regexp_vbox), table, FALSE, FALSE, 5); hbox = gtk_hbox_new(FALSE, 0); fs_label_regexp = gtk_label_new(_("Regexp:")); gtk_box_pack_start(GTK_BOX(hbox), fs_label_regexp, FALSE, FALSE, 5); gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 5); fs_entry_regexp1 = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), fs_entry_regexp1, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 5, 5); hbox = gtk_hbox_new(FALSE, 0); fs_label_repl = gtk_label_new(_("Replace:")); gtk_box_pack_start(GTK_BOX(hbox), fs_label_repl, FALSE, FALSE, 5); gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 5); fs_entry_regexp2 = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), fs_entry_regexp2, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, GTK_FILL, 5, 5); hbox = gtk_hbox_new(FALSE, 0); fs_label_error = gtk_label_new(""); gtk_widget_modify_fg(fs_label_error, GTK_STATE_NORMAL, &red); gtk_box_pack_start(GTK_BOX(hbox), fs_label_error, FALSE, FALSE, 5); gtk_box_pack_start(GTK_BOX(fs_frame_regexp_vbox), hbox, FALSE, FALSE, 0); if (fs_preset) { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fs_radio_regexp), TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fs_radio_preset), TRUE); } else { gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fs_radio_preset), TRUE); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(fs_radio_regexp), TRUE); } fs_frame_sandbox = gtk_frame_new(_("Sandbox")); gtk_box_pack_start(GTK_BOX(fs_vbox), fs_frame_sandbox, FALSE, FALSE, 5); table = gtk_table_new(2, 2, FALSE); gtk_container_set_border_width(GTK_CONTAINER(table), 5); gtk_container_add(GTK_CONTAINER(fs_frame_sandbox), table); hbox = gtk_hbox_new(FALSE, 0); fs_label_input = gtk_label_new(_("Filename:")); gtk_box_pack_start(GTK_BOX(hbox), fs_label_input, FALSE, FALSE, 5); gtk_table_attach(GTK_TABLE(table), hbox, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 5); fs_entry_input = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), fs_entry_input, 1, 2, 0, 1, GTK_FILL | GTK_EXPAND, GTK_FILL, 5, 5); fs_button_test = gtk_button_new_with_label(_("Test")); gtk_table_attach(GTK_TABLE(table), fs_button_test, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 5); g_signal_connect(G_OBJECT(fs_button_test), "clicked", G_CALLBACK(test_button_clicked), (gpointer *)fs_entry_input); fs_entry_output = gtk_entry_new(); gtk_table_attach(GTK_TABLE(table), fs_entry_output, 1, 2, 1, 2, GTK_FILL | GTK_EXPAND, GTK_FILL, 5, 5); /* run dialog */ gtk_widget_show_all(dialog); gtk_widget_hide(fs_label_error); gtk_widget_grab_focus(root_entry); display: root[0] = '\0'; if (aqualung_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { char * proot = g_locale_from_utf8(gtk_entry_get_text(GTK_ENTRY(root_entry)), -1, NULL, NULL, NULL); if (proot == NULL) { gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 0); gtk_widget_grab_focus(root_entry); goto display; } if (proot[0] == '~') { snprintf(root, MAXLEN-1, "%s%s", options.home, proot + 1); } else if (proot[0] == '/') { strncpy(root, proot, MAXLEN-1); } else if (proot[0] != '\0') { snprintf(root, MAXLEN-1, "%s/%s", options.cwd, proot); } g_free(proot); switch (gtk_combo_box_get_active(GTK_COMBO_BOX(gen_artist_combo))) { case 0: artist_sort_by = ARTIST_SORT_NAME; break; case 1: artist_sort_by = ARTIST_SORT_NAME_LOW; break; case 2: artist_sort_by = ARTIST_SORT_DIR; break; case 3: artist_sort_by = ARTIST_SORT_DIR_LOW; break; } switch (gtk_combo_box_get_active(GTK_COMBO_BOX(gen_record_combo))) { case 0: record_sort_by = RECORD_SORT_YEAR; break; case 1: record_sort_by = RECORD_SORT_NAME; break; case 2: record_sort_by = RECORD_SORT_NAME_LOW; break; case 3: record_sort_by = RECORD_SORT_DIR; break; case 4: record_sort_by = RECORD_SORT_DIR_LOW; break; } excl_enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gen_check_excl)); if (excl_enabled) { excl_patternv = g_strsplit(gtk_entry_get_text(GTK_ENTRY(gen_entry_excl)), ",", 0); } incl_enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gen_check_incl)); if (incl_enabled) { incl_patternv = g_strsplit(gtk_entry_get_text(GTK_ENTRY(gen_entry_incl)), ",", 0); } cap_enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gen_check_cap)); switch (gtk_combo_box_get_active(GTK_COMBO_BOX(gen_combo_cap))) { case 0: cap_mode = CAP_ALL_WORDS; break; case 1: cap_mode = CAP_FIRST_WORD; break; } cap_pre_enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gen_check_cap_pre)); if (cap_pre_enabled) { cap_pre_stringv = g_strsplit(gtk_entry_get_text(GTK_ENTRY(gen_entry_cap_pre)), ",", 0); } cap_low_enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gen_check_cap_low)); rm_spaces_enabled = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gen_check_rm_spaces)); add_year_to_comment = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gen_check_add_year)); reset_existing_data = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(gen_check_reset_data)); meta_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(meta_check_enable)); meta_wspace = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(meta_check_wspace)); meta_title = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(meta_check_title)); meta_artist = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(meta_check_artist)); meta_record = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(meta_check_record)); meta_rva = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(meta_check_rva)); meta_comment = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(meta_check_comment));#ifdef HAVE_CDDB switch (gtk_combo_box_get_active(GTK_COMBO_BOX(gen_pri_combo))) { case 0: pri_meta_first = 1; break; case 1: pri_meta_first = 0; break; } cddb_enable = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cddb_check_enable)); cddb_title = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cddb_check_title)); cddb_artist = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cddb_check_artist)); cddb_record = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(cddb_check_record));#endif /* HAVE_CDDB */ fs_preset = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fs_radio_preset)); fs_rm_number = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fs_check_rm_number)); fs_rm_ext = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fs_check_rm_ext)); fs_underscore = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fs_check_underscore)); strncpy(fs_regexp, gtk_entry_get_text(GTK_ENTRY(fs_entry_regexp1)), MAXLEN-1); strncpy(fs_replacement, gtk_entry_get_text(GTK_ENTRY(fs_entry_regexp2)), MAXLEN-1); gtk_widget_hide(fs_label_error); if (root[0] == '\0') { gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), 0); gtk_widget_grab_focus(root_entry); goto display; } if (!fs_preset) { int err;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -