[easytag/wip/future-gtk] Convert EtPreferencesDialog to a template widget
- From: David King <davidk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [easytag/wip/future-gtk] Convert EtPreferencesDialog to a template widget
- Date: Wed, 13 May 2015 14:02:15 +0000 (UTC)
commit 2ecd46bb7bde4a1f4d6a2f8405c7e41bcd9859cd
Author: David King <amigadave amigadave com>
Date: Wed May 13 20:00:20 2015 +0700
Convert EtPreferencesDialog to a template widget
data/preferences_dialog.ui | 2851 ++++++++++++++++++++++----------------------
src/preferences_dialog.c | 1098 +++++++++--------
2 files changed, 2017 insertions(+), 1932 deletions(-)
---
diff --git a/data/preferences_dialog.ui b/data/preferences_dialog.ui
index 193a8f2..941a40a 100644
--- a/data/preferences_dialog.ui
+++ b/data/preferences_dialog.ui
@@ -1,5 +1,5 @@
<interface domain="easytag">
- <requires lib="gtk+" version="3.4"/>
+ <requires lib="gtk+" version="3.10"/>
<object class="GtkAdjustment" id="cddb_automatic_host1_adjustment">
<property name="lower">0.0</property>
<property name="step-increment">1.0</property>
@@ -30,1494 +30,1509 @@
<property name="step-increment">1.0</property>
<property name="upper">6.0</property>
</object>
- <object class="GtkNotebook" id="preferences_notebook">
- <property name="enable-popup">True</property>
- <property name="scrollable">True</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkGrid" id="ui_grid">
- <property name="border-width">12</property>
- <property name="orientation">vertical</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="browser_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Browser</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkBox" id="default_path_box">
- <property name="margin-left">12</property>
- <property name="spacing">12</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="default_path_label">
- <property name="label" translatable="yes">Default Directory:</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkFileChooserButton" id="default_path_button">
- <property name="action">select-folder</property>
- <property name="tooltip-text" translatable="yes">The default path to search
for music files</property>
- <property name="width-chars">30</property>
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="browser_startup_check">
- <property name="label" translatable="yes">Load on startup the default directory or
the directory passed as argument</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to load the default path
(or the path passed as an argument) on application startup</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="browser_subdirs_check">
- <property name="label" translatable="yes">Browse subdirectories</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to search subdirectories
for audio files when reading a directory in the browser</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="browser_expand_subdirs_check">
- <property name="label" translatable="yes">Expand the subdirectories of the selected
directory</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to expand the
subdirectories of a node in the directory browser when selecting it</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="browser_hidden_check">
- <property name="label" translatable="yes">Search hidden directories</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to show hidden directories
when showing a directory in the browser</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="browser_case_check">
- <property name="label" translatable="yes">Sort files case-sensitively</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether file sorting is
case-sensitive</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="log_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Log</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="log_show_check">
- <property name="label" translatable="yes">Show the log</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to show the log in the main
window</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="general_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">General</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="header_show_check">
- <property name="label" translatable="yes">Show audio file header summary</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to show header information,
such as bit rate and duration, for audio files</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkBox" id="general_list_box">
- <property name="margin-left">12</property>
- <property name="spacing">12</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="list_label">
- <property name="label" translatable="yes">Display changed files in list
using:</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="list_red_radio">
- <property name="label" translatable="yes">Red color</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="list_bold_radio">
- <property name="group">list_red_radio</property>
- <property name="label" translatable="yes">Bold style</property>
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="tab">
- <object class="GtkLabel" id="interface_tab_label">
- <property name="label" translatable="yes">Interface</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="file_grid">
- <property name="border-width">12</property>
- <property name="orientation">vertical</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="file_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">File Settings</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="file_preserve_check">
- <property name="label" translatable="yes">Preserve modification time when writing
files</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to preserve the existing
modification time when editing files</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="file_parent_check">
- <property name="label" translatable="yes">Update parent directory modification time
when writing files</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to update the modification
time on the parent directory when editing files</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="file_name_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes" comments="Translators: a section header in
the Files tab of the preferences dialog.">Filenames</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="file_name_replace_check">
- <property name="label" translatable="yes">Replace illegal characters when
renaming</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Convert characters which cannot be
represented in filenames on the FAT32/16 and Joliet filesystems (‘\’, ‘:’, ‘;’, ‘*’, ‘?’, ‘"’, ‘<’,
‘>’, ‘|’)</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkBox" id="file_name_convert_box">
- <property name="margin-left">12</property>
- <property name="spacing">12</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="name_convert_label">
- <property name="label" translatable="yes">Convert filename extension
to:</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="name_lower_radio">
- <property name="label" translatable="yes">Lower Case</property>
- <property name="name">lower-case</property>
- <property name="tooltip-text" translatable="yes">For example, the extension
will be converted to ‘.mp3’</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="name_upper_radio">
- <property name="group">name_lower_radio</property>
- <property name="label" translatable="yes">Upper Case</property>
- <property name="name">upper-case</property>
- <property name="tooltip-text" translatable="yes">For example, the extension
will be converted to ‘.MP3’</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="name_no_change_radio">
- <property name="group">name_lower_radio</property>
- <property name="label" translatable="yes">No Change</property>
- <property name="name">no-change</property>
- <property name="tooltip-text" translatable="yes">The extension will not be
modified</property>
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="file_encoding_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Filename Encoding</property>
- <property name="margin-left">12</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="file_encoding_try_alternative_radio">
- <property name="label" translatable="yes">Try another character encoding</property>
- <property name="margin-left">24</property>
- <property name="name">try-alternative</property>
- <property name="tooltip-text" translatable="yes">Try to use the encoding associated
with your locale and if this fails, try the ISO-8859-1 character encoding</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="file_encoding_transliterate_radio">
- <property name="group">file_encoding_try_alternative_radio</property>
- <property name="label" translatable="yes">Transliterate characters into the system
character encoding</property>
- <property name="margin-left">24</property>
- <property name="name">transliterate</property>
- <property name="tooltip-text" translatable="yes">Replace unsupported characters with
a similar character from the target character encoding</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="file_encoding_ignore_radio">
- <property name="group">file_encoding_try_alternative_radio</property>
- <property name="label" translatable="yes">Use the system character encoding and
silently discard unsupported characters</property>
- <property name="margin-left">24</property>
- <property name="name">ignore</property>
- <property name="tooltip-text" translatable="yes">Discard characters which cannot be
represented in the target character encoding</property>
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child type="tab">
- <object class="GtkLabel" id="files_tab_label">
- <property name="label" translatable="yes">Files</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="tags_grid">
- <property name="border-width">12</property>
- <property name="orientation">vertical</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="tags_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">General</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="tags_auto_date_check">
- <property name="label" translatable="yes">Automatically complete date
field</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to automatically complete
the date tag</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="tags_auto_image_type_check">
- <property name="label" translatable="yes">Automatically select the type of the image
based on its filename</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to, when adding cover art,
automatically select a type for an image based on its filename</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="tags_preserve_focus_check">
- <property name="label" translatable="yes">Preserve the tag field focus</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to preserve focus on the
current tag field when switching file</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="tags_padding_grid">
- <property name="column-spacing">12</property>
- <property name="margin-left">12</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkCheckButton" id="tags_disc_check">
- <property name="label" translatable="yes">Pad the number of digits in the
disc field to:</property>
- <property name="tooltip-text" translatable="yes">Whether the disc number tag
field should be padded with leading zeroes</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkSpinButton" id="tags_disc_button">
- <property name="adjustment">tags_disc_adjustment</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="tags_track_check">
- <property name="label" translatable="yes">Pad the number of digits in the
track field to:</property>
- <property name="tooltip-text" translatable="yes">Whether the track number
tag field should be padded with leading zeroes</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkSpinButton" id="tags_track_button">
- <property name="adjustment">tags_track_adjustment</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="tags_splitting_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Splitting</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="tags_splitting_description_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">For Vorbis tags, selected fields will be
split at dashes and saved as separate tags</property>
- <property name="margin-left">12</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="tags_splitting_grid">
- <property name="column-spacing">18</property>
- <property name="margin-left">12</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkCheckButton" id="split_title_check">
- <property name="label" translatable="yes">Title</property>
- <property name="tooltip-text" translatable="yes">Whether to split title
fields at a “ - ” separator in Ogg comments</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="split_artist_check">
- <property name="label" translatable="yes">Artist</property>
- <property name="tooltip-text" translatable="yes">Whether to split artist
fields at a “ - ” separator in Ogg comments</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="split_album_check">
- <property name="label" translatable="yes">Album</property>
- <property name="tooltip-text" translatable="yes">Whether to split album
fields at a “ - ” separator in Ogg comments</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="split_genre_check">
- <property name="label" translatable="yes">Genre</property>
- <property name="tooltip-text" translatable="yes">Whether to split genre
fields at a “ - ” separator in Ogg comments</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="split_comment_check">
- <property name="label" translatable="yes">Comment</property>
- <property name="tooltip-text" translatable="yes">Whether to split comment
fields at a “ - ” separator in Ogg comments</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="split_composer_check">
- <property name="label" translatable="yes">Composer</property>
- <property name="tooltip-text" translatable="yes">Whether to split composer
fields at a “ - ” separator in Ogg comments</property>
+ <template class="EtPreferencesDialog" parent="GtkDialog">
+ <property name="border-width">6</property>
+ <property name="destroy-with-parent">True</property>
+ <property name="title" translatable="yes">Preferences</property>
+ <signal name="delete-event" handler="gtk_widget_hide_on_delete"/>
+ <signal name="response" handler="et_preferences_on_response"/>
+ <child internal-child="vbox">
+ <object class="GtkBox" id="preferences_vbox">
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkNotebook" id="preferences_notebook">
+ <property name="enable-popup">True</property>
+ <property name="scrollable">True</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkGrid" id="ui_grid">
+ <property name="border-width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">6</property>
<property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="split_orig_artist_check">
- <property name="label" translatable="yes">Original artist</property>
- <property name="tooltip-text" translatable="yes">Whether to split original
artist fields at a “ - ” separator in Ogg comments</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="tab">
- <object class="GtkLabel" id="tags_tab_label">
- <property name="label" translatable="yes">Tags</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="id3_tags_grid">
- <property name="border-width">12</property>
- <property name="orientation">vertical</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="id3_tags_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">General</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="id3_strip_check">
- <property name="label" translatable="yes">Strip ID3 tags if all ID3 tags are
empty</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to remove the ID3 tag from
the audio file if all the individual tag fields are empty</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkBox" id="id3_read_encoding_box">
- <property name="margin-left">12</property>
- <property name="spacing">12</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkCheckButton" id="id3_read_encoding_check">
- <property name="label" translatable="yes">Non-standard encoding for reading
ID3 tags:</property>
- <property name="tooltip-text" translatable="yes">Whether to use a
non-standard character encoding when reading ID3 tags</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkComboBoxText" id="id3_read_encoding_combo">
- <property name="tooltip-text" translatable="yes">Choose the character set to
be used when reading ID3v1 and ID3v2 tags</property>
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="id3_v2_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">ID3v2</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="id3_v2_encoding_grid">
- <property name="column-spacing">12</property>
- <property name="margin-left">12</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkCheckButton" id="id3_v2_check">
- <property name="label" translatable="yes">Write ID3v2 tag</property>
- <property name="tooltip-text" translatable="yes">Whether to write ID3v2 tags
when writing ID3 tags into audio files</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="id3_v2_version_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Version:</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to write ID3v2 tags
when writing ID3 tags into audio files</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBoxText" id="id3_v2_version_combo">
- <items>
- <item id="id3v2.3">ID3v2.3</item>
- <item id="id3v2.4">ID3v2.4</item>
- </items>
- <property name="tooltip-text" translatable="yes">Select the ID3v2 tag
version to write:
- • ID3v2.3 is written using id3lib,
- • ID3v2.4 is written using libid3tag (recommended)</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="id3_v2_encoding_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Character encoding:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="id3_v2_unicode_radio">
- <property name="label" translatable="yes">Unicode</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBoxText" id="id3_v2_unicode_encoding_combo">
- <items>
- <item id="utf-8">UTF-8</item>
- <item id="utf-16">UTF-16</item>
- </items>
- <property name="tooltip-text" translatable="yes">Choose the Unicode
character encoding to be used when writing ID3v2 tags</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkRadioButton" id="id3_v2_other_radio">
- <property name="group">id3_v2_unicode_radio</property>
- <property name="label" translatable="yes">Other</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBoxText" id="id3_v2_override_encoding_combo">
- <property name="tooltip-text" translatable="yes">Override the standard
Unicode character encoding to be used when writing ID3v2 tags</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="id3_v2_iconv_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">When encoding conversion
fails:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">3</property>
- <property name="width">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="id3_v2_iconv_box">
- <property name="spacing">12</property>
<child>
- <object class="GtkRadioButton" id="id3_v2_none_radio">
- <property name="label" translatable="yes">Report error</property>
- <property name="name">none</property>
- <property name="tooltip-text" translatable="yes">Display an error
message when a character cannot be represented in the target character encoding and keep the original
character</property>
+ <object class="GtkLabel" id="browser_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Browser</property>
<property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
</object>
</child>
<child>
- <object class="GtkRadioButton" id="id3_v2_transliterate_radio">
- <property name="group">id3_v1_none_radio</property>
- <property name="label" translatable="yes">Transliterate</property>
- <property name="name">transliterate</property>
- <property name="tooltip-text" translatable="yes">Replace unsupported
characters with a similar character from the target character encoding</property>
+ <object class="GtkBox" id="default_path_box">
+ <property name="margin-left">12</property>
+ <property name="spacing">12</property>
<property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="default_path_label">
+ <property name="label" translatable="yes">Default
Directory:</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkFileChooserButton" id="default_path_button">
+ <property name="action">select-folder</property>
+ <property name="tooltip-text" translatable="yes">The default
path to search for music files</property>
+ <property name="width-chars">30</property>
+ <property name="visible">True</property>
+ <signal name="file-set"
handler="et_prefs_current_folder_changed" swapped="yes"/>
+ </object>
+ </child>
</object>
</child>
<child>
- <object class="GtkRadioButton" id="id3_v2_ignore_radio">
- <property name="group">id3_v1_none_radio</property>
- <property name="label" translatable="yes">Discard</property>
- <property name="name">ignore</property>
- <property name="tooltip-text" translatable="yes">Discard characters
which cannot be represented in the target character encoding</property>
+ <object class="GtkCheckButton" id="browser_startup_check">
+ <property name="label" translatable="yes">Load on startup the
default directory or the directory passed as argument</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to load the
default path (or the path passed as an argument) on application startup</property>
<property name="visible">True</property>
</object>
</child>
+ <child>
+ <object class="GtkCheckButton" id="browser_subdirs_check">
+ <property name="label" translatable="yes">Browse
subdirectories</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to search
subdirectories for audio files when reading a directory in the browser</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="browser_expand_subdirs_check">
+ <property name="label" translatable="yes">Expand the subdirectories
of the selected directory</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to expand
the subdirectories of a node in the directory browser when selecting it</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="browser_hidden_check">
+ <property name="label" translatable="yes">Search hidden
directories</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to show
hidden directories when showing a directory in the browser</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="browser_case_check">
+ <property name="label" translatable="yes">Sort files
case-sensitively</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether file
sorting is case-sensitive</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="log_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Log</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="log_show_check">
+ <property name="label" translatable="yes">Show the log</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to show the
log in the main window</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="general_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">General</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="header_show_check">
+ <property name="label" translatable="yes">Show audio file header
summary</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to show
header information, such as bit rate and duration, for audio files</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="general_list_box">
+ <property name="margin-left">12</property>
+ <property name="spacing">12</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="list_label">
+ <property name="label" translatable="yes">Display changed
files in list using:</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="list_red_radio">
+ <property name="label" translatable="yes">Red
color</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="list_bold_radio">
+ <property name="group">list_red_radio</property>
+ <property name="label" translatable="yes">Bold
style</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">3</property>
- <property name="width">2</property>
- </packing>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="id3_v2_check_grid">
- <property name="column-spacing">12</property>
- <property name="margin-left">12</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkCheckButton" id="id3_v2_convert_check">
- <property name="label" translatable="yes">Automatically convert old ID3v2
tag versions</property>
- <property name="tooltip-text" translatable="yes">Whether to convert ID3 tags
written against old version of the specification, such as ID3v2.2, to newer ones, such as ID3v2.3 or
ID3v2.4</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="id3_v2_crc32_check">
- <property name="label" translatable="yes">Use CRC-32</property>
- <property name="tooltip-text" translatable="yes">Whether to embed a CRC-32
checksum of the audio file data in ID3v2 tags</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="id3_v2_compression_check">
- <property name="label" translatable="yes">Compress data in ID3v2
tags</property>
- <property name="tooltip-text" translatable="yes">Whether to compress data in
ID3v2 tags</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkCheckButton" id="id3_v2_genre_check">
- <property name="label" translatable="yes">Use text-only genre in ID3v2
tags</property>
- <property name="tooltip-text" translatable="yes">Whether to use only a
string, and not the integer-base ID3v1 genre field, when writing a genre field to ID3v2 tags</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="id3_v1_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">ID3v1</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="id3_v1_check">
- <property name="label" translatable="yes">Write ID3v1 tag</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to write ID3v1 tags when
writing ID3 tags into audio files</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="id3_v1_encoding_grid">
- <property name="column-spacing">12</property>
- <property name="margin-left">12</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="id3_v1_encoding_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Character encoding:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">0</property>
- </packing>
</child>
- <child>
- <object class="GtkComboBoxText" id="id3_v1_encoding_combo">
- <property name="tooltip-text" translatable="yes">Choose the character set to
be used when writing ID3v1 tag</property>
- <property name="visible">True</property>
+ <child type="tab">
+ <object class="GtkLabel" id="interface_tab_label">
+ <property name="label" translatable="yes">Interface</property>
</object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
</child>
<child>
- <object class="GtkLabel" id="id3_v1_iconv_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">When encoding conversion
fails:</property>
+ <object class="GtkGrid" id="file_grid">
+ <property name="border-width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">6</property>
<property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkBox" id="id3_v1_iconv_box">
- <property name="spacing">12</property>
<child>
- <object class="GtkRadioButton" id="id3_v1_none_radio">
- <property name="label" translatable="yes">Report error</property>
- <property name="name">none</property>
- <property name="tooltip-text" translatable="yes">Display an error
message when a character cannot be represented in the target character encoding and keep the original
character</property>
+ <object class="GtkLabel" id="file_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">File Settings</property>
<property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
</object>
</child>
<child>
- <object class="GtkRadioButton" id="id3_v1_transliterate_radio">
- <property name="group">id3_v1_none_radio</property>
- <property name="label" translatable="yes">Transliterate</property>
+ <object class="GtkCheckButton" id="file_preserve_check">
+ <property name="label" translatable="yes">Preserve modification time
when writing files</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to preserve
the existing modification time when editing files</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="file_parent_check">
+ <property name="label" translatable="yes">Update parent directory
modification time when writing files</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to update
the modification time on the parent directory when editing files</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="file_name_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes" comments="Translators: a
section header in the Files tab of the preferences dialog.">Filenames</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="file_name_replace_check">
+ <property name="label" translatable="yes">Replace illegal characters
when renaming</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Convert characters
which cannot be represented in filenames on the FAT32/16 and Joliet filesystems (‘\’, ‘:’, ‘;’, ‘*’, ‘?’,
‘"’, ‘<’, ‘>’, ‘|’)</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="file_name_convert_box">
+ <property name="margin-left">12</property>
+ <property name="spacing">12</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="name_convert_label">
+ <property name="label" translatable="yes">Convert filename
extension to:</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="name_lower_radio">
+ <property name="label" translatable="yes">Lower
Case</property>
+ <property name="name">lower-case</property>
+ <property name="tooltip-text" translatable="yes">For
example, the extension will be converted to ‘.mp3’</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="name_upper_radio">
+ <property name="group">name_lower_radio</property>
+ <property name="label" translatable="yes">Upper
Case</property>
+ <property name="name">upper-case</property>
+ <property name="tooltip-text" translatable="yes">For
example, the extension will be converted to ‘.MP3’</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="name_no_change_radio">
+ <property name="group">name_lower_radio</property>
+ <property name="label" translatable="yes">No
Change</property>
+ <property name="name">no-change</property>
+ <property name="tooltip-text" translatable="yes">The
extension will not be modified</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="file_encoding_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Filename
Encoding</property>
+ <property name="margin-left">12</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="file_encoding_try_alternative_radio">
+ <property name="label" translatable="yes">Try another character
encoding</property>
+ <property name="margin-left">24</property>
+ <property name="name">try-alternative</property>
+ <property name="tooltip-text" translatable="yes">Try to use the
encoding associated with your locale and if this fails, try the ISO-8859-1 character encoding</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="file_encoding_transliterate_radio">
+ <property name="group">file_encoding_try_alternative_radio</property>
+ <property name="label" translatable="yes">Transliterate characters
into the system character encoding</property>
+ <property name="margin-left">24</property>
<property name="name">transliterate</property>
<property name="tooltip-text" translatable="yes">Replace unsupported
characters with a similar character from the target character encoding</property>
<property name="visible">True</property>
</object>
</child>
<child>
- <object class="GtkRadioButton" id="id3_v1_ignore_radio">
- <property name="group">id3_v1_none_radio</property>
- <property name="label" translatable="yes">Discard</property>
+ <object class="GtkRadioButton" id="file_encoding_ignore_radio">
+ <property name="group">file_encoding_try_alternative_radio</property>
+ <property name="label" translatable="yes">Use the system character
encoding and silently discard unsupported characters</property>
+ <property name="margin-left">24</property>
<property name="name">ignore</property>
<property name="tooltip-text" translatable="yes">Discard characters
which cannot be represented in the target character encoding</property>
<property name="visible">True</property>
</object>
</child>
</object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- <property name="width">2</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- </child>
- <child type="tab">
- <object class="GtkLabel" id="id3_tags_tab_label">
- <property name="label" translatable="yes">ID3 Tags</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="scanner_grid">
- <property name="border-width">12</property>
- <property name="orientation">vertical</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="character_conversion_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Character Conversion</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="fill_tag_scanner_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes" comments="Translators: a section header in
the Scanner section of the preferences dialog.">Fill Tag Scanner</property>
- <property name="margin-left">12</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="fts_underscore_p20_radio">
- <property name="label" translatable="yes">Convert underscores and ‘%20’ to
spaces</property>
- <property name="margin-left">24</property>
- <property name="name">spaces</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="fts_spaces_radio">
- <property name="group">fts_underscore_p20_radio</property>
- <property name="label" translatable="yes">Convert spaces and ‘%20’ to
underscores</property>
- <property name="margin-left">24</property>
- <property name="name">underscores</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="fts_none_radio">
- <property name="group">fts_underscore_p20_radio</property>
- <property name="label" translatable="yes">No conversion</property>
- <property name="margin-left">24</property>
- <property name="name">no-change</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="rename_file_directory_scanner_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes" comments="Translators: a section header in
the Scanner section of the preferences dialog.">Rename File and Directory Scanner</property>
- <property name="margin-left">12</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="rfs_underscore_p20_radio">
- <property name="label" translatable="yes">Convert underscores and ‘%20’ to
spaces</property>
- <property name="margin-left">24</property>
- <property name="name">spaces</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="rfs_spaces_radio">
- <property name="group">rfs_underscore_p20_radio</property>
- <property name="label" translatable="yes">Convert spaces and ‘%20’ to
underscores</property>
- <property name="margin-left">24</property>
- <property name="name">underscores</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkRadioButton" id="rfs_remove_radio">
- <property name="group">rfs_underscore_p20_radio</property>
- <property name="label" translatable="yes">No conversion</property>
- <property name="margin-left">24</property>
- <property name="name">remove</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="process_fields_scanner_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes" comments="Translators: a section header in
the Scanner section of the preferences dialog.">Process Fields Scanner</property>
- <property name="margin-left">12</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="pfs_uppercase_prep_check">
- <property name="label" translatable="yes">Upper-case the first letters of all
words</property>
- <property name="margin-left">24</property>
- <property name="tooltip-text" translatable="yes">Whether to upper-case the first
letter of all words, including prepositions and other short words such as “feat.”, when processing tag
fields</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="fields_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Fields</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="overwrite_fields_check">
- <property name="label" translatable="yes">Overwrite fields when scanning
tags</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to overwrite the tag field
values when filling tags. Otherwise, only blank tag fields will be filled</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkBox" id="default_comment_box">
- <property name="margin-left">12</property>
- <property name="spacing">12</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkCheckButton" id="default_comment_check">
- <property name="label" translatable="yes">Set this text as default
comment:</property>
- <property name="tooltip-text" translatable="yes">Whether to set the comment
tag field to the provided default value when filling tags</property>
- <property name="visible">True</property>
- </object>
</child>
- <child>
- <object class="GtkEntry" id="default_comment_entry">
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="crc32_default_check">
- <property name="label" translatable="yes">Use CRC-32 as the default comment (for
files with ID3 tags only)</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to use the CRC-32 of the
audio file data as the default comment, for files with ID3 tags only</property>
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child type="tab">
- <object class="GtkLabel" id="scanner_tab_label">
- <property name="label" translatable="yes">Scanner</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="cddb_grid">
- <property name="border-width">12</property>
- <property name="orientation">vertical</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkGrid" id="cddb_search_grid">
- <property name="column-spacing">12</property>
- <property name="orientation">vertical</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="automatic_search_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Automatic Search Servers</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- <packing>
- <property name="width">6</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cddb_automatic_host1_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Host:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBoxText" id="cddb_automatic_host1_combo">
- <property name="has-entry">True</property>
- <property name="visible">True</property>
- <items>
- <item id="host_a">freedb.freedb.org</item>
- <item id="host_b">www.gnudb.org</item>
- <item id="host_c">at.freedb.org</item>
- <item id="host_d">au.freedb.org</item>
- <item id="host_e">ca.freedb.org</item>
- <item id="host_f">es.freedb.org</item>
- <item id="host_g">fi.freedb.org</item>
- <item id="host_h">ru.freedb.org</item>
- <item id="host_i">uk.freedb.org</item>
- <item id="host_j">us.freedb.org</item>
- </items>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cddb_automatic_port1_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Port:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkSpinButton" id="cddb_automatic_port1_button">
- <property name="adjustment">cddb_automatic_host1_adjustment</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cddb_automatic_path1_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">CGI Path:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="cddb_automatic_path1_entry">
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cddb_automatic_host2_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Host:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBoxText" id="cddb_automatic_host2_combo">
- <property name="has-entry">True</property>
- <property name="visible">True</property>
- <items>
- <item id="host_musicbrainz">freedb.musicbrainz.org</item>
- </items>
+ <child type="tab">
+ <object class="GtkLabel" id="files_tab_label">
+ <property name="label" translatable="yes">Files</property>
</object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">2</property>
- </packing>
</child>
<child>
- <object class="GtkLabel" id="cddb_automatic_port2_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Port:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkSpinButton" id="cddb_automatic_port2_button">
- <property name="adjustment">cddb_automatic_host2_adjustment</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cddb_automatic_path2_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">CGI Path:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkEntry" id="cddb_automatic_path2_entry">
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="manual_search_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Manual Search Server</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- <packing>
- <property name="width">6</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cddb_manual_host_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Host:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkComboBoxText" id="cddb_manual_host_combo">
- <property name="has-entry">True</property>
- <property name="visible">True</property>
- <items>
- <item id="host_freedb">www.freedb.org</item>
- <item id="host_gnudb">www.gnudb.org</item>
- </items>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cddb_manual_port_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Port:</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkSpinButton" id="cddb_manual_port_button">
- <property name="adjustment">cddb_manual_host_adjustment</property>
- <property name="visible">True</property>
- </object>
- <packing>
- <property name="left_attach">3</property>
- <property name="top_attach">4</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel" id="cddb_manual_path_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">CGI Path:</property>
+ <object class="GtkGrid" id="tags_grid">
+ <property name="border-width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">6</property>
<property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="tags_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">General</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="tags_auto_date_check">
+ <property name="label" translatable="yes">Automatically complete
date field</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to
automatically complete the date tag</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="tags_auto_image_type_check">
+ <property name="label" translatable="yes">Automatically select the
type of the image based on its filename</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to, when
adding cover art, automatically select a type for an image based on its filename</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="tags_preserve_focus_check">
+ <property name="label" translatable="yes">Preserve the tag field
focus</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to preserve
focus on the current tag field when switching file</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid" id="tags_padding_grid">
+ <property name="column-spacing">12</property>
+ <property name="margin-left">12</property>
+ <property name="row-spacing">6</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkCheckButton" id="tags_disc_check">
+ <property name="label" translatable="yes">Pad the number of
digits in the disc field to:</property>
+ <property name="tooltip-text" translatable="yes">Whether the
disc number tag field should be padded with leading zeroes</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="tags_disc_button">
+ <property name="adjustment">tags_disc_adjustment</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="tags_track_check">
+ <property name="label" translatable="yes">Pad the number of
digits in the track field to:</property>
+ <property name="tooltip-text" translatable="yes">Whether the
track number tag field should be padded with leading zeroes</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="tags_track_button">
+ <property name="adjustment">tags_track_adjustment</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="tags_splitting_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Splitting</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="tags_splitting_description_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">For Vorbis tags, selected
fields will be split at dashes and saved as separate tags</property>
+ <property name="margin-left">12</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid" id="tags_splitting_grid">
+ <property name="column-spacing">18</property>
+ <property name="margin-left">12</property>
+ <property name="row-spacing">6</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkCheckButton" id="split_title_check">
+ <property name="label" translatable="yes">Title</property>
+ <property name="tooltip-text" translatable="yes">Whether to
split title fields at a “ - ” separator in Ogg comments</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="split_artist_check">
+ <property name="label" translatable="yes">Artist</property>
+ <property name="tooltip-text" translatable="yes">Whether to
split artist fields at a “ - ” separator in Ogg comments</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="split_album_check">
+ <property name="label" translatable="yes">Album</property>
+ <property name="tooltip-text" translatable="yes">Whether to
split album fields at a “ - ” separator in Ogg comments</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="split_genre_check">
+ <property name="label" translatable="yes">Genre</property>
+ <property name="tooltip-text" translatable="yes">Whether to
split genre fields at a “ - ” separator in Ogg comments</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="split_comment_check">
+ <property name="label" translatable="yes">Comment</property>
+ <property name="tooltip-text" translatable="yes">Whether to
split comment fields at a “ - ” separator in Ogg comments</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="split_composer_check">
+ <property name="label" translatable="yes">Composer</property>
+ <property name="tooltip-text" translatable="yes">Whether to
split composer fields at a “ - ” separator in Ogg comments</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="split_orig_artist_check">
+ <property name="label" translatable="yes">Original
artist</property>
+ <property name="tooltip-text" translatable="yes">Whether to
split original artist fields at a “ - ” separator in Ogg comments</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left_attach">4</property>
- <property name="top_attach">4</property>
- </packing>
</child>
- <child>
- <object class="GtkEntry" id="cddb_manual_path_entry">
- <property name="visible">True</property>
+ <child type="tab">
+ <object class="GtkLabel" id="tags_tab_label">
+ <property name="label" translatable="yes">Tags</property>
</object>
- <packing>
- <property name="left_attach">5</property>
- <property name="top_attach">4</property>
- </packing>
</child>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="cddb_proxy_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Proxy</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="cddb_proxy_check">
- <property name="label" translatable="yes">Use a proxy server</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to access remote CDDB
through a proxy</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="cddb_proxy_grid">
- <property name="column-spacing">12</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
<child>
- <object class="GtkLabel" id="cddb_host_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Host:</property>
+ <object class="GtkGrid" id="id3_tags_grid">
+ <property name="border-width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">6</property>
<property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="id3_tags_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">General</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="id3_strip_check">
+ <property name="label" translatable="yes">Strip ID3 tags if all ID3
tags are empty</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to remove
the ID3 tag from the audio file if all the individual tag fields are empty</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="id3_read_encoding_box">
+ <property name="margin-left">12</property>
+ <property name="spacing">12</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkCheckButton" id="id3_read_encoding_check">
+ <property name="label" translatable="yes">Non-standard
encoding for reading ID3 tags:</property>
+ <property name="tooltip-text" translatable="yes">Whether to
use a non-standard character encoding when reading ID3 tags</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="id3_read_encoding_combo">
+ <property name="tooltip-text" translatable="yes">Choose the
character set to be used when reading ID3v1 and ID3v2 tags</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="id3_v2_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">ID3v2</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid" id="id3_v2_encoding_grid">
+ <property name="column-spacing">12</property>
+ <property name="margin-left">12</property>
+ <property name="row-spacing">6</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkCheckButton" id="id3_v2_check">
+ <property name="label" translatable="yes">Write ID3v2
tag</property>
+ <property name="tooltip-text" translatable="yes">Whether to
write ID3v2 tags when writing ID3 tags into audio files</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="id3_v2_version_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Version:</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to
write ID3v2 tags when writing ID3 tags into audio files</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="id3_v2_version_combo">
+ <items>
+ <item id="id3v2.3">ID3v2.3</item>
+ <item id="id3v2.4">ID3v2.4</item>
+ </items>
+ <property name="tooltip-text" translatable="yes">Select the
ID3v2 tag version to write:
+ • ID3v2.3 is written using id3lib,
+ • ID3v2.4 is written using libid3tag (recommended)</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="id3_v2_encoding_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Character
encoding:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="id3_v2_unicode_radio">
+ <property name="label" translatable="yes">Unicode</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText"
id="id3_v2_unicode_encoding_combo">
+ <items>
+ <item id="utf-8">UTF-8</item>
+ <item id="utf-16">UTF-16</item>
+ </items>
+ <property name="tooltip-text" translatable="yes">Choose the
Unicode character encoding to be used when writing ID3v2 tags</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="id3_v2_other_radio">
+ <property name="group">id3_v2_unicode_radio</property>
+ <property name="label" translatable="yes">Other</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText"
id="id3_v2_override_encoding_combo">
+ <property name="tooltip-text" translatable="yes">Override
the standard Unicode character encoding to be used when writing ID3v2 tags</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="id3_v2_iconv_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">When encoding
conversion fails:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="id3_v2_iconv_box">
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="id3_v2_none_radio">
+ <property name="label" translatable="yes">Report
error</property>
+ <property name="name">none</property>
+ <property name="tooltip-text"
translatable="yes">Display an error message when a character cannot be represented in the target character
encoding and keep the original character</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="id3_v2_transliterate_radio">
+ <property name="group">id3_v1_none_radio</property>
+ <property name="label"
translatable="yes">Transliterate</property>
+ <property name="name">transliterate</property>
+ <property name="tooltip-text"
translatable="yes">Replace unsupported characters with a similar character from the target character
encoding</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="id3_v2_ignore_radio">
+ <property name="group">id3_v1_none_radio</property>
+ <property name="label"
translatable="yes">Discard</property>
+ <property name="name">ignore</property>
+ <property name="tooltip-text"
translatable="yes">Discard characters which cannot be represented in the target character encoding</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid" id="id3_v2_check_grid">
+ <property name="column-spacing">12</property>
+ <property name="margin-left">12</property>
+ <property name="row-spacing">6</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkCheckButton" id="id3_v2_convert_check">
+ <property name="label" translatable="yes">Automatically
convert old ID3v2 tag versions</property>
+ <property name="tooltip-text" translatable="yes">Whether to
convert ID3 tags written against old version of the specification, such as ID3v2.2, to newer ones, such as
ID3v2.3 or ID3v2.4</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="id3_v2_crc32_check">
+ <property name="label" translatable="yes">Use
CRC-32</property>
+ <property name="tooltip-text" translatable="yes">Whether to
embed a CRC-32 checksum of the audio file data in ID3v2 tags</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="id3_v2_compression_check">
+ <property name="label" translatable="yes">Compress data in
ID3v2 tags</property>
+ <property name="tooltip-text" translatable="yes">Whether to
compress data in ID3v2 tags</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="id3_v2_genre_check">
+ <property name="label" translatable="yes">Use text-only
genre in ID3v2 tags</property>
+ <property name="tooltip-text" translatable="yes">Whether to
use only a string, and not the integer-base ID3v1 genre field, when writing a genre field to ID3v2
tags</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="id3_v1_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">ID3v1</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="id3_v1_check">
+ <property name="label" translatable="yes">Write ID3v1 tag</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to write
ID3v1 tags when writing ID3 tags into audio files</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid" id="id3_v1_encoding_grid">
+ <property name="column-spacing">12</property>
+ <property name="margin-left">12</property>
+ <property name="row-spacing">6</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="id3_v1_encoding_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Character
encoding:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="id3_v1_encoding_combo">
+ <property name="tooltip-text" translatable="yes">Choose the
character set to be used when writing ID3v1 tag</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="id3_v1_iconv_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">When encoding
conversion fails:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkBox" id="id3_v1_iconv_box">
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkRadioButton" id="id3_v1_none_radio">
+ <property name="label" translatable="yes">Report
error</property>
+ <property name="name">none</property>
+ <property name="tooltip-text"
translatable="yes">Display an error message when a character cannot be represented in the target character
encoding and keep the original character</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="id3_v1_transliterate_radio">
+ <property name="group">id3_v1_none_radio</property>
+ <property name="label"
translatable="yes">Transliterate</property>
+ <property name="name">transliterate</property>
+ <property name="tooltip-text"
translatable="yes">Replace unsupported characters with a similar character from the target character
encoding</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="id3_v1_ignore_radio">
+ <property name="group">id3_v1_none_radio</property>
+ <property name="label"
translatable="yes">Discard</property>
+ <property name="name">ignore</property>
+ <property name="tooltip-text"
translatable="yes">Discard characters which cannot be represented in the target character encoding</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">0</property>
- </packing>
</child>
- <child>
- <object class="GtkEntry" id="cddb_host_entry">
- <property name="tooltip-text" translatable="yes">Hostname for a proxy to
access remote CDDB</property>
- <property name="visible">True</property>
+ <child type="tab">
+ <object class="GtkLabel" id="id3_tags_tab_label">
+ <property name="label" translatable="yes">ID3 Tags</property>
</object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">0</property>
- </packing>
</child>
<child>
- <object class="GtkLabel" id="cddb_port_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Port:</property>
+ <object class="GtkGrid" id="scanner_grid">
+ <property name="border-width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">6</property>
<property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="character_conversion_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Character
Conversion</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="fill_tag_scanner_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes" comments="Translators: a
section header in the Scanner section of the preferences dialog.">Fill Tag Scanner</property>
+ <property name="margin-left">12</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="fts_underscore_p20_radio">
+ <property name="label" translatable="yes">Convert underscores and
‘%20’ to spaces</property>
+ <property name="margin-left">24</property>
+ <property name="name">spaces</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="fts_spaces_radio">
+ <property name="group">fts_underscore_p20_radio</property>
+ <property name="label" translatable="yes">Convert spaces and ‘%20’
to underscores</property>
+ <property name="margin-left">24</property>
+ <property name="name">underscores</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="fts_none_radio">
+ <property name="group">fts_underscore_p20_radio</property>
+ <property name="label" translatable="yes">No conversion</property>
+ <property name="margin-left">24</property>
+ <property name="name">no-change</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="rename_file_directory_scanner_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes" comments="Translators: a
section header in the Scanner section of the preferences dialog.">Rename File and Directory Scanner</property>
+ <property name="margin-left">12</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="rfs_underscore_p20_radio">
+ <property name="label" translatable="yes">Convert underscores and
‘%20’ to spaces</property>
+ <property name="margin-left">24</property>
+ <property name="name">spaces</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="rfs_spaces_radio">
+ <property name="group">rfs_underscore_p20_radio</property>
+ <property name="label" translatable="yes">Convert spaces and ‘%20’
to underscores</property>
+ <property name="margin-left">24</property>
+ <property name="name">underscores</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="rfs_remove_radio">
+ <property name="group">rfs_underscore_p20_radio</property>
+ <property name="label" translatable="yes">No conversion</property>
+ <property name="margin-left">24</property>
+ <property name="name">remove</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="process_fields_scanner_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes" comments="Translators: a
section header in the Scanner section of the preferences dialog.">Process Fields Scanner</property>
+ <property name="margin-left">12</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="pfs_uppercase_prep_check">
+ <property name="label" translatable="yes">Upper-case the first
letters of all words</property>
+ <property name="margin-left">24</property>
+ <property name="tooltip-text" translatable="yes">Whether to
upper-case the first letter of all words, including prepositions and other short words such as “feat.”, when
processing tag fields</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="fields_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Fields</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="overwrite_fields_check">
+ <property name="label" translatable="yes">Overwrite fields when
scanning tags</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to
overwrite the tag field values when filling tags. Otherwise, only blank tag fields will be filled</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkBox" id="default_comment_box">
+ <property name="margin-left">12</property>
+ <property name="spacing">12</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkCheckButton" id="default_comment_check">
+ <property name="label" translatable="yes">Set this text as
default comment:</property>
+ <property name="tooltip-text" translatable="yes">Whether to
set the comment tag field to the provided default value when filling tags</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkEntry" id="default_comment_entry">
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="crc32_default_check">
+ <property name="label" translatable="yes">Use CRC-32 as the default
comment (for files with ID3 tags only)</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to use the
CRC-32 of the audio file data as the default comment, for files with ID3 tags only</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">0</property>
- </packing>
</child>
- <child>
- <object class="GtkSpinButton" id="cddb_port_button">
- <property name="adjustment">cddb_proxy_adjustment</property>
- <property name="tooltip-text" translatable="yes">Port for a proxy to access
remote CDDB</property>
- <property name="visible">True</property>
+ <child type="tab">
+ <object class="GtkLabel" id="scanner_tab_label">
+ <property name="label" translatable="yes">Scanner</property>
</object>
- <packing>
- <property name="left-attach">3</property>
- <property name="top-attach">0</property>
- </packing>
</child>
<child>
- <object class="GtkLabel" id="cddb_user_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">User:</property>
+ <object class="GtkGrid" id="cddb_grid">
+ <property name="border-width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">6</property>
<property name="visible">True</property>
+ <child>
+ <object class="GtkGrid" id="cddb_search_grid">
+ <property name="column-spacing">12</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">6</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="automatic_search_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Automatic Search
Servers</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="width">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_automatic_host1_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Host:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="cddb_automatic_host1_combo">
+ <property name="has-entry">True</property>
+ <property name="visible">True</property>
+ <items>
+ <item id="host_a">freedb.freedb.org</item>
+ <item id="host_b">www.gnudb.org</item>
+ <item id="host_c">at.freedb.org</item>
+ <item id="host_d">au.freedb.org</item>
+ <item id="host_e">ca.freedb.org</item>
+ <item id="host_f">es.freedb.org</item>
+ <item id="host_g">fi.freedb.org</item>
+ <item id="host_h">ru.freedb.org</item>
+ <item id="host_i">uk.freedb.org</item>
+ <item id="host_j">us.freedb.org</item>
+ </items>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_automatic_port1_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Port:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="cddb_automatic_port1_button">
+ <property
name="adjustment">cddb_automatic_host1_adjustment</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_automatic_path1_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">CGI
Path:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="cddb_automatic_path1_entry">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">5</property>
+ <property name="top_attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_automatic_host2_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Host:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="cddb_automatic_host2_combo">
+ <property name="has-entry">True</property>
+ <property name="visible">True</property>
+ <items>
+ <item id="host_musicbrainz">freedb.musicbrainz.org</item>
+ </items>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_automatic_port2_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Port:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="cddb_automatic_port2_button">
+ <property
name="adjustment">cddb_automatic_host2_adjustment</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_automatic_path2_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">CGI
Path:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="cddb_automatic_path2_entry">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">5</property>
+ <property name="top_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="manual_search_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Manual Search
Server</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="width">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_manual_host_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Host:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBoxText" id="cddb_manual_host_combo">
+ <property name="has-entry">True</property>
+ <property name="visible">True</property>
+ <items>
+ <item id="host_freedb">www.freedb.org</item>
+ <item id="host_gnudb">www.gnudb.org</item>
+ </items>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_manual_port_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Port:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="cddb_manual_port_button">
+ <property
name="adjustment">cddb_manual_host_adjustment</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">3</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_manual_path_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">CGI
Path:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">4</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="cddb_manual_path_entry">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">5</property>
+ <property name="top_attach">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_proxy_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Proxy</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="cddb_proxy_check">
+ <property name="label" translatable="yes">Use a proxy
server</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to access
remote CDDB through a proxy</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkGrid" id="cddb_proxy_grid">
+ <property name="column-spacing">12</property>
+ <property name="row-spacing">6</property>
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="cddb_host_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Host:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="cddb_host_entry">
+ <property name="tooltip-text" translatable="yes">Hostname
for a proxy to access remote CDDB</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_port_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Port:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton" id="cddb_port_button">
+ <property name="adjustment">cddb_proxy_adjustment</property>
+ <property name="tooltip-text" translatable="yes">Port for a
proxy to access remote CDDB</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_user_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">User:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">0</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="cddb_user_entry">
+ <property name="tooltip-text" translatable="yes">Username
for a proxy to access remote CDDB</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">1</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_password_label">
+ <property name="halign">start</property>
+ <property name="label"
translatable="yes">Password:</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">2</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="cddb_password_entry">
+ <property name="tooltip-text" translatable="yes">Password
for a proxy to access remote CDDB</property>
+ <property name="visibility">False</property>
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="left-attach">3</property>
+ <property name="top-attach">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="cddb_list_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Results List</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="cddb_follow_check">
+ <property name="label" translatable="yes">Select corresponding file
(according to position or DLM if activated below)</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to select
the file in the file list which matches the position in the CDDB results list</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="cddb_dlm_check">
+ <property name="label" translatable="yes">Use the Levenshtein
algorithm (DLM) to match results (using title) with audio files (using filename)</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to use the
DLM algorithm to match CDDB results to files</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left-attach">0</property>
- <property name="top-attach">1</property>
- </packing>
</child>
- <child>
- <object class="GtkEntry" id="cddb_user_entry">
- <property name="tooltip-text" translatable="yes">Username for a proxy to
access remote CDDB</property>
- <property name="visible">True</property>
+ <child type="tab">
+ <object class="GtkLabel" id="cddb_tab_label">
+ <property name="label" translatable="yes">CDDB</property>
</object>
- <packing>
- <property name="left-attach">1</property>
- <property name="top-attach">1</property>
- </packing>
</child>
<child>
- <object class="GtkLabel" id="cddb_password_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Password:</property>
+ <object class="GtkGrid" id="application_grid">
+ <property name="border-width">12</property>
+ <property name="orientation">vertical</property>
+ <property name="row-spacing">6</property>
<property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="confirmation_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Confirmation</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="confirm_write_check">
+ <property name="label" translatable="yes">Confirm before writing
tags</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to ask for
confirmation from the user before writing tags to audio files</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="confirm_rename_check">
+ <property name="label" translatable="yes">Confirm before renaming a
file</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to ask for
confirmation from the user before renaming a file</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="confirm_delete_check">
+ <property name="label" translatable="yes">Confirm before deleting a
file</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to ask for
confirmation from the user before deleting a file</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="confirm_write_playlist_check">
+ <property name="label" translatable="yes">Confirm before writing a
playlist</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to ask for
confirmation from the user before writing a playlist</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="confirm_unsaved_files_check">
+ <property name="label" translatable="yes">Confirm before losing
unsaved changes to files</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to ask for
confirmation from the user before performing an operation that would lose unsaved changes on files</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkLabel" id="scanner_dialog_label">
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Scanner Dialog</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="scanner_dialog_startup_check">
+ <property name="label" translatable="yes">Show the scanner dialog on
startup</property>
+ <property name="margin-left">12</property>
+ <property name="tooltip-text" translatable="yes">Whether to show the
scanner window on application startup</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
</object>
- <packing>
- <property name="left-attach">2</property>
- <property name="top-attach">1</property>
- </packing>
</child>
- <child>
- <object class="GtkEntry" id="cddb_password_entry">
- <property name="tooltip-text" translatable="yes">Password for a proxy to
access remote CDDB</property>
- <property name="visibility">False</property>
- <property name="visible">True</property>
+ <child type="tab">
+ <object class="GtkLabel" id="application_tab_label">
+ <property name="label" translatable="yes">Application</property>
</object>
- <packing>
- <property name="left-attach">3</property>
- <property name="top-attach">1</property>
- </packing>
</child>
</object>
</child>
- <child>
- <object class="GtkLabel" id="cddb_list_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Results List</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="cddb_follow_check">
- <property name="label" translatable="yes">Select corresponding file (according to
position or DLM if activated below)</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to select the file in the
file list which matches the position in the CDDB results list</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="cddb_dlm_check">
- <property name="label" translatable="yes">Use the Levenshtein algorithm (DLM) to
match results (using title) with audio files (using filename)</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to use the DLM algorithm to
match CDDB results to files</property>
- <property name="visible">True</property>
- </object>
- </child>
</object>
</child>
- <child type="tab">
- <object class="GtkLabel" id="cddb_tab_label">
- <property name="label" translatable="yes">CDDB</property>
- </object>
- </child>
- <child>
- <object class="GtkGrid" id="application_grid">
- <property name="border-width">12</property>
- <property name="orientation">vertical</property>
- <property name="row-spacing">6</property>
- <property name="visible">True</property>
- <child>
- <object class="GtkLabel" id="confirmation_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Confirmation</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="confirm_write_check">
- <property name="label" translatable="yes">Confirm before writing tags</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to ask for confirmation
from the user before writing tags to audio files</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="confirm_rename_check">
- <property name="label" translatable="yes">Confirm before renaming a file</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to ask for confirmation
from the user before renaming a file</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="confirm_delete_check">
- <property name="label" translatable="yes">Confirm before deleting a file</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to ask for confirmation
from the user before deleting a file</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="confirm_write_playlist_check">
- <property name="label" translatable="yes">Confirm before writing a
playlist</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to ask for confirmation
from the user before writing a playlist</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="confirm_unsaved_files_check">
- <property name="label" translatable="yes">Confirm before losing unsaved changes to
files</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to ask for confirmation
from the user before performing an operation that would lose unsaved changes on files</property>
- <property name="visible">True</property>
- </object>
- </child>
- <child>
- <object class="GtkLabel" id="scanner_dialog_label">
- <property name="halign">start</property>
- <property name="label" translatable="yes">Scanner Dialog</property>
- <property name="margin-top">12</property>
- <property name="visible">True</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- </child>
- <child>
- <object class="GtkCheckButton" id="scanner_dialog_startup_check">
- <property name="label" translatable="yes">Show the scanner dialog on
startup</property>
- <property name="margin-left">12</property>
- <property name="tooltip-text" translatable="yes">Whether to show the scanner window
on application startup</property>
- <property name="visible">True</property>
- </object>
- </child>
- </object>
- </child>
- <child type="tab">
- <object class="GtkLabel" id="application_tab_label">
- <property name="label" translatable="yes">Application</property>
- </object>
- </child>
- </object>
+ </template>
</interface>
diff --git a/src/preferences_dialog.c b/src/preferences_dialog.c
index 427e176..467f5af 100644
--- a/src/preferences_dialog.c
+++ b/src/preferences_dialog.c
@@ -39,42 +39,107 @@
typedef struct
{
+ GtkWidget *default_path_button;
+ GtkWidget *browser_startup_check;
+ GtkWidget *browser_subdirs_check;
+ GtkWidget *browser_expand_subdirs_check;
+ GtkWidget *browser_hidden_check;
+ GtkWidget *browser_case_check;
+ GtkWidget *log_show_check;
+ GtkWidget *header_show_check;
+ GtkWidget *list_bold_radio;
+ GtkWidget *file_name_replace_check;
+ GtkWidget *name_lower_radio;
+ GtkWidget *name_upper_radio;
+ GtkWidget *name_no_change_radio;
+ GtkWidget *file_preserve_check;
+ GtkWidget *file_parent_check;
+ GtkWidget *file_encoding_try_alternative_radio;
+ GtkWidget *file_encoding_transliterate_radio;
+ GtkWidget *file_encoding_ignore_radio;
+ GtkWidget *tags_auto_date_check;
+ GtkWidget *tags_auto_image_type_check;
+ GtkWidget *tags_track_check;
+ GtkWidget *tags_track_button;
+ GtkWidget *tags_disc_check;
+ GtkWidget *tags_disc_button;
+ GtkWidget *tags_preserve_focus_check;
+ GtkWidget *split_title_check;
+ GtkWidget *split_artist_check;
+ GtkWidget *split_album_check;
+ GtkWidget *split_genre_check;
+ GtkWidget *split_comment_check;
+ GtkWidget *split_composer_check;
+ GtkWidget *split_orig_artist_check;
+ GtkWidget *id3_strip_check;
+ GtkWidget *id3_v2_convert_check;
+ GtkWidget *id3_v2_crc32_check;
+ GtkWidget *id3_v2_compression_check;
+ GtkWidget *id3_v2_genre_check;
+ GtkWidget *id3_v2_check;
+ GtkWidget *id3_v2_version_label;
+ GtkWidget *id3_v2_version_combo;
+ GtkWidget *id3_v2_encoding_label;
+ GtkWidget *id3_v2_unicode_radio;
+ GtkWidget *id3_v2_unicode_encoding_combo;
+ GtkWidget *id3_v2_other_radio;
+ GtkWidget *id3_v2_override_encoding_combo;
+ GtkWidget *id3_v2_iconv_label;
+ GtkWidget *id3_v2_none_radio;
+ GtkWidget *id3_v2_transliterate_radio;
+ GtkWidget *id3_v2_ignore_radio;
+ GtkWidget *id3_v1_check;
+ GtkWidget *id3_v1_encoding_grid;
+ GtkWidget *id3_v1_encoding_combo;
+ GtkWidget *id3_v1_none_radio;
+ GtkWidget *id3_v1_transliterate_radio;
+ GtkWidget *id3_v1_ignore_radio;
+ GtkWidget *id3_read_encoding_check;
+ GtkWidget *id3_read_encoding_combo;
+ GtkWidget *preferences_notebook;
+ GtkWidget *scanner_grid;
+ GtkWidget *fts_underscore_p20_radio;
+ GtkWidget *fts_spaces_radio;
+ GtkWidget *fts_none_radio;
+ GtkWidget *rfs_underscore_p20_radio;
+ GtkWidget *rfs_spaces_radio;
+ GtkWidget *rfs_remove_radio;
+ GtkWidget *pfs_uppercase_prep_check;
+ GtkWidget *overwrite_fields_check;
+ GtkWidget *default_comment_check;
+ GtkWidget *default_comment_entry;
+ GtkWidget *crc32_default_check;
+ GtkWidget *cddb_automatic_host1_combo;
+ GtkWidget *cddb_automatic_port1_button;
+ GtkWidget *cddb_automatic_path1_entry;
+ GtkWidget *cddb_automatic_host2_combo;
+ GtkWidget *cddb_automatic_port2_button;
+ GtkWidget *cddb_automatic_path2_entry;
+ GtkWidget *cddb_manual_host_combo;
+ GtkWidget *cddb_manual_port_button;
+ GtkWidget *cddb_manual_path_entry;
+ GtkWidget *cddb_proxy_check;
+ GtkWidget *cddb_host_entry;
+ GtkWidget *cddb_port_button;
+ GtkWidget *cddb_password_entry;
+ GtkWidget *cddb_user_entry;
+ GtkWidget *cddb_follow_check;
+ GtkWidget *cddb_dlm_check;
+ GtkWidget *confirm_write_check;
+ GtkWidget *confirm_rename_check;
+ GtkWidget *confirm_delete_check;
+ GtkWidget *confirm_write_playlist_check;
+ GtkWidget *confirm_unsaved_files_check;
+ GtkWidget *scanner_dialog_startup_check;
+
GtkListStore *default_path_model;
GtkListStore *file_player_model;
- GtkWidget *id3_v1_encoding_grid;
-
- GtkWidget *LabelAdditionalId3v2IconvOptions;
- GtkWidget *LabelId3v2Charset;
- GtkWidget *LabelId3v2Version;
- GtkWidget *FileWritingId3v2VersionCombo;
- GtkWidget *FileWritingId3v2UseUnicodeCharacterSet;
- GtkWidget *FileWritingId3v2UseNoUnicodeCharacterSet;
-
- GtkWidget *FileWritingId3v2UnicodeCharacterSetCombo;
- GtkWidget *FileWritingId3v2NoUnicodeCharacterSetCombo;
- GtkWidget *FileWritingId3v1CharacterSetCombo;
- GtkWidget *FileReadingId3v1v2CharacterSetCombo;
-
- GtkWidget *ConvertOldId3v2TagVersion;
- GtkWidget *FileWritingId3v2UseCrc32;
- GtkWidget *FileWritingId3v2UseCompression;
- GtkWidget *FileWritingId3v2TextOnlyGenre;
- GtkWidget *FileWritingId3v2IconvOptionsNo;
- GtkWidget *FileWritingId3v2IconvOptionsTranslit;
- GtkWidget *FileWritingId3v2IconvOptionsIgnore;
- GtkWidget *FileWritingId3v1IconvOptionsNo;
- GtkWidget *FileWritingId3v1IconvOptionsTranslit;
- GtkWidget *FileWritingId3v1IconvOptionsIgnore;
-
- GtkWidget *options_notebook;
gint options_notebook_scanner;
} EtPreferencesDialogPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (EtPreferencesDialog, et_preferences_dialog, GTK_TYPE_DIALOG)
-static const guint BOX_SPACING = 6;
-
/**************
* Prototypes *
**************/
@@ -207,183 +272,58 @@ static void
create_preferences_dialog (EtPreferencesDialog *self)
{
EtPreferencesDialogPrivate *priv;
- GtkWidget *vbox;
- GtkWidget *LoadOnStartup;
- GtkWidget *BrowseSubdir;
- GtkWidget *OpenSelectedBrowserNode;
- GtkWidget *BrowseHiddendir;
- GtkWidget *ShowHeaderInfos;
- GtkWidget *ChangedFilesDisplayedToBold;
- GtkWidget *SortingFileCaseSensitive;
- GtkWidget *ShowLogView;
- GtkWidget *ReplaceIllegalCharactersInFilename;
- GtkWidget *PreserveModificationTime;
- GtkWidget *UpdateParentDirectoryModificationTime;
- GtkWidget *FilenameCharacterSetOther;
- GtkWidget *FilenameCharacterSetApproximate;
- GtkWidget *FilenameCharacterSetDiscard;
- GtkWidget *DateAutoCompletion;
- GtkWidget *widget;
- GtkWidget *NumberTrackFormated;
- GtkWidget *NumberTrackFormatedSpinButton;
- GtkWidget *pad_disc_number;
- GtkWidget *pad_disc_number_spinbutton;
- GtkWidget *SetFocusToSameTagField;
- GtkWidget *VorbisSplitFieldTitle;
- GtkWidget *VorbisSplitFieldArtist;
- GtkWidget *VorbisSplitFieldAlbum;
- GtkWidget *VorbisSplitFieldGenre;
- GtkWidget *VorbisSplitFieldComment;
- GtkWidget *VorbisSplitFieldComposer;
- GtkWidget *VorbisSplitFieldOrigArtist;
- GtkWidget *StripTagWhenEmptyFields;
- GtkWidget *FileWritingId3v2WriteTag;
- GtkWidget *FileWritingId3v1WriteTag;
- GtkWidget *UseNonStandardId3ReadingCharacterSet;
- GtkWidget *FTSConvertUnderscoreAndP20IntoSpace;
- GtkWidget *FTSConvertSpaceIntoUnderscore;
- GtkWidget *FTSConvertSpaceNoChange;
- GtkWidget *RFSConvertUnderscoreAndP20IntoSpace;
- GtkWidget *RFSConvertSpaceIntoUnderscore;
- GtkWidget *RFSRemoveSpaces;
- GtkWidget *PFSDontUpperSomeWords;
- GtkWidget *OpenScannerWindowOnStartup;
- GtkWidget *OverwriteTagField;
- GtkWidget *SetDefaultComment;
- GtkWidget *DefaultComment;
- GtkWidget *Crc32Comment;
- GtkWidget *CddbServerNameAutomaticSearch;
- GtkWidget *CddbServerPortAutomaticSearch;
- GtkWidget *CddbServerCgiPathAutomaticSearch;
- GtkWidget *CddbServerNameAutomaticSearch2;
- GtkWidget *CddbServerPortAutomaticSearch2;
- GtkWidget *CddbServerCgiPathAutomaticSearch2;
- GtkWidget *CddbServerNameManualSearch;
- GtkWidget *CddbServerPortManualSearch;
- GtkWidget *CddbServerCgiPathManualSearch;
- GtkWidget *CddbUseProxy;
- GtkWidget *CddbProxyName;
- GtkWidget *CddbProxyPort;
- GtkWidget *CddbProxyUserName;
- GtkWidget *CddbProxyUserPassword;
- GtkWidget *CddbFollowFile;
- GtkWidget *CddbUseDLM;
- GtkWidget *ConfirmWriteTag;
- GtkWidget *ConfirmRenameFile;
- GtkWidget *ConfirmDeleteFile;
- GtkWidget *ConfirmWritePlayList;
- GtkWidget *ConfirmWhenUnsavedFiles;
- GtkWidget *FilenameExtensionNoChange;
- GtkWidget *FilenameExtensionLowerCase;
- GtkWidget *FilenameExtensionUpperCase;
- GtkWidget *default_path_button;
- GtkBuilder *builder;
- GError *error = NULL;
priv = et_preferences_dialog_get_instance_private (self);
/* The window */
- gtk_window_set_title (GTK_WINDOW (self), _("Preferences"));
- gtk_window_set_destroy_with_parent (GTK_WINDOW (self), TRUE);
gtk_dialog_add_buttons (GTK_DIALOG (self), _("_Close"), GTK_RESPONSE_CLOSE,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (self), GTK_RESPONSE_CLOSE);
- g_signal_connect (self, "response",
- G_CALLBACK (et_preferences_on_response), NULL);
- g_signal_connect (self, "delete-event",
- G_CALLBACK (gtk_widget_hide_on_delete), NULL);
-
- gtk_container_set_border_width (GTK_CONTAINER (self), BOX_SPACING);
-
- /* Options */
- /* The vbox */
- vbox = gtk_dialog_get_content_area (GTK_DIALOG (self));
- gtk_box_set_spacing (GTK_BOX (vbox), BOX_SPACING);
- /* Options NoteBook */
- builder = gtk_builder_new ();
- gtk_builder_add_from_resource (builder,
- "/org/gnome/EasyTAG/preferences_dialog.ui",
- &error);
-
- if (error != NULL)
- {
- g_error ("Unable to get scanner page from resource: %s",
- error->message);
- }
-
- priv->options_notebook = GTK_WIDGET (gtk_builder_get_object (builder,
- "preferences_notebook"));
- gtk_box_pack_start (GTK_BOX (vbox), priv->options_notebook, TRUE, TRUE, 0);
-
- /*
- * Browser
- */
- default_path_button = GTK_WIDGET (gtk_builder_get_object (builder,
- "default_path_button"));
+ /* Browser. */
on_default_path_changed (MainSettings, "default-path",
- GTK_FILE_CHOOSER_BUTTON (default_path_button));
- /* Connecting to current-folder-changed does not work if the user selects
- * a directory from the combo box list provided by the file chooser button.
- */
- g_signal_connect_swapped (default_path_button, "file-set",
- G_CALLBACK (et_prefs_current_folder_changed),
- self);
+ GTK_FILE_CHOOSER_BUTTON (priv->default_path_button));
g_signal_connect (MainSettings, "changed::default-path",
G_CALLBACK (on_default_path_changed),
- default_path_button);
+ priv->default_path_button);
/* Load directory on startup */
- LoadOnStartup = GTK_WIDGET (gtk_builder_get_object (builder,
- "browser_startup_check"));
- g_settings_bind (MainSettings, "load-on-startup", LoadOnStartup, "active",
+ g_settings_bind (MainSettings, "load-on-startup",
+ priv->browser_startup_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Browse subdirectories */
- BrowseSubdir = GTK_WIDGET (gtk_builder_get_object (builder,
- "browser_subdirs_check"));
- g_settings_bind (MainSettings, "browse-subdir", BrowseSubdir, "active",
+ g_settings_bind (MainSettings, "browse-subdir",
+ priv->browser_subdirs_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Open the node to show subdirectories */
- OpenSelectedBrowserNode = GTK_WIDGET (gtk_builder_get_object (builder,
- "browser_expand_subdirs_check"));
g_settings_bind (MainSettings, "browse-expand-children",
- OpenSelectedBrowserNode, "active",
+ priv->browser_expand_subdirs_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Browse hidden directories */
- BrowseHiddendir = GTK_WIDGET (gtk_builder_get_object (builder,
- "browser_hidden_check"));
- g_settings_bind (MainSettings, "browse-show-hidden", BrowseHiddendir,
- "active", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "browse-show-hidden",
+ priv->browser_hidden_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
- SortingFileCaseSensitive = GTK_WIDGET (gtk_builder_get_object (builder,
- "browser_case_check"));
g_settings_bind (MainSettings, "sort-case-sensitive",
- SortingFileCaseSensitive, "active",
+ priv->browser_case_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Show / hide log view. */
- ShowLogView = GTK_WIDGET (gtk_builder_get_object (builder,
- "log_show_check"));
- g_settings_bind (MainSettings, "log-show", ShowLogView, "active",
+ g_settings_bind (MainSettings, "log-show", priv->log_show_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Show header information. */
- ShowHeaderInfos = GTK_WIDGET (gtk_builder_get_object (builder,
- "header_show_check"));
- g_settings_bind (MainSettings, "file-show-header", ShowHeaderInfos,
+ g_settings_bind (MainSettings, "file-show-header", priv->header_show_check,
"active", G_SETTINGS_BIND_DEFAULT);
/* Display color mode for changed files in list. */
/* Set "new" Gtk+-2.0ish black/bold style for changed items. */
- ChangedFilesDisplayedToBold = GTK_WIDGET (gtk_builder_get_object (builder,
- "list_bold_radio"));
- g_settings_bind (MainSettings, "file-changed-bold",
- ChangedFilesDisplayedToBold, "active",
- G_SETTINGS_BIND_DEFAULT);
- g_signal_connect_swapped (ChangedFilesDisplayedToBold, "notify::active",
+ g_settings_bind (MainSettings, "file-changed-bold", priv->list_bold_radio,
+ "active", G_SETTINGS_BIND_DEFAULT);
+ g_signal_connect_swapped (priv->list_bold_radio, "notify::active",
G_CALLBACK (et_application_window_browser_refresh_list),
MainWindow);
@@ -391,216 +331,156 @@ create_preferences_dialog (EtPreferencesDialog *self)
* File Settings
*/
/* File (name) Options */
- ReplaceIllegalCharactersInFilename = GTK_WIDGET (gtk_builder_get_object (builder,
- "file_name_replace_check"));
g_settings_bind (MainSettings, "rename-replace-illegal-chars",
- ReplaceIllegalCharactersInFilename, "active",
+ priv->file_name_replace_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Extension case (lower/upper?) */
- FilenameExtensionLowerCase = GTK_WIDGET (gtk_builder_get_object (builder,
- "name_lower_radio"));
- FilenameExtensionUpperCase = GTK_WIDGET (gtk_builder_get_object (builder,
- "name_upper_radio"));
- FilenameExtensionNoChange = GTK_WIDGET (gtk_builder_get_object (builder,
- "name_no_change_radio"));
-
g_settings_bind_with_mapping (MainSettings, "rename-extension-mode",
- FilenameExtensionLowerCase, "active",
+ priv->name_lower_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- FilenameExtensionLowerCase, NULL);
+ priv->name_lower_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "rename-extension-mode",
- FilenameExtensionUpperCase, "active",
+ priv->name_upper_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- FilenameExtensionUpperCase, NULL);
+ priv->name_upper_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "rename-extension-mode",
- FilenameExtensionNoChange, "active",
+ priv->name_no_change_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- FilenameExtensionNoChange, NULL);
+ priv->name_no_change_radio, NULL);
/* Preserve modification time */
- PreserveModificationTime = GTK_WIDGET (gtk_builder_get_object (builder,
- "file_preserve_check"));
g_settings_bind (MainSettings, "file-preserve-modification-time",
- PreserveModificationTime, "active",
+ priv->file_preserve_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Change directory modification time */
- UpdateParentDirectoryModificationTime = GTK_WIDGET (gtk_builder_get_object (builder,
- "file_parent_check"));
g_settings_bind (MainSettings, "file-update-parent-modification-time",
- UpdateParentDirectoryModificationTime, "active",
+ priv->file_parent_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Character Set for Filename */
- FilenameCharacterSetOther = GTK_WIDGET (gtk_builder_get_object (builder,
- "file_encoding_try_alternative_radio"));
- FilenameCharacterSetApproximate = GTK_WIDGET (gtk_builder_get_object (builder,
-
"file_encoding_transliterate_radio"));
- FilenameCharacterSetDiscard = GTK_WIDGET (gtk_builder_get_object (builder,
- "file_encoding_ignore_radio"));
-
g_settings_bind_with_mapping (MainSettings, "rename-encoding",
- FilenameCharacterSetOther, "active",
- G_SETTINGS_BIND_DEFAULT,
+ priv->file_encoding_try_alternative_radio,
+ "active", G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- FilenameCharacterSetOther, NULL);
+ priv->file_encoding_try_alternative_radio,
+ NULL);
g_settings_bind_with_mapping (MainSettings, "rename-encoding",
- FilenameCharacterSetApproximate,
+ priv->file_encoding_transliterate_radio,
"active", G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- FilenameCharacterSetApproximate, NULL);
+ priv->file_encoding_transliterate_radio,
+ NULL);
g_settings_bind_with_mapping (MainSettings, "rename-encoding",
- FilenameCharacterSetDiscard, "active",
+ priv->file_encoding_ignore_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- FilenameCharacterSetDiscard, NULL);
+ priv->file_encoding_ignore_radio, NULL);
/*
* Tag Settings
*/
/* Tag Options */
- DateAutoCompletion = GTK_WIDGET (gtk_builder_get_object (builder,
- "tags_auto_date_check"));
- g_settings_bind (MainSettings, "tag-date-autocomplete", DateAutoCompletion,
- "active", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "tag-date-autocomplete",
+ priv->tags_auto_date_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
- widget = GTK_WIDGET (gtk_builder_get_object (builder,
- "tags_auto_image_type_check"));
- g_settings_bind (MainSettings, "tag-image-type-automatic", widget,
- "active", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "tag-image-type-automatic",
+ priv->tags_auto_image_type_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
/* Track formatting. */
- NumberTrackFormated = GTK_WIDGET (gtk_builder_get_object (builder,
- "tags_track_check"));
- g_settings_bind (MainSettings, "tag-number-padded", NumberTrackFormated,
+ g_settings_bind (MainSettings, "tag-number-padded", priv->tags_track_check,
"active", G_SETTINGS_BIND_DEFAULT);
-
- NumberTrackFormatedSpinButton = GTK_WIDGET (gtk_builder_get_object (builder,
- "tags_track_button"));
g_settings_bind (MainSettings, "tag-number-length",
- NumberTrackFormatedSpinButton, "value",
+ priv->tags_track_button, "value",
G_SETTINGS_BIND_DEFAULT);
g_settings_bind (MainSettings, "tag-number-padded",
- NumberTrackFormatedSpinButton, "sensitive",
+ priv->tags_track_button, "sensitive",
G_SETTINGS_BIND_GET);
/* Disc formatting. */
- pad_disc_number = GTK_WIDGET (gtk_builder_get_object (builder,
- "tags_disc_check"));
- g_settings_bind (MainSettings, "tag-disc-padded", pad_disc_number,
+ g_settings_bind (MainSettings, "tag-disc-padded", priv->tags_disc_check,
"active", G_SETTINGS_BIND_DEFAULT);
- pad_disc_number_spinbutton = GTK_WIDGET (gtk_builder_get_object (builder,
- "tags_disc_button"));
g_settings_bind (MainSettings, "tag-disc-length",
- pad_disc_number_spinbutton, "value",
+ priv->tags_disc_button, "value",
G_SETTINGS_BIND_DEFAULT);
g_settings_bind (MainSettings, "tag-disc-padded",
- pad_disc_number_spinbutton, "sensitive",
+ priv->tags_disc_button, "sensitive",
G_SETTINGS_BIND_GET);
- g_signal_emit_by_name (G_OBJECT (pad_disc_number), "toggled");
+ g_signal_emit_by_name (G_OBJECT (priv->tags_disc_check), "toggled");
/* Tag field focus */
- SetFocusToSameTagField = GTK_WIDGET (gtk_builder_get_object (builder,
- "tags_preserve_focus_check"));
- g_settings_bind (MainSettings, "tag-preserve-focus", SetFocusToSameTagField,
- "active", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "tag-preserve-focus",
+ priv->tags_preserve_focus_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
/* Tag Splitting */
- VorbisSplitFieldTitle = GTK_WIDGET (gtk_builder_get_object (builder,
- "split_title_check"));
- VorbisSplitFieldArtist = GTK_WIDGET (gtk_builder_get_object (builder,
- "split_artist_check"));
- VorbisSplitFieldAlbum = GTK_WIDGET (gtk_builder_get_object (builder,
- "split_album_check"));
- VorbisSplitFieldGenre = GTK_WIDGET (gtk_builder_get_object (builder,
- "split_genre_check"));
- VorbisSplitFieldComment = GTK_WIDGET (gtk_builder_get_object (builder,
- "split_comment_check"));
- VorbisSplitFieldComposer = GTK_WIDGET (gtk_builder_get_object (builder,
- "split_composer_check"));
- VorbisSplitFieldOrigArtist = GTK_WIDGET (gtk_builder_get_object (builder,
- "split_orig_artist_check"));
-
- g_settings_bind (MainSettings, "ogg-split-title", VorbisSplitFieldTitle,
+ g_settings_bind (MainSettings, "ogg-split-title", priv->split_title_check,
"active", G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (MainSettings, "ogg-split-artist", VorbisSplitFieldArtist,
+ g_settings_bind (MainSettings, "ogg-split-artist", priv->split_artist_check,
"active", G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (MainSettings, "ogg-split-album", VorbisSplitFieldAlbum,
+ g_settings_bind (MainSettings, "ogg-split-album", priv->split_album_check,
"active", G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (MainSettings, "ogg-split-genre", VorbisSplitFieldGenre,
- "active", G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (MainSettings, "ogg-split-comment", VorbisSplitFieldComment,
+ g_settings_bind (MainSettings, "ogg-split-genre", priv->split_genre_check,
"active", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "ogg-split-comment",
+ priv->split_comment_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
g_settings_bind (MainSettings, "ogg-split-composer",
- VorbisSplitFieldComposer, "active",
+ priv->split_composer_check, "active",
G_SETTINGS_BIND_DEFAULT);
g_settings_bind (MainSettings, "ogg-split-original-artist",
- VorbisSplitFieldOrigArtist, "active",
+ priv->split_orig_artist_check, "active",
G_SETTINGS_BIND_DEFAULT);
/*
* ID3 Tag Settings
*/
/* Strip tag when fields (managed by EasyTAG) are empty */
- StripTagWhenEmptyFields = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_strip_check"));
- g_settings_bind (MainSettings, "id3-strip-empty", StripTagWhenEmptyFields,
+ g_settings_bind (MainSettings, "id3-strip-empty", priv->id3_strip_check,
"active", G_SETTINGS_BIND_DEFAULT);
/* Convert old ID3v2 tag version */
- priv->ConvertOldId3v2TagVersion = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v2_convert_check"));
g_settings_bind (MainSettings, "id3v2-convert-old",
- priv->ConvertOldId3v2TagVersion, "active",
+ priv->id3_v2_convert_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Use CRC32 */
- priv->FileWritingId3v2UseCrc32 = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v2_crc32_check"));
- g_settings_bind (MainSettings, "id3v2-crc32", priv->FileWritingId3v2UseCrc32,
+ g_settings_bind (MainSettings, "id3v2-crc32", priv->id3_v2_crc32_check,
"active", G_SETTINGS_BIND_DEFAULT);
/* Use Compression */
- priv->FileWritingId3v2UseCompression = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v2_compression_check"));
g_settings_bind (MainSettings, "id3v2-compression",
- priv->FileWritingId3v2UseCompression, "active",
+ priv->id3_v2_compression_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Write Genre in text */
- priv->FileWritingId3v2TextOnlyGenre = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v2_genre_check"));
g_settings_bind (MainSettings, "id3v2-text-only-genre",
- priv->FileWritingId3v2TextOnlyGenre, "active",
+ priv->id3_v2_genre_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Write ID3v2 tag */
- FileWritingId3v2WriteTag = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v2_check"));
- g_settings_bind (MainSettings, "id3v2-enabled", FileWritingId3v2WriteTag,
+ g_settings_bind (MainSettings, "id3v2-enabled", priv->id3_v2_check,
"active", G_SETTINGS_BIND_DEFAULT);
- g_signal_connect (FileWritingId3v2WriteTag, "notify::active",
+ g_signal_connect (priv->id3_v2_check, "notify::active",
G_CALLBACK (notify_id3_settings_active), self);
#ifdef ENABLE_ID3LIB
/* ID3v2 tag version */
- priv->LabelId3v2Version = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v2_version_label"));
- priv->FileWritingId3v2VersionCombo = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v2_version_combo"));
g_settings_bind_with_mapping (MainSettings, "id3v2-version-4",
- priv->FileWritingId3v2VersionCombo, "active",
+ priv->id3_v2_version_combo, "active",
G_SETTINGS_BIND_DEFAULT,
et_preferences_id3v2_version_get,
et_preferences_id3v2_version_set, self,
@@ -610,131 +490,106 @@ create_preferences_dialog (EtPreferencesDialog *self)
#endif
/* Charset */
- priv->LabelId3v2Charset = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v2_encoding_label"));
/* Unicode. */
- priv->FileWritingId3v2UseUnicodeCharacterSet = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v2_unicode_radio"));
g_settings_bind (MainSettings, "id3v2-enable-unicode",
- priv->FileWritingId3v2UseUnicodeCharacterSet, "active",
+ priv->id3_v2_unicode_radio, "active",
G_SETTINGS_BIND_DEFAULT);
- priv->FileWritingId3v2UnicodeCharacterSetCombo = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v2_unicode_encoding_combo"));
g_settings_bind_with_mapping (MainSettings, "id3v2-unicode-charset",
- priv->FileWritingId3v2UnicodeCharacterSetCombo,
+ priv->id3_v2_unicode_encoding_combo,
"active", G_SETTINGS_BIND_DEFAULT,
et_preferences_id3v2_unicode_charset_get,
et_preferences_id3v2_unicode_charset_set,
NULL, NULL);
- g_signal_connect (priv->FileWritingId3v2UseUnicodeCharacterSet,
+ g_signal_connect (priv->id3_v2_unicode_radio,
"notify::active",
G_CALLBACK (notify_id3_settings_active), self);
/* Non-Unicode. */
- priv->FileWritingId3v2UseNoUnicodeCharacterSet = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v2_other_radio"));
- priv->FileWritingId3v2NoUnicodeCharacterSetCombo = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v2_override_encoding_combo"));
- Charset_Populate_Combobox (GTK_COMBO_BOX (priv->FileWritingId3v2NoUnicodeCharacterSetCombo),
+ Charset_Populate_Combobox (GTK_COMBO_BOX (priv->id3_v2_override_encoding_combo),
g_settings_get_enum (MainSettings,
"id3v2-no-unicode-charset"));
g_settings_bind_with_mapping (MainSettings, "id3v2-no-unicode-charset",
- priv->FileWritingId3v2NoUnicodeCharacterSetCombo,
+ priv->id3_v2_override_encoding_combo,
"active", G_SETTINGS_BIND_DEFAULT,
et_settings_enum_get, et_settings_enum_set,
GSIZE_TO_POINTER (ET_TYPE_CHARSET), NULL);
- g_signal_connect (priv->FileWritingId3v2UseNoUnicodeCharacterSet,
+ g_signal_connect (priv->id3_v2_other_radio,
"notify::active",
G_CALLBACK (notify_id3_settings_active), self);
/* ID3v2 Additional iconv() options. */
- priv->LabelAdditionalId3v2IconvOptions = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v2_iconv_label"));
- priv->FileWritingId3v2IconvOptionsNo = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v2_none_radio"));
- priv->FileWritingId3v2IconvOptionsTranslit = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v2_transliterate_radio")),
- priv->FileWritingId3v2IconvOptionsIgnore = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v2_ignore_radio"));
-
g_settings_bind_with_mapping (MainSettings, "id3v2-encoding-option",
- priv->FileWritingId3v2IconvOptionsNo, "active",
+ priv->id3_v2_none_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- priv->FileWritingId3v2IconvOptionsNo, NULL);
+ priv->id3_v2_none_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "id3v2-encoding-option",
- priv->FileWritingId3v2IconvOptionsTranslit,
+ priv->id3_v2_transliterate_radio,
"active", G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- priv->FileWritingId3v2IconvOptionsTranslit, NULL);
+ priv->id3_v2_transliterate_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "id3v2-encoding-option",
- priv->FileWritingId3v2IconvOptionsIgnore, "active",
+ priv->id3_v2_ignore_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- priv->FileWritingId3v2IconvOptionsIgnore, NULL);
+ priv->id3_v2_ignore_radio, NULL);
/* Write ID3v1 tag */
- FileWritingId3v1WriteTag = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v1_check"));
- g_settings_bind (MainSettings, "id3v1-enabled", FileWritingId3v1WriteTag,
+ g_settings_bind (MainSettings, "id3v1-enabled", priv->id3_v1_check,
"active", G_SETTINGS_BIND_DEFAULT);
- g_signal_connect (FileWritingId3v1WriteTag, "notify::active",
+ g_signal_connect (priv->id3_v1_check, "notify::active",
G_CALLBACK (notify_id3_settings_active), self);
- priv->id3_v1_encoding_grid = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v1_encoding_grid"));
/* Id3V1 writing character set */
- priv->FileWritingId3v1CharacterSetCombo = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v1_encoding_combo"));
- Charset_Populate_Combobox (GTK_COMBO_BOX (priv->FileWritingId3v1CharacterSetCombo),
+ Charset_Populate_Combobox (GTK_COMBO_BOX (priv->id3_v1_encoding_combo),
g_settings_get_enum (MainSettings,
"id3v1-charset"));
g_settings_bind_with_mapping (MainSettings, "id3v1-charset",
- priv->FileWritingId3v1CharacterSetCombo,
+ priv->id3_v1_encoding_combo,
"active", G_SETTINGS_BIND_DEFAULT,
et_settings_enum_get, et_settings_enum_set,
GSIZE_TO_POINTER (ET_TYPE_CHARSET), NULL);
/* ID3V1 Additional iconv() options*/
- priv->FileWritingId3v1IconvOptionsNo = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_v1_none_radio"));
- priv->FileWritingId3v1IconvOptionsTranslit = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v1_transliterate_radio"));
- priv->FileWritingId3v1IconvOptionsIgnore = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_v1_ignore_radio"));
-
g_settings_bind_with_mapping (MainSettings, "id3v1-encoding-option",
- priv->FileWritingId3v1IconvOptionsNo, "active",
+ priv->id3_v1_none_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- priv->FileWritingId3v1IconvOptionsNo, NULL);
+ priv->id3_v1_none_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "id3v1-encoding-option",
- priv->FileWritingId3v1IconvOptionsTranslit,
+ priv->id3_v1_transliterate_radio,
"active", G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- priv->FileWritingId3v1IconvOptionsTranslit, NULL);
+ priv->id3_v1_transliterate_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "id3v1-encoding-option",
- priv->FileWritingId3v1IconvOptionsIgnore, "active",
+ priv->id3_v1_ignore_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- priv->FileWritingId3v1IconvOptionsIgnore, NULL);
+ priv->id3_v1_ignore_radio, NULL);
/* Character Set for reading tag */
/* "File Reading Charset" Check Button + Combo. */
- UseNonStandardId3ReadingCharacterSet = GTK_WIDGET (gtk_builder_get_object (builder,
- "id3_read_encoding_check"));
g_settings_bind (MainSettings, "id3-override-read-encoding",
- UseNonStandardId3ReadingCharacterSet, "active",
+ priv->id3_read_encoding_check, "active",
G_SETTINGS_BIND_DEFAULT);
- priv->FileReadingId3v1v2CharacterSetCombo = GTK_WIDGET (gtk_builder_get_object (builder,
"id3_read_encoding_combo"));
- Charset_Populate_Combobox (GTK_COMBO_BOX (priv->FileReadingId3v1v2CharacterSetCombo),
+ Charset_Populate_Combobox (GTK_COMBO_BOX (priv->id3_read_encoding_combo),
g_settings_get_enum (MainSettings,
"id3v1v2-charset"));
g_settings_bind_with_mapping (MainSettings, "id3v1v2-charset",
- priv->FileReadingId3v1v2CharacterSetCombo,
+ priv->id3_read_encoding_combo,
"active", G_SETTINGS_BIND_DEFAULT,
et_settings_enum_get, et_settings_enum_set,
GSIZE_TO_POINTER (ET_TYPE_CHARSET), NULL);
g_settings_bind (MainSettings, "id3-override-read-encoding",
- priv->FileReadingId3v1v2CharacterSetCombo, "sensitive",
+ priv->id3_read_encoding_combo, "sensitive",
G_SETTINGS_BIND_GET);
notify_id3_settings_active (NULL, NULL, self);
@@ -742,236 +597,168 @@ create_preferences_dialog (EtPreferencesDialog *self)
* Scanner
*/
/* Save the number of the page. Asked in Scanner window */
- vbox = GTK_WIDGET (gtk_builder_get_object (builder, "scanner_grid"));
- priv->options_notebook_scanner = gtk_notebook_page_num (GTK_NOTEBOOK (priv->options_notebook),
- vbox);
+ priv->options_notebook_scanner = gtk_notebook_page_num (GTK_NOTEBOOK (priv->preferences_notebook),
+ priv->scanner_grid);
/* Character conversion for the 'Fill Tag' scanner (=> FTS...) */
- FTSConvertUnderscoreAndP20IntoSpace = GTK_WIDGET (gtk_builder_get_object (builder,
"fts_underscore_p20_radio"));
- FTSConvertSpaceIntoUnderscore = GTK_WIDGET (gtk_builder_get_object (builder,
- "fts_spaces_radio"));
- FTSConvertSpaceNoChange = GTK_WIDGET (gtk_builder_get_object (builder,
- "fts_none_radio"));
g_settings_bind_with_mapping (MainSettings, "fill-convert-spaces",
- FTSConvertUnderscoreAndP20IntoSpace,
+ priv->fts_underscore_p20_radio,
"active", G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- FTSConvertUnderscoreAndP20IntoSpace, NULL);
+ priv->fts_underscore_p20_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "fill-convert-spaces",
- FTSConvertSpaceIntoUnderscore, "active",
+ priv->fts_spaces_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- FTSConvertSpaceIntoUnderscore, NULL);
+ priv->fts_spaces_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "fill-convert-spaces",
- FTSConvertSpaceNoChange, "active",
+ priv->fts_none_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- FTSConvertSpaceNoChange, NULL);
+ priv->fts_none_radio, NULL);
/* TODO: No change tooltip. */
/* Character conversion for the 'Rename File' scanner (=> RFS...) */
- RFSConvertUnderscoreAndP20IntoSpace = GTK_WIDGET (gtk_builder_get_object (builder,
"rfs_underscore_p20_radio"));
- RFSConvertSpaceIntoUnderscore = GTK_WIDGET (gtk_builder_get_object (builder,
- "rfs_spaces_radio"));
- RFSRemoveSpaces = GTK_WIDGET (gtk_builder_get_object (builder,
- "rfs_remove_radio"));
g_settings_bind_with_mapping (MainSettings, "rename-convert-spaces",
- RFSConvertUnderscoreAndP20IntoSpace,
+ priv->rfs_underscore_p20_radio,
"active", G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- RFSConvertUnderscoreAndP20IntoSpace, NULL);
+ priv->rfs_underscore_p20_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "rename-convert-spaces",
- RFSConvertSpaceIntoUnderscore, "active",
+ priv->rfs_spaces_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
et_settings_enum_radio_set,
- RFSConvertSpaceIntoUnderscore, NULL);
+ priv->rfs_spaces_radio, NULL);
g_settings_bind_with_mapping (MainSettings, "rename-convert-spaces",
- RFSRemoveSpaces, "active",
+ priv->rfs_remove_radio, "active",
G_SETTINGS_BIND_DEFAULT,
et_settings_enum_radio_get,
- et_settings_enum_radio_set, RFSRemoveSpaces,
+ et_settings_enum_radio_set,
+ priv->rfs_remove_radio,
NULL);
/* Character conversion for the 'Process Fields' scanner (=> PFS...) */
- PFSDontUpperSomeWords = GTK_WIDGET (gtk_builder_get_object (builder,
- "pfs_uppercase_prep_check"));
g_settings_bind (MainSettings, "process-uppercase-prepositions",
- PFSDontUpperSomeWords, "active",
+ priv->pfs_uppercase_prep_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Other options */
- OverwriteTagField = GTK_WIDGET (gtk_builder_get_object (builder,
- "overwrite_fields_check"));
g_settings_bind (MainSettings, "fill-overwrite-tag-fields",
- OverwriteTagField, "active", G_SETTINGS_BIND_DEFAULT);
+ priv->overwrite_fields_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
/* Set a default comment text or CRC-32 checksum. */
- SetDefaultComment = GTK_WIDGET (gtk_builder_get_object (builder,
- "default_comment_check"));
- DefaultComment = GTK_WIDGET (gtk_builder_get_object (builder,
- "default_comment_entry"));
g_settings_bind (MainSettings, "fill-set-default-comment",
- SetDefaultComment, "active", G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (MainSettings, "fill-set-default-comment", DefaultComment,
- "sensitive", G_SETTINGS_BIND_GET);
- g_settings_bind (MainSettings, "fill-default-comment", DefaultComment,
- "text", G_SETTINGS_BIND_DEFAULT);
+ priv->default_comment_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "fill-set-default-comment",
+ priv->default_comment_entry, "sensitive",
+ G_SETTINGS_BIND_GET);
+ g_settings_bind (MainSettings, "fill-default-comment",
+ priv->default_comment_entry, "text",
+ G_SETTINGS_BIND_DEFAULT);
/* CRC32 comment. */
- Crc32Comment = GTK_WIDGET (gtk_builder_get_object (builder,
- "crc32_default_check"));
- g_settings_bind (MainSettings, "fill-crc32-comment", Crc32Comment,
- "active", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "fill-crc32-comment",
+ priv->crc32_default_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
- /*
- * CDDB
- */
+ /* CDDB */
/* 1st automatic search server. */
- CddbServerNameAutomaticSearch = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_automatic_host1_combo"));
g_settings_bind (MainSettings, "cddb-automatic-search-hostname",
- gtk_bin_get_child (GTK_BIN (CddbServerNameAutomaticSearch)),
+ gtk_bin_get_child (GTK_BIN (priv->cddb_automatic_host1_combo)),
"text", G_SETTINGS_BIND_DEFAULT);
-
- CddbServerPortAutomaticSearch = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_automatic_port1_button"));
g_settings_bind (MainSettings, "cddb-automatic-search-port",
- CddbServerPortAutomaticSearch, "value",
+ priv->cddb_automatic_port1_button, "value",
G_SETTINGS_BIND_DEFAULT);
-
- CddbServerCgiPathAutomaticSearch = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_automatic_path1_entry"));
g_settings_bind (MainSettings, "cddb-automatic-search-path",
- CddbServerCgiPathAutomaticSearch, "text",
+ priv->cddb_automatic_path1_entry, "text",
G_SETTINGS_BIND_DEFAULT);
/* 2nd automatic search server. */
- CddbServerNameAutomaticSearch2 = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_automatic_host2_combo"));
g_settings_bind (MainSettings, "cddb-automatic-search-hostname2",
- gtk_bin_get_child (GTK_BIN (CddbServerNameAutomaticSearch2)),
+ gtk_bin_get_child (GTK_BIN (priv->cddb_automatic_host2_combo)),
"text", G_SETTINGS_BIND_DEFAULT);
-
- CddbServerPortAutomaticSearch2 = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_automatic_port2_button"));
g_settings_bind (MainSettings, "cddb-automatic-search-port2",
- CddbServerPortAutomaticSearch2, "value",
+ priv->cddb_automatic_port2_button, "value",
G_SETTINGS_BIND_DEFAULT);
-
- CddbServerCgiPathAutomaticSearch2 = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_automatic_path2_entry"));
g_settings_bind (MainSettings, "cddb-automatic-search-path2",
- CddbServerCgiPathAutomaticSearch2, "text",
+ priv->cddb_automatic_path2_entry, "text",
G_SETTINGS_BIND_DEFAULT);
/* CDDB Server Settings (Manual Search). */
- CddbServerNameManualSearch = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_manual_host_combo"));
g_settings_bind (MainSettings, "cddb-manual-search-hostname",
- gtk_bin_get_child (GTK_BIN (CddbServerNameManualSearch)),
+ gtk_bin_get_child (GTK_BIN (priv->cddb_manual_host_combo)),
"text", G_SETTINGS_BIND_DEFAULT);
-
- CddbServerPortManualSearch = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_manual_port_button"));
g_settings_bind (MainSettings, "cddb-manual-search-port",
- CddbServerPortManualSearch, "value",
+ priv->cddb_manual_port_button, "value",
G_SETTINGS_BIND_DEFAULT);
-
- CddbServerCgiPathManualSearch = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_manual_path_entry"));
g_settings_bind (MainSettings, "cddb-manual-search-path",
- CddbServerCgiPathManualSearch, "text",
+ priv->cddb_manual_path_entry, "text",
G_SETTINGS_BIND_DEFAULT);
/* CDDB Proxy Settings. */
- CddbUseProxy = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_proxy_check"));
- g_settings_bind (MainSettings, "cddb-proxy-enabled", CddbUseProxy, "active",
+ g_settings_bind (MainSettings, "cddb-proxy-enabled",
+ priv->cddb_proxy_check, "active",
G_SETTINGS_BIND_DEFAULT);
-
- CddbProxyName = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_host_entry"));
g_settings_bind (MainSettings, "cddb-proxy-hostname",
- CddbProxyName, "text", G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (MainSettings, "cddb-proxy-enabled", CddbProxyName,
+ priv->cddb_host_entry, "text", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "cddb-proxy-enabled", priv->cddb_host_entry,
"sensitive", G_SETTINGS_BIND_GET);
- CddbProxyPort = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_port_button"));
- g_settings_bind (MainSettings, "cddb-proxy-port", CddbProxyPort, "value",
- G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (MainSettings, "cddb-proxy-enabled", CddbProxyPort,
- "sensitive", G_SETTINGS_BIND_GET);
- CddbProxyUserName = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_user_entry"));
- g_settings_bind (MainSettings, "cddb-proxy-username", CddbProxyUserName,
- "text", G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (MainSettings, "cddb-proxy-enabled", CddbProxyUserName,
- "sensitive", G_SETTINGS_BIND_GET);
- CddbProxyUserPassword = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_password_entry"));
- g_settings_bind (MainSettings, "cddb-proxy-password", CddbProxyUserPassword,
- "text", G_SETTINGS_BIND_DEFAULT);
- g_settings_bind (MainSettings, "cddb-proxy-enabled", CddbProxyUserPassword,
+ g_settings_bind (MainSettings, "cddb-proxy-port", priv->cddb_port_button,
+ "value", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "cddb-proxy-enabled",
+ priv->cddb_port_button, "sensitive", G_SETTINGS_BIND_GET);
+ g_settings_bind (MainSettings, "cddb-proxy-username",
+ priv->cddb_user_entry, "text", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "cddb-proxy-enabled", priv->cddb_user_entry,
"sensitive", G_SETTINGS_BIND_GET);
+ g_settings_bind (MainSettings, "cddb-proxy-password",
+ priv->cddb_password_entry, "text",
+ G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "cddb-proxy-enabled",
+ priv->cddb_password_entry, "sensitive",
+ G_SETTINGS_BIND_GET);
/* Track Name list (CDDB results). */
- CddbFollowFile = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_follow_check"));
- g_settings_bind (MainSettings, "cddb-follow-file", CddbFollowFile,
+ g_settings_bind (MainSettings, "cddb-follow-file", priv->cddb_follow_check,
"active", G_SETTINGS_BIND_DEFAULT);
/* Check box to use DLM. */
- CddbUseDLM = GTK_WIDGET (gtk_builder_get_object (builder,
- "cddb_dlm_check"));
- g_settings_bind (MainSettings, "cddb-dlm-enabled", CddbUseDLM, "active",
- G_SETTINGS_BIND_DEFAULT);
-
-
- /*
- * Confirmation
- */
- ConfirmWriteTag = GTK_WIDGET (gtk_builder_get_object (builder,
- "confirm_write_check"));
- g_settings_bind (MainSettings, "confirm-write-tags", ConfirmWriteTag,
- "active", G_SETTINGS_BIND_DEFAULT);
-
- ConfirmRenameFile = GTK_WIDGET (gtk_builder_get_object (builder,
- "confirm_rename_check"));
- g_settings_bind (MainSettings, "confirm-rename-file", ConfirmRenameFile,
- "active", G_SETTINGS_BIND_DEFAULT);
-
- ConfirmDeleteFile = GTK_WIDGET (gtk_builder_get_object (builder,
- "confirm_delete_check"));
- g_settings_bind (MainSettings, "confirm-delete-file", ConfirmDeleteFile,
+ g_settings_bind (MainSettings, "cddb-dlm-enabled", priv->cddb_dlm_check,
"active", G_SETTINGS_BIND_DEFAULT);
- ConfirmWritePlayList = GTK_WIDGET (gtk_builder_get_object (builder,
- "confirm_write_playlist_check"));
+ /* Confirmation */
+ g_settings_bind (MainSettings, "confirm-write-tags",
+ priv->confirm_write_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "confirm-rename-file",
+ priv->confirm_rename_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "confirm-delete-file",
+ priv->confirm_delete_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
g_settings_bind (MainSettings, "confirm-write-playlist",
- ConfirmWritePlayList, "active", G_SETTINGS_BIND_DEFAULT);
-
- ConfirmWhenUnsavedFiles = GTK_WIDGET (gtk_builder_get_object (builder,
- "confirm_unsaved_files_check"));
+ priv->confirm_write_playlist_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
g_settings_bind (MainSettings, "confirm-when-unsaved-files",
- ConfirmWhenUnsavedFiles, "active",
+ priv->confirm_unsaved_files_check, "active",
G_SETTINGS_BIND_DEFAULT);
/* Properties of the scanner window */
- OpenScannerWindowOnStartup = GTK_WIDGET (gtk_builder_get_object (builder,
- "scanner_dialog_startup_check"));
- g_settings_bind (MainSettings, "scan-startup", OpenScannerWindowOnStartup,
- "active", G_SETTINGS_BIND_DEFAULT);
-
- g_object_unref (builder);
+ g_settings_bind (MainSettings, "scan-startup",
+ priv->scanner_dialog_startup_check, "active",
+ G_SETTINGS_BIND_DEFAULT);
/* Load the default page */
- g_settings_bind (MainSettings, "preferences-page", priv->options_notebook,
- "page", G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (MainSettings, "preferences-page",
+ priv->preferences_notebook, "page",
+ G_SETTINGS_BIND_DEFAULT);
}
static void
@@ -988,65 +775,63 @@ notify_id3_settings_active (GObject *object,
if (g_settings_get_boolean (MainSettings, "id3v2-enabled"))
{
- gtk_widget_set_sensitive (priv->LabelId3v2Charset, TRUE);
+ gtk_widget_set_sensitive (priv->id3_v2_encoding_label, TRUE);
#ifdef ENABLE_ID3LIB
- gtk_widget_set_sensitive (priv->LabelId3v2Version, TRUE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2VersionCombo, TRUE);
+ gtk_widget_set_sensitive (priv->id3_v2_version_label, TRUE);
+ gtk_widget_set_sensitive (priv->id3_v2_version_combo, TRUE);
if (!g_settings_get_boolean (MainSettings, "id3v2-version-4"))
{
/* When "ID3v2.3" is selected. */
- gtk_combo_box_set_active (GTK_COMBO_BOX (priv->FileWritingId3v2UnicodeCharacterSetCombo), 1);
- gtk_widget_set_sensitive (priv->FileWritingId3v2UnicodeCharacterSetCombo,
+ gtk_combo_box_set_active (GTK_COMBO_BOX (priv->id3_v2_unicode_encoding_combo), 1);
+ gtk_widget_set_sensitive (priv->id3_v2_unicode_encoding_combo,
FALSE);
}
else
{
/* When "ID3v2.4" is selected, set "UTF-8" as default value. */
- gtk_combo_box_set_active (GTK_COMBO_BOX (priv->FileWritingId3v2UnicodeCharacterSetCombo),
+ gtk_combo_box_set_active (GTK_COMBO_BOX (priv->id3_v2_unicode_encoding_combo),
0);
- gtk_widget_set_sensitive (priv->FileWritingId3v2UnicodeCharacterSetCombo,
+ gtk_widget_set_sensitive (priv->id3_v2_unicode_encoding_combo,
active);
}
#else
- gtk_widget_set_sensitive (priv->FileWritingId3v2UnicodeCharacterSetCombo,
+ gtk_widget_set_sensitive (priv->id3_v2_unicode_encoding_combo,
active);
#endif
- gtk_widget_set_sensitive(priv->FileWritingId3v2UseUnicodeCharacterSet, TRUE);
- gtk_widget_set_sensitive(priv->FileWritingId3v2UseNoUnicodeCharacterSet, TRUE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2NoUnicodeCharacterSetCombo,
+ gtk_widget_set_sensitive(priv->id3_v2_unicode_radio, TRUE);
+ gtk_widget_set_sensitive(priv->id3_v2_other_radio, TRUE);
+ gtk_widget_set_sensitive (priv->id3_v2_override_encoding_combo,
!active);
- gtk_widget_set_sensitive (priv->LabelAdditionalId3v2IconvOptions, !active);
- gtk_widget_set_sensitive (priv->FileWritingId3v2IconvOptionsNo, !active);
- gtk_widget_set_sensitive (priv->FileWritingId3v2IconvOptionsTranslit, !active);
- gtk_widget_set_sensitive (priv->FileWritingId3v2IconvOptionsIgnore, !active);
- gtk_widget_set_sensitive (priv->FileWritingId3v2UseCrc32, TRUE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2UseCompression, TRUE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2TextOnlyGenre, TRUE);
- gtk_widget_set_sensitive (priv->ConvertOldId3v2TagVersion, TRUE);
+ gtk_widget_set_sensitive (priv->id3_v2_iconv_label, !active);
+ gtk_widget_set_sensitive (priv->id3_v2_none_radio, !active);
+ gtk_widget_set_sensitive (priv->id3_v2_transliterate_radio, !active);
+ gtk_widget_set_sensitive (priv->id3_v2_ignore_radio, !active);
+ gtk_widget_set_sensitive (priv->id3_v2_crc32_check, TRUE);
+ gtk_widget_set_sensitive (priv->id3_v2_compression_check, TRUE);
+ gtk_widget_set_sensitive (priv->id3_v2_genre_check, TRUE);
+ gtk_widget_set_sensitive (priv->id3_v2_convert_check, TRUE);
}else
{
- gtk_widget_set_sensitive (priv->LabelId3v2Charset, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_encoding_label, FALSE);
#ifdef ENABLE_ID3LIB
- gtk_widget_set_sensitive (priv->LabelId3v2Version, FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2VersionCombo, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_version_label, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_version_combo, FALSE);
#endif
- gtk_widget_set_sensitive (priv->FileWritingId3v2UseUnicodeCharacterSet, FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2UseNoUnicodeCharacterSet, FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2UnicodeCharacterSetCombo,
- FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2NoUnicodeCharacterSetCombo,
- FALSE);
- gtk_widget_set_sensitive (priv->LabelAdditionalId3v2IconvOptions, FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2IconvOptionsNo, FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2IconvOptionsTranslit, FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2IconvOptionsIgnore, FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2UseCrc32, FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2UseCompression, FALSE);
- gtk_widget_set_sensitive (priv->FileWritingId3v2TextOnlyGenre, FALSE);
- gtk_widget_set_sensitive (priv->ConvertOldId3v2TagVersion, 0);
+ gtk_widget_set_sensitive (priv->id3_v2_unicode_radio, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_other_radio, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_unicode_encoding_combo, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_override_encoding_combo, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_iconv_label, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_none_radio, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_transliterate_radio, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_ignore_radio, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_crc32_check, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_compression_check, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_genre_check, FALSE);
+ gtk_widget_set_sensitive (priv->id3_v2_convert_check, FALSE);
}
active = g_settings_get_boolean (MainSettings, "id3v1-enabled");
@@ -1154,7 +939,7 @@ et_preferences_dialog_show_scanner (EtPreferencesDialog *self)
priv = et_preferences_dialog_get_instance_private (self);
- gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->options_notebook),
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (priv->preferences_notebook),
priv->options_notebook_scanner);
gtk_window_present (GTK_WINDOW (self));
}
@@ -1187,12 +972,297 @@ et_preferences_on_response (GtkDialog *dialog, gint response_id,
static void
et_preferences_dialog_init (EtPreferencesDialog *self)
{
+ gtk_widget_init_template (GTK_WIDGET (self));
create_preferences_dialog (self);
}
static void
et_preferences_dialog_class_init (EtPreferencesDialogClass *klass)
{
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
+ gtk_widget_class_set_template_from_resource (widget_class,
+ "/org/gnome/EasyTAG/preferences_dialog.ui");
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ default_path_button);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ browser_startup_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ browser_subdirs_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ browser_expand_subdirs_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ browser_hidden_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ browser_case_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ log_show_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ header_show_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ list_bold_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ file_name_replace_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ name_lower_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ name_upper_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ name_no_change_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ file_preserve_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ file_parent_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ file_encoding_try_alternative_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ file_encoding_transliterate_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ file_encoding_ignore_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ tags_auto_date_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ tags_auto_image_type_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ tags_track_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ tags_track_button);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ tags_disc_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ tags_disc_button);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ tags_preserve_focus_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ split_title_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ split_artist_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ split_album_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ split_genre_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ split_comment_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ split_composer_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ split_orig_artist_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_strip_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_convert_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_crc32_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_compression_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_genre_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_version_label);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_version_combo);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_encoding_label);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_unicode_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_unicode_encoding_combo);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_other_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_override_encoding_combo);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_iconv_label);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_none_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_transliterate_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v2_ignore_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v1_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v1_encoding_grid);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v1_encoding_combo);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v1_none_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v1_transliterate_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_v1_ignore_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_read_encoding_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ id3_read_encoding_combo);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ preferences_notebook);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ scanner_grid);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ fts_underscore_p20_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ fts_spaces_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ fts_none_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ rfs_underscore_p20_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ rfs_spaces_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ rfs_remove_radio);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ pfs_uppercase_prep_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ overwrite_fields_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ default_comment_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ default_comment_entry);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ crc32_default_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_automatic_host1_combo);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_automatic_port1_button);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_automatic_path1_entry);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_automatic_host2_combo);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_automatic_port2_button);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_automatic_path2_entry);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_manual_host_combo);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_manual_port_button);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_manual_path_entry);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_proxy_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_host_entry);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_port_button);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_user_entry);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_password_entry);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_follow_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ cddb_dlm_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ confirm_write_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ confirm_rename_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ confirm_delete_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ confirm_write_playlist_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ confirm_unsaved_files_check);
+ gtk_widget_class_bind_template_child_private (widget_class,
+ EtPreferencesDialog,
+ scanner_dialog_startup_check);
+ gtk_widget_class_bind_template_callback (widget_class,
+ et_preferences_on_response);
+ gtk_widget_class_bind_template_callback (widget_class,
+ et_prefs_current_folder_changed);
}
/*
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]