From d9323f589390dbce440f764989a482060634b67c Mon Sep 17 00:00:00 2001 From: danglassey Date: Sun, 15 Sep 2002 13:01:33 +0000 Subject: sync with crosswire 20020915-1300 --- apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm | 2 +- apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp | 77 +++++++++++++++++------- apps/windoze/CBuilder5/BibleCS/editentryfrm.cpp | 2 +- apps/windoze/CBuilder5/BibleCS/mainfrm.cpp | 51 ++++++++++------ apps/windoze/CBuilder5/BibleCS/rtfhintfrm.cpp | 4 +- apps/windoze/CBuilder5/BibleCS/searchfrm.cpp | 16 +++-- apps/windoze/CBuilder5/BibleCS/searchfrm.dfm | 50 ++++++++------- apps/windoze/CBuilder5/BibleCS/searchfrm.h | 5 +- apps/windoze/CBuilder5/BibleCS/sword.bpr | 6 +- apps/windoze/CBuilder5/BibleCS/sword.res | Bin 1976 -> 1976 bytes apps/windoze/swdisprtf.cpp | 8 ++- locales.d/Makefile.am | 2 + 12 files changed, 141 insertions(+), 82 deletions(-) diff --git a/apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm b/apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm index 186f784..d79b09f 100644 --- a/apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm +++ b/apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm @@ -102,7 +102,7 @@ object AboutBox: TAboutBox Width = 213 Height = 21 AutoSize = False - Caption = 'v1.5.4rc4' + Caption = 'v1.5.4rc5' IsControl = True end object Copyright: TLabel diff --git a/apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp b/apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp index 1fa4976..f42ffb1 100644 --- a/apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp +++ b/apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp @@ -445,26 +445,26 @@ void TRxRichEditX::fillWithVerses(SWModule *module, ListKey *verses, bool headin verses->Persist(1); (*verses) = TOP; - SWKey *saveKey = (*module); + SWKey *saveKey = (SWKey *)(*module); + SWKey origKeyValue = *saveKey; if (!saveKey->Persist()) saveKey = 0; module->setKey(verses); SWKey *lastKey = 0; bool first = true; + SWKey *testKey = module->CreateKey(); while (verses->Count() && !module->Error() && newtext.Length() < 40000 ) { - SWKey *testKey = verses->GetElement(); - VerseKey *element = SWDYNAMIC_CAST(VerseKey, testKey); if (heading) { - if (element) { - if (lastKey != element) { + if (SWDYNAMIC_CAST(VerseKey, testKey)) { + if (lastKey != verses->GetElement()) { if (!first) - newtext += "\\par\\par "; + newtext += "{\\par\\par}"; newtext += RTFHeadingPre; - newtext += element->getRangeText(); + newtext += verses->GetElement()->getRangeText(); newtext += ":"; newtext += RTFHeadingPost; - newtext += "\\par "; + newtext += "{\\par}"; } } else { @@ -477,12 +477,16 @@ void TRxRichEditX::fillWithVerses(SWModule *module, ListKey *verses, bool headin int i; char *start1 = buf; char *start2 = buf2; - for (i = 0; i < strlen(buf); i++) { - if (*start1 == '0') + int len = strlen(buf); + for (i = 0; i < len; i++) { + if (*start1 == '0') { start1++; - if (*start2 == '0') + } + if (*start2 == '0') { start2++; - if ((*start1 != '0') && (*start2 != '0')) if ((buf[i] == buf2[i]) || (buf[i] != '0')) + } + if ((start1[0] != '0') && (start2[0] != '0')) +// if ((buf[i] == buf2[i]) || (buf[i] != '0')) break; } for (i = 0; i < strlen(start1) && (i < strlen(start2)); i++) { @@ -497,24 +501,24 @@ void TRxRichEditX::fillWithVerses(SWModule *module, ListKey *verses, bool headin } delete [] buf2; if (!first) - newtext += "\\par\\par "; + newtext += "{\\par\\par}"; newtext += RTFHeadingPre; - SWKey *key = *module; + strcpy(buf, module->KeyText()); // VerseKey locales are not yet UTF8, so don't try to convert them. - if (!SWDYNAMIC_CAST(VerseKey, key)) + if (!SWDYNAMIC_CAST(VerseKey, testKey)) filter.ProcessText(buf, 253, *module, module); newtext = newtext + RTFHeadingPre + buf + RTFHeadingPost + ":\\par "; newtext += RTFHeadingPost; - newtext += "\\par "; + newtext += "{\\par}"; } // newtext += RTFHeadingPost; } else { // hack to make searchlist entries fit in box better newtext += ""; } - lastKey = element; + lastKey = verses->GetElement(); first = false; newtext = newtext + "{"; @@ -529,7 +533,7 @@ void TRxRichEditX::fillWithVerses(SWModule *module, ListKey *verses, bool headin } if (*loop == '\n') { if (!stripNewlines) - tmptext += "\\par "; + tmptext += "{\\par}"; } else tmptext += *loop; @@ -540,7 +544,7 @@ void TRxRichEditX::fillWithVerses(SWModule *module, ListKey *verses, bool headin newtext = newtext + RTFVersePre + tmptext + RTFVersePost; if (verseNum) newtext = newtext + RTFVerseMarkPre + IntToStr(VerseKey(module->KeyText()).Verse()) + RTFVerseMarkPost; - newtext = newtext + "\\par "; + newtext = newtext + "{\\par}"; } else { if (verseNum) @@ -551,10 +555,10 @@ void TRxRichEditX::fillWithVerses(SWModule *module, ListKey *verses, bool headin newtext = newtext + "}"; (*module)++; } - + delete testKey; if (saveKey) module->setKey(saveKey); - else module->setKey(SWKey("")); //remove our persist key + else module->setKey(origKeyValue); //remove our persist key newtext += RTFTrailer; @@ -562,6 +566,37 @@ void TRxRichEditX::fillWithVerses(SWModule *module, ListKey *verses, bool headin RTFStream->WriteBuffer(newtext.c_str(), newtext.Length()); RTFStream->Position = 0; Lines->LoadFromStream(RTFStream); + + // make links + while (true) { + int start, len, foundAt, endAt; + + start = (SelLength) ? SelStart + SelLength : 0; + len = Text.Length() - start; + foundAt = this->SearchText("", start, len, TRichSearchTypes()); + if (foundAt == -1) + break; + + SelStart = foundAt; + SelLength = 11; + this->SelText = ""; + endAt = this->SearchText("", foundAt, len, TRichSearchTypes()); + if (foundAt == -1) + break; + SelStart = endAt; + SelLength = 4; + this->SelText = ""; + SelStart = foundAt; + SelLength = endAt - foundAt; + this->SelAttributes->Link = true; + } + if (Visible) { + this->SetFocus(); + SelStart = 0; + SelLength = 0; + SendMessage(Handle, EM_SCROLLCARET, 0, 0); + } + Repaint(); delete RTFStream; diff --git a/apps/windoze/CBuilder5/BibleCS/editentryfrm.cpp b/apps/windoze/CBuilder5/BibleCS/editentryfrm.cpp index 01935e0..4ae5908 100644 --- a/apps/windoze/CBuilder5/BibleCS/editentryfrm.cpp +++ b/apps/windoze/CBuilder5/BibleCS/editentryfrm.cpp @@ -271,7 +271,7 @@ void __fastcall TEditEntryForm::FormActivate(TObject *Sender) (const char *)*Module; // force key to snap to entry before pulling out the text of the key tmptext = Module->getRawEntry(); - newtext = newtext + RTFDisplay->RTFVersePre + " " + tmptext + RTFDisplay->RTFVersePost; + newtext = newtext + RTFDisplay->RTFVersePre + tmptext + RTFDisplay->RTFVersePost; newtext = newtext + RTFDisplay->RTFTrailer; RTFStream->Clear(); RTFStream->WriteBuffer(newtext.c_str(), newtext.Length()); diff --git a/apps/windoze/CBuilder5/BibleCS/mainfrm.cpp b/apps/windoze/CBuilder5/BibleCS/mainfrm.cpp index 5df1c50..3d7aec6 100644 --- a/apps/windoze/CBuilder5/BibleCS/mainfrm.cpp +++ b/apps/windoze/CBuilder5/BibleCS/mainfrm.cpp @@ -358,14 +358,12 @@ char TForm1::CreateBookPane(SWModule *mod) { ((SWDispRTF *)newrtf)->ScrollBars = ssVertical; ((SWDispRTF *)newrtf)->ReadOnly = true; - if ((*mainmgr->config->Sections[mod->Name()].find("ModDrv")).second == "RawFiles") { - ((SWDispRTF *)newrtf)->PopupMenu = PopupMenu3; - ((SWDispRTF *)newrtf)->ExpandNewLine = false; - } - else ((SWDispRTF *)newrtf)->PopupMenu = PopupMenu2; + ((SWDispRTF *)newrtf)->PopupMenu = PopupMenu2; ((SWDispRTF *)newrtf)->OnMouseDown = RTFMouseDown; + newrtf->Name = String("BookRTF")+mod->Name(); newrtf->Parent = newtab; newrtf->Align = alClient; + ((SWDispRTF *)newrtf)->OnURLClick = RTFURLClick; ((SWDispRTF *)newrtf)->module = mod; ((SWDispRTF *)newrtf)->recalcAppearance(); @@ -1068,10 +1066,16 @@ void __fastcall TForm1::FormShow(TObject *Sender) } if ((eit = (*sit).second.find("SearchLeft")) != (*sit).second.end()) searchForm->Left = atoi((*eit).second.c_str()); - if ((eit = (*sit).second.find("SearchHeight")) != (*sit).second.end()) - searchForm->Height = atoi((*eit).second.c_str()); - if ((eit = (*sit).second.find("SearchWidth")) != (*sit).second.end()) - searchForm->Width = atoi((*eit).second.c_str()); + if ((eit = (*sit).second.find("SearchHeight")) != (*sit).second.end()) { + int val = atoi((*eit).second.c_str()); + val = max(val, searchForm->Constraints->MinHeight); + searchForm->Height = val; + } + if ((eit = (*sit).second.find("SearchWidth")) != (*sit).second.end()) { + int val = atoi((*eit).second.c_str()); + val = max(val, searchForm->Constraints->MinWidth); + searchForm->Width = val; + } searchForm->WindowState = (sit->second["SearchMaximized"] == "true") ? wsMaximized : wsNormal; } @@ -1217,7 +1221,8 @@ void __fastcall TForm1::LookupPokeData(TObject *Sender) token = strtok(buf, " "); if ((it = mainmgr->Modules.find(token)) != mainmgr->Modules.end()) { token = strtok(NULL, ""); - (*it).second->setKey(token); + SWKey *key = (SWKey *)*(it->second); + (*key) = token; Lookup->Text = (const char *)(*(*it).second); } else Lookup->Text = ""; @@ -1278,13 +1283,10 @@ void TForm1::RestoreState(ModState *state) it = mainmgr->Modules.find(state->pc->ActivePage->Caption.c_str()); if (it != mainmgr->Modules.end()) { SWModule *module = it->second; - if (!strcmp(module->Type(0), "Generic Books")) { - module->setKey(state->key); - } - else { - *DefaultVSKey = state->key; - TextKeyChanged(); - } + SWKey *key = (SWKey *)*module; + (*key) = state->key; + *DefaultVSKey = state->key; + TextKeyChanged(); } } } @@ -1595,7 +1597,12 @@ void __fastcall TForm1::PopupMenuPopup(TObject *Sender) { rtf->SelLength = 0; if (!verseList.Length()) { - for (versestart = selstart; ((versestart)&&(entrytext[versestart] != '#')); versestart--); + versestart = selstart; + for (int i = 0; ((i < versestart) && (i < entrylen)); i++) { + if (entrytext[i] == '\r') + versestart++; + } + for (; ((versestart)&&(entrytext[versestart] != '#')); versestart--); if (versestart) { for (verseend = versestart; ((verseend < entrylen) && (entrytext[verseend] != '|')); verseend++); if ((verseend < entrylen) && (verseend > selstart)) { @@ -2089,6 +2096,7 @@ void __fastcall TForm1::ApplicationEvents1ShowHint(AnsiString &HintStr, if ((strncmp(HintInfo.HintControl->Name.c_str(), "TextRTF", 7)) && (strncmp(HintInfo.HintControl->Name.c_str(), "CommentRTF", 10)) && + (strncmp(HintInfo.HintControl->Name.c_str(), "BookRTF", 7)) && (strncmp(HintInfo.HintControl->Name.c_str(), "LexDictRTF", 10))) { return; } @@ -2130,7 +2138,12 @@ void __fastcall TForm1::ApplicationEvents1ShowHint(AnsiString &HintStr, int selstart = rtf->SelStart; int versestart, verseend; strcpy(entrytext, rtf->Text.c_str()); - for (versestart = selstart; ((versestart)&&(entrytext[versestart] != '#')); versestart--); + versestart = selstart; + for (int i = 0; ((i < versestart) && (i < entrylen)); i++) { + if (entrytext[i] == '\r') + versestart++; + } + for (; ((versestart)&&(entrytext[versestart] != '#')); versestart--); if (versestart) { for (verseend = versestart; ((verseend < entrylen) && (entrytext[verseend] != '|')); verseend++); if ((verseend < entrylen) && (verseend > selstart)) { diff --git a/apps/windoze/CBuilder5/BibleCS/rtfhintfrm.cpp b/apps/windoze/CBuilder5/BibleCS/rtfhintfrm.cpp index 0fbe311..7aa97c1 100644 --- a/apps/windoze/CBuilder5/BibleCS/rtfhintfrm.cpp +++ b/apps/windoze/CBuilder5/BibleCS/rtfhintfrm.cpp @@ -27,7 +27,7 @@ __fastcall TRTFHintForm::TRTFHintForm(TComponent* Owner) rtfDrawer->Text = "yoyo"; rtfDrawer->Name = "rtfDrawer"; rtfDrawer->Enabled = true; - rtfDrawer->Visible = true; + rtfDrawer->Visible = false; rtfDrawer->DoubleBuffered = false; searchListDrawer = new TRxRichEditX(Panel1); searchListDrawer->Parent = Panel1; @@ -37,7 +37,7 @@ __fastcall TRTFHintForm::TRTFHintForm(TComponent* Owner) searchListDrawer->Text = "yoyo"; searchListDrawer->Name = "searchListDrawer"; searchListDrawer->Enabled = true; - searchListDrawer->Visible = true; + searchListDrawer->Visible = false; searchListDrawer->DoubleBuffered = false; } //--------------------------------------------------------------------------- diff --git a/apps/windoze/CBuilder5/BibleCS/searchfrm.cpp b/apps/windoze/CBuilder5/BibleCS/searchfrm.cpp index c9f70a2..43c0694 100644 --- a/apps/windoze/CBuilder5/BibleCS/searchfrm.cpp +++ b/apps/windoze/CBuilder5/BibleCS/searchfrm.cpp @@ -19,8 +19,8 @@ TsearchForm *searchForm; //--------------------------------------------------------------------------- __fastcall TsearchForm::TsearchForm(TComponent* Owner) : TForm(Owner) { + initializing = true; pvrtf = new TRxRichEditX(this); - pvrtf->Parent = plPreview; pvrtf->Align = alClient; pvrtf->ScrollBars = ssVertical; @@ -114,11 +114,12 @@ void __fastcall TsearchForm::ListBox1DblClick(TObject *Sender) TListItem *focused = resultsLV->ItemFocused; if (focused) { int row = focused->Index; + SWKey *key = (SWKey *)*target; + (*key) = resultsLV->Items->Item[row]->Caption.c_str(); if (targetpc == Form1->LexDictPageControl) { Form1->DictKeyEdit->Text = resultsLV->Items->Item[row]->Caption.c_str(); } else { - *(Form1->DefaultVSKey) = resultsLV->Items->Item[row]->Caption.c_str(); Form1->TextKeyChanged(); } } @@ -180,8 +181,11 @@ void __fastcall TsearchForm::TSearchThread::FillListBox(void) TListItem *pItem; SWKey *savekey = (SWKey *)*(parent->target); - if (!savekey->Persist()) + SWKey origKeyVal = *savekey; + if (!savekey->Persist()) { savekey = 0; + } + for (results = TOP; !results.Error(); results++) { parent->target->setKey(results); pItem = parent->resultsLV->Items->Add(); @@ -192,6 +196,8 @@ void __fastcall TsearchForm::TSearchThread::FillListBox(void) } if (savekey) parent->target->setKey(*savekey); + else parent->target->setKey(origKeyVal); //remove our persist key + // ListBox1->Items->Pack(); // so Count is set correctly (per helpfile) parent->Caption = ((AnsiString)parent->resultsLV->Items->Count + (AnsiString)" " + (AnsiString)((parent->resultsLV->Items->Count == 1) ? _tr("match") : _tr("matches"))) + (AnsiString)" from [ " + (AnsiString)parent->target->Description() + (AnsiString)" (" + (AnsiString)parent->target->Name() + (AnsiString)") ]"; parent->searchBtn->Caption = _tr("Search"); @@ -242,8 +248,7 @@ void __fastcall TsearchForm::FormShow(TObject *Sender) { populateRanges(); fillList(); - Button1Click(0); - Button1Click(0); + Button1Click(0); //initially hide the modSelect sidebar } //--------------------------------------------------------------------------- @@ -337,6 +342,7 @@ void __fastcall TsearchForm::FormActivate(TObject *Sender) SearchText->SetFocus(); } } + initializing = false; } void TsearchForm::setTarget(SWModule *itarget) { diff --git a/apps/windoze/CBuilder5/BibleCS/searchfrm.dfm b/apps/windoze/CBuilder5/BibleCS/searchfrm.dfm index e308ea9..4c8dfbc 100644 --- a/apps/windoze/CBuilder5/BibleCS/searchfrm.dfm +++ b/apps/windoze/CBuilder5/BibleCS/searchfrm.dfm @@ -1,12 +1,12 @@ object searchForm: TsearchForm - Left = 650 - Top = 119 - Width = 495 + Left = 466 + Top = 338 + Width = 490 Height = 475 Caption = 'Search...' Color = clBtnFace Constraints.MinHeight = 360 - Constraints.MinWidth = 360 + Constraints.MinWidth = 490 Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 @@ -50,7 +50,6 @@ object searchForm: TsearchForm Width = 5 Height = 432 Cursor = crHSplit - Visible = False end object pnlChooseMod: TPanel Left = 0 @@ -59,7 +58,6 @@ object searchForm: TsearchForm Height = 432 Align = alLeft TabOrder = 0 - Visible = False object Panel9: TPanel Left = 1 Top = 1 @@ -90,7 +88,7 @@ object searchForm: TsearchForm object Panel7: TPanel Left = 106 Top = 0 - Width = 381 + Width = 376 Height = 432 Align = alClient BevelOuter = bvNone @@ -99,14 +97,14 @@ object searchForm: TsearchForm object pnlResult: TPanel Left = 0 Top = 205 - Width = 381 + Width = 376 Height = 227 Align = alClient TabOrder = 0 object Splitter1: TSplitter Left = 1 Top = 135 - Width = 379 + Width = 374 Height = 5 Cursor = crVSplit Align = alBottom @@ -115,7 +113,7 @@ object searchForm: TsearchForm object plPreview: TPanel Left = 1 Top = 140 - Width = 379 + Width = 374 Height = 86 Align = alBottom TabOrder = 0 @@ -123,7 +121,7 @@ object searchForm: TsearchForm object resultsLV: TListView Left = 1 Top = 29 - Width = 379 + Width = 374 Height = 106 Hint = 'false' Align = alClient @@ -160,7 +158,7 @@ object searchForm: TsearchForm object Panel13: TPanel Left = 1 Top = 1 - Width = 379 + Width = 374 Height = 28 Align = alTop BevelOuter = bvNone @@ -179,7 +177,7 @@ object searchForm: TsearchForm object Panel1: TPanel Left = 0 Top = 0 - Width = 381 + Width = 376 Height = 133 Align = alTop BevelOuter = bvNone @@ -187,7 +185,7 @@ object searchForm: TsearchForm object Panel3: TPanel Left = 0 Top = 0 - Width = 381 + Width = 376 Height = 33 Align = alTop BevelOuter = bvNone @@ -196,7 +194,7 @@ object searchForm: TsearchForm object SearchTextOld: TComboBox Left = 0 Top = 2 - Width = 379 + Width = 374 Height = 21 Anchors = [akLeft, akTop, akRight] ItemHeight = 13 @@ -206,7 +204,7 @@ object searchForm: TsearchForm object Panel8: TPanel Left = 0 Top = 33 - Width = 381 + Width = 376 Height = 29 Align = alTop BevelOuter = bvNone @@ -214,7 +212,7 @@ object searchForm: TsearchForm object moduleName: TLabel Left = 28 Top = 0 - Width = 353 + Width = 348 Height = 29 Align = alClient AutoSize = False @@ -243,7 +241,7 @@ object searchForm: TsearchForm object Panel10: TPanel Left = 0 Top = 62 - Width = 381 + Width = 376 Height = 71 Align = alClient BevelOuter = bvNone @@ -281,7 +279,7 @@ object searchForm: TsearchForm end end object Panel4: TPanel - Left = 300 + Left = 295 Top = 0 Width = 81 Height = 71 @@ -313,7 +311,7 @@ object searchForm: TsearchForm object pnlScope: TPanel Left = 0 Top = 133 - Width = 381 + Width = 376 Height = 72 Align = alTop BevelOuter = bvNone @@ -321,14 +319,14 @@ object searchForm: TsearchForm object Panel5: TPanel Left = 0 Top = 43 - Width = 381 + Width = 376 Height = 29 Align = alBottom TabOrder = 0 object Panel11: TPanel Left = 165 Top = 1 - Width = 215 + Width = 210 Height = 27 Align = alClient BevelOuter = bvNone @@ -337,7 +335,7 @@ object searchForm: TsearchForm object ComboBox1: TComboBox Left = 4 Top = 4 - Width = 207 + Width = 202 Height = 21 Anchors = [akLeft, akTop, akRight] Enabled = False @@ -368,7 +366,7 @@ object searchForm: TsearchForm object Panel2: TPanel Left = 0 Top = 0 - Width = 381 + Width = 376 Height = 43 Align = alClient BevelOuter = bvNone @@ -376,7 +374,7 @@ object searchForm: TsearchForm object scopeGroup: TRadioGroup Left = 0 Top = 0 - Width = 381 + Width = 376 Height = 43 Align = alClient Caption = 'Scope' @@ -395,7 +393,7 @@ object searchForm: TsearchForm object progressBar: TProgressBar Left = 0 Top = 432 - Width = 487 + Width = 482 Height = 16 Align = alBottom Min = 0 diff --git a/apps/windoze/CBuilder5/BibleCS/searchfrm.h b/apps/windoze/CBuilder5/BibleCS/searchfrm.h index 51f71d0..ff811a4 100644 --- a/apps/windoze/CBuilder5/BibleCS/searchfrm.h +++ b/apps/windoze/CBuilder5/BibleCS/searchfrm.h @@ -64,9 +64,9 @@ __published: // IDE-managed Components void __fastcall resultsLVChange(TObject *Sender, TListItem *Item, TItemChange Change); void __fastcall resultsLVCustomDrawItem(TCustomListView *Sender, - TListItem *Item, TCustomDrawState State, bool &DefaultDraw); + TListItem *Item, TCustomDrawState State, bool &DefaultDraw); void __fastcall resultsLVInfoTip(TObject *Sender, TListItem *Item, - AnsiString &InfoTip); + AnsiString &InfoTip); void __fastcall Button1Click(TObject *Sender); void __fastcall FormActivate(TObject *Sender); void __fastcall modTreeViewChange(TObject *Sender, TTreeNode *Node); @@ -89,6 +89,7 @@ private: // User declarations void __fastcall updateStatus(void); void __fastcall updateProgressBar(void); } *searchThread; + bool initializing; TRxRichEditX *pvrtf; ListKey results; void populateRanges(); diff --git a/apps/windoze/CBuilder5/BibleCS/sword.bpr b/apps/windoze/CBuilder5/BibleCS/sword.bpr index 1de665e..3fc3a45 100644 --- a/apps/windoze/CBuilder5/BibleCS/sword.bpr +++ b/apps/windoze/CBuilder5/BibleCS/sword.bpr @@ -73,7 +73,7 @@ AutoIncBuild=1 MajorVer=1 MinorVer=5 Release=3 -Build=118 +Build=119 Debug=0 PreRelease=0 Special=0 @@ -85,13 +85,13 @@ CodePage=1252 [Version Info Keys] CompanyName=CrossWire Software & Bible Society FileDescription=Windows 32bit User Interface to The SWORD Project -FileVersion=1.5.3.118 +FileVersion=1.5.3.119 InternalName=biblecs LegalCopyright=(c) 2002 CrossWire Bible Society under the terms of the GNU General Public License LegalTrademarks= OriginalFilename= ProductName=The SWORD Project -ProductVersion=1.5.4rc4 +ProductVersion=1.5.4rc5 Comments=Seek Him and you will find Him [HistoryLists\hlIncludePath] diff --git a/apps/windoze/CBuilder5/BibleCS/sword.res b/apps/windoze/CBuilder5/BibleCS/sword.res index 9366299..c2d0916 100644 Binary files a/apps/windoze/CBuilder5/BibleCS/sword.res and b/apps/windoze/CBuilder5/BibleCS/sword.res differ diff --git a/apps/windoze/swdisprtf.cpp b/apps/windoze/swdisprtf.cpp index 3a725af..f999301 100644 --- a/apps/windoze/swdisprtf.cpp +++ b/apps/windoze/swdisprtf.cpp @@ -68,12 +68,12 @@ char SWDispRTF::Display(SWModule &Module) { if (!SWDYNAMIC_CAST(VerseKey, key)) filter.ProcessText(buf, 253, Module, &Module); - newtext = newtext + RTFHeadingPre + buf + RTFHeadingPost + ":\\par "; + newtext = newtext + RTFHeadingPre + buf + RTFHeadingPost + ":{\\par}"; tmptext = ""; tmptext = (const char *)Module; - newtext = newtext + RTFVersePre + " " + tmptext + RTFVersePost; + newtext = newtext + RTFVersePre + tmptext + RTFVersePost; newtext = newtext + RTFTrailer; RTFStream->Clear(); RTFStream->WriteBuffer(newtext.c_str(), newtext.Length()); @@ -103,7 +103,11 @@ char SWDispRTF::Display(SWModule &Module) { SelLength = endAt - foundAt; this->SelAttributes->Link = true; } + //{ Position control text at current verse } + this->SetFocus(); + SelStart = 0; SelLength = 0; + SendMessage(Handle, EM_SCROLLCARET, 0, 0); return 0; } diff --git a/locales.d/Makefile.am b/locales.d/Makefile.am index d1823f2..dbb1f0a 100644 --- a/locales.d/Makefile.am +++ b/locales.d/Makefile.am @@ -16,6 +16,8 @@ localeDATA += locales.d/id.conf localeDATA += locales.d/pt_BR.conf localeDATA += locales.d/sk.conf localeDATA += locales.d/ru.conf +localeDATA += et.conf +localeDATA += et_abbr.conf localedatadir = $(pkgdatadir)/locales.d -- cgit