@ -165,6 +165,8 @@ void ShellCorona::init()
connect ( this , & ShellCorona : : containmentAdded , this , & ShellCorona : : handleContainmentAdded ) ;
QAction * dashboardAction = actions ( ) - > addAction ( QStringLiteral ( " show dashboard " ) ) ;
QObject : : connect ( dashboardAction , & QAction : : triggered , this , & ShellCorona : : setDashboardShown ) ;
dashboardAction - > setText ( i18n ( " Show Desktop " ) ) ;
@ -179,6 +181,21 @@ void ShellCorona::init()
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 ( ) , & KSycoca : : databaseChanged , this , & ShellCorona : : checkAddPanelAction ) ;
@ -1220,7 +1237,17 @@ QList<PanelView *> ShellCorona::panelsForScreen(QScreen *screen) const
return ret ;
}
DesktopView * ShellCorona : : desktopForScreen ( QScreen * screen ) const
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
{
DesktopView * view = m_desktopViewForScreen . value ( screen ) ;
//An output may have been renamed, fall back to a linear check
@ -2431,5 +2458,4 @@ void ShellCorona::refreshCurrentShell()
// Desktop corona handler
# include "moc_shellcorona.cpp"
# include "shellcorona.moc"