File indexing completed on 2024-05-05 04:19:19
0001 #include "spotlightmode.h" 0002 0003 // Qt 0004 #include <QHBoxLayout> 0005 #include <QPushButton> 0006 0007 // Local 0008 #include "gwenview_app_debug.h" 0009 #include <lib/gwenviewconfig.h> 0010 0011 namespace Gwenview 0012 { 0013 0014 struct SpotlightModePrivate { 0015 SpotlightMode *q = nullptr; 0016 QToolButton *mButtonQuit = nullptr; 0017 KActionCollection *mActionCollection = nullptr; 0018 }; 0019 0020 SpotlightMode::SpotlightMode(QWidget *parent, KActionCollection *actionCollection) 0021 : QHBoxLayout(parent) 0022 , d(new SpotlightModePrivate) 0023 { 0024 d->q = this; 0025 d->mActionCollection = actionCollection; 0026 d->mButtonQuit = new QToolButton(); 0027 d->mButtonQuit->setIcon(QIcon::fromTheme(QStringLiteral("window-close"))); 0028 d->mButtonQuit->setAutoRaise(true); 0029 d->mButtonQuit->setVisible(false); 0030 addWidget(d->mButtonQuit, 0, Qt::AlignTop | Qt::AlignRight); 0031 0032 connect(d->mButtonQuit, &QPushButton::released, this, &SpotlightMode::emitButtonQuitClicked); 0033 } 0034 0035 SpotlightMode::~SpotlightMode() 0036 { 0037 delete d; 0038 } 0039 0040 void SpotlightMode::setVisibleSpotlightModeQuitButton(bool visible) 0041 { 0042 d->mButtonQuit->setVisible(visible); 0043 } 0044 0045 void SpotlightMode::emitButtonQuitClicked() 0046 { 0047 GwenviewConfig::setSpotlightMode(false); 0048 d->mActionCollection->action(QStringLiteral("view_toggle_spotlightmode"))->trigger(); 0049 } 0050 0051 } // namespace