aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordanglassey <danglassey>2002-09-04 13:01:46 +0000
committerdanglassey <danglassey>2002-09-04 13:01:46 +0000
commitd18b997ae96079d784f304dd08dac70ee6bf0e7d (patch)
treeb1d9410e9685f967709b9e52f4e63a9a895ed798
parentdcf385382e6112b945452da8ef7fedd63f9624b3 (diff)
downloadsword-sf-cvs-d18b997ae96079d784f304dd08dac70ee6bf0e7d.tar.gz
sync with crosswire 20020904-1300
-rw-r--r--apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm4
-rw-r--r--apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp2
-rw-r--r--apps/windoze/CBuilder5/BibleCS/searchfrm.cpp10
-rw-r--r--apps/windoze/CBuilder5/BibleCS/searchfrm.dfm94
-rw-r--r--apps/windoze/CBuilder5/BibleCS/searchfrm.h4
-rw-r--r--apps/windoze/CBuilder5/BibleCS/sword.bpr24
-rw-r--r--apps/windoze/CBuilder5/BibleCS/sword.cpp7
-rw-r--r--apps/windoze/CBuilder5/BibleCS/sword.resbin1976 -> 1976 bytes
-rw-r--r--apps/windoze/CBuilder5/BibleCS/swordlib.bpr14
-rw-r--r--apps/windoze/CBuilder5/BibleCS/swordprj.bpg4
-rw-r--r--apps/windoze/CBuilder5/BibleCS/vrslstfrm.cpp5
-rw-r--r--include/swkey.h4
-rw-r--r--src/keys/listkey.cpp3
-rw-r--r--src/keys/versekey.cpp16
14 files changed, 104 insertions, 87 deletions
diff --git a/apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm b/apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm
index 31b6d49..c5c7e41 100644
--- a/apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm
+++ b/apps/windoze/CBuilder5/BibleCS/AboutBoxfrm.dfm
@@ -1,6 +1,6 @@
object AboutBox: TAboutBox
- Left = 256
- Top = 121
+ Left = 253
+ Top = 97
BorderStyle = bsDialog
Caption = 'About The SWORD Project'
ClientHeight = 448
diff --git a/apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp b/apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp
index 6907cc4..c23638f 100644
--- a/apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp
+++ b/apps/windoze/CBuilder5/BibleCS/RxRichEditX.cpp
@@ -461,7 +461,7 @@ void TRxRichEditX::fillWithVerses(SWModule *module, ListKey *verses, bool headin
if (!first)
newtext += "\\par\\par ";
newtext += RTFHeadingPre;
- newtext += ((string(element->LowerBound()) + " - " + string(element->UpperBound())).c_str());
+ newtext += element->getRangeText();
newtext += ":";
newtext += RTFHeadingPost;
newtext += "\\par ";
diff --git a/apps/windoze/CBuilder5/BibleCS/searchfrm.cpp b/apps/windoze/CBuilder5/BibleCS/searchfrm.cpp
index 7082ed7..4d98ade 100644
--- a/apps/windoze/CBuilder5/BibleCS/searchfrm.cpp
+++ b/apps/windoze/CBuilder5/BibleCS/searchfrm.cpp
@@ -133,7 +133,10 @@ void __fastcall TsearchForm::ListBox1Click(TObject *Sender)
if (focused) {
int row = focused->Index;
ListKey verse;
- verse << resultsLV->Items->Item[row]->Caption.c_str();
+ SWKey *key = target->CreateKey();
+ *key = resultsLV->Items->Item[row]->Caption.c_str();
+ verse << *key;
+ delete key;
pvrtf->fillWithVerses(target, &verse, true, false, "Search");
}
}
@@ -236,6 +239,8 @@ void __fastcall TsearchForm::FormShow(TObject *Sender)
{
populateRanges();
fillList();
+ Button1Click(0);
+ Button1Click(0);
}
//---------------------------------------------------------------------------
@@ -279,7 +284,7 @@ void __fastcall TsearchForm::resultsLVCustomDrawItem(TCustomListView *Sender, TL
double multiplier = 1.2;
textHeight *= multiplier;
int textWithMargin = 3 + textHeight;
- if (resultsLV->StateImages->Height != textWithMargin) {
+ if (resultsLV->StateImages->Height < textWithMargin) {
resultsLV->StateImages->Height = textWithMargin;
DefaultDraw = false;
return;
@@ -337,6 +342,7 @@ void TsearchForm::setTarget(SWModule *itarget) {
RTFHintForm->searchListDrawer->fillWithRTFString(target, "yoyo");
SearchText->Font->Name = RTFHintForm->searchListDrawer->dispAttribs.fontName;
// SearchText->Font->Size = RTFHintForm->searchListDrawer->dispAttribs.fontSize;
+ resultsLV->StateImages->Height = 1;
}
//---------------------------------------------------------------------------
diff --git a/apps/windoze/CBuilder5/BibleCS/searchfrm.dfm b/apps/windoze/CBuilder5/BibleCS/searchfrm.dfm
index 8c15b6b..e308ea9 100644
--- a/apps/windoze/CBuilder5/BibleCS/searchfrm.dfm
+++ b/apps/windoze/CBuilder5/BibleCS/searchfrm.dfm
@@ -1,7 +1,7 @@
object searchForm: TsearchForm
- Left = 332
- Top = 103
- Width = 491
+ Left = 650
+ Top = 119
+ Width = 495
Height = 475
Caption = 'Search...'
Color = clBtnFace
@@ -90,7 +90,7 @@ object searchForm: TsearchForm
object Panel7: TPanel
Left = 106
Top = 0
- Width = 377
+ Width = 381
Height = 432
Align = alClient
BevelOuter = bvNone
@@ -99,14 +99,14 @@ object searchForm: TsearchForm
object pnlResult: TPanel
Left = 0
Top = 205
- Width = 377
+ Width = 381
Height = 227
Align = alClient
TabOrder = 0
object Splitter1: TSplitter
Left = 1
Top = 135
- Width = 375
+ Width = 379
Height = 5
Cursor = crVSplit
Align = alBottom
@@ -115,7 +115,7 @@ object searchForm: TsearchForm
object plPreview: TPanel
Left = 1
Top = 140
- Width = 375
+ Width = 379
Height = 86
Align = alBottom
TabOrder = 0
@@ -123,7 +123,7 @@ object searchForm: TsearchForm
object resultsLV: TListView
Left = 1
Top = 29
- Width = 375
+ Width = 379
Height = 106
Hint = 'false'
Align = alClient
@@ -160,7 +160,7 @@ object searchForm: TsearchForm
object Panel13: TPanel
Left = 1
Top = 1
- Width = 375
+ Width = 379
Height = 28
Align = alTop
BevelOuter = bvNone
@@ -179,7 +179,7 @@ object searchForm: TsearchForm
object Panel1: TPanel
Left = 0
Top = 0
- Width = 377
+ Width = 381
Height = 133
Align = alTop
BevelOuter = bvNone
@@ -187,7 +187,7 @@ object searchForm: TsearchForm
object Panel3: TPanel
Left = 0
Top = 0
- Width = 377
+ Width = 381
Height = 33
Align = alTop
BevelOuter = bvNone
@@ -196,7 +196,7 @@ object searchForm: TsearchForm
object SearchTextOld: TComboBox
Left = 0
Top = 2
- Width = 375
+ Width = 379
Height = 21
Anchors = [akLeft, akTop, akRight]
ItemHeight = 13
@@ -206,7 +206,7 @@ object searchForm: TsearchForm
object Panel8: TPanel
Left = 0
Top = 33
- Width = 377
+ Width = 381
Height = 29
Align = alTop
BevelOuter = bvNone
@@ -214,7 +214,7 @@ object searchForm: TsearchForm
object moduleName: TLabel
Left = 28
Top = 0
- Width = 349
+ Width = 353
Height = 29
Align = alClient
AutoSize = False
@@ -243,7 +243,7 @@ object searchForm: TsearchForm
object Panel10: TPanel
Left = 0
Top = 62
- Width = 377
+ Width = 381
Height = 71
Align = alClient
BevelOuter = bvNone
@@ -281,7 +281,7 @@ object searchForm: TsearchForm
end
end
object Panel4: TPanel
- Left = 296
+ Left = 300
Top = 0
Width = 81
Height = 71
@@ -313,47 +313,22 @@ object searchForm: TsearchForm
object pnlScope: TPanel
Left = 0
Top = 133
- Width = 377
+ Width = 381
Height = 72
Align = alTop
BevelOuter = bvNone
TabOrder = 2
- object Panel2: TPanel
- Left = 0
- Top = 0
- Width = 377
- Height = 43
- Align = alClient
- BevelOuter = bvNone
- TabOrder = 0
- object scopeGroup: TRadioGroup
- Left = 0
- Top = 0
- Width = 377
- Height = 43
- Align = alClient
- Caption = 'Scope'
- Columns = 3
- ItemIndex = 0
- Items.Strings = (
- 'Entire Module'
- 'Current Results'
- 'Custom Range')
- TabOrder = 0
- OnClick = scopeGroupClick
- end
- end
object Panel5: TPanel
Left = 0
Top = 43
- Width = 377
+ Width = 381
Height = 29
Align = alBottom
- TabOrder = 1
+ TabOrder = 0
object Panel11: TPanel
Left = 165
Top = 1
- Width = 211
+ Width = 215
Height = 27
Align = alClient
BevelOuter = bvNone
@@ -362,7 +337,7 @@ object searchForm: TsearchForm
object ComboBox1: TComboBox
Left = 4
Top = 4
- Width = 203
+ Width = 207
Height = 21
Anchors = [akLeft, akTop, akRight]
Enabled = False
@@ -390,12 +365,37 @@ object searchForm: TsearchForm
end
end
end
+ object Panel2: TPanel
+ Left = 0
+ Top = 0
+ Width = 381
+ Height = 43
+ Align = alClient
+ BevelOuter = bvNone
+ TabOrder = 1
+ object scopeGroup: TRadioGroup
+ Left = 0
+ Top = 0
+ Width = 381
+ Height = 43
+ Align = alClient
+ Caption = 'Scope'
+ Columns = 3
+ ItemIndex = 0
+ Items.Strings = (
+ 'Entire Module'
+ 'Current Results'
+ 'Custom Range')
+ TabOrder = 0
+ OnClick = scopeGroupClick
+ end
+ end
end
end
object progressBar: TProgressBar
Left = 0
Top = 432
- Width = 483
+ Width = 487
Height = 16
Align = alBottom
Min = 0
diff --git a/apps/windoze/CBuilder5/BibleCS/searchfrm.h b/apps/windoze/CBuilder5/BibleCS/searchfrm.h
index 393e2b2..51f71d0 100644
--- a/apps/windoze/CBuilder5/BibleCS/searchfrm.h
+++ b/apps/windoze/CBuilder5/BibleCS/searchfrm.h
@@ -30,8 +30,6 @@ __published: // IDE-managed Components
TPanel *Panel3;
TComboBox *SearchTextOld;
TPanel *pnlScope;
- TPanel *Panel2;
- TRadioGroup *scopeGroup;
TPanel *Panel5;
TPanel *Panel8;
TLabel *moduleName;
@@ -54,6 +52,8 @@ __published: // IDE-managed Components
TButton *Button2;
TPanel *Panel13;
TButton *Button3;
+ TPanel *Panel2;
+ TRadioGroup *scopeGroup;
void __fastcall searchBtnClick(TObject *Sender);
void __fastcall TerminateSearch(TObject *Sender);
void __fastcall ListBox1DblClick(TObject *Sender);
diff --git a/apps/windoze/CBuilder5/BibleCS/sword.bpr b/apps/windoze/CBuilder5/BibleCS/sword.bpr
index cab9be4..733c891 100644
--- a/apps/windoze/CBuilder5/BibleCS/sword.bpr
+++ b/apps/windoze/CBuilder5/BibleCS/sword.bpr
@@ -25,9 +25,9 @@
versesel.dfm RangeMaintFrm.dfm ModVisFrm.dfm DevOfTheDay.dfm
SplashPage.dfm FontSel.dfm StudyProfessor.dfm rtfhintfrm.dfm
PreviewForm.dfm PrintFrm.dfm"/>
- <LIBFILES value="swordlib.lib ..\..\..\..\..\icu-sword\as_is\win32\borland\icudatab.lib
- ..\..\..\..\..\icu-sword\as_is\win32\borland\icucommon.lib
- ..\..\..\..\..\icu-sword\as_is\win32\borland\icui18n.lib"/>
+ <LIBFILES value="swordlib.lib ..\..\..\..\..\icu-sword\as_is\borland\icudatab.lib
+ ..\..\..\..\..\icu-sword\as_is\borland\icucommon.lib
+ ..\..\..\..\..\icu-sword\as_is\borland\icui18n.lib"/>
<LIBRARIES value="bcbie50.lib vcljpg50.lib nmfast50.lib vclbde50.lib vcldb50.lib vclx50.lib
vcl50.lib"/>
<SPARELIBS value="vcl50.lib vclx50.lib vcldb50.lib vclbde50.lib nmfast50.lib vcljpg50.lib
@@ -43,7 +43,7 @@
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="ilink32"/>
- <USERDEFINES value="_ICU_;_ICUSWORD_"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;_DEBUG"/>
<SYSDEFINES value="NO_STRICT"/>
<MAINSOURCE value="sword.cpp"/>
<INCLUDEPATH value="TntUnicodeControls;..\..;..\..\..\..\..\icu-sword\source\common;..\..\..\..\..\icu-sword\source\i18n;..\..\..\..\include;$(BCB)\include;$(BCB)\include\vcl;rxlib"/>
@@ -55,11 +55,11 @@
<IDLCFLAGS value="-I..\.. -I..\..\..\..\..\icu-sword\source\common
-I..\..\..\..\..\icu-sword\source\i18n -I..\..\..\..\include
-I$(BCB)\include -I$(BCB)\include\vcl -Irxlib -src_suffix cpp -D_ICU_"/>
- <CFLAG1 value="-O2 -Vx -Ve -RT- -X- -a8 -4 -b- -k- -vi -c -tW -tWM"/>
- <PFLAGS value="-N2obj -N0obj -$Y- -$L- -$D- -v -M -JPHNE"/>
+ <CFLAG1 value="-Od -Vx -Ve -RT- -X- -r- -a8 -4 -b- -k -y -v -vi- -c -tW -tWM"/>
+ <PFLAGS value="-N2obj -N0obj -$Y+ -$W -$O- -v -M -JPHNE"/>
<RFLAGS value=""/>
- <AFLAGS value="/mx /w2 /zn"/>
- <LFLAGS value="-Iobj -D&quot;&quot; -aa -Tpe -GD -s -Gn"/>
+ <AFLAGS value="/mx /w2 /zi"/>
+ <LFLAGS value="-Iobj -D&quot;&quot; -aa -Tpe -GD -s -Gn -v"/>
</OPTIONS>
<LINKER>
<ALLOBJ value="c0w32.obj $(OBJFILES)"/>
@@ -73,7 +73,7 @@ AutoIncBuild=1
MajorVer=1
MinorVer=5
Release=3
-Build=114
+Build=116
Debug=0
PreRelease=0
Special=0
@@ -85,7 +85,7 @@ CodePage=1252
[Version Info Keys]
CompanyName=CrossWire Software &amp; Bible Society
FileDescription=Windows 32bit User Interface to The SWORD Project
-FileVersion=1.5.3.114
+FileVersion=1.5.3.116
InternalName=biblecs
LegalCopyright=(c) 2002 CrossWire Bible Society under the terms of the GNU General Public License
LegalTrademarks=
@@ -125,8 +125,8 @@ Item0=$(BCB)\source\vcl
[HistoryLists\hlConditionals]
Count=5
-Item0=_ICU_;_ICUSWORD_
-Item1=_ICU_;_ICUSWORD_;_DEBUG
+Item0=_ICU_;_ICUSWORD_;_DEBUG
+Item1=_ICU_;_ICUSWORD_
Item2=_ICU_
Item3=_ICU_;_DEBUG
Item4=_DEBUG
diff --git a/apps/windoze/CBuilder5/BibleCS/sword.cpp b/apps/windoze/CBuilder5/BibleCS/sword.cpp
index a79b38b..6bc578e 100644
--- a/apps/windoze/CBuilder5/BibleCS/sword.cpp
+++ b/apps/windoze/CBuilder5/BibleCS/sword.cpp
@@ -31,7 +31,6 @@ USEOBJ("rxlib\Vclutils.obj");
USEOBJ("rxlib\Rxcconst.obj");
USEOBJ("rxlib\Rxconst.obj");
USEFORM("StudyProfessor.cpp", Form3);
-USELIB("..\..\..\..\..\icu-sword\as_is\win32\borland\icudatab.lib");
USEOBJ("rxlib\RxRichEd.obj");
USEOBJ("rxlib\Maxmin.obj");
USEUNIT("TModuleFonts.cpp");
@@ -44,8 +43,10 @@ USEOBJ("TntUnicodeControls\TntControls.obj");
USEOBJ("TntUnicodeControls\TntForms.obj");
USEOBJ("TntUnicodeControls\TntStdCtrls.obj");
USEOBJ("TntUnicodeControls\TntClasses.obj");
-USELIB("..\..\..\..\..\icu-sword\as_is\win32\borland\icucommon.lib");
-USELIB("..\..\..\..\..\icu-sword\as_is\win32\borland\icui18n.lib");
+USELIB("..\..\..\..\..\icu-sword\as_is\borland\icudatab.lib");
+USE("..\..\..\..\..\icu-sword\as_is\borland\http:\www.crosswire.org\sword\images\sword.gif", File);
+USELIB("..\..\..\..\..\icu-sword\as_is\borland\icucommon.lib");
+USELIB("..\..\..\..\..\icu-sword\as_is\borland\icui18n.lib");
//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) {
diff --git a/apps/windoze/CBuilder5/BibleCS/sword.res b/apps/windoze/CBuilder5/BibleCS/sword.res
index b5c659e..2908244 100644
--- a/apps/windoze/CBuilder5/BibleCS/sword.res
+++ b/apps/windoze/CBuilder5/BibleCS/sword.res
Binary files differ
diff --git a/apps/windoze/CBuilder5/BibleCS/swordlib.bpr b/apps/windoze/CBuilder5/BibleCS/swordlib.bpr
index 52ae339..b97621d 100644
--- a/apps/windoze/CBuilder5/BibleCS/swordlib.bpr
+++ b/apps/windoze/CBuilder5/BibleCS/swordlib.bpr
@@ -78,7 +78,7 @@
<DEBUGLIBPATH value=""/>
<RELEASELIBPATH value=""/>
<LINKER value="TLib"/>
- <USERDEFINES value="_ICU_;_ICUSWORD_"/>
+ <USERDEFINES value="_ICU_;_ICUSWORD_;_DEBUG"/>
<SYSDEFINES value="NO_STRICT;_NO_VCL"/>
<MAINSOURCE value="swordlib.cpp"/>
<INCLUDEPATH value="..\..;..\..\..\..\src\modules\genbook\rawgenbook;..\..\..\..\src\modules\genbook;..\..\..\..\src\modules\lexdict\zld;..\..\..\..\..\icu-sword\source\common;..\..\..\..\..\icu-sword\source\i18n;..\..\..\..\src\utilfuns\zlib;..\..\..\..\src\modules\lexdict\rawld4;..\..\..\..\src\modules\comments\zcom;..\..\..\..\src\modules\texts\ztext;..\..\..\..\src\frontend;..\..\..;..\..\..\..\utilfuns;..\..\..\framework;..\..\..\..\src\modules\comments\rawfiles;..\..\..\..\src\modules\comments\hrefcom;..\..\..\..\include;..\..\..\..\frontend;..\..\..\..\src\utilfuns;..\..\..\..\src\modules;..\..\..\..\src\modules\texts;..\..\..\..\src\modules\texts\rawtext;..\..\..\..\src\modules\texts\rawgbf;..\..\..\..\src\modules\lexdict;..\..\..\..\src\modules\lexdict\rawld;..\..\..\..\src\modules\filters;..\..\..\..\src\modules\common;..\..\..\..\src\modules\comments;..\..\..\..\src\modules\comments\rawcom;..\..\..\..\src\mgr;..\..\..\..\src\keys;$(BCB)\include;$(BCB)\include\vcl"/>
@@ -107,11 +107,11 @@
-I..\..\..\..\src\modules\comments\rawcom -I..\..\..\..\src\mgr
-I..\..\..\..\src\keys -I$(BCB)\include -I$(BCB)\include\vcl -src_suffix
cpp -D_ICU_ -D_DEBUG"/>
- <CFLAG1 value="-O2 -H=c:\PROGRA~1\borland\CBUILD~2\lib\vcl50.csm -Hc -Vx -Ve -RT- -X- -a8
- -4 -b- -k- -vi -c -g0 -tWM"/>
- <PFLAGS value="-N2..\..\..\..\obj -N0..\..\..\..\obj -$Y- -$L- -$D- -v -M -JPHNE"/>
+ <CFLAG1 value="-Od -H=c:\PROGRA~1\borland\CBUILD~2\lib\vcl50.csm -Hc -Vx -Ve -RT- -X- -r-
+ -a8 -4 -b- -k -y -v -vi- -c -g0 -tWM"/>
+ <PFLAGS value="-N2..\..\..\..\obj -N0..\..\..\..\obj -$Y+ -$W -$O- -v -M -JPHNE"/>
<RFLAGS value=""/>
- <AFLAGS value="/mx /w2 /zn"/>
+ <AFLAGS value="/mx /w2 /zi"/>
<LFLAGS value="/P512"/>
</OPTIONS>
<LINKER>
@@ -159,8 +159,8 @@ Item5=..\..\..\..\src\modules\lexdict\zld;..\..;..\..\..\..\src\utilfuns\zlib;..
[HistoryLists\hlConditionals]
Count=5
-Item0=_ICU_;_ICUSWORD_
-Item1=_ICU_;_ICUSWORD_;_DEBUG
+Item0=_ICU_;_ICUSWORD_;_DEBUG
+Item1=_ICU_;_ICUSWORD_
Item2=_ICU_
Item3=_ICU_;_DEBUG
Item4=_DEBUG
diff --git a/apps/windoze/CBuilder5/BibleCS/swordprj.bpg b/apps/windoze/CBuilder5/BibleCS/swordprj.bpg
index 87cc874..71cfc9f 100644
--- a/apps/windoze/CBuilder5/BibleCS/swordprj.bpg
+++ b/apps/windoze/CBuilder5/BibleCS/swordprj.bpg
@@ -21,11 +21,11 @@ swordlib.lib: swordlib.bpr
sword.exe: sword.bpr
$(MAKE)
-icui18n.lib: ..\..\..\..\..\icu-sword\as_is\win32\borland\i18n.bpr
+icucommon.lib: ..\..\..\..\..\icu-sword\as_is\borland\common.bpr
$(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
-icucommon.lib: ..\..\..\..\..\icu-sword\as_is\win32\borland\common.bpr
+icui18n.lib: ..\..\..\..\..\icu-sword\as_is\borland\i18n.bpr
$(ROOT)\bin\bpr2mak -t$(ROOT)\bin\deflib.bmk $**
$(ROOT)\bin\make -$(MAKEFLAGS) -f$*.mak
diff --git a/apps/windoze/CBuilder5/BibleCS/vrslstfrm.cpp b/apps/windoze/CBuilder5/BibleCS/vrslstfrm.cpp
index 7e8e39b..0247936 100644
--- a/apps/windoze/CBuilder5/BibleCS/vrslstfrm.cpp
+++ b/apps/windoze/CBuilder5/BibleCS/vrslstfrm.cpp
@@ -39,7 +39,10 @@ void __fastcall TVerseListForm::ListBox1Click(TObject *Sender) {
target = Form1->mainmgr->Modules.find(Form1->TextPageControl->ActivePage->Caption.c_str());
if (target != Form1->mainmgr->Modules.end()) {
ListKey key;
- key << ListBox1->Items->Strings[ListBox1->ItemIndex].c_str();
+ SWKey *tkey = target->second->CreateKey();
+ *tkey = ListBox1->Items->Strings[ListBox1->ItemIndex].c_str();
+ key << *tkey;
+ delete tkey;
pvrtf->fillWithVerses(target->second, &key, true, false);
}
}
diff --git a/include/swkey.h b/include/swkey.h
index 12e82ac..ca3d2a8 100644
--- a/include/swkey.h
+++ b/include/swkey.h
@@ -3,7 +3,7 @@
* types of keys for indexing into modules (e.g. verse, word,
* place, etc.)
*
- * $Id: swkey.h,v 1.20 2002/08/27 22:52:36 scribe Exp $
+ * $Id: swkey.h,v 1.21 2002/09/04 00:52:59 scribe Exp $
*
* Copyright 1998 CrossWire Bible Society (http://www.crosswire.org)
* CrossWire Bible Society
@@ -74,6 +74,7 @@ class SWDLLEXPORT SWKey : public SWObject {
protected:
char *keytext;
mutable char *rangeText;
+ mutable bool boundSet;
char persist;
char error;
@@ -144,6 +145,7 @@ public:
virtual const char *getText() const;
virtual const char *getShortText() const { return getText(); }
virtual const char *getRangeText() const;
+ virtual bool isBoundSet() const { return boundSet; }
/** Compares another VerseKey object
*
diff --git a/src/keys/listkey.cpp b/src/keys/listkey.cpp
index a8afd93..3d5a897 100644
--- a/src/keys/listkey.cpp
+++ b/src/keys/listkey.cpp
@@ -213,7 +213,8 @@ char ListKey::SetToElement(int ielement, SW_POSITION pos) {
}
if (arraycnt) {
- (*array[arraypos]) = pos;
+ if (array[arraypos]->isBoundSet())
+ (*array[arraypos]) = pos;
*this = (const char *)(*array[arraypos]);
}
else *this = "";
diff --git a/src/keys/versekey.cpp b/src/keys/versekey.cpp
index 8773298..3b8da18 100644
--- a/src/keys/versekey.cpp
+++ b/src/keys/versekey.cpp
@@ -55,6 +55,7 @@ void VerseKey::init() {
headings = 0; // default display headings option is false
upperBound = 0;
lowerBound = 0;
+ boundSet = false;
testament = 0;
book = 0;
chapter = 0;
@@ -103,8 +104,10 @@ VerseKey::VerseKey(VerseKey const &k) : SWKey(k)
book = k.Book();
chapter = k.Chapter();
verse = k.Verse();
- LowerBound(k.LowerBound());
- UpperBound(k.UpperBound());
+ if (k.isBoundSet()) {
+ LowerBound(k.LowerBound());
+ UpperBound(k.UpperBound());
+ }
}
@@ -719,7 +722,7 @@ VerseKey &VerseKey::LowerBound(const char *lb)
(*lowerBound) = lb;
lowerBound->Normalize();
lowerBound->setLocale( this->getLocale() );
-
+ boundSet = true;
return (*lowerBound);
}
@@ -760,7 +763,7 @@ VerseKey &VerseKey::UpperBound(const char *ub)
// -- end kludge
-
+ boundSet = true;
return (*upperBound);
}
@@ -823,6 +826,7 @@ void VerseKey::initBounds() const
upperBound->Book(BMAX[1]);
upperBound->Chapter(books[1][BMAX[1]-1].chapmax);
upperBound->Verse(books[1][BMAX[1]-1].versemax[upperBound->Chapter()-1]);
+ boundSet = false;
}
@@ -1466,9 +1470,9 @@ const char *VerseKey::getOSISRef() const {
*/
const char *VerseKey::getRangeText() const {
- if ((upperBound) && (lowerBound)) {
+ if (isBoundSet()) {
char buf[1023];
- sprintf(buf, "%s-%s", (const char *)lowerBound, (const char *)upperBound);
+ sprintf(buf, "%s-%s", (const char *)LowerBound(), (const char *)UpperBound());
stdstr(&rangeText, buf);
}
else stdstr(&rangeText, getText());