hrev44979 adds 1 changeset to branch 'master' old head: 5cbd6771cd858abe057744728d69e03a983b1255 new head: 5eb2d70fa786defcfd712bcf9d596af01288a08f overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=5eb2d70+%5E5cbd677 ---------------------------------------------------------------------------- 5eb2d70: Preserve font size on changing font family of selection. This task was completed during GCI 2012 Fixes #6453 Signed-off-by: Siarzhuk Zharski <zharik@xxxxxx> [ Vlad Slepukhin <slp.vld@xxxxxxxxx> ] ---------------------------------------------------------------------------- Revision: hrev44979 Commit: 5eb2d70fa786defcfd712bcf9d596af01288a08f URL: http://cgit.haiku-os.org/haiku/commit/?id=5eb2d70 Author: Vlad Slepukhin <slp.vld@xxxxxxxxx> Date: Sat Dec 8 07:07:32 2012 UTC Committer: Siarzhuk Zharski <zharik@xxxxxx> Commit-Date: Sat Dec 8 07:20:42 2012 UTC Ticket: https://dev.haiku-os.org/ticket/6453 ---------------------------------------------------------------------------- 1 file changed, 14 insertions(+), 1 deletion(-) src/apps/stylededit/StyledEditWindow.cpp | 15 ++++++++++++++- ---------------------------------------------------------------------------- diff --git a/src/apps/stylededit/StyledEditWindow.cpp b/src/apps/stylededit/StyledEditWindow.cpp index 3ba782c..7b8ddd7 100644 --- a/src/apps/stylededit/StyledEditWindow.cpp +++ b/src/apps/stylededit/StyledEditWindow.cpp @@ -1599,7 +1599,20 @@ StyledEditWindow::_SetFontStyle(const char* fontFamily, const char* fontStyle) font.SetFace(face); - fTextView->SetFontAndColor(&font); + int32 start = 0, finish = 0; + fTextView->GetSelection(&start, &finish); + + if (start != finish) { + text_run_array* runArray = fTextView->RunArray(start, finish);; + + for (int i = 0; i < runArray->count; i++) { + runArray->runs[i].font.SetFamilyAndStyle(fontFamily, fontStyle); + runArray->runs[i].font.SetFace(face); + } + + fTextView->SetRunArray(start, finish, runArray); + } else + fTextView->SetFontAndColor(&font); BMenuItem* superItem; superItem = fFontMenu->FindItem(fontFamily);