Use desktop icon for Show Desktop entry in TabBox
For the normal TabBox the TabBoxClient's icon method is adjusted to use the "user-desktop" icon instead of the window icon. For the effects a method to set the caption is extended to also set the icon on the caption frame. REVIEW: 104444icc-effect-5.14.5
parent
68acc0692f
commit
c16550f728
|
@ -29,6 +29,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
#include <kconfiggroup.h>
|
||||
#include <kglobal.h>
|
||||
#include <kstandarddirs.h>
|
||||
#include <KDE/KIcon>
|
||||
|
||||
#include <kwinglutils.h>
|
||||
|
||||
|
@ -579,7 +580,6 @@ void CoverSwitchEffect::slotTabBoxAdded(int mode)
|
|||
captionFrame->setIconSize(QSize(frameRect.height(), frameRect.height()));
|
||||
// And initial contents
|
||||
updateCaption();
|
||||
captionFrame->setIcon(selected_window->icon());
|
||||
}
|
||||
|
||||
effects->addRepaintFull();
|
||||
|
@ -659,7 +659,6 @@ void CoverSwitchEffect::slotTabBoxUpdated()
|
|||
selected_window = effects->currentTabBoxWindow();
|
||||
currentWindowList = effects->currentTabBoxWindowList();
|
||||
updateCaption();
|
||||
captionFrame->setIcon(selected_window->icon());
|
||||
}
|
||||
}
|
||||
effects->addRepaintFull();
|
||||
|
@ -1009,8 +1008,11 @@ void CoverSwitchEffect::updateCaption()
|
|||
if (selected_window->isDesktop()) {
|
||||
captionFrame->setText(i18nc("Special entry in alt+tab list for minimizing all windows",
|
||||
"Show Desktop"));
|
||||
static QPixmap pix = KIcon("user-desktop").pixmap(captionFrame->iconSize());
|
||||
captionFrame->setIcon(pix);
|
||||
} else {
|
||||
captionFrame->setText(selected_window->caption());
|
||||
captionFrame->setIcon(selected_window->icon());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -69,6 +69,7 @@ private:
|
|||
/**
|
||||
* Updates the caption of the caption frame.
|
||||
* Taking care of rewording the desktop client.
|
||||
* As well sets the icon for the caption frame.
|
||||
**/
|
||||
void updateCaption();
|
||||
|
||||
|
|
|
@ -566,7 +566,6 @@ void FlipSwitchEffect::slotTabBoxUpdated()
|
|||
}
|
||||
m_selectedWindow = effects->currentTabBoxWindow();
|
||||
updateCaption();
|
||||
m_captionFrame->setIcon(m_selectedWindow->icon());
|
||||
}
|
||||
}
|
||||
effects->addRepaintFull();
|
||||
|
@ -664,7 +663,6 @@ void FlipSwitchEffect::setActive(bool activate, FlipSwitchMode mode)
|
|||
m_captionFrame->setGeometry(frameRect);
|
||||
m_captionFrame->setIconSize(QSize(frameRect.height(), frameRect.height()));
|
||||
updateCaption();
|
||||
m_captionFrame->setIcon(m_selectedWindow->icon());
|
||||
effects->addRepaintFull();
|
||||
} else {
|
||||
// only deactivate if mode is current mode
|
||||
|
@ -888,7 +886,6 @@ void FlipSwitchEffect::grabbedKeyboardEvent(QKeyEvent* e)
|
|||
}
|
||||
if (found) {
|
||||
updateCaption();
|
||||
m_captionFrame->setIcon(m_selectedWindow->icon());
|
||||
scheduleAnimation(DirectionForward);
|
||||
}
|
||||
break;
|
||||
|
@ -916,7 +913,6 @@ void FlipSwitchEffect::grabbedKeyboardEvent(QKeyEvent* e)
|
|||
}
|
||||
if (found) {
|
||||
updateCaption();
|
||||
m_captionFrame->setIcon(m_selectedWindow->icon());
|
||||
scheduleAnimation(DirectionBackward);
|
||||
}
|
||||
break;
|
||||
|
@ -981,8 +977,11 @@ void FlipSwitchEffect::updateCaption()
|
|||
if (m_selectedWindow->isDesktop()) {
|
||||
m_captionFrame->setText(i18nc("Special entry in alt+tab list for minimizing all windows",
|
||||
"Show Desktop"));
|
||||
static QPixmap pix = KIcon("user-desktop").pixmap(m_captionFrame->iconSize());
|
||||
m_captionFrame->setIcon(pix);
|
||||
} else {
|
||||
m_captionFrame->setText(m_selectedWindow->caption());
|
||||
m_captionFrame->setIcon(m_selectedWindow->icon());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -80,6 +80,7 @@ private:
|
|||
/**
|
||||
* Updates the caption of the caption frame.
|
||||
* Taking care of rewording the desktop client.
|
||||
* As well sets the icon for the caption frame.
|
||||
**/
|
||||
void updateCaption();
|
||||
QQueue< SwitchingDirection> m_scheduledDirections;
|
||||
|
|
|
@ -308,6 +308,9 @@ QString TabBoxClientImpl::caption() const
|
|||
|
||||
QPixmap TabBoxClientImpl::icon(const QSize& size) const
|
||||
{
|
||||
if (m_client->isDesktop()) {
|
||||
return KIcon("user-desktop").pixmap(size);
|
||||
}
|
||||
return m_client->icon(size);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue