25#include <QGraphicsColorizeEffect>
32 setObjectName(
QSL(
"sbi_imagesicon"));
33 setCursor(Qt::PointingHandCursor);
34 setToolTip(tr(
"Modify images loading settings per-site and globally"));
36 m_icon = QIcon::fromTheme(
QSL(
"image-x-generic"), QIcon(
QSL(
":sbi/data/images.png")));
37 setPixmap(m_icon.pixmap(16));
40 settings.beginGroup(
"StatusBarIcons_Images");
41 m_loadingImages = settings.value(
"LoadImages",
true).toBool();
44 mApp->webSettings()->setAttribute(QWebEngineSettings::AutoLoadImages, m_loadingImages);
48 connect(
m_window->
tabWidget(), SIGNAL(currentChanged(
int)),
this, SLOT(updateIcon()));
52void SBI_ImagesIcon::showMenu(
const QPoint &point)
54 QFont boldFont = font();
55 boldFont.setBold(
true);
58 menu.addAction(m_icon, tr(
"Current Page Settings"))->setFont(boldFont);
61 menu.addAction(tr(
"Disable loading images (temporarily)"),
this, &SBI_ImagesIcon::toggleLoadingImages);
64 menu.addAction(tr(
"Enable loading images (temporarily)"),
this, &SBI_ImagesIcon::toggleLoadingImages);
68 menu.addAction(m_icon, tr(
"Global Settings"))->setFont(boldFont);
70 QAction* act = menu.addAction(tr(
"Automatically load images"));
71 act->setCheckable(
true);
72 act->setChecked(m_loadingImages);
73 connect(act, &QAction::toggled,
this, &SBI_ImagesIcon::setGlobalLoadingImages);
78void SBI_ImagesIcon::toggleLoadingImages()
91void SBI_ImagesIcon::setGlobalLoadingImages(
bool enable)
95 settings.beginGroup(
"StatusBarIcons_Images");
96 settings.setValue(
"LoadImages", enable);
100 m_loadingImages = enable;
101 mApp->webSettings()->setAttribute(QWebEngineSettings::AutoLoadImages, m_loadingImages);
110void SBI_ImagesIcon::updateIcon()
113 setGraphicsEffect(
nullptr);
116 auto* effect =
new QGraphicsColorizeEffect(
this);
117 effect->setColor(Qt::gray);
118 setGraphicsEffect(effect);
TabWidget * tabWidget() const
TabbedWebView * weView() const
void setCurrentPageWebAttribute(QWebEngineSettings::WebAttribute attr, bool value)
bool testCurrentPageWebAttribute(QWebEngineSettings::WebAttribute attr) const
SBI_ImagesIcon(BrowserWindow *window, const QString &settingsPath)