Refining solution

This commit is contained in:
Matthias Koefferlein 2025-09-28 20:17:52 +02:00
parent 31ddbe24fa
commit 17f4397f1b
3 changed files with 35 additions and 28 deletions

View File

@ -711,17 +711,16 @@ HierarchyControlPanel::select_active (int cellview_index, bool silent)
{
if (cellview_index != m_active_index) {
mp_selector->setCurrentIndex (cellview_index);
change_active_cellview (cellview_index);
if (! silent) {
selection_changed (cellview_index);
emit active_cellview_changed (cellview_index);
}
}
}
void
HierarchyControlPanel::selection_changed (int index)
HierarchyControlPanel::change_active_cellview (int index)
{
if (index != m_active_index) {
search_editing_finished ();
m_active_index = index;
@ -744,9 +743,14 @@ HierarchyControlPanel::selection_changed (int index)
for (std::vector <QToolButton *>::const_iterator f = mp_cell_list_headers.begin (); f != mp_cell_list_headers.end (); ++f, ++i) {
(*f)->setChecked (i == index);
}
}
void
HierarchyControlPanel::selection_changed (int index)
{
if (index != m_active_index) {
change_active_cellview (index);
emit active_cellview_changed (index);
}
}

View File

@ -346,6 +346,9 @@ private:
// ask for cell copy mode
bool ask_for_cell_copy_mode (const db::Layout &layout, const std::vector<cell_path_type> &paths, int &cell_copy_mode);
// changes the active cellview
void change_active_cellview (int index);
};
} // namespace lay

View File

@ -418,7 +418,7 @@ LayoutView::LayoutView (lay::LayoutView *source, db::Manager *manager, bool edit
copy_from (source);
bookmarks (source->bookmarks ());
set_active_cellview_index_silent (source->active_cellview_index ());
LayoutView::set_active_cellview_index (source->active_cellview_index ());
}
LayoutView::LayoutView (db::Manager *manager, bool editable, lay::Plugin *plugin_parent, LayoutViewWidget *widget, unsigned int options)
@ -445,7 +445,7 @@ LayoutView::LayoutView (lay::LayoutView *source, db::Manager *manager, bool edit
copy_from (source);
bookmarks (source->bookmarks ());
set_active_cellview_index_silent (source->active_cellview_index ());
LayoutView::set_active_cellview_index (source->active_cellview_index ());
}
bool