using same single instance of action searcher

This commit is contained in:
alemuntoni 2022-01-24 16:37:38 +01:00
parent 72b05e717e
commit a28309b6bc
2 changed files with 15 additions and 14 deletions

View File

@ -359,7 +359,7 @@ public:
QMenu* rasterLayerMenu() { return filterMenuRasterLayer; }
private:
ActionSearcher wama;
ActionSearcher& searcher;
//////// ToolBars ///////////////
QToolBar* mainToolBar;
QToolBar* decoratorToolBar;

View File

@ -46,13 +46,14 @@
QProgressBar *MainWindow::qb;
MainWindow::MainWindow():
httpReq(this),
gpumeminfo(NULL),
defaultGlobalParams(meshlab::defaultGlobalParameterList()),
lastUsedDirectory(QDir::home()),
PM(meshlab::pluginManagerInstance()),
_currviewcontainer(NULL)
MainWindow::MainWindow() :
searcher(meshlab::actionSearcherInstance()),
httpReq(this),
gpumeminfo(NULL),
defaultGlobalParams(meshlab::defaultGlobalParameterList()),
lastUsedDirectory(QDir::home()),
PM(meshlab::pluginManagerInstance()),
_currviewcontainer(NULL)
{
QSettings settings;
//toDelete plugins, flagged in the last session
@ -650,7 +651,7 @@ void MainWindow::createMenus()
{
initSearchEngine();
int longest = longestActionWidthInAllMenus();
searchMenu = new SearchMenu(wama, 15, searchButton, longest);
searchMenu = new SearchMenu(searcher, 15, searchButton, longest);
searchButton->setMenu(searchMenu);
connect(searchShortCut, SIGNAL(activated()), searchButton, SLOT(openMenu()));
}
@ -658,22 +659,22 @@ void MainWindow::createMenus()
void MainWindow::initSearchEngine()
{
wama.clear();
searcher.clear();
for (const auto& p : PM.filterPluginIterator()){
for (QAction* act : p->actions())
wama.addAction(act);
searcher.addAction(act);
}
for (const auto& p : PM.editPluginFactoryIterator()){
for (QAction* act : p->actions())
wama.addAction(act);
searcher.addAction(act);
}
for (const auto& p : PM.renderPluginIterator()){
for (QAction* act : p->actions())
wama.addAction(act);
searcher.addAction(act);
}
for (const auto& p : PM.decoratePluginIterator()){
for (QAction* act : p->actions())
wama.addAction(act);
searcher.addAction(act);
}
}