Serenity Operating System
at master 56 lines 1.4 kB view raw
1/* 2 * Copyright (c) 2020-2023, Andreas Kling <kling@serenityos.org> 3 * Copyright (c) 2022, the SerenityOS developers. 4 * 5 * SPDX-License-Identifier: BSD-2-Clause 6 */ 7 8#include <AK/StringBuilder.h> 9#include <LibCore/MimeData.h> 10#include <LibGUI/Action.h> 11#include <LibGUI/Event.h> 12 13namespace GUI { 14 15DropEvent::DropEvent(Gfx::IntPoint position, DeprecatedString const& text, NonnullRefPtr<Core::MimeData const> mime_data) 16 : Event(Event::Drop) 17 , m_position(position) 18 , m_text(text) 19 , m_mime_data(move(mime_data)) 20{ 21} 22 23DeprecatedString KeyEvent::to_deprecated_string() const 24{ 25 Vector<DeprecatedString, 8> parts; 26 27 if (m_modifiers & Mod_Ctrl) 28 parts.append("Ctrl"); 29 if (m_modifiers & Mod_Shift) 30 parts.append("Shift"); 31 if (m_modifiers & Mod_Alt) 32 parts.append("Alt"); 33 if (m_modifiers & Mod_Super) 34 parts.append("Super"); 35 36 if (auto* key_name = key_code_to_string(static_cast<KeyCode>(m_key))) 37 parts.append(key_name); 38 else 39 parts.append("(Invalid)"); 40 41 StringBuilder builder; 42 for (size_t i = 0; i < parts.size(); ++i) { 43 builder.append(parts[i]); 44 if (i != parts.size() - 1) 45 builder.append('+'); 46 } 47 return builder.to_deprecated_string(); 48} 49 50ActionEvent::ActionEvent(Type type, Action& action) 51 : Event(type) 52 , m_action(action) 53{ 54} 55 56}