X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2a94806c9a047080225178acf37869677794bea7..5ca9771ff389ba5981d12ee7ac8b7f23edc6118a:/src/richtext/richtextbulletspage.cpp diff --git a/src/richtext/richtextbulletspage.cpp b/src/richtext/richtextbulletspage.cpp index 1ba53c80a5..c62e3c3b53 100644 --- a/src/richtext/richtextbulletspage.cpp +++ b/src/richtext/richtextbulletspage.cpp @@ -220,7 +220,7 @@ void wxRichTextBulletsPage::CreateControls() itemBoxSizer19->Add(itemStaticText20, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); wxArrayString m_symbolCtrlStrings; - m_symbolCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL, _T(""), wxDefaultPosition, wxSize(60, -1), m_symbolCtrlStrings, wxCB_DROPDOWN ); + m_symbolCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL, wxT(""), wxDefaultPosition, wxSize(60, -1), m_symbolCtrlStrings, wxCB_DROPDOWN ); m_symbolCtrl->SetHelpText(_("The bullet character.")); if (wxRichTextBulletsPage::ShowToolTips()) m_symbolCtrl->SetToolTip(_("The bullet character.")); @@ -238,7 +238,7 @@ void wxRichTextBulletsPage::CreateControls() itemBoxSizer18->Add(itemStaticText24, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5); wxArrayString m_symbolFontCtrlStrings; - m_symbolFontCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL, _T(""), wxDefaultPosition, wxDefaultSize, m_symbolFontCtrlStrings, wxCB_DROPDOWN ); + m_symbolFontCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL, wxT(""), wxDefaultPosition, wxDefaultSize, m_symbolFontCtrlStrings, wxCB_DROPDOWN ); m_symbolFontCtrl->SetHelpText(_("Available fonts.")); if (wxRichTextBulletsPage::ShowToolTips()) m_symbolFontCtrl->SetToolTip(_("Available fonts.")); @@ -250,7 +250,7 @@ void wxRichTextBulletsPage::CreateControls() itemBoxSizer18->Add(itemStaticText27, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5); wxArrayString m_bulletNameCtrlStrings; - m_bulletNameCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_NAMECTRL, _T(""), wxDefaultPosition, wxDefaultSize, m_bulletNameCtrlStrings, wxCB_DROPDOWN ); + m_bulletNameCtrl = new wxComboBox( itemPanel1, ID_RICHTEXTBULLETSPAGE_NAMECTRL, wxT(""), wxDefaultPosition, wxDefaultSize, m_bulletNameCtrlStrings, wxCB_DROPDOWN ); m_bulletNameCtrl->SetHelpText(_("A standard bullet name.")); if (wxRichTextBulletsPage::ShowToolTips()) m_bulletNameCtrl->SetToolTip(_("A standard bullet name.")); @@ -261,7 +261,7 @@ void wxRichTextBulletsPage::CreateControls() wxStaticText* itemStaticText30 = new wxStaticText( itemPanel1, ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC, _("&Number:"), wxDefaultPosition, wxDefaultSize, 0 ); itemBoxSizer18->Add(itemStaticText30, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 5); - m_numberCtrl = new wxSpinCtrl( itemPanel1, ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, _T("0"), wxDefaultPosition, wxSize(50, -1), wxSP_ARROW_KEYS, 0, 100000, 0 ); + m_numberCtrl = new wxSpinCtrl( itemPanel1, ID_RICHTEXTBULLETSPAGE_NUMBERCTRL, wxT("0"), wxDefaultPosition, wxSize(50, -1), wxSP_ARROW_KEYS, 0, 100000, 0 ); m_numberCtrl->SetHelpText(_("The list item number.")); if (wxRichTextBulletsPage::ShowToolTips()) m_numberCtrl->SetToolTip(_("The list item number.")); @@ -301,7 +301,9 @@ void wxRichTextBulletsPage::CreateControls() if (wxRichTextBuffer::GetRenderer()) wxRichTextBuffer::GetRenderer()->EnumerateStandardBulletNames(standardBulletNames); - m_bulletNameCtrl->Append(standardBulletNames); + size_t i; + for (i = 0; i < standardBulletNames.GetCount(); i++) + m_bulletNameCtrl->Append(wxGetTranslation(standardBulletNames[i])); wxArrayString facenames = wxRichTextCtrl::GetAvailableFontNames(); facenames.Sort(); @@ -314,7 +316,7 @@ bool wxRichTextBulletsPage::TransferDataFromWindow() { wxPanel::TransferDataFromWindow(); - wxTextAttr* attr = GetAttributes(); + wxRichTextAttr* attr = GetAttributes(); if (m_hasBulletStyle) { @@ -348,7 +350,22 @@ bool wxRichTextBulletsPage::TransferDataFromWindow() else if (index == wxRICHTEXT_BULLETINDEX_STANDARD) { bulletStyle |= wxTEXT_ATTR_BULLET_STYLE_STANDARD; - attr->SetBulletName(m_bulletNameCtrl->GetValue()); + wxArrayString standardBulletNames; + if (wxRichTextBuffer::GetRenderer() && m_bulletNameCtrl->GetSelection() != wxNOT_FOUND) + { + int sel = m_bulletNameCtrl->GetSelection(); + wxString selName = m_bulletNameCtrl->GetString(sel); + + // Try to get the untranslated name using the current selection index of the combobox. + // into account. + wxRichTextBuffer::GetRenderer()->EnumerateStandardBulletNames(standardBulletNames); + if (sel < (int) standardBulletNames.GetCount() && m_bulletNameCtrl->GetValue() == selName) + attr->SetBulletName(standardBulletNames[sel]); + else + attr->SetBulletName(m_bulletNameCtrl->GetValue()); + } + else + attr->SetBulletName(m_bulletNameCtrl->GetValue()); } if (m_parenthesesCtrl->GetValue()) @@ -387,7 +404,7 @@ bool wxRichTextBulletsPage::TransferDataToWindow() wxPanel::TransferDataToWindow(); - wxTextAttr* attr = GetAttributes(); + wxRichTextAttr* attr = GetAttributes(); if (attr->HasBulletStyle()) { @@ -466,7 +483,22 @@ bool wxRichTextBulletsPage::TransferDataToWindow() m_numberCtrl->SetValue(0); if (attr->HasBulletName()) - m_bulletNameCtrl->SetValue(attr->GetBulletName()); + { + wxArrayString standardBulletNames; + if (wxRichTextBuffer::GetRenderer()) + { + // Try to set the control by index in order to take translated combo control strings + // into account. + wxRichTextBuffer::GetRenderer()->EnumerateStandardBulletNames(standardBulletNames); + int idx = standardBulletNames.Index(attr->GetBulletName()); + if (idx != -1 && idx < (int) m_bulletNameCtrl->GetCount()) + m_bulletNameCtrl->SetSelection(idx); + else + m_bulletNameCtrl->SetValue(attr->GetBulletName()); + } + else + m_bulletNameCtrl->SetValue(attr->GetBulletName()); + } else m_bulletNameCtrl->SetValue(wxEmptyString); @@ -490,7 +522,7 @@ et magnis dis parturient montes, nascetur ridiculus mus. Nullam vitae justo id m iaculis malesuada. Donec bibendum ipsum ut ante porta fringilla.\n"); TransferDataFromWindow(); - wxTextAttr attr(*GetAttributes()); + wxRichTextAttr attr(*GetAttributes()); attr.SetFlags(attr.GetFlags() & (wxTEXT_ATTR_BULLET_STYLE|wxTEXT_ATTR_BULLET_NUMBER|wxTEXT_ATTR_BULLET_TEXT|wxTEXT_ATTR_BULLET_NAME| wxTEXT_ATTR_ALIGNMENT|wxTEXT_ATTR_LEFT_INDENT|wxTEXT_ATTR_RIGHT_INDENT|wxTEXT_ATTR_PARA_SPACING_BEFORE|wxTEXT_ATTR_PARA_SPACING_AFTER| @@ -500,7 +532,7 @@ iaculis malesuada. Donec bibendum ipsum ut ante porta fringilla.\n"); font.SetPointSize(9); m_previewCtrl->SetFont(font); - wxTextAttr normalParaAttr; + wxRichTextAttr normalParaAttr; normalParaAttr.SetFont(font); normalParaAttr.SetTextColour(wxColour(wxT("LIGHT GREY"))); @@ -524,7 +556,7 @@ iaculis malesuada. Donec bibendum ipsum ut ante porta fringilla.\n"); m_previewCtrl->Thaw(); } -wxTextAttr* wxRichTextBulletsPage::GetAttributes() +wxRichTextAttr* wxRichTextBulletsPage::GetAttributes() { return wxRichTextFormattingDialog::GetDialogAttributes(this); }