[gnome-subtitles] Preferences dialog review, with tabs and added options for video seek on change and time between sub
- From: Pedro Daniel da Rocha Melo e Castro <pcastro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-subtitles] Preferences dialog review, with tabs and added options for video seek on change and time between sub
- Date: Sun, 3 Jul 2011 19:03:28 +0000 (UTC)
commit ac169ef42fd698b65a0378dee70c804d9832cb6f
Author: Pedro Castro <pedro gnomesubtitles org>
Date: Sun Jul 3 17:50:27 2011 +0100
Preferences dialog review, with tabs and added options for video seek on change and time between subtitles
src/Glade/PreferencesDialog.glade | 825 +++++++++++++++---------
src/GnomeSubtitles/Core/Config.cs | 10 +-
src/GnomeSubtitles/Dialog/PreferencesDialog.cs | 41 ++-
3 files changed, 579 insertions(+), 297 deletions(-)
---
diff --git a/src/Glade/PreferencesDialog.glade b/src/Glade/PreferencesDialog.glade
index da6a7a4..6978fba 100644
--- a/src/Glade/PreferencesDialog.glade
+++ b/src/Glade/PreferencesDialog.glade
@@ -13,270 +13,211 @@
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK</property>
<property name="spacing">2</property>
<child>
- <widget class="GtkVBox" id="vbox1">
+ <widget class="GtkNotebook" id="notebook1">
<property name="visible">True</property>
- <property name="spacing">10</property>
+ <property name="can_focus">True</property>
+ <property name="scrollable">True</property>
<child>
- <widget class="GtkFrame" id="frame3">
+ <widget class="GtkVBox" id="vbox1">
<property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
+ <property name="border_width">8</property>
+ <property name="spacing">10</property>
<child>
- <widget class="GtkAlignment" id="alignment3">
+ <widget class="GtkFrame" id="frame3">
<property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
<child>
- <widget class="GtkVBox" id="vbox2">
+ <widget class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
- <property name="spacing">5</property>
+ <property name="left_padding">12</property>
<child>
- <widget class="GtkCheckButton" id="translationSaveAllCheckButton">
- <property name="label" translatable="yes">When saving subtitles, also save their _translation</property>
+ <widget class="GtkVBox" id="vbox2">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="OnTranslationSaveAllToggled"/>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="GtkCheckButton" id="translationSaveAllCheckButton">
+ <property name="label" translatable="yes">When saving subtitles, also save their _translation</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="OnTranslationSaveAllToggled"/>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="position">0</property>
- </packing>
</child>
</widget>
</child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label10">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Translation</b></property>
- <property name="use_markup">True</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkFrame" id="frame5">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
- <child>
- <widget class="GtkAlignment" id="alignment5">
- <property name="visible">True</property>
- <property name="left_padding">12</property>
<child>
- <widget class="GtkHBox" id="hbox2">
+ <widget class="GtkLabel" id="label10">
<property name="visible">True</property>
- <property name="spacing">3</property>
- <child>
- <widget class="GtkCheckButton" id="reactionDelayCheckButton">
- <property name="label" translatable="yes">Subtract</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="OnReactionDelayToggled"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkSpinButton" id="reactionDelaySpinButton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="max_length">4</property>
- <property name="invisible_char">â</property>
- <property name="width_chars">4</property>
- <property name="invisible_char_set">True</property>
- <property name="adjustment">2000 0 2000 50 100 0</property>
- <property name="numeric">True</property>
- <signal name="value_changed" handler="OnReactionDelaySpinButtonValueChanged"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label11">
- <property name="visible">True</property>
- <property name="label" translatable="yes">milliseconds when setting subtitle start/end on playback</property>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
- </child>
+ <property name="label" translatable="yes"><b>Translation File Saving</b></property>
+ <property name="use_markup">True</property>
+ <property name="use_underline">True</property>
</widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
</child>
</widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label12">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Reaction Delay</b></property>
- <property name="use_markup">True</property>
- </widget>
<packing>
- <property name="type">label_item</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <widget class="GtkFrame" id="frame2">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment2">
+ <widget class="GtkFrame" id="frame1">
<property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
<child>
- <widget class="GtkTable" id="table1">
+ <widget class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
- <property name="n_rows">3</property>
- <property name="n_columns">2</property>
- <property name="column_spacing">5</property>
- <property name="row_spacing">5</property>
- <child>
- <widget class="GtkLabel" id="label2">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">Ch_aracter coding to use:</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">_Subtitle format to use:</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkComboBox" id="fileSaveFormatComboBox">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkComboBox" id="fileSaveEncodingComboBox">
- <property name="visible">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
+ <property name="left_padding">12</property>
<child>
- <widget class="GtkLabel" id="label5">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">_Newline type to use:</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkComboBox" id="fileSaveNewlineComboBox">
+ <widget class="GtkVBox" id="vbox4">
<property name="visible">True</property>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="GtkTable" id="table2">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">5</property>
+ <property name="row_spacing">5</property>
+ <child>
+ <widget class="GtkLabel" id="label6">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Character c_oding to use:</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkComboBox" id="fileOpenEncodingComboBox">
+ <property name="visible">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label7">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">If auto detection _fails, use:</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkComboBox" id="fileOpenFallbackEncodingComboBox">
+ <property name="visible">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkCheckButton" id="videoAutoChooseFileCheckButton">
+ <property name="label" translatable="yes">Automatically choose the _video file to open</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="OnVideoAutoChooseFileToggled"/>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- </packing>
</child>
</widget>
</child>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label4">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>File Save As</b></property>
- <property name="use_markup">True</property>
- <property name="use_underline">True</property>
+ <child>
+ <widget class="GtkLabel" id="label3">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>File Open Dialog</b></property>
+ <property name="use_markup">True</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
</packing>
</child>
- </widget>
- <packing>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkFrame" id="frame1">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
<child>
- <widget class="GtkAlignment" id="alignment1">
+ <widget class="GtkFrame" id="frame2">
<property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
<child>
- <widget class="GtkVBox" id="vbox4">
+ <widget class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
- <property name="spacing">5</property>
+ <property name="left_padding">12</property>
<child>
- <widget class="GtkTable" id="table2">
+ <widget class="GtkTable" id="table1">
<property name="visible">True</property>
- <property name="n_rows">2</property>
+ <property name="n_rows">3</property>
<property name="n_columns">2</property>
<property name="column_spacing">5</property>
<property name="row_spacing">5</property>
<child>
- <widget class="GtkLabel" id="label6">
+ <widget class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">Character c_oding to use:</property>
+ <property name="label" translatable="yes">Ch_aracter coding to use:</property>
<property name="use_underline">True</property>
</widget>
<packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="fileOpenEncodingComboBox">
+ <widget class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Subtitle format to use:</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkComboBox" id="fileSaveFormatComboBox">
<property name="visible">True</property>
</widget>
<packing>
@@ -285,148 +226,452 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label7">
+ <widget class="GtkComboBox" id="fileSaveEncodingComboBox">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="label" translatable="yes">If auto detection _fails, use:</property>
- <property name="use_underline">True</property>
</widget>
<packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label5">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">_Newline type to use:</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
</packing>
</child>
<child>
- <widget class="GtkComboBox" id="fileOpenFallbackEncodingComboBox">
+ <widget class="GtkComboBox" id="fileSaveNewlineComboBox">
<property name="visible">True</property>
</widget>
<packing>
<property name="left_attach">1</property>
<property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
</packing>
</child>
</widget>
- <packing>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <widget class="GtkCheckButton" id="videoAutoChooseFileCheckButton">
- <property name="label" translatable="yes">Automatically choose the _video file to open</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="OnVideoAutoChooseFileToggled"/>
- </widget>
- <packing>
- <property name="position">1</property>
- </packing>
</child>
</widget>
</child>
+ <child>
+ <widget class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>File Save As Dialog</b></property>
+ <property name="use_markup">True</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
</child>
<child>
- <widget class="GtkLabel" id="label3">
+ <widget class="GtkFrame" id="frame4">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>File Open</b></property>
- <property name="use_markup">True</property>
- <property name="use_underline">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment4">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <widget class="GtkHBox" id="hbox1">
+ <property name="visible">True</property>
+ <property name="spacing">3</property>
+ <child>
+ <widget class="GtkCheckButton" id="autoBackupCheckButton">
+ <property name="label" translatable="yes">Create a _backup copy of files every</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="OnAutoBackupToggled"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="autoBackupTimeSpinButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">â</property>
+ <property name="width_chars">2</property>
+ <property name="adjustment">1 1 100 1 2 0</property>
+ <property name="numeric">True</property>
+ <signal name="value_changed" handler="OnAutoBackupTimeSpinButtonValueChanged"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">minutes</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label8">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Backup</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
</packing>
</child>
</widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="filesLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Files</property>
+ </widget>
<packing>
- <property name="position">3</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
</packing>
</child>
<child>
- <widget class="GtkFrame" id="frame4">
+ <widget class="GtkVBox" id="vbox3">
<property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="shadow_type">none</property>
+ <property name="border_width">8</property>
+ <property name="spacing">10</property>
<child>
- <widget class="GtkAlignment" id="alignment4">
+ <widget class="GtkFrame" id="frame6">
<property name="visible">True</property>
- <property name="left_padding">12</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
<child>
- <widget class="GtkHBox" id="hbox1">
+ <widget class="GtkAlignment" id="alignment6">
<property name="visible">True</property>
- <property name="spacing">3</property>
- <child>
- <widget class="GtkCheckButton" id="autoBackupCheckButton">
- <property name="label" translatable="yes">Create a _backup copy of files every</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- <signal name="toggled" handler="OnAutoBackupToggled"/>
- </widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">0</property>
- </packing>
- </child>
+ <property name="left_padding">12</property>
<child>
- <widget class="GtkSpinButton" id="autoBackupTimeSpinButton">
+ <widget class="GtkVBox" id="vbox5">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="max_length">2</property>
- <property name="invisible_char">â</property>
- <property name="width_chars">2</property>
- <property name="adjustment">1 1 100 1 2 0</property>
- <property name="numeric">True</property>
- <signal name="value_changed" handler="OnAutoBackupTimeSpinButtonValueChanged"/>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="GtkCheckButton" id="videoSeekCheckButton">
+ <property name="label" translatable="yes">Automatically seek the video to the first subtitle when changing timings</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="OnVideoSeekToggled"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
+ <property name="spacing">3</property>
+ <child>
+ <widget class="GtkLabel" id="label18">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Seek</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="videoSeekRewindSpinButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="max_length">4</property>
+ <property name="invisible_char">â</property>
+ <property name="width_chars">4</property>
+ <property name="invisible_char_set">True</property>
+ <property name="adjustment">200 0 2000 50 100 0</property>
+ <property name="numeric">True</property>
+ <signal name="value_changed" handler="OnVideoSeekRewindSpinButtonValueChanged"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label13">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">ms before the actual start to help review new timings</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">1</property>
- </packing>
</child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label15">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Video Seeking</b></property>
+ <property name="use_markup">True</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkFrame" id="frame7">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment7">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
<child>
- <widget class="GtkLabel" id="label9">
+ <widget class="GtkVBox" id="vbox6">
<property name="visible">True</property>
- <property name="label" translatable="yes">minutes</property>
+ <property name="spacing">5</property>
+ <child>
+ <widget class="GtkHBox" id="hbox4">
+ <property name="visible">True</property>
+ <property name="spacing">3</property>
+ <child>
+ <widget class="GtkLabel" id="label17">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Leave</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="subtitleSplitSpinButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="max_length">4</property>
+ <property name="invisible_char">â</property>
+ <property name="width_chars">4</property>
+ <property name="invisible_char_set">True</property>
+ <property name="adjustment">100 0 2000 50 100 0</property>
+ <property name="numeric">True</property>
+ <signal name="value_changed" handler="OnSubtitleSplitSpinButtonValueChanged"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label14">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">ms between subtitles when splitting</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
</widget>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">2</property>
- </packing>
</child>
</widget>
</child>
+ <child>
+ <widget class="GtkLabel" id="label16">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Subtitle Splitting</b></property>
+ <property name="use_markup">True</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
</child>
<child>
- <widget class="GtkLabel" id="label8">
+ <widget class="GtkFrame" id="frame5">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>Backup</b></property>
- <property name="use_markup">True</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <widget class="GtkAlignment" id="alignment5">
+ <property name="visible">True</property>
+ <property name="left_padding">12</property>
+ <child>
+ <widget class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
+ <property name="spacing">3</property>
+ <child>
+ <widget class="GtkCheckButton" id="reactionDelayCheckButton">
+ <property name="label" translatable="yes">Subtract</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled" handler="OnReactionDelayToggled"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkSpinButton" id="reactionDelaySpinButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="max_length">4</property>
+ <property name="invisible_char">â</property>
+ <property name="width_chars">4</property>
+ <property name="invisible_char_set">True</property>
+ <property name="adjustment">2000 0 2000 50 100 0</property>
+ <property name="numeric">True</property>
+ <signal name="value_changed" handler="OnReactionDelaySpinButtonValueChanged"/>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label11">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">ms when setting subtitle start/end on playback</property>
+ </widget>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Reaction Delay</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="type">label_item</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
</packing>
</child>
</widget>
<packing>
- <property name="position">4</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="editingLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Editing</property>
+ </widget>
+ <packing>
+ <property name="position">1</property>
+ <property name="tab_fill">False</property>
+ <property name="type">tab</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ <child>
+ <placeholder/>
+ <packing>
+ <property name="type">tab</property>
</packing>
</child>
</widget>
<packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
diff --git a/src/GnomeSubtitles/Core/Config.cs b/src/GnomeSubtitles/Core/Config.cs
index a544fd1..d7c8be1 100644
--- a/src/GnomeSubtitles/Core/Config.cs
+++ b/src/GnomeSubtitles/Core/Config.cs
@@ -55,8 +55,8 @@ public class Config {
private const string keyPrefsVideoAutoChooseFile = keyPrefsVideo + "auto_choose_file";
private const string keyPrefsVideoApplyReactionDelay = keyPrefsVideo + "apply_reaction_delay";
private const string keyPrefsVideoReactionDelay = keyPrefsVideo + "reaction_delay";
- private const string keyPrefsVideoSeekOnChange = keyPrefsVideo + "seek_on_change"; //FIXME add option to the Preferences Dialog
- private const string keyPrefsVideoSeekOnChangeRewind = keyPrefsVideo + "seek_on_change_rewind"; //FIXME add option to the Preferences Dialog
+ private const string keyPrefsVideoSeekOnChange = keyPrefsVideo + "seek_on_change";
+ private const string keyPrefsVideoSeekOnChangeRewind = keyPrefsVideo + "seek_on_change_rewind";
private const string keyPrefsViewLineLengths = keyPrefsView + "line_lengths";
private const string keyPrefsSpellCheckActiveTextLanguage = keyPrefsSpellCheck + "active_text_language";
private const string keyPrefsSpellCheckActiveTranslationLanguage = keyPrefsSpellCheck + "active_translation_language";
@@ -74,9 +74,9 @@ public class Config {
private const string keyPrefsDefaultsFileSaveNewline = keyPrefsDefaults + "file_save_newline";
private const string keyPrefsBackupAutoBackup = keyPrefsBackup + "auto_backup";
private const string keyPrefsBackupBackupTime = keyPrefsBackup + "backup_time";
- private const string keyPrefsTimingsTimeStep = keyPrefsTimings + "time_step"; //FIXME add option to the Preferences Dialog
- private const string keyPrefsTimingsFramesStep = keyPrefsTimings + "frames_step"; //FIXME add option to the Preferences Dialog
- private const string keyPrefsTimingsTimeBetweenSubtitles = keyPrefsTimings + "time_between_subs"; //FIXME add option to the Preferences Dialog
+ private const string keyPrefsTimingsTimeStep = keyPrefsTimings + "time_step"; //Not editable in the Preferences dialog
+ private const string keyPrefsTimingsFramesStep = keyPrefsTimings + "frames_step"; //Not editable in the Preferences dialog
+ private const string keyPrefsTimingsTimeBetweenSubtitles = keyPrefsTimings + "time_between_subs";
/* Cached values */
private bool isValuePrefsVideoApplyReactionDelayCached = false;
diff --git a/src/GnomeSubtitles/Dialog/PreferencesDialog.cs b/src/GnomeSubtitles/Dialog/PreferencesDialog.cs
index 8b2efb6..205fffb 100644
--- a/src/GnomeSubtitles/Dialog/PreferencesDialog.cs
+++ b/src/GnomeSubtitles/Dialog/PreferencesDialog.cs
@@ -1,6 +1,6 @@
/*
* This file is part of Gnome Subtitles.
- * Copyright (C) 2007-2010 Pedro Castro
+ * Copyright (C) 2007-2011 Pedro Castro
*
* Gnome Subtitles is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -44,6 +44,7 @@ public class PreferencesDialog : GladeDialog {
[WidgetAttribute] private CheckButton videoAutoChooseFileCheckButton = null;
[WidgetAttribute] private CheckButton autoBackupCheckButton = null;
[WidgetAttribute] private CheckButton reactionDelayCheckButton = null;
+ [WidgetAttribute] private CheckButton videoSeekCheckButton = null;
[WidgetAttribute] private ComboBox fileOpenEncodingComboBox = null;
[WidgetAttribute] private ComboBox fileOpenFallbackEncodingComboBox = null;
[WidgetAttribute] private ComboBox fileSaveEncodingComboBox = null;
@@ -51,7 +52,8 @@ public class PreferencesDialog : GladeDialog {
[WidgetAttribute] private ComboBox fileSaveNewlineComboBox = null;
[WidgetAttribute] private SpinButton autoBackupTimeSpinButton = null;
[WidgetAttribute] private SpinButton reactionDelaySpinButton = null;
-
+ [WidgetAttribute] private SpinButton videoSeekRewindSpinButton = null;
+ [WidgetAttribute] private SpinButton subtitleSplitSpinButton = null;
public PreferencesDialog () : base(gladeFilename, false) {
LoadValues();
@@ -61,6 +63,11 @@ public class PreferencesDialog : GladeDialog {
/* Private members */
private void LoadValues () {
+ LoadValuesFilesTab();
+ LoadValuesEditingTab();
+ }
+
+ private void LoadValuesFilesTab () {
/* Translation Save All */
translationSaveAllCheckButton.Active = Base.Config.PrefsTranslationSaveAll;
@@ -76,6 +83,16 @@ public class PreferencesDialog : GladeDialog {
/* Auto Backup */
SetAutoBackup();
+ }
+
+ private void LoadValuesEditingTab () {
+ /* Video Seeking */
+ videoSeekCheckButton.Active = Base.Config.PrefsVideoSeekOnChange;
+ videoSeekRewindSpinButton.Value = Base.Config.PrefsVideoSeekOnChangeRewind;
+ videoSeekRewindSpinButton.Sensitive = videoSeekCheckButton.Active;
+
+ /* Subtitle Splitting */
+ subtitleSplitSpinButton.Value = Base.Config.PrefsTimingsTimeBetweenSubtitles;
/* Reaction Delay */
SetReactionDelay();
@@ -193,6 +210,11 @@ public class PreferencesDialog : GladeDialog {
reactionDelayCheckButton.Active = true;
reactionDelaySpinButton.Value = 200;
+
+ videoSeekCheckButton.Active = true;
+ videoSeekRewindSpinButton.Value = 200;
+
+ subtitleSplitSpinButton.Value = 100;
}
@@ -331,6 +353,21 @@ public class PreferencesDialog : GladeDialog {
private void OnReactionDelaySpinButtonValueChanged (object o, EventArgs args) {
Base.Config.PrefsVideoReactionDelay = (o as SpinButton).ValueAsInt;
}
+
+ private void OnVideoSeekToggled (object o, EventArgs args) {
+ bool isActive = (o as CheckButton).Active;
+
+ Base.Config.PrefsVideoSeekOnChange = isActive;
+ videoSeekRewindSpinButton.Sensitive = isActive;
+ }
+
+ private void OnVideoSeekRewindSpinButtonValueChanged (object o, EventArgs args) {
+ Base.Config.PrefsVideoSeekOnChangeRewind = (o as SpinButton).ValueAsInt;
+ }
+
+ private void OnSubtitleSplitSpinButtonValueChanged (object o, EventArgs args) {
+ Base.Config.PrefsTimingsTimeBetweenSubtitles = (o as SpinButton).ValueAsInt;
+ }
protected override bool ProcessResponse (ResponseType response) {
if (response == ResponseType.Cancel) {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]