Skip to content

Commit

Permalink
LibGUI+AK: Add DRAG_DEBUG opt and put drag operations behind dbgln_if
Browse files Browse the repository at this point in the history
No need to have this enabled all the time.
  • Loading branch information
metmo authored and linusg committed Jan 10, 2022
1 parent f43b69f commit 4459cb3
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 7 deletions.
4 changes: 4 additions & 0 deletions AK/Debug.h.in
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,10 @@
#cmakedefine01 DOUBLECLICK_DEBUG
#endif

#ifndef DRAG_DEBUG
#cmakedefine01 DRAG_DEBUG
#endif

#ifndef DWARF_DEBUG
#cmakedefine01 DWARF_DEBUG
#endif
Expand Down
1 change: 1 addition & 0 deletions Meta/CMake/all_the_debug_macros.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ set(DHCPV4_DEBUG ON)
set(DIFF_DEBUG ON)
set(DISASM_DUMP_DEBUG ON)
set(DOUBLECLICK_DEBUG ON)
set(DRAG_DEBUG ON)
set(DWARF_DEBUG ON)
set(DYNAMIC_LOAD_DEBUG ON)
set(E1000_DEBUG ON)
Expand Down
9 changes: 5 additions & 4 deletions Userland/Libraries/LibGUI/AbstractView.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* SPDX-License-Identifier: BSD-2-Clause
*/

#include <AK/Debug.h>
#include <AK/StringBuilder.h>
#include <AK/Utf8View.h>
#include <AK/Vector.h>
Expand Down Expand Up @@ -307,7 +308,7 @@ void AbstractView::mousemove_event(MouseEvent& event)
// Prevent this by just ignoring later drag initiations (until the current drag operation ends).
TemporaryChange dragging { m_is_dragging, true };

dbgln("Initiate drag!");
dbgln_if(DRAG_DEBUG, "Initiate drag!");
auto drag_operation = DragOperation::construct();

drag_operation->set_mime_data(m_model->mime_data(m_selection));
Expand All @@ -316,10 +317,10 @@ void AbstractView::mousemove_event(MouseEvent& event)

switch (outcome) {
case DragOperation::Outcome::Accepted:
dbgln("Drag was accepted!");
dbgln_if(DRAG_DEBUG, "Drag was accepted!");
break;
case DragOperation::Outcome::Cancelled:
dbgln("Drag was cancelled!");
dbgln_if(DRAG_DEBUG, "Drag was cancelled!");
m_might_drag = false;
break;
default:
Expand Down Expand Up @@ -754,7 +755,7 @@ void AbstractView::drag_enter_event(DragEvent& event)
// We might be able to reduce event traffic by communicating the set of drag-accepting
// rects in this widget to the windowing system somehow.
event.accept();
dbgln("accepting drag of {}", event.mime_types().first());
dbgln_if(DRAG_DEBUG, "accepting drag of {}", event.mime_types().first());
}

void AbstractView::drag_move_event(DragEvent& event)
Expand Down
7 changes: 4 additions & 3 deletions Userland/Libraries/LibGUI/Widget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
*/

#include <AK/Assertions.h>
#include <AK/Debug.h>
#include <AK/JsonObject.h>
#include <LibGUI/Action.h>
#include <LibGUI/Application.h>
Expand Down Expand Up @@ -553,17 +554,17 @@ void Widget::drag_enter_event(DragEvent& event)
{
StringBuilder builder;
builder.join(',', event.mime_types());
dbgln("{} {:p} DRAG ENTER @ {}, {}", class_name(), this, event.position(), builder.string_view());
dbgln_if(DRAG_DEBUG, "{} {:p} DRAG ENTER @ {}, {}", class_name(), this, event.position(), builder.string_view());
}

void Widget::drag_leave_event(Event&)
{
dbgln("{} {:p} DRAG LEAVE", class_name(), this);
dbgln_if(DRAG_DEBUG, "{} {:p} DRAG LEAVE", class_name(), this);
}

void Widget::drop_event(DropEvent& event)
{
dbgln("{} {:p} DROP @ {}, '{}'", class_name(), this, event.position(), event.text());
dbgln_if(DRAG_DEBUG, "{} {:p} DROP @ {}, '{}'", class_name(), this, event.position(), event.text());
event.ignore();
}

Expand Down

0 comments on commit 4459cb3

Please sign in to comment.