Skip to content

Commit 635d7c6

Browse files
committed
Improved gpm wheel mouse support
1 parent aed6893 commit 635d7c6

11 files changed

Lines changed: 184 additions & 149 deletions

File tree

ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
2018-12-01 Markus Gans <guru.mail@muenster.de>
2+
* Improved wheel mouse support
3+
* Fix compile in optimization level 2 for newer gcc
4+
15
2018-11-27 Markus Gans <guru.mail@muenster.de>
26
* Correct vertical scrollbar position after sorting in FListView
37

doc/faq.md

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,6 @@ Which mouse types are supported?
120120
* General Purpose Mouse (gpm) on a linux console
121121

122122

123-
How can I use the mouse wheel with GPM?
124-
---------------------------------------
125-
This requires a workaround. Press (and hold) the left mouse button
126-
and then use the scroll wheel.
127-
128-
129123
What do I need to compile the unit tests?
130124
-----------------------------------------
131125

src/fapplication.cpp

Lines changed: 48 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -501,15 +501,15 @@ inline void FApplication::findKeyboardWidget()
501501
// Find the widget that has the keyboard focus
502502

503503
FWidget* widget = 0;
504-
FWidget* focus_widget = getFocusWidget();
505-
FWidget* move_size_widget = getMoveSizeWidget();
504+
FWidget* focus = getFocusWidget();
505+
FWidget* move_size = getMoveSizeWidget();
506506

