From 780e3b566c027cbf4de659c8b325d3646f7eba88 Mon Sep 17 00:00:00 2001 From: Rodrigo Braz Monteiro Date: Sun, 9 Nov 2008 01:18:15 +0000 Subject: [PATCH] Fixed fonts collector and translation dialogue syntax highlighting. Originally committed to SVN as r2433. --- aegisub/dialog_fonts_collector.cpp | 9 +++++---- aegisub/dialog_fonts_collector.h | 3 ++- aegisub/dialog_translation.cpp | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/aegisub/dialog_fonts_collector.cpp b/aegisub/dialog_fonts_collector.cpp index b8e8630a7..a131f6512 100644 --- a/aegisub/dialog_fonts_collector.cpp +++ b/aegisub/dialog_fonts_collector.cpp @@ -54,6 +54,7 @@ #include "font_file_lister.h" #include "utils.h" #include "help_button.h" +#include "scintilla_text_ctrl.h" /////// @@ -114,7 +115,7 @@ DialogFontsCollector::DialogFontsCollector(wxWindow *parent) CollectAction->SetSelection(lastAction); // Log box - LogBox = new wxStyledTextCtrl(this,-1,wxDefaultPosition,wxSize(300,210),0,_T("")); + LogBox = new ScintillaTextCtrl(this,-1,_T(""),wxDefaultPosition,wxSize(300,210)); LogBox->SetWrapMode(wxSTC_WRAP_WORD); LogBox->SetMarginWidth(1,0); LogBox->SetReadOnly(true); @@ -334,11 +335,11 @@ void DialogFontsCollector::Update(int value) { void DialogFontsCollector::OnAddText(wxCommandEvent &event) { ColourString *str = (ColourString*) event.GetClientData(); LogBox->SetReadOnly(false); - int pos = LogBox->GetLength(); + int pos = LogBox->GetReverseUnicodePosition(LogBox->GetLength()); LogBox->AppendText(str->text); if (str->colour) { - LogBox->StartStyling(pos,31); - LogBox->SetStyling(str->text.Length(),str->colour); + LogBox->StartUnicodeStyling(pos,31); + LogBox->SetUnicodeStyling(pos,str->text.Length(),str->colour); } delete str; LogBox->GotoPos(pos); diff --git a/aegisub/dialog_fonts_collector.h b/aegisub/dialog_fonts_collector.h index ff3ee3064..66e94e707 100644 --- a/aegisub/dialog_fonts_collector.h +++ b/aegisub/dialog_fonts_collector.h @@ -50,6 +50,7 @@ class AssOverrideParameter; class DialogFontsCollector; class FrameMain; class wxZipOutputStream; +class ScintillaTextCtrl; ///////////////// @@ -93,7 +94,7 @@ class DialogFontsCollector : public wxDialog { private: wxTextCtrl *DestBox; - wxStyledTextCtrl *LogBox; + ScintillaTextCtrl *LogBox; wxButton *BrowseButton; wxButton *StartButton; wxButton *CloseButton; diff --git a/aegisub/dialog_translation.cpp b/aegisub/dialog_translation.cpp index bf25218c0..f2b6b58db 100644 --- a/aegisub/dialog_translation.cpp +++ b/aegisub/dialog_translation.cpp @@ -216,7 +216,7 @@ bool DialogTranslation::JumpToLine(int n,int block) { curBlock = *cur; if (curBlock->GetType() == BLOCK_PLAIN) { pos++; - int curLen = OrigText->GetUnicodePosition(OrigText->GetLength()); + int curLen = OrigText->GetReverseUnicodePosition(OrigText->GetLength()); OrigText->AppendText(curBlock->text); if (pos == block) { OrigText->StartUnicodeStyling(curLen);