diff --git a/docs/changes.txt b/docs/changes.txt
index 492a5d0fa5..0538ec3775 100644
--- a/docs/changes.txt
+++ b/docs/changes.txt
@@ -88,6 +88,14 @@ Major new features in 2.8 release
wxSearchCtrl, wxAboutBox, wxTreebook, tar streams.
+2.8.12:
+-------
+
+All (GUI):
+
+- wxRTC: fixed style selection resetting after editing a style.
+- wxRTC: can now edit line spacing in .1 increments from 1 to 2.
+
2.8.11:
-------
diff --git a/src/richtext/richtextdialogs.pjd b/src/richtext/richtextdialogs.pjd
index 6aec10ec0e..25f149fe08 100644
--- a/src/richtext/richtextdialogs.pjd
+++ b/src/richtext/richtextdialogs.pjd
@@ -7,7 +7,7 @@
""
""
""
- 0
+ 0
0
0
1
@@ -24,6 +24,7 @@
0
"<All platforms>"
"<Any>"
+ "Standard"
"/////////////////////////////////////////////////////////////////////////////
// Name: %HEADER-FILENAME%
// Purpose:
@@ -147,29 +148,42 @@
"Modular"
"GUI"
"wxMSW"
+ "Default"
"Dynamic"
"Yes"
"No"
+ "Yes"
"No"
"No"
"Yes"
- "%WXVERSION%"
+ "Yes"
+ "Yes"
+ "Yes"
+ "Yes"
+ "Yes"
"%EXECUTABLE%"
""
"%AUTO%"
"%AUTO%"
"%AUTO%"
- "%AUTO%"
- "%AUTO%"
- "%AUTO%"
- "%AUTO%"
- "%AUTO%"
- "%AUTO%"
"%AUTO%"
+ "%WXVERSION%"
"%AUTO%"
+ "%AUTO%"
+ "%AUTO%"
+ "%AUTO%"
+ "%AUTO%"
+ ""
+ "%AUTO%"
"%AUTO%"
"%AUTO%"
"%AUTO%"
+ "%AUTO%"
+ "%AUTO%"
+ "%AUTO%"
+ "%AUTO%"
+ "%AUTO%"
+ "%AUTO%"
"%AUTO%"
"%AUTO%"
"%AUTO%"
@@ -181,13 +195,8 @@
"%AUTO%"
"%AUTO%"
"%AUTO%"
- "%AUTO%"
- "%AUTO%"
- "%AUTO%"
- "%AUTO%"
0
1
- ""
@@ -227,6 +236,7 @@
""
0
""
+ "Standard"
0
0
"ID_RICHTEXTFONTPAGE"
@@ -269,6 +279,7 @@
0
0
0
+ 0
0
0
0
@@ -433,6 +444,7 @@
0
0
0
+ 0
0
0
0
@@ -516,6 +528,7 @@
0
0
0
+ 0
0
0
0
@@ -582,6 +595,7 @@
0
0
0
+ 0
0
0
0
@@ -683,6 +697,7 @@
0
0
0
+ 0
0
0
0
@@ -766,6 +781,7 @@
0
0
0
+ 0
0
0
0
@@ -841,6 +857,7 @@
0
0
0
+ 0
0
0
0
@@ -963,6 +980,7 @@
0
0
0
+ 0
0
0
0
@@ -1124,6 +1142,7 @@
0
0
0
+ 0
0
0
0
@@ -1285,6 +1304,7 @@
0
0
0
+ 0
0
0
0
@@ -1471,6 +1491,7 @@
0
0
0
+ 0
0
0
0
@@ -1536,6 +1557,7 @@
0
0
0
+ 0
0
0
0
@@ -1635,6 +1657,7 @@
0
0
0
+ 0
0
0
0
@@ -1699,6 +1722,7 @@
0
0
0
+ 0
0
0
0
@@ -2083,6 +2107,7 @@
0
0
0
+ 0
0
0
0
@@ -2132,6 +2157,7 @@
""
0
""
+ "Standard"
0
0
"ID_RICHTEXTINDENTSSPACINGPAGE"
@@ -2174,6 +2200,7 @@
0
0
0
+ 0
0
0
0
@@ -2207,14 +2234,6 @@
"wbBoxSizerProxy"
"Vertical"
""
- "Centre"
- "Centre"
- 0
- 5
- 1
- 1
- 1
- 1
0
0
0
@@ -2339,6 +2358,7 @@
0
0
0
+ 0
0
0
0
@@ -2816,6 +2836,7 @@
0
0
0
+ 0
0
0
0
@@ -2935,6 +2956,7 @@
0
0
0
+ 0
0
0
0
@@ -3086,6 +3108,7 @@
0
0
0
+ 0
0
0
0
@@ -3194,6 +3217,7 @@
0
0
0
+ 0
0
0
0
@@ -3265,6 +3289,7 @@
0
0
0
+ 0
0
0
0
@@ -3373,6 +3398,7 @@
0
0
0
+ 0
0
0
0
@@ -3445,6 +3471,7 @@
0
0
0
+ 0
0
0
0
@@ -3553,6 +3580,7 @@
0
0
0
+ 0
0
0
0
@@ -3625,6 +3653,7 @@
0
0
0
+ 0
0
0
0
@@ -3776,6 +3805,7 @@
0
0
0
+ 0
0
0
0
@@ -3895,6 +3925,7 @@
0
0
0
+ 0
0
0
0
@@ -4046,6 +4077,7 @@
0
0
0
+ 0
0
0
0
@@ -4154,6 +4186,7 @@
0
0
0
+ 0
0
0
0
@@ -4225,6 +4258,7 @@
0
0
0
+ 0
0
0
0
@@ -4333,6 +4367,7 @@
0
0
0
+ 0
0
0
0
@@ -4405,6 +4440,7 @@
0
0
0
+ 0
0
0
0
@@ -4477,7 +4513,7 @@
""
""
"m_spacingLine"
- "Single|1.5|2"
+ "Single|1.1|1.2|1.3|1.4|1.5|1.6|1.7|1.8|1.9|2"
"Single"
"The line spacing."
""
@@ -4591,6 +4627,7 @@
0
0
0
+ 0
0
0
0
@@ -4640,6 +4677,7 @@
""
0
""
+ "Standard"
0
0
"ID_RICHTEXTTABSPAGE"
@@ -4682,6 +4720,7 @@
0
0
0
+ 0
0
0
0
@@ -4847,6 +4886,7 @@
0
0
0
+ 0
0
0
0
@@ -4929,6 +4969,7 @@
0
0
0
+ 0
0
0
0
@@ -5004,6 +5045,7 @@
0
0
0
+ 0
0
0
0
@@ -5126,6 +5168,7 @@
0
0
0
+ 0
0
0
0
@@ -5376,6 +5419,7 @@
""
0
""
+ "Standard"
0
0
"ID_RICHTEXTBULLETSPAGE"
@@ -5418,6 +5462,7 @@
0
0
0
+ 0
0
0
0
@@ -5583,6 +5628,7 @@
0
0
0
+ 0
0
0
0
@@ -5657,6 +5703,7 @@
0
0
0
+ 0
0
0
0
@@ -5977,6 +6024,7 @@
0
0
0
+ 0
0
0
0
@@ -6126,6 +6174,7 @@
0
0
0
+ 0
0
0
0
@@ -6271,6 +6320,7 @@
0
0
0
+ 0
0
0
0
@@ -6504,6 +6554,7 @@
0
0
0
+ 0
0
0
0
@@ -6668,6 +6719,7 @@
0
0
0
+ 0
0
0
0
@@ -6832,6 +6884,7 @@
0
0
0
+ 0
0
0
0
@@ -6906,6 +6959,7 @@
0
0
0
+ 0
0
0
0
@@ -6999,6 +7053,7 @@
0
0
0
+ 0
0
0
0
@@ -7048,6 +7103,7 @@
""
0
""
+ "Standard"
0
0
"ID_RICHTEXTSTYLEPAGE"
@@ -7090,6 +7146,7 @@
0
0
0
+ 0
0
0
0
@@ -7256,6 +7313,7 @@
0
0
0
+ 0
0
0
0
@@ -7338,6 +7396,7 @@
0
0
0
+ 0
0
0
0
@@ -7409,6 +7468,7 @@
0
0
0
+ 0
0
0
0
@@ -7543,6 +7603,7 @@
0
0
0
+ 0
0
0
0
@@ -7680,6 +7741,7 @@
""
0
""
+ "Standard"
0
0
"m_fontName|wxString|FontName||0"
@@ -7726,6 +7788,7 @@
0
0
0
+ 0
0
0
0
@@ -7759,6 +7822,14 @@
"wbBoxSizerProxy"
"Vertical"
""
+ "Centre"
+ "Centre"
+ 0
+ 5
+ 1
+ 1
+ 1
+ 1
0
0
0
@@ -7883,6 +7954,7 @@
0
0
0
+ 0
0
0
0
@@ -8044,6 +8116,7 @@
0
0
0
+ 0
0
0
0
@@ -8176,6 +8249,7 @@
0
0
0
+ 0
0
0
0
@@ -8276,6 +8350,7 @@
0
0
0
+ 0
0
0
0
@@ -8372,6 +8447,7 @@
0
0
0
+ 0
0
0
0
@@ -8454,6 +8530,7 @@
0
0
0
+ 0
0
0
0
@@ -8551,6 +8628,7 @@
0
0
0
+ 0
0
0
0
@@ -9031,6 +9109,7 @@
""
0
""
+ "Standard"
0
0
"ID_RICHTEXTSTYLEORGANISERDIALOG"
@@ -9073,6 +9152,7 @@
0
0
0
+ 0
0
0
0
@@ -9238,6 +9318,7 @@
0
0
0
+ 0
0
0
0
@@ -9303,6 +9384,7 @@
0
0
0
+ 0
0
0
0
@@ -9404,6 +9486,7 @@
0
0
0
+ 0
0
0
0
@@ -9469,6 +9552,7 @@
0
0
0
+ 0
0
0
0
@@ -9570,6 +9654,7 @@
0
0
0
+ 0
0
0
0
@@ -10458,6 +10543,7 @@
""
0
""
+ "Standard"
0
0
"ID_RICHTEXTLISTSTYLEPAGE"
@@ -10500,6 +10586,7 @@
0
0
0
+ 0
0
0
0
@@ -10641,6 +10728,7 @@
0
0
0
+ 0
0
0
0
@@ -10715,6 +10803,7 @@
0
0
0
+ 0
0
0
0
@@ -10883,6 +10972,7 @@
0
0
0
+ 0
0
0
0
@@ -10950,6 +11040,7 @@
1
0
0
+ 0
0
0
0
@@ -11104,6 +11195,7 @@
0
0
0
+ 0
0
0
0
@@ -11178,6 +11270,7 @@
0
0
0
+ 0
0
0
0
@@ -11498,6 +11591,7 @@
0
0
0
+ 0
0
0
0
@@ -11647,6 +11741,7 @@
0
0
0
+ 0
0
0
0
@@ -11767,6 +11862,7 @@
0
0
0
+ 0
0
0
0
@@ -12025,6 +12121,7 @@
0
0
0
+ 0
0
0
0
@@ -12189,6 +12286,7 @@
0
0
0
+ 0
0
0
0
@@ -12326,6 +12424,7 @@
1
0
0
+ 0
0
0
0
@@ -12480,6 +12579,7 @@
0
0
0
+ 0
0
0
0
@@ -12957,6 +13057,7 @@
0
0
0
+ 0
0
0
0
@@ -13076,6 +13177,7 @@
0
0
0
+ 0
0
0
0
@@ -13227,6 +13329,7 @@
0
0
0
+ 0
0
0
0
@@ -13335,6 +13438,7 @@
0
0
0
+ 0
0
0
0
@@ -13407,6 +13511,7 @@
0
0
0
+ 0
0
0
0
@@ -13515,6 +13620,7 @@
0
0
0
+ 0
0
0
0
@@ -13587,6 +13693,7 @@
0
0
0
+ 0
0
0
0
@@ -13695,6 +13802,7 @@
0
0
0
+ 0
0
0
0
@@ -13783,6 +13891,7 @@
0
0
0
+ 0
0
0
0
@@ -13902,6 +14011,7 @@
0
0
0
+ 0
0
0
0
@@ -14053,6 +14163,7 @@
0
0
0
+ 0
0
0
0
@@ -14161,6 +14272,7 @@
0
0
0
+ 0
0
0
0
@@ -14233,6 +14345,7 @@
0
0
0
+ 0
0
0
0
@@ -14341,6 +14454,7 @@
0
0
0
+ 0
0
0
0
@@ -14413,6 +14527,7 @@
0
0
0
+ 0
0
0
0
@@ -14576,6 +14691,7 @@
0
0
0
+ 0
0
0
0
diff --git a/src/richtext/richtextindentspage.cpp b/src/richtext/richtextindentspage.cpp
index 6489add6e3..04bbda3534 100644
--- a/src/richtext/richtextindentspage.cpp
+++ b/src/richtext/richtextindentspage.cpp
@@ -208,7 +208,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
wxBoxSizer* itemBoxSizer24 = new wxBoxSizer(wxHORIZONTAL);
itemFlexGridSizer22->Add(itemBoxSizer24, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_indentLeft = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT, _T(""), wxDefaultPosition, wxSize(50, -1), 0 );
+ m_indentLeft = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
m_indentLeft->SetHelpText(_("The left indent."));
if (wxRichTextIndentsSpacingPage::ShowToolTips())
m_indentLeft->SetToolTip(_("The left indent."));
@@ -220,7 +220,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
wxBoxSizer* itemBoxSizer27 = new wxBoxSizer(wxHORIZONTAL);
itemFlexGridSizer22->Add(itemBoxSizer27, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_indentLeftFirst = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT_FIRST, _T(""), wxDefaultPosition, wxSize(50, -1), 0 );
+ m_indentLeftFirst = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_LEFT_FIRST, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
m_indentLeftFirst->SetHelpText(_("The first line indent."));
if (wxRichTextIndentsSpacingPage::ShowToolTips())
m_indentLeftFirst->SetToolTip(_("The first line indent."));
@@ -232,7 +232,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
wxBoxSizer* itemBoxSizer30 = new wxBoxSizer(wxHORIZONTAL);
itemFlexGridSizer22->Add(itemBoxSizer30, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_indentRight = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_RIGHT, _T(""), wxDefaultPosition, wxSize(50, -1), 0 );
+ m_indentRight = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_INDENT_RIGHT, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
m_indentRight->SetHelpText(_("The right indent."));
if (wxRichTextIndentsSpacingPage::ShowToolTips())
m_indentRight->SetToolTip(_("The right indent."));
@@ -287,7 +287,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
wxBoxSizer* itemBoxSizer43 = new wxBoxSizer(wxHORIZONTAL);
itemFlexGridSizer41->Add(itemBoxSizer43, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_spacingBefore = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_BEFORE, _T(""), wxDefaultPosition, wxSize(50, -1), 0 );
+ m_spacingBefore = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_BEFORE, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
m_spacingBefore->SetHelpText(_("The spacing before the paragraph."));
if (wxRichTextIndentsSpacingPage::ShowToolTips())
m_spacingBefore->SetToolTip(_("The spacing before the paragraph."));
@@ -299,7 +299,7 @@ void wxRichTextIndentsSpacingPage::CreateControls()
wxBoxSizer* itemBoxSizer46 = new wxBoxSizer(wxHORIZONTAL);
itemFlexGridSizer41->Add(itemBoxSizer46, 1, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
- m_spacingAfter = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_AFTER, _T(""), wxDefaultPosition, wxSize(50, -1), 0 );
+ m_spacingAfter = new wxTextCtrl( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_AFTER, wxEmptyString, wxDefaultPosition, wxSize(50, -1), 0 );
if (wxRichTextIndentsSpacingPage::ShowToolTips())
m_spacingAfter->SetToolTip(_("The spacing after the paragraph."));
itemBoxSizer46->Add(m_spacingAfter, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
@@ -312,7 +312,15 @@ void wxRichTextIndentsSpacingPage::CreateControls()
wxArrayString m_spacingLineStrings;
m_spacingLineStrings.Add(_("Single"));
+ m_spacingLineStrings.Add(_("1.1"));
+ m_spacingLineStrings.Add(_("1.2"));
+ m_spacingLineStrings.Add(_("1.3"));
+ m_spacingLineStrings.Add(_("1.4"));
m_spacingLineStrings.Add(_("1.5"));
+ m_spacingLineStrings.Add(_("1.6"));
+ m_spacingLineStrings.Add(_("1.7"));
+ m_spacingLineStrings.Add(_("1.8"));
+ m_spacingLineStrings.Add(_("1.9"));
m_spacingLineStrings.Add(_("2"));
m_spacingLine = new wxComboBox( itemPanel1, ID_RICHTEXTINDENTSSPACINGPAGE_SPACING_LINE, _("Single"), wxDefaultPosition, wxSize(90, -1), m_spacingLineStrings, wxCB_READONLY );
m_spacingLine->SetStringSelection(_("Single"));
@@ -437,12 +445,8 @@ bool wxRichTextIndentsSpacingPage::TransferDataFromWindow()
int spacingIndex = m_spacingLine->GetSelection();
int lineSpacing = 0;
- if (spacingIndex == 0)
- lineSpacing = 10;
- else if (spacingIndex == 1)
- lineSpacing = 15;
- else if (spacingIndex == 2)
- lineSpacing = 20;
+ if (spacingIndex != -1)
+ lineSpacing = 10 + spacingIndex;
if (lineSpacing == 0)
attr->SetFlags(attr->GetFlags() & (~wxTEXT_ATTR_LINE_SPACING));
@@ -526,12 +530,8 @@ bool wxRichTextIndentsSpacingPage::TransferDataToWindow()
int index = 0;
int lineSpacing = attr->GetLineSpacing();
- if (lineSpacing == 10)
- index = 0;
- else if (lineSpacing == 15)
- index = 1;
- else if (lineSpacing == 20)
- index = 2;
+ if (lineSpacing >= 10 && lineSpacing <= 20)
+ index = lineSpacing - 10;
else
index = -1;
diff --git a/src/richtext/richtextstyles.cpp b/src/richtext/richtextstyles.cpp
index 30d40cc39c..9bf0e5563c 100644
--- a/src/richtext/richtextstyles.cpp
+++ b/src/richtext/richtextstyles.cpp
@@ -520,6 +520,8 @@ void wxRichTextStyleListBox::UpdateStyles()
{
if (GetStyleSheet())
{
+ int oldSel = GetSelection();
+
SetSelection(wxNOT_FOUND);
m_styleNames.Clear();
@@ -546,9 +548,15 @@ void wxRichTextStyleListBox::UpdateStyles()
Refresh();
- if (GetItemCount() > 0)
+ int newSel = -1;
+ if (oldSel >= 0 && oldSel < (int) GetItemCount())
+ newSel = oldSel;
+ else if (GetItemCount() > 0)
+ newSel = 0;
+
+ if (newSel >= 0)
{
- SetSelection(0);
+ SetSelection(newSel);
SendSelectedEvent();
}
}
@@ -619,7 +627,7 @@ wxString wxRichTextStyleListBox::CreateHTML(wxRichTextStyleDefinition* def) cons
int size = 3;
#endif
- // Guess a standard font size
+ // Guess a standard font size
int stdFontSize = 0;
// First see if we have a default/normal style to base the size on
@@ -628,22 +636,22 @@ wxString wxRichTextStyleListBox::CreateHTML(wxRichTextStyleDefinition* def) cons
size_t i;
for (i = 0; i < m_styleNames.GetCount(); i++)
{
- wxString name = m_styleNames[i].Lower();
- if (name.Find(wxT("normal")) != wxNOT_FOUND || name.Find(normalTranslated) != wxNOT_FOUND ||
- name.Find(wxT("default")) != wxNOT_FOUND || name.Find(defaultTranslated) != wxNOT_FOUND)
- {
- wxRichTextStyleDefinition* d = GetStyleSheet()->FindStyle(m_styleNames[i]);
- if (d)
- {
- wxRichTextAttr attr2(d->GetStyleMergedWithBase(GetStyleSheet()));
- if (attr2.HasFontSize())
- {
- stdFontSize = attr2.GetFontSize();
- break;
- }
- }
- }
- }
+ wxString name = m_styleNames[i].Lower();
+ if (name.Find(wxT("normal")) != wxNOT_FOUND || name.Find(normalTranslated) != wxNOT_FOUND ||
+ name.Find(wxT("default")) != wxNOT_FOUND || name.Find(defaultTranslated) != wxNOT_FOUND)
+ {
+ wxRichTextStyleDefinition* d = GetStyleSheet()->FindStyle(m_styleNames[i]);
+ if (d)
+ {
+ wxRichTextAttr attr2(d->GetStyleMergedWithBase(GetStyleSheet()));
+ if (attr2.HasFontSize())
+ {
+ stdFontSize = attr2.GetFontSize();
+ break;
+ }
+ }
+ }
+ }
if (stdFontSize == 0)
{
@@ -670,13 +678,13 @@ wxString wxRichTextStyleListBox::CreateHTML(wxRichTextStyleDefinition* def) cons
{
if (sizes[i] > mostCommonSize)
mostCommonSize = i;
- }
+ }
if (mostCommonSize > 0)
stdFontSize = mostCommonSize;
}
if (stdFontSize == 0)
- stdFontSize = 12;
+ stdFontSize = 12;
int thisFontSize = ((attr.GetFlags() & wxTEXT_ATTR_FONT_SIZE) != 0) ? attr.GetFontSize() : stdFontSize;
@@ -950,6 +958,7 @@ void wxRichTextStyleListCtrl::OnChooseType(wxCommandEvent& event)
return;
wxRichTextStyleListBox::wxRichTextStyleType styleType = StyleIndexToType(event.GetSelection());
+ m_styleListBox->SetSelection(-1);
m_styleListBox->SetStyleType(styleType);
}
}