Add shortcut to hide panel

wilder-5.14
Jacopo De Simoi 8 years ago
parent adbf495df4
commit cb509d51fb
  1. 8
      shell/panelview.cpp
  2. 2
      shell/panelview.h
  3. 28
      shell/shellcorona.cpp
  4. 5
      shell/shellcorona.h

@ -303,9 +303,9 @@ void PanelView::setBackgroundHints(Plasma::Types::BackgroundHints hint)
if (m_backgroundHints == hint) {
return;
}
m_backgroundHints = hint;
emit backgroundHintsChanged();
}
@ -1110,13 +1110,13 @@ void PanelView::themeChanged()
{
if (m_backgroundHints == Plasma::Types::NoBackground) {
KWindowEffects::enableBlurBehind(winId(), false);
KWindowEffects::enableBackgroundContrast(winId(), false);
KWindowEffects::enableBackgroundContrast(winId(), false);
} else {
KWindowEffects::enableBlurBehind(winId(), true);
KWindowEffects::enableBackgroundContrast(winId(), m_theme.backgroundContrastEnabled(),
m_theme.backgroundContrast(),
m_theme.backgroundIntensity(),
m_theme.backgroundSaturation());
m_theme.backgroundSaturation());
}
updateMask();

@ -81,7 +81,7 @@ class PanelView : public PlasmaQuick::ContainmentView
* support NoBackground in order to disable blur/contrast effects and remove
* the panel shadows
* @since 5.9
*/
*/
Q_PROPERTY(Plasma::Types::BackgroundHints backgroundHints WRITE setBackgroundHints READ backgroundHints NOTIFY backgroundHintsChanged)
/**

@ -162,6 +162,8 @@ ShellCorona::ShellCorona(QObject *parent)
connect(this, &ShellCorona::containmentAdded,
this, &ShellCorona::handleContainmentAdded);
QAction *dashboardAction = actions()->addAction(QStringLiteral("show dashboard"));
QObject::connect(dashboardAction, &QAction::triggered,
this, &ShellCorona::setDashboardShown);
@ -177,6 +179,21 @@ ShellCorona::ShellCorona(QObject *parent)
dashboardAction->setData(Plasma::Types::ControlAction);
KGlobalAccel::self()->setGlobalShortcut(dashboardAction, Qt::CTRL + Qt::Key_F12);
QAction *panelAction = actions()->addAction(QStringLiteral("show panel"));
QObject::connect(panelAction, &QAction::triggered,
this, &ShellCorona::togglePanelVisibility);
panelAction->setText(i18n("Toggle Panel"));
// connect(KWindowSystem::self(), &KWindowSystem::showingDesktopChanged, [panelAction](bool showing) {
// panelAction->setText(showing ? i18n("Hide Desktop") : i18n("Show Desktop"));
// panelAction->setChecked(showing);
// });
// panelAction->setAutoRepeat(true);
// panelAction->setCheckable(true);
// panelAction->setIcon(QIcon::fromTheme(QStringLiteral("panel-show")));
// panelAction->setData(Plasma::Types::ControlAction);
KGlobalAccel::self()->setGlobalShortcut(panelAction, Qt::CTRL + Qt::Key_F11);
checkAddPanelAction();
connect(KSycoca::self(), SIGNAL(databaseChanged(QStringList)), this, SLOT(checkAddPanelAction(QStringList)));
@ -1094,6 +1111,16 @@ QList<PanelView *> ShellCorona::panelsForScreen(QScreen *screen) const
return ret;
}
void ShellCorona::togglePanelVisibility()
{
for (auto it = m_panelViews.constBegin(), end = m_panelViews.constEnd(); it != end; ++it) {
if (it.value()->screen() != qGuiApp->primaryScreen()) {
continue;
}
it.value()->setVisible(!it.value()->isVisible());
}
}
DesktopView* ShellCorona::desktopForScreen(QScreen* screen) const
{
return m_desktopViewforId.value(m_screenPool->id(screen->name()));
@ -2112,4 +2139,3 @@ void ShellCorona::activateTaskManagerEntry(int index)
#include "moc_shellcorona.cpp"

@ -141,7 +141,7 @@ public Q_SLOTS:
void showInteractiveKWinConsole();
void loadKWinScriptInInteractiveConsole(const QString &script);
void toggleActivityManager();
void toggleWidgetExplorer();
void toggleWidgetExplorer();
void evaluateScript(const QString &string);
void activateLauncherMenu();
@ -186,6 +186,7 @@ protected Q_SLOTS:
void showAlternativesForApplet(Plasma::Applet *applet);
void togglePanelVisibility();
private Q_SLOTS:
void createWaitingPanels();
void handleContainmentAdded(Plasma::Containment *c);
@ -252,5 +253,3 @@ private:
};
#endif // SHELLCORONA_H

Loading…
Cancel
Save