bool TodoPlugin::initialize(const QStringList& args, QString *errMsg) { Q_UNUSED(args); Q_UNUSED(errMsg); m_settings.load(Core::ICore::settings()); createOptionsPage(); createItemsProvider(); createTodoOutputPane(); auto panelFactory = new ProjectExplorer::ProjectPanelFactory(); panelFactory->setPriority(100); panelFactory->setDisplayName(TodoProjectSettingsWidget::tr("To-Do Settings")); panelFactory->setCreateWidgetFunction([this, panelFactory](ProjectExplorer::Project *project) -> QWidget * { auto *panel = new ProjectExplorer::PropertiesPanel; panel->setDisplayName(panelFactory->displayName()); auto *widget = new TodoProjectSettingsWidget(project); connect(widget, &TodoProjectSettingsWidget::projectSettingsChanged, m_todoItemsProvider, [this, project](){m_todoItemsProvider->projectSettingsChanged(project);}); panel->setWidget(widget); auto *panelsWidget = new ProjectExplorer::PanelsWidget(); panelsWidget->addPropertiesPanel(panel); panelsWidget->setFocusProxy(widget); return panelsWidget; }); ProjectExplorer::ProjectPanelFactory::registerFactory(panelFactory); return true; }
bool TodoPlugin::initialize(const QStringList& args, QString *errMsg) { Q_UNUSED(args); Q_UNUSED(errMsg); m_settings.load(Core::ICore::settings()); createOptionsPage(); createItemsProvider(); createTodoOutputPane(); auto panelFactory = new ProjectExplorer::ProjectPanelFactory; panelFactory->setPriority(100); panelFactory->setDisplayName(TodoProjectSettingsWidget::tr("To-Do")); panelFactory->setCreateWidgetFunction([this](ProjectExplorer::Project *project) { auto widget = new TodoProjectSettingsWidget(project); connect(widget, &TodoProjectSettingsWidget::projectSettingsChanged, m_todoItemsProvider, [this, project] { m_todoItemsProvider->projectSettingsChanged(project); }); return widget; }); ProjectExplorer::ProjectPanelFactory::registerFactory(panelFactory); connect(Core::ICore::instance(), &Core::ICore::saveSettingsRequested, this, [this] { m_settings.save(Core::ICore::settings()); }); return true; }
bool TodoPlugin::initialize(const QStringList& args, QString *errMsg) { Q_UNUSED(args); Q_UNUSED(errMsg); m_settings.load(Core::ICore::settings()); createOptionsPage(); createItemsProvider(); createTodoOutputPane(); return true; }