DiffPresetsDialog: Added info line for truncated option values.

Related to #7852 - Compare Filament Dialog: Values are truncated
This commit is contained in:
YuSanka 2022-02-02 12:42:51 +01:00
parent fc59a2c1b0
commit 6667852d92

View File

@ -656,6 +656,7 @@ void DiffViewCtrl::Clear()
{ {
model->Clear(); model->Clear();
m_items_map.clear(); m_items_map.clear();
m_has_long_strings = false;
} }
wxString DiffViewCtrl::get_short_string(wxString full_string) wxString DiffViewCtrl::get_short_string(wxString full_string)
@ -1523,8 +1524,8 @@ DiffPresetDialog::DiffPresetDialog(MainFrame* mainframe)
topSizer->Add(m_top_info_line, 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, 2 * border); topSizer->Add(m_top_info_line, 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, 2 * border);
topSizer->Add(presets_sizer, 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, border); topSizer->Add(presets_sizer, 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, border);
topSizer->Add(m_show_all_presets, 0, wxEXPAND | wxALL, border); topSizer->Add(m_show_all_presets, 0, wxEXPAND | wxALL, border);
topSizer->Add(m_bottom_info_line, 0, wxEXPAND | wxALL, 2 * border);
topSizer->Add(m_tree, 1, wxEXPAND | wxALL, border); topSizer->Add(m_tree, 1, wxEXPAND | wxALL, border);
topSizer->Add(m_bottom_info_line, 0, wxEXPAND | wxALL, 2 * border);
this->SetMinSize(wxSize(80 * em, 30 * em)); this->SetMinSize(wxSize(80 * em, 30 * em));
this->SetSizer(topSizer); this->SetSizer(topSizer);
@ -1690,11 +1691,16 @@ void DiffPresetDialog::update_tree()
} }
} }
if (m_tree->has_long_strings())
bottom_info = _L("Some fields are too long to fit. Right mouse click reveals the full text.");
bool tree_was_shown = m_tree->IsShown(); bool tree_was_shown = m_tree->IsShown();
m_tree->Show(show_tree); m_tree->Show(show_tree);
if (!show_tree)
bool show_bottom_info = !show_tree || m_tree->has_long_strings();
if (show_bottom_info)
m_bottom_info_line->SetLabel(bottom_info); m_bottom_info_line->SetLabel(bottom_info);
m_bottom_info_line->Show(!show_tree); m_bottom_info_line->Show(show_bottom_info);
if (tree_was_shown == m_tree->IsShown()) if (tree_was_shown == m_tree->IsShown())
Layout(); Layout();