28 , m_qmicAction(createAction(
"QMic"))
29 , m_againAction(createAction(
"QMicAgain"))
32 connect(m_qmicAction, SIGNAL(triggered()),
this, SLOT(slotQMic()));
35 m_againAction->setEnabled(
false);
36 connect(m_againAction, SIGNAL(triggered()),
this, SLOT(slotQMicAgain()));
49 std::unique_ptr<KisQmicPluginInterface> plugin;
53 if (offers.isEmpty()) {
54 QMessageBox::warning(qApp->activeWindow(), i18nc(
"@title:window",
"Krita"), i18n(
"The GMic plugin is not installed or could not be loaded."));
58 for (
const auto &loader : offers) {
59 auto *factory = qobject_cast<KPluginFactory *>(loader.instance());
61 warnPlugins <<
"(GMic) This is not a Krita plugin: " << loader.fileName() << loader.errorString();
66 auto *pluginBase = factory->create<QObject>();
68 plugin.reset(qobject_cast<KisQmicPluginInterface *>(pluginBase));
71 warnPlugins <<
"(GMic) This is not a valid GMic-Qt plugin: " << loader.fileName();
79 QMessageBox::warning(qApp->activeWindow(), i18nc(
"@title:window",
"Krita"), i18n(
"Krita cannot launch the gmic-qt plugin. No bundled library found."));
84 auto image = std::make_shared<KisImageInterface>(this->
viewManager().data());
85 int status = plugin->launch(image, again);