507-
if ( focus_widget )
507+
if ( focus )
508508
{
509-
if ( move_size_widget )
510-
widget = move_size_widget;
509+
if ( move_size )
510+
widget = move_size;
511511
else
512-
widget = focus_widget;
512+
widget = focus;
513513
}
514514
else
515515
{
@@ -692,11 +692,11 @@ bool FApplication::processDialogSwitchAccelerator()
692692
if ( s > 0 && s >= n )
693693
{
694694
// unset the move/size mode
695-
FWidget* move_size_widget = getMoveSizeWidget();
695+
FWidget* move_size = getMoveSizeWidget();
696696

697-
if ( move_size_widget )
697+
if ( move_size )
698698
{
699-
FWidget* w = move_size_widget;
699+
FWidget* w = move_size;
700700
setMoveSizeWidget(0);
701701
w->redraw();
702702
}
@@ -731,11 +731,11 @@ bool FApplication::processAccelerator (const FWidget*& widget)
731731
if ( iter->key == keyboard->getKey() )
732732
{
733733
// unset the move/size mode
734-
FWidget* move_size_widget = getMoveSizeWidget();
734+
FWidget* move_size = getMoveSizeWidget();
735735

736-
if ( move_size_widget )
736+
if ( move_size )
737737
{
738-
FWidget* w = move_size_widget;
738+
FWidget* w = move_size;
739739
setMoveSizeWidget(0);
740740
w->redraw();
741741
}
@@ -772,21 +772,21 @@ bool FApplication::getMouseEvent()
772772
//----------------------------------------------------------------------
773773
FWidget*& FApplication::determineClickedWidget()
774774
{
775-
FWidget*& clicked_widget = getClickedWidget();
775+
FWidget*& clicked = getClickedWidget();
776776

777-
if ( clicked_widget )
778-
return clicked_widget;
777+
if ( clicked )
778+
return clicked;
779779

780780
if ( ! mouse )
781-
return clicked_widget;
781+
return clicked;
782782

783783
if ( ! mouse->isLeftButtonPressed()
784784
&& ! mouse->isLeftButtonDoubleClick()
785785
&& ! mouse->isRightButtonPressed()
786786
&& ! mouse->isMiddleButtonPressed()
787787
&& ! mouse->isWheelUp()
788788
&& ! mouse->isWheelDown() )
789-
return clicked_widget;
789+
return clicked;
790790

791791
const FPoint& mouse_position = mouse->getPos();
792792

@@ -797,23 +797,23 @@ FWidget*& FApplication::determineClickedWidget()
797797
{
798798
// Determine the widget at the current click position
799799
FWidget* child = childWidgetAt (window, mouse_position);
800-
clicked_widget = ( child != 0 ) ? child : window;
801-
setClickedWidget (clicked_widget);
800+
clicked = ( child != 0 ) ? child : window;
801+
setClickedWidget (clicked);
802802
}
803803

804-
return clicked_widget;
804+
return clicked;
805805
}
806806

807807
//----------------------------------------------------------------------
808808
void FApplication::unsetMoveSizeMode()
809809
{
810810
// Unset the move/size mode
811811

812-
FWidget* move_size_widget = getMoveSizeWidget();
812+
FWidget* move_size = getMoveSizeWidget();
813813

814-
if ( move_size_widget )
814+
if ( move_size )
815815
{
816-
FWidget* w = move_size_widget;
816+
FWidget* w = move_size;
817817
setMoveSizeWidget(0);
818818
w->redraw();
819819
}
@@ -824,10 +824,10 @@ void FApplication::closeOpenMenu()
824824
{
825825
// Close the open menu
826826

827-
FWidget* open_menu = getOpenMenu();
828-
FMenu* menu = static_cast<FMenu*>(open_menu);
827+
FWidget* openmenu = getOpenMenu();
828+
FMenu* menu = static_cast<FMenu*>(openmenu);
829829

830-
if ( ! open_menu || ( mouse && mouse->isMoved()) )
830+
if ( ! openmenu || ( mouse && mouse->isMoved()) )
831831
return;
832832

833833
if ( mouse )
@@ -867,10 +867,10 @@ void FApplication::unselectMenubarItems()
867867
{
868868
// Unselect the menu bar items
869869

870-
FWidget* open_menu = getOpenMenu();
870+
FWidget* openmenu = getOpenMenu();
871871
FMenuBar* menu_bar = getMenuBar();
872872

873-
if ( open_menu || (mouse && mouse->isMoved()) )
873+
if ( openmenu || (mouse && mouse->isMoved()) )
874874
return;
875875

876876
if ( ! menu_bar )
@@ -907,9 +907,9 @@ void FApplication::unselectMenubarItems()
907907
//----------------------------------------------------------------------
908908
void FApplication::sendMouseEvent()
909909
{
910-
FWidget* clicked_widget = getClickedWidget();
910+
FWidget* clicked = getClickedWidget();
911911

912-
if ( ! clicked_widget )
912+
if ( ! clicked )
913913
return;
914914

915915
if ( ! mouse )
@@ -928,7 +928,7 @@ void FApplication::sendMouseEvent()
928928
if ( mouse->isMetaKeyPressed() )
929929
key_state |= fc::MetaButton;
930930

931-
widgetMousePos = clicked_widget->termToWidgetPos(mouse_position);
931+
widgetMousePos = clicked->termToWidgetPos(mouse_position);
932932

933933
if ( mouse->isMoved() )
934934
{
@@ -953,15 +953,15 @@ void FApplication::sendMouseMoveEvent ( const FPoint& widgetMousePos
953953
if ( ! mouse )
954954
return;
955955

956-
FWidget* clicked_widget = getClickedWidget();
956+
FWidget* clicked = getClickedWidget();
957957

958958
if ( mouse->isLeftButtonPressed() )
959959
{
960960
FMouseEvent m_down_ev ( fc::MouseMove_Event
961961
, widgetMousePos
962962
, mouse_position
963963
, fc::LeftButton | key_state );
964-
sendEvent (clicked_widget, &m_down_ev);
964+
sendEvent (clicked, &m_down_ev);
965965
}
966966

967967
if ( mouse->isRightButtonPressed() )
@@ -970,7 +970,7 @@ void FApplication::sendMouseMoveEvent ( const FPoint& widgetMousePos
970970
, widgetMousePos
971971
, mouse_position
972972
, fc::RightButton | key_state );
973-
sendEvent (clicked_widget, &m_down_ev);
973+
sendEvent (clicked, &m_down_ev);
974974
}
975975

976976
if ( mouse->isMiddleButtonPressed() )
@@ -979,7 +979,7 @@ void FApplication::sendMouseMoveEvent ( const FPoint& widgetMousePos
979979
, widgetMousePos
980980
, mouse_position
981981
, fc::MiddleButton | key_state );
982-
sendEvent (clicked_widget, &m_down_ev);
982+
sendEvent (clicked, &m_down_ev);
983983
}
984984
}
985985

@@ -991,31 +991,31 @@ void FApplication::sendMouseLeftClickEvent ( const FPoint& widgetMousePos
991991
if ( ! mouse )
992992
return;
993993

994-
FWidget* clicked_widget = getClickedWidget();
994+
FWidget* clicked = getClickedWidget();
995995

996996
if ( mouse->isLeftButtonDoubleClick() )
997997
{
998998
FMouseEvent m_dblclick_ev ( fc::MouseDoubleClick_Event
999999
, widgetMousePos
10001000
, mouse_position
10011001
, fc::LeftButton | key_state );
1002-
sendEvent (clicked_widget, &m_dblclick_ev);
1002+
sendEvent (clicked, &m_dblclick_ev);
10031003
}
10041004
else if ( mouse->isLeftButtonPressed() )
10051005
{
10061006
FMouseEvent m_down_ev ( fc::MouseDown_Event
10071007
, widgetMousePos
10081008
, mouse_position
10091009
, fc::LeftButton | key_state );
1010-
sendEvent (clicked_widget, &m_down_ev);
1010+
sendEvent (clicked, &m_down_ev);
10111011
}
10121012
else if ( mouse->isLeftButtonReleased() )
10131013
{
10141014
FMouseEvent m_up_ev ( fc::MouseUp_Event
10151015
, widgetMousePos
10161016
, mouse_position
10171017
, fc::LeftButton | key_state );
1018-
FWidget* released_widget = clicked_widget;
1018+
FWidget* released_widget = clicked;
10191019

10201020
if ( ! mouse->isRightButtonPressed()
10211021
&& ! mouse->isMiddleButtonPressed() )
@@ -1033,23 +1033,23 @@ void FApplication::sendMouseRightClickEvent ( const FPoint& widgetMousePos
10331033
if ( ! mouse )
10341034
return;
10351035

1036-
FWidget* clicked_widget = getClickedWidget();
1036+
FWidget* clicked = getClickedWidget();
10371037

10381038
if ( mouse->isRightButtonPressed() )
10391039
{
10401040
FMouseEvent m_down_ev ( fc::MouseDown_Event
10411041
, widgetMousePos
10421042
, mouse_position
10431043
, fc::RightButton | key_state );
1044-
sendEvent (clicked_widget, &m_down_ev);
1044+
sendEvent (clicked, &m_down_ev);
10451045
}
10461046
else if ( mouse->isRightButtonReleased() )
10471047
{
10481048
FMouseEvent m_up_ev ( fc::MouseUp_Event
10491049
, widgetMousePos
10501050
, mouse_position
10511051
, fc::RightButton | key_state );
1052-
FWidget* released_widget = clicked_widget;
1052+
FWidget* released_widget = clicked;
10531053

10541054
if ( ! mouse->isLeftButtonPressed()
10551055
&& ! mouse->isMiddleButtonPressed() )
@@ -1067,15 +1067,15 @@ void FApplication::sendMouseMiddleClickEvent ( const FPoint& widgetMousePos
10671067
if ( ! mouse )
10681068
return;
10691069

1070-
FWidget* clicked_widget = getClickedWidget();
1070+
FWidget* clicked = getClickedWidget();
10711071

10721072
if ( mouse->isMiddleButtonPressed() )
10731073
{
10741074
FMouseEvent m_down_ev ( fc::MouseDown_Event
10751075
, widgetMousePos
10761076
, mouse_position
10771077
, fc::MiddleButton | key_state );
1078-
sendEvent (clicked_widget, &m_down_ev);
1078+
sendEvent (clicked, &m_down_ev);
10791079

10801080
// gnome-terminal sends no released on middle click
10811081
if ( isGnomeTerminal() )
@@ -1087,7 +1087,7 @@ void FApplication::sendMouseMiddleClickEvent ( const FPoint& widgetMousePos
10871087
, widgetMousePos
10881088
, mouse_position
10891089
, fc::MiddleButton | key_state );
1090-
FWidget* released_widget = clicked_widget;
1090+
FWidget* released_widget = clicked;
10911091

10921092
if ( ! mouse->isLeftButtonPressed()
10931093
&& ! mouse->isRightButtonPressed() )
@@ -1106,15 +1106,15 @@ void FApplication::sendWheelEvent ( const FPoint& widgetMousePos
11061106
if ( ! mouse )
11071107
return;
11081108

1109-
FWidget* clicked_widget = getClickedWidget();
1109+
FWidget* clicked = getClickedWidget();
11101110

11111111
if ( mouse->isWheelUp() )
11121112
{
11131113
FWheelEvent wheel_ev ( fc::MouseWheel_Event
11141114
, widgetMousePos
11151115
, mouse_position
11161116
, fc::WheelUp );
1117-
FWidget* scroll_over_widget = clicked_widget;
1117+
FWidget* scroll_over_widget = clicked;
11181118
setClickedWidget(0);
11191119
sendEvent(scroll_over_widget, &wheel_ev);
11201120
}
@@ -1125,7 +1125,7 @@ void FApplication::sendWheelEvent ( const FPoint& widgetMousePos
11251125
, widgetMousePos
11261126
, mouse_position
11271127
, fc::WheelDown );
1128-
FWidget* scroll_over_widget = clicked_widget;
1128+
FWidget* scroll_over_widget = clicked;
11291129
setClickedWidget(0);
11301130
sendEvent (scroll_over_widget, &wheel_ev);
11311131
}

src/fdialog.cpp

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -380,13 +380,13 @@ void FDialog::setSize (std::size_t w, std::size_t h, bool adjust)
380380
}
381381

382382
// set the cursor to the focus widget
383-
FWidget* focus_widget = FWidget::getFocusWidget();
384-
if ( focus_widget
385-
&& focus_widget->isVisible()
386-
&& focus_widget->hasVisibleCursor() )
383+
FWidget* focus = FWidget::getFocusWidget();
384+
if ( focus
385+
&& focus->isVisible()
386+
&& focus->hasVisibleCursor() )
387387
{
388-
FPoint cursor_pos = focus_widget->getCursorPos();
389-
focus_widget->setCursorPos(cursor_pos);
388+
FPoint cursor_pos = focus->getCursorPos();
389+
focus->setCursorPos(cursor_pos);
390390
}
391391
}
392392

@@ -1254,14 +1254,14 @@ void FDialog::setCursorToFocusWidget()
12541254
{
12551255
// Set the cursor to the focus widget
12561256

1257-
FWidget* focus_widget = FWidget::getFocusWidget();
1257+
FWidget* focus = FWidget::getFocusWidget();
12581258

1259-
if ( focus_widget
1260-
&& focus_widget->isVisible()
1261-
&& focus_widget->hasVisibleCursor() )
1259+
if ( focus
1260+
&& focus->isVisible()
1261+
&& focus->hasVisibleCursor() )
12621262
{
1263-
FPoint cursor_pos = focus_widget->getCursorPos();
1264-
focus_widget->setCursorPos(cursor_pos);
1263+
FPoint cursor_pos = focus->getCursorPos();
1264+
focus->setCursorPos(cursor_pos);
12651265
updateVTermCursor(vwin);
12661266
}
12671267
}

src/fmenu.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,10 +115,10 @@ void FMenu::hide()
115115

116116
if ( ! isSubMenu() )
117117
{
118-
FMenu* open_menu = static_cast<FMenu*>(getOpenMenu());
118+
FMenu* openmenu = static_cast<FMenu*>(getOpenMenu());
119119

120-
if ( open_menu && open_menu != this )
121-
open_menu->hide();
120+
if ( openmenu && openmenu != this )
121+
openmenu->hide();
122122

123123
setOpenMenu(0);
124124
}

0 commit comments

Comments
 (0)