aboutsummaryrefslogtreecommitdiff
path: root/src/ui.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui.cc')
-rw-r--r--src/ui.cc32
1 files changed, 14 insertions, 18 deletions
diff --git a/src/ui.cc b/src/ui.cc
index a2fd61c7..1731f469 100644
--- a/src/ui.cc
+++ b/src/ui.cc
@@ -23,6 +23,7 @@
#include <FL/Fl.H>
#include <FL/Fl_Pixmap.H>
#include <FL/Fl_Box.H>
+#include <FL/names.h>
// Include image data
#include "pixmaps.h"
@@ -780,7 +781,7 @@ UI::~UI()
*/
int UI::handle(int event)
{
- _MSG("UI::handle event=%d (%d,%d)\n", event, Fl::event_x(), Fl::event_y());
+ _MSG("UI::handle event=%s\n", fl_eventnames[event]);
int ret = 0;
if (event == FL_KEYBOARD) {
@@ -840,28 +841,23 @@ int UI::handle(int event)
a_UIcmd_file_popup(a_UIcmd_get_bw_by_widget(this), FileButton);
ret = 1;
}
- }
-#if 0
- } else if (event == FL_PUSH) {
- if (prefs.middle_click_drags_page == 0 &&
- Fl::event_button() == FL_MIDDLE_MOUSE &&
- !a_UIcmd_pointer_on_link(a_UIcmd_get_bw_by_widget(this))) {
- if (Main->contains(Fl::belowmouse())) {
- /* Offer the event to Main's children (form widgets) */
- /* TODO: Try just offering it to Fl::belowmouse() */
- ret = ((Fl_Group *)Main)->Fl_Group::handle(event);
- }
- if (!ret) {
- /* middle click was not on a link or a form widget */
- paste_url();
- ret = 1;
- }
+ } else if (event == FL_RELEASE) {
+ if (Fl::event_button() == FL_MIDDLE_MOUSE &&
+ prefs.middle_click_drags_page == 0) {
+ /* nobody claimed the event; try paste */
+ paste_url();
+ ret = 1;
}
}
-#endif
+
if (!ret) {
ret = Fl_Group::handle(event);
}
+ if (!ret && event == FL_PUSH && !prefs.middle_click_drags_page) {
+ /* nobody claimed FL_PUSH: ask for FL_RELEASE,
+ * which is necessary for middle-click paste URL) */
+ ret = 1;
+ }
return ret;
}