plasma: fix and pretty-fy the switchwindow containment actions

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-09-27 23:25:08 +03:00
parent 4eb64ca003
commit 91a4f9036a

View file

@ -125,10 +125,12 @@ void SwitchWindow::makeMenu()
} else { } else {
int numDesktops = KWindowSystem::numberOfDesktops(); int numDesktops = KWindowSystem::numberOfDesktops();
if (m_mode == AllFlat) { if (m_mode == AllFlat) {
for (int i = 1; i <= numDesktops; ++i) { for (int i = 0; i <= numDesktops; ++i) {
if (desktops.contains(i)) { if (desktops.contains(i)) {
QString name = KWindowSystem::desktopName(i); QString name = KWindowSystem::desktopName(i);
name = QString("%1: %2").arg(i).arg(name); if (name.isEmpty()) {
name = QString::number(i);
}
m_menu->addTitle(name); m_menu->addTitle(name);
m_menu->addActions(desktops.values(i)); m_menu->addActions(desktops.values(i));
} }
@ -138,13 +140,15 @@ void SwitchWindow::makeMenu()
m_menu->addActions(desktops.values(-1)); m_menu->addActions(desktops.values(-1));
} }
} else { //submenus } else { //submenus
for (int i = 1; i <= numDesktops; ++i) { for (int i = 0; i <= numDesktops; ++i) {
if (desktops.contains(i)) { if (desktops.contains(i)) {
QString name = KWindowSystem::desktopName(i); QString name = KWindowSystem::desktopName(i);
name = QString("%1: %2").arg(i).arg(name); if (name.isEmpty()) {
KMenu *subMenu = new KMenu(name, m_menu); name = QString::number(i);
subMenu->addActions(desktops.values(i)); }
m_menu->addMenu(subMenu); KMenu *subMenu = new KMenu(name, m_menu);
subMenu->addActions(desktops.values(i));
m_menu->addMenu(subMenu);
} }
} }
if (desktops.contains(-1)) { if (desktops.contains(-1)) {