gnome-subtitles r968 - in trunk: . data src/Glade src/GnomeSubtitles/Core src/GnomeSubtitles/Dialogs src/GnomeSubtitles/SubtitleEdit
- From: pcastro svn gnome org
- To: svn-commits-list gnome org
- Subject: gnome-subtitles r968 - in trunk: . data src/Glade src/GnomeSubtitles/Core src/GnomeSubtitles/Dialogs src/GnomeSubtitles/SubtitleEdit
- Date: Sat, 8 Mar 2008 12:27:44 +0000 (GMT)
Author: pcastro
Date: Sat Mar 8 12:27:44 2008
New Revision: 968
URL: http://svn.gnome.org/viewvc/gnome-subtitles?rev=968&view=rev
Log:
Allow to set the language for text and translation separately.
Modified:
trunk/NEWS
trunk/data/gnome-subtitles.schemas
trunk/src/Glade/MainWindow.glade
trunk/src/Glade/SetLanguageDialog.glade
trunk/src/GnomeSubtitles/Core/Config.cs
trunk/src/GnomeSubtitles/Core/EventHandlers.cs
trunk/src/GnomeSubtitles/Core/Menus.cs
trunk/src/GnomeSubtitles/Core/SpellLanguages.cs
trunk/src/GnomeSubtitles/Core/WidgetNames.cs
trunk/src/GnomeSubtitles/Dialogs/SetLanguageDialog.cs
trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditText.cs
trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditTextView.cs
trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditTranslation.cs
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Sat Mar 8 12:27:44 2008
@@ -1,6 +1,13 @@
Gnome Subtitles
===============
+0.8
+===
+
+Bug fixes:
+- Crash on close of "Add or remove" encoding dialog (#520804)
+
+
0.7.2 (06/01/2008)
==================
Modified: trunk/data/gnome-subtitles.schemas
==============================================================================
--- trunk/data/gnome-subtitles.schemas (original)
+++ trunk/data/gnome-subtitles.schemas Sat Mar 8 12:27:44 2008
@@ -25,17 +25,28 @@
</locale>
</schema>
<schema>
- <key>/schemas/apps/gnome-subtitles/preferences/spellcheck/active_language</key>
- <applyto>/apps/gnome-subtitles/preferences/spellcheck/active_language</applyto>
+ <key>/schemas/apps/gnome-subtitles/preferences/spellcheck/active_text_language</key>
+ <applyto>/apps/gnome-subtitles/preferences/spellcheck/active_text_language</applyto>
<owner>gnome-subtitles</owner>
<type>string</type>
<default></default>
<locale name="C">
- <short>Active spellcheck language</short>
+ <short>Active spellcheck language for text</short>
<long>The language used to check the spelling of subtitle text.</long>
</locale>
</schema>
<schema>
+ <key>/schemas/apps/gnome-subtitles/preferences/spellcheck/active_translation_language</key>
+ <applyto>/apps/gnome-subtitles/preferences/spellcheck/active_translation_language</applyto>
+ <owner>gnome-subtitles</owner>
+ <type>string</type>
+ <default></default>
+ <locale name="C">
+ <short>Active spellcheck language for translation</short>
+ <long>The language used to check the spelling of subtitle translation.</long>
+ </locale>
+ </schema>
+ <schema>
<key>/schemas/apps/gnome-subtitles/preferences/spellcheck/autocheck</key>
<applyto>/apps/gnome-subtitles/preferences/spellcheck/autocheck</applyto>
<owner>gnome-subtitles</owner>
Modified: trunk/src/Glade/MainWindow.glade
==============================================================================
--- trunk/src/Glade/MainWindow.glade (original)
+++ trunk/src/Glade/MainWindow.glade Sat Mar 8 12:27:44 2008
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE glade-interface SYSTEM "glade-2.0.dtd">
-<!--Generated with glade3 3.4.0 on Sat Mar 1 22:54:48 2008
+<!--Generated with glade3 3.4.0 on Sat Mar 8 12:19:09 2008
Version: 3.0.1
Date: Thu Dec 7 16:42:10 2006
User: noup
@@ -73,7 +73,7 @@
<widget class="GtkMenuItem" id="fileTranslation">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">Translation</property>
+ <property name="label" translatable="yes">_Translation</property>
<property name="use_underline">True</property>
<child>
<widget class="GtkMenu" id="fileTranslationMenu">
@@ -854,7 +854,7 @@
<property name="label" translatable="yes">_Tools</property>
<property name="use_underline">True</property>
<child>
- <widget class="GtkMenu" id="menu2">
+ <widget class="GtkMenu" id="toolsMenu">
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<child>
@@ -868,13 +868,23 @@
</widget>
</child>
<child>
- <widget class="GtkMenuItem" id="toolsSetLanguage">
+ <widget class="GtkMenuItem" id="toolsSetTextLanguage">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">_Set Language</property>
+ <property name="label" translatable="yes">Set _Text Language</property>
<property name="use_underline">True</property>
- <signal name="activate" handler="OnToolsSetLanguage"/>
+ <signal name="activate" handler="OnToolsSetTextLanguage"/>
+ </widget>
+ </child>
+ <child>
+ <widget class="GtkMenuItem" id="toolsSetTranslationLanguage">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">Set Translatio_n Language</property>
+ <property name="use_underline">True</property>
+ <signal name="activate" handler="OnToolsSetTranslationLanguage"/>
</widget>
</child>
</widget>
Modified: trunk/src/Glade/SetLanguageDialog.glade
==============================================================================
--- trunk/src/Glade/SetLanguageDialog.glade (original)
+++ trunk/src/Glade/SetLanguageDialog.glade Sat Mar 8 12:27:44 2008
@@ -23,7 +23,6 @@
<widget class="GtkLabel" id="introLabel">
<property name="visible">True</property>
<property name="xalign">0</property>
- <property name="label" translatable="yes">Select the _language of the current subtitles.</property>
<property name="use_underline">True</property>
<property name="wrap">True</property>
<property name="mnemonic_widget">languagesTreeView</property>
Modified: trunk/src/GnomeSubtitles/Core/Config.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Core/Config.cs (original)
+++ trunk/src/GnomeSubtitles/Core/Config.cs Sat Mar 8 12:27:44 2008
@@ -35,7 +35,8 @@
/* Constant key strings */
private const string keyPrefsEncodingsShownInMenu = keyPrefsEncodings + "shown_in_menu";
- private const string keyPrefsSpellCheckActiveLanguage = keyPrefsSpellCheck + "active_language";
+ private const string keyPrefsSpellCheckActiveTextLanguage = keyPrefsSpellCheck + "active_text_language";
+ private const string keyPrefsSpellCheckActiveTranslationLanguage = keyPrefsSpellCheck + "active_translation_language";
private const string keyPrefsSpellCheckAutocheck = keyPrefsSpellCheck + "autocheck";
private const string keyPrefsVideoAutoChooseFile = keyPrefsVideo + "auto_choose_file";
private const string keyPrefsWindowHeight = keyPrefsWindow + "height";
@@ -55,9 +56,14 @@
set { SetStrings(keyPrefsEncodingsShownInMenu, value); }
}
- public string PrefsSpellCheckActiveLanguage {
- get { return GetString(keyPrefsSpellCheckActiveLanguage, String.Empty); }
- set { Set(keyPrefsSpellCheckActiveLanguage, value); }
+ public string PrefsSpellCheckActiveTextLanguage {
+ get { return GetString(keyPrefsSpellCheckActiveTextLanguage, String.Empty); }
+ set { Set(keyPrefsSpellCheckActiveTextLanguage, value); }
+ }
+
+ public string PrefsSpellCheckActiveTranslationLanguage {
+ get { return GetString(keyPrefsSpellCheckActiveTranslationLanguage, String.Empty); }
+ set { Set(keyPrefsSpellCheckActiveTranslationLanguage, value); }
}
public bool PrefsSpellCheckAutocheck {
Modified: trunk/src/GnomeSubtitles/Core/EventHandlers.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Core/EventHandlers.cs (original)
+++ trunk/src/GnomeSubtitles/Core/EventHandlers.cs Sat Mar 8 12:27:44 2008
@@ -273,8 +273,12 @@
Global.SpellLanguages.Enabled = enabled;
}
- public void OnToolsSetLanguage (object o, EventArgs args) {
- new SetLanguageDialog().Show();
+ public void OnToolsSetTextLanguage (object o, EventArgs args) {
+ new SetLanguageDialog(SubtitleTextType.Text).Show();
+ }
+
+ public void OnToolsSetTranslationLanguage (object o, EventArgs args) {
+ new SetLanguageDialog(SubtitleTextType.Translation).Show();
}
Modified: trunk/src/GnomeSubtitles/Core/Menus.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Core/Menus.cs (original)
+++ trunk/src/GnomeSubtitles/Core/Menus.cs Sat Mar 8 12:27:44 2008
@@ -50,8 +50,7 @@
SetFrameRateMenus();
SetActiveTimingMode(Global.TimingMode);
- SetToolsSetLanguageSensitivity(true);
- SetToolsAutocheckSpellingSensitivity(Global.SpellLanguages.HasActiveLanguage);
+ SetToolsAutocheckSpellingSensitivity(true);
SetCheckMenuItemActivity(WidgetNames.ToolsAutocheckSpelling, Global.SpellLanguages.Enabled);
}
@@ -153,10 +152,6 @@
SetSensitivity(WidgetNames.SearchFindPrevious, true);
}
- public void SetToolsSetLanguageSensitivity (bool sensitivity) {
- SetSensitivity(WidgetNames.ToolsSetLanguage, sensitivity);
- }
-
public void SetToolsAutocheckSpellingSensitivity (bool sensitivity) {
SetSensitivity(WidgetNames.ToolsAutocheckSpelling, sensitivity);
}
@@ -298,7 +293,8 @@
SetSensitivity(WidgetNames.SearchFind, true);
SetSensitivity(WidgetNames.SearchReplace, true);
/* Tools Menu */
- SetToolsSetLanguageSensitivity(true);
+ SetSensitivity(WidgetNames.ToolsSetTextLanguage, true);
+ SetSensitivity(WidgetNames.ToolsSetTranslationLanguage, false);
/* Toolbar */
SetSensitivity(WidgetNames.SaveButton, true);
@@ -323,6 +319,9 @@
/* Search Menu */
SetSensitivity(WidgetNames.SearchFindNext, false);
SetSensitivity(WidgetNames.SearchFindPrevious, false);
+ /* Tools Menu */
+ SetSensitivity(WidgetNames.ToolsSetTranslationLanguage, false);
+
/* Toolbar */
SetSensitivity(WidgetNames.UndoButton, false);
SetSensitivity(WidgetNames.RedoButton, false);
@@ -336,6 +335,7 @@
SetSensitivity(WidgetNames.FileTranslationSave, sensitivity);
SetSensitivity(WidgetNames.FileTranslationSaveAs, sensitivity);
SetSensitivity(WidgetNames.FileTranslationClose, sensitivity);
+ SetSensitivity(WidgetNames.ToolsSetTranslationLanguage, sensitivity);
SetViewVideoSubtitlesSensitivity();
}
Modified: trunk/src/GnomeSubtitles/Core/SpellLanguages.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Core/SpellLanguages.cs (original)
+++ trunk/src/GnomeSubtitles/Core/SpellLanguages.cs Sat Mar 8 12:27:44 2008
@@ -29,12 +29,12 @@
public delegate void LanguageListHandler (string langTag, string providerName, string providerDesc, string providerFile, IntPtr userdata);
public class SpellLanguages {
- private ArrayList languages = null;
- private int activeLanguageIndex = -1;
private bool enabled = false;
-
+ private ArrayList languages = null;
+ private int activeTextLanguageIndex = -1;
+ private int activeTranslationLanguageIndex = -1;
+
private LanguageListHandler languageListHandler = null;
-
public SpellLanguages () {
languageListHandler = OnLanguageList;
@@ -43,8 +43,9 @@
}
/* Events */
- public event EventHandler LanguageChanged = null;
public event EventHandler ToggleEnabled = null;
+ public event EventHandler TextLanguageChanged = null;
+ public event EventHandler TranslationLanguageChanged = null;
/* Public members */
@@ -58,33 +59,30 @@
}
}
- public int ActiveLanguageIndex {
- get { return activeLanguageIndex; }
+ public int ActiveTextLanguageIndex {
+ get { return GetActiveLanguageIndex(SubtitleTextType.Text); }
}
- public string ActiveLanguage {
- get {
- if (activeLanguageIndex == -1)
- return String.Empty;
- else
- return languages[activeLanguageIndex] as string;
- }
- set {
- int index = GetActiveLanguageIndex(value);
- activeLanguageIndex = index;
-
- bool isEmpty = ((index == -1) || (value == null) || (value == String.Empty));
- string activeLanguage = (isEmpty ? String.Empty : value);
- SetActiveLanguageInConfig(activeLanguage);
-
- EmitLanguageChanged();
- if (!isEmpty)
- Global.GUI.Menus.SetToolsAutocheckSpellingSensitivity(true);
- }
+ public int ActiveTranslationLanguageIndex {
+ get { return GetActiveLanguageIndex(SubtitleTextType.Translation); }
+ }
+
+ public string ActiveTextLanguage {
+ get { return GetActiveLanguage(SubtitleTextType.Text); }
+ set { SetActiveLanguage(SubtitleTextType.Text, value); }
+ }
+
+ public string ActiveTranslationLanguage {
+ get { return GetActiveLanguage(SubtitleTextType.Translation); }
+ set { SetActiveLanguage(SubtitleTextType.Translation, value); }
}
- public bool HasActiveLanguage {
- get { return activeLanguageIndex != -1; }
+ public bool HasActiveTextLanguage {
+ get { return ActiveTextLanguageIndex != -1; }
+ }
+
+ public bool HasActiveTranslationLanguage {
+ get { return ActiveTranslationLanguageIndex != -1; }
}
public bool Enabled {
@@ -98,6 +96,34 @@
get { return enabled; }
}
+ public int GetActiveLanguageIndex (SubtitleTextType textType) {
+ if (textType == SubtitleTextType.Text)
+ return activeTextLanguageIndex;
+ else
+ return activeTranslationLanguageIndex;
+ }
+
+ public string GetActiveLanguage (SubtitleTextType textType) {
+ int index = GetActiveLanguageIndex(textType);
+ if (index == -1)
+ return String.Empty;
+ else
+ return languages[index] as string;
+ }
+
+ public void SetActiveLanguage (SubtitleTextType textType, string language) {
+ int index = GetLanguageIndex(language);
+ SetActiveLanguageIndex(textType, index);
+
+ bool isEmpty = ((index == -1) || (language == null) || (language == String.Empty));
+ string activeLanguage = (isEmpty ? String.Empty : language);
+ SetActiveLanguageInConfig(textType, activeLanguage);
+
+ EmitLanguageChanged(textType);
+ if (!isEmpty)
+ Global.GUI.Menus.SetToolsAutocheckSpellingSensitivity(true);
+ }
+
/* LibEnchant imports */
@@ -118,7 +144,7 @@
Init();
FillLanguages();
- GetActiveLanguageFromConfig();
+ GetActiveLanguagesFromConfig();
}
private void FillLanguages () {
@@ -133,30 +159,40 @@
languages.Sort();
}
- private void GetActiveLanguageFromConfig () {
- string activeLanguage = Global.Config.PrefsSpellCheckActiveLanguage;
- this.activeLanguageIndex = GetActiveLanguageIndex(activeLanguage);
+ private void SetActiveLanguageIndex (SubtitleTextType textType, int index) {
+ if (textType == SubtitleTextType.Text)
+ activeTextLanguageIndex = index;
+ else
+ activeTranslationLanguageIndex = index;
}
- private void GetEnabledFromConfig () {
- this.enabled = Global.Config.PrefsSpellCheckAutocheck && this.HasActiveLanguage;
+ private void GetActiveLanguagesFromConfig () {
+ string activeTextLanguage = Global.Config.PrefsSpellCheckActiveTextLanguage;
+ this.activeTextLanguageIndex = GetLanguageIndex(activeTextLanguage);
- /* Check for inconsistency */
- if (Global.Config.PrefsSpellCheckAutocheck && (!this.HasActiveLanguage))
- Global.Config.PrefsSpellCheckAutocheck = false;
+ string activeTranslationLanguage = Global.Config.PrefsSpellCheckActiveTranslationLanguage;
+ this.activeTranslationLanguageIndex = GetLanguageIndex(activeTranslationLanguage);
}
- private void SetActiveLanguageInConfig (string activeLanguage) {
- Global.Config.PrefsSpellCheckActiveLanguage = activeLanguage;
+ private void GetEnabledFromConfig () {
+ this.enabled = Global.Config.PrefsSpellCheckAutocheck;
}
- private int GetActiveLanguageIndex (String activeLanguage) {
- return languages.IndexOf(activeLanguage);
+ private void SetActiveLanguageInConfig (SubtitleTextType textType, string activeLanguage) {
+ if (textType == SubtitleTextType.Text)
+ Global.Config.PrefsSpellCheckActiveTextLanguage = activeLanguage;
+ else
+ Global.Config.PrefsSpellCheckActiveTranslationLanguage = activeLanguage;
+ }
+
+ private int GetLanguageIndex (String language) {
+ return languages.IndexOf(language);
}
private void Init () {
languages = new ArrayList();
- activeLanguageIndex = -1;
+ activeTextLanguageIndex = -1;
+ activeTranslationLanguageIndex = -1;
}
/* Event members */
@@ -170,9 +206,21 @@
this.ToggleEnabled(this, EventArgs.Empty);
}
- private void EmitLanguageChanged () {
- if (this.LanguageChanged != null)
- this.LanguageChanged(this, EventArgs.Empty);
+ private void EmitLanguageChanged (SubtitleTextType textType) {
+ if (textType == SubtitleTextType.Text)
+ EmitTextLanguageChanged();
+ else
+ EmitTranslationLanguageChanged();
+ }
+
+ private void EmitTextLanguageChanged () {
+ if (this.TextLanguageChanged != null)
+ this.TextLanguageChanged(this, EventArgs.Empty);
+ }
+
+ private void EmitTranslationLanguageChanged () {
+ if (this.TranslationLanguageChanged != null)
+ this.TranslationLanguageChanged(this, EventArgs.Empty);
}
}
Modified: trunk/src/GnomeSubtitles/Core/WidgetNames.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Core/WidgetNames.cs (original)
+++ trunk/src/GnomeSubtitles/Core/WidgetNames.cs Sat Mar 8 12:27:44 2008
@@ -81,7 +81,8 @@
/* Tools Menu */
public const string ToolsAutocheckSpelling = "toolsAutocheckSpelling";
- public const string ToolsSetLanguage = "toolsSetLanguage";
+ public const string ToolsSetTextLanguage = "toolsSetTextLanguage";
+ public const string ToolsSetTranslationLanguage = "toolsSetTranslationLanguage";
/* Toolbar */
Modified: trunk/src/GnomeSubtitles/Dialogs/SetLanguageDialog.cs
==============================================================================
--- trunk/src/GnomeSubtitles/Dialogs/SetLanguageDialog.cs (original)
+++ trunk/src/GnomeSubtitles/Dialogs/SetLanguageDialog.cs Sat Mar 8 12:27:44 2008
@@ -19,6 +19,8 @@
using Glade;
using Gtk;
+using Mono.Unix;
+using SubLib;
using System;
namespace GnomeSubtitles {
@@ -26,18 +28,30 @@
public class SetLanguageDialog : GladeDialog {
private ListStore store = null;
private int colNum = 0;
+ private SubtitleTextType textType;
/* Constant strings */
private const string gladeFilename = "SetLanguageDialog.glade";
+
+ /* Strings */
+ private string dialogTitleText = Catalog.GetString("Set Text Language");
+ private string dialogTitleTranslation = Catalog.GetString("Set Translation Language");
+ private string introLabelText = Catalog.GetString("Select the text _language of the current subtitles.");
+ private string introLabelTranslation = Catalog.GetString("Select the translation _language of the current subtitles.");
/* Widgets */
[WidgetAttribute] private TreeView languagesTreeView;
+ [WidgetAttribute] private Label introLabel;
- public SetLanguageDialog () : base(gladeFilename) {
+ public SetLanguageDialog (SubtitleTextType textType) : base(gladeFilename) {
+ this.textType = textType;
+
+ SetDialogTitle(textType);
+ SetIntroLabel(textType);
FillAvailableLanguages();
- SelectActiveLanguage();
+ SelectActiveLanguage(textType);
}
/* Private members */
@@ -54,21 +68,20 @@
languagesTreeView.Model = store;
}
- private void SelectActiveLanguage () {
+ private void SelectActiveLanguage (SubtitleTextType textType) {
int count = store.IterNChildren();
if (count == 0)
return;
- int activeLanguageIndex = GetActiveLanguageIndex(count);
-
+ int activeLanguageIndex = GetActiveLanguageIndex(textType, count);
TreePath path = Util.IntToPath(activeLanguageIndex);
languagesTreeView.ScrollToCell(path, null, true, 0.5f, 0.5f);
languagesTreeView.SetCursor(path, null, false);
}
- private int GetActiveLanguageIndex (int count) {
- int activeLanguageIndex = Global.SpellLanguages.ActiveLanguageIndex;
+ private int GetActiveLanguageIndex (SubtitleTextType textType, int count) {
+ int activeLanguageIndex = Global.SpellLanguages.GetActiveLanguageIndex(textType);
/* Set active language to the first if invalid */
if ((activeLanguageIndex == -1) || (activeLanguageIndex >= count))
activeLanguageIndex = 0;
@@ -78,7 +91,7 @@
private void SetSpellLanguage () {
string activeLanguage = GetSelectedLanguage();
- Global.SpellLanguages.ActiveLanguage = activeLanguage;
+ Global.SpellLanguages.SetActiveLanguage(textType, activeLanguage);
}
private string GetSelectedLanguage () {
@@ -104,6 +117,14 @@
return selected;
}
+ private void SetDialogTitle (SubtitleTextType textType) {
+ dialog.Title = (textType == SubtitleTextType.Text ? dialogTitleText : dialogTitleTranslation);
+ }
+
+ private void SetIntroLabel (SubtitleTextType textType) {
+ introLabel.TextWithMnemonic = (textType == SubtitleTextType.Text ? introLabelText : introLabelTranslation);
+ }
+
/* Event handlers */
#pragma warning disable 169 //Disables warning about handlers not being used
Modified: trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditText.cs
==============================================================================
--- trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditText.cs (original)
+++ trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditText.cs Sat Mar 8 12:27:44 2008
@@ -1,6 +1,6 @@
/*
* This file is part of Gnome Subtitles.
- * Copyright (C) 2007 Pedro Castro
+ * Copyright (C) 2007-2008 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
@@ -46,7 +46,14 @@
protected override void ExecuteDeleteCommand (int index, string text, int cursor) {
Global.CommandManager.Execute(new DeleteTextCommand(index, text, cursor));
}
-
+
+ protected override string GetSpellActiveLanguage () {
+ return Global.SpellLanguages.ActiveTextLanguage;
+ }
+
+ protected override void ConnectLanguageChangedSignal () {
+ Global.SpellLanguages.TextLanguageChanged += OnSpellLanguageChanged;
+ }
}
}
\ No newline at end of file
Modified: trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditTextView.cs
==============================================================================
--- trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditTextView.cs (original)
+++ trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditTextView.cs Sat Mar 8 12:27:44 2008
@@ -69,6 +69,8 @@
protected abstract string GetSubtitleTextContent (Subtitle subtitle);
protected abstract void ExecuteInsertCommand (int index, string insertion);
protected abstract void ExecuteDeleteCommand (int index, string deletion, int cursor);
+ protected abstract string GetSpellActiveLanguage ();
+ protected abstract void ConnectLanguageChangedSignal ();
/* Events */
public event EventHandler ToggleOverwrite = null;
@@ -212,7 +214,10 @@
}
private bool GtkSpellSetLanguage (string language) {
- return gtkspell_set_language(spellTextView, "asdasd", IntPtr.Zero);
+ if ((language == null) || (language == String.Empty))
+ return false;
+ else
+ return gtkspell_set_language(spellTextView, language, IntPtr.Zero);
}
@@ -363,20 +368,13 @@
bool enabled = Global.SpellLanguages.Enabled;
if (enabled) {
GtkSpellAttach();
- string language = Global.SpellLanguages.ActiveLanguage;
+ string language = GetSpellActiveLanguage();
GtkSpellSetLanguage(language);
}
else
GtkSpellDetach();
}
- private void OnSpellLanguageChanged (object o, EventArgs args) {
- if (Global.SpellLanguages.Enabled) {
- string language = Global.SpellLanguages.ActiveLanguage;
- GtkSpellSetLanguage(language);
- }
- }
-
private void OnDestroyed (object o, EventArgs args) {
GtkSpellDetach();
}
@@ -419,14 +417,20 @@
/* Spell signals */
Global.SpellLanguages.ToggleEnabled += OnSpellToggleEnabled;
- Global.SpellLanguages.LanguageChanged += OnSpellLanguageChanged;
+ ConnectLanguageChangedSignal();
}
private void EmitToggleOverwrite () {
if (this.ToggleOverwrite != null)
this.ToggleOverwrite(this, EventArgs.Empty);
}
-
+
+ protected void OnSpellLanguageChanged (object o, EventArgs args) {
+ if (Global.SpellLanguages.Enabled) {
+ string language = GetSpellActiveLanguage();
+ GtkSpellSetLanguage(language);
+ }
+ }
}
Modified: trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditTranslation.cs
==============================================================================
--- trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditTranslation.cs (original)
+++ trunk/src/GnomeSubtitles/SubtitleEdit/SubtitleEditTranslation.cs Sat Mar 8 12:27:44 2008
@@ -1,6 +1,6 @@
/*
* This file is part of Gnome Subtitles.
- * Copyright (C) 2007 Pedro Castro
+ * Copyright (C) 2007-2008 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
@@ -46,6 +46,14 @@
protected override void ExecuteDeleteCommand (int index, string text, int cursor) {
Global.CommandManager.Execute(new DeleteTranslationCommand(index, text, cursor));
}
+
+ protected override string GetSpellActiveLanguage () {
+ return Global.SpellLanguages.ActiveTranslationLanguage;
+ }
+
+ protected override void ConnectLanguageChangedSignal () {
+ Global.SpellLanguages.TranslationLanguageChanged += OnSpellLanguageChanged;
+ }
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]