mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 21:30:58 +00:00 
			
		
		
		
	LibCore+LibGUI+WindowServer: Make events bubble up through ancestors
With this patch, CEvents no longer stop at the target object, but will bubble up the ancestor chain as long as CEvent::is_accepted() is false. To the set accepted flag, call CEvent::accept(). To clear the accepted flag, call CEvent::ignore(). Events start out in the accepted state, so if you want them to bubble up, you have to call ignore() on them. Using this mechanism, we now ignore non-tabbing keydown events in GWidget, causing them to bubble up through the widget's ancestors. :^)
This commit is contained in:
		
							parent
							
								
									74c4e62659
								
							
						
					
					
						commit
						fcc3745b02
					
				
				
				Notes:
				
					sideshowbarker
				
				2024-07-19 12:02:50 +09:00 
				
			
			Author: https://github.com/awesomekling
Commit: fcc3745b02
			
					 9 changed files with 54 additions and 17 deletions
				
			
		|  | @ -134,8 +134,11 @@ void GAbstractButton::leave_event(CEvent&) | |||
| 
 | ||||
| void GAbstractButton::keydown_event(GKeyEvent& event) | ||||
| { | ||||
|     if (event.key() == KeyCode::Key_Return) | ||||
|     if (event.key() == KeyCode::Key_Return) { | ||||
|         click(); | ||||
|         event.accept(); | ||||
|         return; | ||||
|     } | ||||
|     GWidget::keydown_event(event); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling