26#include <QQuickWidget>
58 return m_sideBarHelper;
61void QmlSideBar::setName(
const QString &name)
72void QmlSideBar::setTitle(
const QString &title)
83void QmlSideBar::setIcon(
const QString &icon)
94void QmlSideBar::setShortcut(
const QString &shortcut)
105void QmlSideBar::setCheckable(
bool checkable)
116void QmlSideBar::setItem(QQmlComponent *item)
134 auto *action =
new QAction(m_title);
135 action->setShortcut(QKeySequence(m_shortcut));
136 action->setCheckable(m_checkable);
140 auto qmlEngine = qobject_cast<QmlEngine*>(m_item->creationContext()->engine());
144 const QString pluginPath = qmlEngine->extensionPath();
146 action->setIcon(icon);
154 auto *widget =
new QQuickWidget();
155 widget->setContent(m_item->url(), m_item, m_item->create(m_item->creationContext()));
156 widget->setResizeMode(QQuickWidget::SizeRootObjectToView);
173 m_shortcut = shortcut;
178 m_checkable = checkable;
void setItem(QQmlComponent *item)
QAction * createMenuAction() override
void setIcon(const QString &icon)
void setTitle(const QString &title)
void setCheckable(bool checkable)
QmlSideBarHelper(QObject *parent=nullptr)
void setShortcut(const QString &shortcut)
QString title() const override
QWidget * createSideBarWidget(BrowserWindow *mainWindow) override
QQmlComponent * item
the GUI of the sidebar. This must be provided as QML Window. This is a default property.
void iconChanged(const QString &icon)
This signal is emitted when icon property is changed.
QString shortcut
shortcut for the sidebar action.
SideBarInterface * sideBar() const
QmlSideBar(QObject *parent=nullptr)
QString name
name of the sidebar. This is required property.
bool checkable
represents whether the sidebar action is checkable
void checkableChanged(bool checkable)
This signal is emitted when checkable property is changed.
void nameChanged(const QString &name)
This signal is emitted when name property is changed.
void itemChanged(QQmlComponent *item)
void componentComplete() override
void titleChanged(const QString &title)
This signal is emitted when title property is changed.
QString title
title of the sidebar action.
QString icon
icon path of the sidebar action.
void shortcutChanged(const QString &shortcut)
This signal is emitted when shortcut property is changed.
static QmlStaticData & instance()
QIcon getIcon(const QString &iconPath, const QString &pluginPath)
static void removeSidebar(SideBarInterface *interface)
static void addSidebar(const QString &id, SideBarInterface *interface)