6#include <phosphorsnapengine_export.h>
21class IZoneAdjacencyResolver;
61 std::function<void(
bool success,
const QString& action,
const QString& reason,
const QString& sourceZoneId,
62 const QString& targetZoneId,
const QString& screenId)>;
82 const QString& screenId);
85 const QString& screenId);
90 const QString& screenId);
93 const QString& screenId);
98 const QString& screenId);
105 void emitFeedback(
bool success,
const QString& action,
const QString& reason,
const QString& sourceZoneId,
106 const QString& targetZoneId,
const QString& screenId)
const
109 m_feedback(success, action, reason, sourceZoneId, targetZoneId, screenId);
115 IZoneAdjacencyResolver* m_zoneAdjacency =
nullptr;
116 FeedbackFn m_feedback;
Definition IWindowTrackingService.h:33
Narrow interface for zone-adjacency queries used by snap navigation.
Definition IZoneAdjacencyResolver.h:28
Pure snap-mode navigation target resolver.
Definition snapnavigationtargets.h:54
PhosphorProtocol::RestoreTargetResult getRestoreForWindow(const QString &windowId, const QString &screenId)
PhosphorProtocol::SwapTargetResult getSwapTargetForWindow(const QString &windowId, const QString &direction, const QString &screenId)
void setZoneAdjacencyResolver(IZoneAdjacencyResolver *resolver)
Late setter for the zone adjacency resolver — it may not be available at construction time,...
PhosphorProtocol::MoveTargetResult getMoveTargetForWindow(const QString &windowId, const QString &direction, const QString &screenId)
SnapNavigationTargetResolver(PhosphorEngine::IWindowTrackingService *service, PhosphorZones::LayoutRegistry *layoutManager, IZoneAdjacencyResolver *zoneAdjacency, FeedbackFn feedback)
Construct the resolver with its pure dependencies.
std::function< void(bool success, const QString &action, const QString &reason, const QString &sourceZoneId, const QString &targetZoneId, const QString &screenId)> FeedbackFn
Callback shape matching WindowTrackingAdaptor::navigationFeedback.
Definition snapnavigationtargets.h:62
PhosphorProtocol::FocusTargetResult getFocusTargetForWindow(const QString &windowId, const QString &direction, const QString &screenId)
PhosphorProtocol::MoveTargetResult getSnapToZoneByNumberTarget(const QString &windowId, int zoneNumber, const QString &screenId)
PhosphorProtocol::CycleTargetResult getCycleTargetForWindow(const QString &windowId, bool forward, const QString &screenId)
PhosphorProtocol::MoveTargetResult getPushTargetForWindow(const QString &windowId, const QString &screenId)
Manual zone-layout registry + per-context assignment store.
Definition LayoutRegistry.h:48
constexpr QLatin1String LayoutRegistry("org.plasmazones.LayoutRegistry")
Definition WindowTrackingService.h:37
Definition IWindowTrackingService.h:22
D-Bus struct for cycle navigation result: (bssss)
Definition NavigationTypes.h:72
D-Bus struct for focus navigation result: (bsssss)
Definition NavigationTypes.h:61
D-Bus struct for move/push/zone-number navigation result: (bssiiiiss)
Definition NavigationTypes.h:42
D-Bus struct for restore navigation result: (bbiiii)
Definition NavigationTypes.h:104
D-Bus struct for swap navigation result: (bssiiiissiiiissss)
Definition NavigationTypes.h:82