diff --git a/Base/etc/WindowServer/WindowServer.ini b/Base/etc/WindowServer/WindowServer.ini index 74e22cb6e1..1c01de478b 100644 --- a/Base/etc/WindowServer/WindowServer.ini +++ b/Base/etc/WindowServer/WindowServer.ini @@ -19,6 +19,7 @@ Move=/res/cursors/move.png Hand=/res/cursors/hand.png Help=/res/cursors/help.png Drag=/res/cursors/drag.png +Wait=/res/cursors/wait.png [Input] DoubleClickSpeed=250 diff --git a/Base/res/cursors/wait.png b/Base/res/cursors/wait.png new file mode 100755 index 0000000000..ac9a162270 Binary files /dev/null and b/Base/res/cursors/wait.png differ diff --git a/Libraries/LibGUI/Window.h b/Libraries/LibGUI/Window.h index 9a7b4ada74..3070072979 100644 --- a/Libraries/LibGUI/Window.h +++ b/Libraries/LibGUI/Window.h @@ -52,6 +52,7 @@ enum class StandardCursor { Help, Drag, Move, + Wait, }; class Window : public Core::Object { diff --git a/Services/WindowServer/Cursor.cpp b/Services/WindowServer/Cursor.cpp index 6dd0e48c25..876b92634e 100644 --- a/Services/WindowServer/Cursor.cpp +++ b/Services/WindowServer/Cursor.cpp @@ -78,6 +78,8 @@ RefPtr Cursor::create(StandardCursor standard_cursor) return WindowManager::the().drag_cursor(); case StandardCursor::Move: return WindowManager::the().move_cursor(); + case StandardCursor::Wait: + return WindowManager::the().wait_cursor(); } ASSERT_NOT_REACHED(); } diff --git a/Services/WindowServer/Cursor.h b/Services/WindowServer/Cursor.h index 45e57303e4..c0b6f1aed3 100644 --- a/Services/WindowServer/Cursor.h +++ b/Services/WindowServer/Cursor.h @@ -44,6 +44,7 @@ enum class StandardCursor { Help, Drag, Move, + Wait, }; class Cursor : public RefCounted { diff --git a/Services/WindowServer/WindowManager.cpp b/Services/WindowServer/WindowManager.cpp index 6a0df85054..3ab981117f 100644 --- a/Services/WindowServer/WindowManager.cpp +++ b/Services/WindowServer/WindowManager.cpp @@ -124,6 +124,7 @@ void WindowManager::reload_config(bool set_screen) m_disallowed_cursor = get_cursor("Disallowed"); m_move_cursor = get_cursor("Move"); m_drag_cursor = get_cursor("Drag"); + m_wait_cursor = get_cursor("Wait"); } const Gfx::Font& WindowManager::font() const diff --git a/Services/WindowServer/WindowManager.h b/Services/WindowServer/WindowManager.h index 6b49230eaa..96588e6a2a 100644 --- a/Services/WindowServer/WindowManager.h +++ b/Services/WindowServer/WindowManager.h @@ -133,6 +133,7 @@ public: const Cursor& disallowed_cursor() const { return *m_disallowed_cursor; } const Cursor& move_cursor() const { return *m_move_cursor; } const Cursor& drag_cursor() const { return *m_drag_cursor; } + const Cursor& wait_cursor() const { return *m_wait_cursor; } void invalidate(const Gfx::IntRect&); void invalidate(); @@ -216,6 +217,7 @@ private: RefPtr m_disallowed_cursor; RefPtr m_move_cursor; RefPtr m_drag_cursor; + RefPtr m_wait_cursor; InlineLinkedList m_windows_in_order;