Add a ToolTip role to PlasmaShellSurface
Summary: As Wayland doesn't have a proper ToolTip window type yet, we add it to PlasmaShellSurface, so that we can use it for Plasma's tooltips. Reviewers: #plasma_on_wayland Subscribers: plasma-devel Tags: #plasma_on_wayland Differential Revision: https://phabricator.kde.org/D2030
This commit is contained in:
parent
89a4c2f0e1
commit
5ae8ac4327
4 changed files with 10 additions and 1 deletions
|
@ -157,6 +157,7 @@ void TestPlasmaShell::testRole_data()
|
|||
QTest::newRow("osd") << PlasmaShellSurface::Role::OnScreenDisplay << PlasmaShellSurfaceInterface::Role::OnScreenDisplay;
|
||||
QTest::newRow("panel") << PlasmaShellSurface::Role::Panel << PlasmaShellSurfaceInterface::Role::Panel;
|
||||
QTest::newRow("notification") << PlasmaShellSurface::Role::Notification << PlasmaShellSurfaceInterface::Role::Notification;
|
||||
QTest::newRow("tooltip") << PlasmaShellSurface::Role::ToolTip << PlasmaShellSurfaceInterface::Role::ToolTip;
|
||||
}
|
||||
|
||||
void TestPlasmaShell::testRole()
|
||||
|
|
|
@ -239,6 +239,9 @@ void PlasmaShellSurfaceInterface::Private::setRole(uint32_t role)
|
|||
case ORG_KDE_PLASMA_SURFACE_ROLE_NOTIFICATION:
|
||||
r = Role::Notification;
|
||||
break;
|
||||
case ORG_KDE_PLASMA_SURFACE_ROLE_TOOLTIP:
|
||||
r = Role::ToolTip;
|
||||
break;
|
||||
case ORG_KDE_PLASMA_SURFACE_ROLE_NORMAL:
|
||||
default:
|
||||
r = Role::Normal;
|
||||
|
|
|
@ -109,7 +109,8 @@ public:
|
|||
Desktop, ///< The surface represents a desktop, normally stacked below all other surfaces
|
||||
Panel, ///< The surface represents a panel (dock), normally stacked above normal surfaces
|
||||
OnScreenDisplay, ///< The surface represents an on screen display, like a volume changed notification
|
||||
Notification ///< The surface represents a notification @since 5.24
|
||||
Notification, ///< The surface represents a notification @since 5.24
|
||||
ToolTip ///< The surface represents a tooltip @since 5.24
|
||||
};
|
||||
/**
|
||||
* @returns The requested role, default value is @c Role::Normal.
|
||||
|
|
|
@ -172,6 +172,8 @@ int main(int argc, char **argv)
|
|||
parser.addOption(desktopOption);
|
||||
QCommandLineOption osdOption(QStringLiteral("osd"));
|
||||
parser.addOption(osdOption);
|
||||
QCommandLineOption tooltipOption(QStringLiteral("tooltip"));
|
||||
parser.addOption(tooltipOption);
|
||||
QCommandLineOption skipTaskbarOption(QStringLiteral("skipTaskbar"));
|
||||
parser.addOption(skipTaskbarOption);
|
||||
parser.process(app);
|
||||
|
@ -186,6 +188,8 @@ int main(int argc, char **argv)
|
|||
client.setRole(PlasmaShellSurface::Role::Desktop);
|
||||
} else if (parser.isSet(osdOption)) {
|
||||
client.setRole(PlasmaShellSurface::Role::OnScreenDisplay);
|
||||
} else if (parser.isSet(tooltipOption)) {
|
||||
client.setRole(PlasmaShellSurface::Role::ToolTip);
|
||||
}
|
||||
client.setSkipTaskbar(parser.isSet(skipTaskbarOption));
|
||||
|
||||
|
|
Loading…
Reference in a new issue