[easytag/wip/application-window: 2/3] Move file preferences page to GtkBuilder
- From: David King <davidk src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [easytag/wip/application-window: 2/3] Move file preferences page to GtkBuilder
- Date: Sat, 16 Aug 2014 09:29:04 +0000 (UTC)
commit 766ac08b2ed079649327f843151a9ead8c81946c
Author: David King <amigadave amigadave com>
Date: Sat Aug 16 09:12:56 2014 +0100
Move file preferences page to GtkBuilder
data/preferences_dialog.ui | 131 ++++++++++++++++++++++++++++++++++++++++++++
src/preferences_dialog.c | 112 +++++++------------------------------
2 files changed, 153 insertions(+), 90 deletions(-)
---
diff --git a/data/preferences_dialog.ui b/data/preferences_dialog.ui
index 2a4c170..9e7c9d4 100644
--- a/data/preferences_dialog.ui
+++ b/data/preferences_dialog.ui
@@ -164,6 +164,137 @@
</object>
</child>
</object>
+ <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">
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">File Settings</property>
+ <property name="visible">True</property>
+ </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">
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <property name="halign">start</property>
+ <property name="label" translatable="yes">Filenames</property>
+ <property name="margin-top">12</property>
+ <property name="visible">True</property>
+ </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 illegal characters for FAT32/16 and
ISO9660 + Joliet filesystems ('\\', ':', ';', '*', '?', '\"', '<', '>', '|') of the filename to avoid
problem when renaming the file. This is useful when renaming the file from the tag with the
scanner.</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">
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ <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>
+ </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">With this option, it will try the
conversion to the encoding associated to your locale (for example: ISO-8859-1 for 'fr', KOI8-R for 'ru',
ISO-8859-2 for 'ro'). If it fails, it will try the character encoding ISO-8859-1</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">Force using the system character encoding and
transliterate characters</property>
+ <property name="margin-left">24</property>
+ <property name="name">transliterate</property>
+ <property name="tooltip-text" translatable="yes">With this option, when a character cannot
be represented in the target character set, it can be approximated through one or several similarly looking
characters</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">Force using the system character encoding and
silently discard some characters</property>
+ <property name="margin-left">24</property>
+ <property name="name">ignore</property>
+ <property name="tooltip-text" translatable="yes">With this option, when a character cannot
be represented in the target character set, it will be silently discarded</property>
+ <property name="visible">True</property>
+ </object>
+ </child>
+ </object>
<object class="GtkGrid" id="scanner_grid">
<property name="border-width">12</property>
<property name="orientation">vertical</property>
diff --git a/src/preferences_dialog.c b/src/preferences_dialog.c
index 90f7ab9..fd09877 100644
--- a/src/preferences_dialog.c
+++ b/src/preferences_dialog.c
@@ -419,50 +419,25 @@ create_preferences_dialog (EtPreferencesDialog *self)
/*
* File Settings
*/
- Label = gtk_label_new (_("File Settings"));
- VBox = gtk_box_new (GTK_ORIENTATION_VERTICAL, BOX_SPACING);
- gtk_notebook_append_page (GTK_NOTEBOOK (priv->options_notebook), VBox, Label);
- gtk_container_set_border_width (GTK_CONTAINER (VBox), BOX_SPACING);
+ Label = gtk_label_new (_("Files"));
+ VBox = GTK_WIDGET (gtk_builder_get_object (builder, "file_grid"));
+ gtk_notebook_append_page (GTK_NOTEBOOK (priv->options_notebook), VBox,
+ Label);
/* File (name) Options */
- Frame = gtk_frame_new (_("File Options"));
- gtk_box_pack_start(GTK_BOX(VBox),Frame,FALSE,FALSE,0);
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, BOX_SPACING);
- gtk_container_add(GTK_CONTAINER(Frame),vbox);
- gtk_container_set_border_width (GTK_CONTAINER(vbox), BOX_SPACING);
-
- ReplaceIllegalCharactersInFilename = gtk_check_button_new_with_label (_("Replace illegal characters when
renaming"));
- gtk_box_pack_start(GTK_BOX(vbox),ReplaceIllegalCharactersInFilename,FALSE,FALSE,0);
+ ReplaceIllegalCharactersInFilename = GTK_WIDGET (gtk_builder_get_object (builder,
+ "file_name_replace_check"));
g_settings_bind (MainSettings, "rename-replace-illegal-chars",
ReplaceIllegalCharactersInFilename, "active",
G_SETTINGS_BIND_DEFAULT);
- gtk_widget_set_tooltip_text(ReplaceIllegalCharactersInFilename,_("Convert illegal characters for "
- "FAT32/16 and ISO9660 + Joliet filesystems ('\\', ':', ';', '*', '?', '\"', '<', '>', '|') "
- "of the filename to avoid problem when renaming the file. This is useful when renaming the "
- "file from the tag with the scanner."));
- hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, BOX_SPACING);
- gtk_box_pack_start(GTK_BOX(vbox),hbox,FALSE,FALSE,0);
/* Extension case (lower/upper?) */
- Label = gtk_label_new(_("Convert filename extension to:"));
- gtk_box_pack_start(GTK_BOX(hbox),Label,FALSE,FALSE,0);
-
- FilenameExtensionLowerCase = gtk_radio_button_new_with_label(NULL,_("Lower Case"));
- gtk_widget_set_name (FilenameExtensionLowerCase, "lower-case");
- gtk_box_pack_start(GTK_BOX(hbox),FilenameExtensionLowerCase,FALSE,FALSE,2);
- gtk_widget_set_tooltip_text(FilenameExtensionLowerCase,_("For example, the extension will be converted
to '.mp3'"));
-
- FilenameExtensionUpperCase = gtk_radio_button_new_with_label(
- gtk_radio_button_get_group(GTK_RADIO_BUTTON(FilenameExtensionLowerCase)),_("Upper Case"));
- gtk_widget_set_name (FilenameExtensionUpperCase, "upper-case");
- gtk_box_pack_start(GTK_BOX(hbox),FilenameExtensionUpperCase,FALSE,FALSE,2);
- gtk_widget_set_tooltip_text(FilenameExtensionUpperCase,_("For example, the extension will be converted
to '.MP3'"));
-
- FilenameExtensionNoChange = gtk_radio_button_new_with_label(
- gtk_radio_button_get_group(GTK_RADIO_BUTTON(FilenameExtensionLowerCase)),_("No Change"));
- gtk_widget_set_name (FilenameExtensionNoChange, "no-change");
- gtk_box_pack_start(GTK_BOX(hbox),FilenameExtensionNoChange,FALSE,FALSE,2);
- gtk_widget_set_tooltip_text(FilenameExtensionNoChange,_("The extension will not be converted"));
+ 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",
@@ -484,69 +459,26 @@ create_preferences_dialog (EtPreferencesDialog *self)
FilenameExtensionNoChange, NULL);
/* Preserve modification time */
- PreserveModificationTime = gtk_check_button_new_with_label (_("Preserve modification time when writing
files"));
- gtk_box_pack_start(GTK_BOX(vbox),PreserveModificationTime,FALSE,FALSE,0);
+ PreserveModificationTime = GTK_WIDGET (gtk_builder_get_object (builder,
+ "file_preserve_check"));
g_settings_bind (MainSettings, "file-preserve-modification-time",
PreserveModificationTime, "active",
G_SETTINGS_BIND_DEFAULT);
- gtk_widget_set_tooltip_text (PreserveModificationTime,
- _("Whether to preserve the existing modification time when editing files"));
/* Change directory modification time */
- UpdateParentDirectoryModificationTime = gtk_check_button_new_with_label (_("Update parent directory
modification time when writing files"));
- gtk_box_pack_start(GTK_BOX(vbox),UpdateParentDirectoryModificationTime,FALSE,FALSE,0);
+ UpdateParentDirectoryModificationTime = GTK_WIDGET (gtk_builder_get_object (builder,
+ "file_parent_check"));
g_settings_bind (MainSettings, "file-update-parent-modification-time",
UpdateParentDirectoryModificationTime, "active",
G_SETTINGS_BIND_DEFAULT);
- gtk_widget_set_tooltip_text (UpdateParentDirectoryModificationTime,
- _("Whether to update the modification time on the parent directory when
editing files"));
-
/* Character Set for Filename */
- Frame = gtk_frame_new (_("Character Set for Filename"));
- gtk_box_pack_start(GTK_BOX(VBox),Frame,FALSE,FALSE,0);
- vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, BOX_SPACING);
- gtk_container_add(GTK_CONTAINER(Frame),vbox);
- gtk_container_set_border_width (GTK_CONTAINER (vbox), BOX_SPACING);
-
- Table = et_grid_new (4, 2);
- gtk_box_pack_start(GTK_BOX(vbox),Table,FALSE,FALSE,0);
- /*gtk_grid_set_row_spacing (GTK_GRID (Table), 2);*/
- gtk_grid_set_column_spacing (GTK_GRID (Table), 2 * BOX_SPACING);
-
- /* Rules for character set */
- Label = gtk_label_new (_("Encoding options when renaming files"));
- gtk_grid_attach (GTK_GRID (Table), Label, 0, 0, 2, 1);
- gtk_widget_set_halign (Label, GTK_ALIGN_START);
-
- FilenameCharacterSetOther = gtk_radio_button_new_with_label(NULL,_("Try another "
- "character encoding"));
- gtk_grid_attach (GTK_GRID (Table), FilenameCharacterSetOther, 1, 1, 1, 1);
- gtk_widget_set_name (FilenameCharacterSetOther, "try-alternative");
- gtk_widget_set_tooltip_text(FilenameCharacterSetOther,_("With this option, it will "
- "try the conversion to the encoding associated to your locale (for example: "
- "ISO-8859-1 for 'fr', KOI8-R for 'ru', ISO-8859-2 for 'ro'). If it fails, it "
- "will try the character encoding ISO-8859-1."));
-
- FilenameCharacterSetApproximate = gtk_radio_button_new_with_label(
- gtk_radio_button_get_group(GTK_RADIO_BUTTON(FilenameCharacterSetOther)),
- _("Force using the system character encoding and activate the transliteration"));
- gtk_grid_attach (GTK_GRID (Table), FilenameCharacterSetApproximate, 1, 2,
- 1, 1);
- gtk_widget_set_name (FilenameCharacterSetApproximate, "transliterate");
- gtk_widget_set_tooltip_text(FilenameCharacterSetApproximate,_("With this option, when "
- "a character cannot be represented in the target character set, it can be "
- "approximated through one or several similarly looking characters."));
-
- FilenameCharacterSetDiscard = gtk_radio_button_new_with_label(
- gtk_radio_button_get_group(GTK_RADIO_BUTTON(FilenameCharacterSetOther)),
- _("Force using the system character encoding and silently discard some characters"));
- gtk_grid_attach (GTK_GRID (Table), FilenameCharacterSetDiscard, 1, 3, 1,
- 1);
- gtk_widget_set_name (FilenameCharacterSetDiscard, "ignore");
- gtk_widget_set_tooltip_text(FilenameCharacterSetDiscard,_("With this option, when "
- "a character cannot be represented in the target character set, it will "
- "be silently discarded."));
+ 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",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]