Bug Report
Description:
Opening the script repository dialog from the script settings page (via the "Add script" button drop-down → "Search script repository") does not work. It only works when triggered from the main menu (Scripting → Script repository).
Root Cause:
In scriptingsettingswidget.cpp, the action was connected using the old-style SIGNAL/SLOT macro syntax:
connect(searchScriptAction, SIGNAL(triggered()), this, SLOT(searchScriptInRepository()));
However, searchScriptInRepository() is declared in the public: section of the class, not in public slots:. The old-style SIGNAL/SLOT macro requires the receiver to be declared in a slots: section, so the connection silently fails at runtime.
Fix:
Replace with a new-style lambda connection that does not require a slot declaration:
connect(searchScriptAction, &QAction::triggered, this,
[this]() { searchScriptInRepository(); });
Steps to Reproduce:
- Open Settings → Scripting
- Click the "Add script..." button drop-down arrow
- Select "Search script repository"
- Nothing happens
Expected:
The script repository dialog should open.
Bug Report
Description:
Opening the script repository dialog from the script settings page (via the "Add script" button drop-down → "Search script repository") does not work. It only works when triggered from the main menu (Scripting → Script repository).
Root Cause:
In
scriptingsettingswidget.cpp, the action was connected using the old-styleSIGNAL/SLOTmacro syntax:connect(searchScriptAction, SIGNAL(triggered()), this, SLOT(searchScriptInRepository()));However,
searchScriptInRepository()is declared in thepublic:section of the class, not inpublic slots:. The old-styleSIGNAL/SLOTmacro requires the receiver to be declared in aslots:section, so the connection silently fails at runtime.Fix:
Replace with a new-style lambda connection that does not require a slot declaration:
Steps to Reproduce:
Expected:
The script repository dialog should open.