1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-28 11:55:12 +00:00
serenity/Libraries/LibGUI
Nico Weber 98dd034c29 LibGUI: Make scrollbars keep scrolling by page while clicking the gutter
Note that m_hovered_component is only updated on mouse move, not while
just keeping left down. It's arguably wrong to update it on mouse move
while the mouse is down, I'll probably change things so that it doesn't
update there either.

The behavior on click-in-gutter-keep-left-down-then-move-mouse varies
a surprising amount between platforms. This implements the macOS
behavior where the scrubber follows the mouse direction while scrolling
by pages. (To be precise, it's the macOS behavior of Finder and Preview,
Safari has Windows's scrollbar behavior).

On Windows, the first click locks in the scroll direction and then
dragging the mouse off the scrubber in that direction makes the
scroll continue, but dragging it off the other direction has no effect.
I see no reason for that behavior.
2020-08-25 18:09:56 +02:00
..
AboutDialog.cpp LibGUI: Rename GUI::Image => GUI::ImageWidget 2020-07-23 17:31:08 +02:00
AboutDialog.h LibGUI, About: Implement system-wide W2k-esque About dialog 2020-05-27 11:44:19 +02:00
AbstractButton.cpp LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
AbstractButton.h LibCore+LibGUI: Switch to using AK::is and AK::downcast 2020-07-26 17:51:00 +02:00
AbstractTableView.cpp LibGUI: Pressing Return in an editable TableView should begin editing 2020-08-24 21:20:54 +02:00
AbstractTableView.h LibGUI: Allow moving the TableView selection horizontally with keyboard 2020-08-24 21:03:34 +02:00
AbstractView.cpp LibGUI: Pressing Return in an editable TableView should begin editing 2020-08-24 21:20:54 +02:00
AbstractView.h LibGUI: Pressing Return in an editable TableView should begin editing 2020-08-24 21:20:54 +02:00
Action.cpp LibGUI: Add a save_as common action 2020-08-25 09:46:28 +02:00
Action.h LibGUI: Add a save_as common action 2020-08-25 09:46:28 +02:00
ActionGroup.cpp LibGUI: Remove leading G from filenames 2020-02-06 20:33:02 +01:00
ActionGroup.h LibGUI: Add forwarding header 2020-02-16 09:41:56 +01:00
Application.cpp LibGUI: Fix crash during HackStudio application teardown 2020-08-22 13:10:14 +02:00
Application.h LibGUI: Update active tooltip when source widget changes the label 2020-08-15 13:45:08 +02:00
BoxLayout.cpp LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
BoxLayout.h LibGUI: Make Layout a Core::Object and add basic serialization 2020-03-05 09:22:43 +01:00
Button.cpp Userspace: Remove a bunch of unnecessary Kernel/API/KeyCode.h includes 2020-07-04 17:25:31 +02:00
Button.h LibGUI: Add hook when a context menu is requested on a button 2020-05-22 18:23:02 +02:00
Calendar.cpp LibGUI: Remove spacing between day labels in Calendar 2020-08-23 11:22:21 +02:00
Calendar.h LibGUI+Calendar: Make Calendar a common widget in LibGUI 2020-08-22 11:54:30 +02:00
CheckBox.cpp Userspace: Remove a bunch of unnecessary Kernel/API/KeyCode.h includes 2020-07-04 17:25:31 +02:00
CheckBox.h LibGUI: Include keyboard modifier state with button on_click calls 2020-05-12 20:31:16 +02:00
Clipboard.cpp Clipboard: Move the system clipboard to a dedicated service process :^) 2020-05-14 22:53:58 +02:00
Clipboard.h FileManager+LibGUI+Userland: Switch clipboard to MIME types 2020-05-16 09:11:46 +02:00
CMakeLists.txt LibGUI+Calendar: Make Calendar a common widget in LibGUI 2020-08-22 11:54:30 +02:00
ColorInput.cpp LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
ColorInput.h LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
ColorPicker.cpp LibGUI: Fix ColorPicker custom color offset 2020-08-13 16:58:31 +02:00
ColorPicker.h LibGUI: Transfer "color has alpha channel" state 2020-04-29 16:22:09 +02:00
ColumnsView.cpp LibGUI+DevTools+Applications: Use ModelIndex::data() in many places 2020-08-16 16:44:09 +02:00
ColumnsView.h LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
ComboBox.cpp LibGUI: Add ComboBox::selected_index() 2020-08-21 21:16:13 +02:00
ComboBox.h LibGUI: Add ComboBox::selected_index() 2020-08-21 21:16:13 +02:00
Command.cpp LibGUI: Remove leading G from filenames 2020-02-06 20:33:02 +01:00
Command.h LibGUI: Remove leading G from filenames 2020-02-06 20:33:02 +01:00
ControlBoxButton.cpp LibGUI: Add ControlBoxButton to LibGUI 2020-07-20 21:03:48 +02:00
ControlBoxButton.h LibGUI: Add ControlBoxButton to LibGUI 2020-07-20 21:03:48 +02:00
CppLexer.cpp AK: HashTable add a constructor that allows preallocation of capacity + Use in CppLexer. (#3147) 2020-08-16 11:04:00 +02:00
CppLexer.h CppLexer: Support raw string literals 2020-07-27 12:11:19 +02:00
CppSyntaxHighlighter.cpp CppLexer: Support raw string literals 2020-07-27 12:11:19 +02:00
CppSyntaxHighlighter.h LibGUI: Use themes for syntax highlighting 2020-03-16 13:39:34 +01:00
Desktop.cpp FileManager: Apply wallpaper on startup 2020-08-17 17:47:14 +02:00
Desktop.h FileManager: Apply wallpaper on startup 2020-08-17 17:47:14 +02:00
Dialog.cpp LibGUI: Don't center dialog within parent if window is not visible 2020-08-16 16:37:39 +02:00
Dialog.h LibGUI: Don't use Core::Object::add() to instantiate dialogs 2020-03-04 21:04:06 +01:00
DisplayLink.cpp WindowServer+LibGUI: Add a way to get notified at display refresh rate 2020-03-22 21:13:23 +01:00
DisplayLink.h WindowServer+LibGUI: Add a way to get notified at display refresh rate 2020-03-22 21:13:23 +01:00
DragOperation.cpp LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
DragOperation.h LibGUI: Add forwarding header 2020-02-16 09:41:56 +01:00
EmojiInputDialog.cpp Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
EmojiInputDialog.h LibGUI: Add a simple emoji input dialog activated by Ctrl+Alt+Space :^) 2020-05-17 22:35:25 +02:00
Event.cpp Userspace: Remove a bunch of unnecessary Kernel/API/KeyCode.h includes 2020-07-04 17:25:31 +02:00
Event.h LibGUI+WindowServer: Remove ResizeEvent::old_size() 2020-08-22 13:11:25 +02:00
FileIconProvider.cpp LibGUI: Move file icon lookup into a separate FileIconProvider 2020-08-12 20:41:13 +02:00
FileIconProvider.h LibGUI: Move file icon lookup into a separate FileIconProvider 2020-08-12 20:41:13 +02:00
FilePicker.cpp LibGUI: Don't require passing model to FileSystemModel::Node APIs 2020-08-17 22:02:21 +02:00
FilePicker.h LibGUI: Rename ModelClient::on_model_update() => model_did_update() 2020-08-13 20:18:11 +02:00
FileSystemModel.cpp LibGUI: Don't require passing model to FileSystemModel::Node APIs 2020-08-17 22:02:21 +02:00
FileSystemModel.h LibGUI: Don't require passing model to FileSystemModel::Node APIs 2020-08-17 22:02:21 +02:00
FilteringProxyModel.cpp LibGUI+DevTools+Applications: Use ModelIndex::data() in many places 2020-08-16 16:44:09 +02:00
FilteringProxyModel.h LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
FocusSource.h LibGUI: Make focus events more aware of why focus is changing 2020-08-15 00:05:45 +02:00
FontDatabase.cpp LibGUI: Skip non-font files in the FontDatabase constructor 2020-03-11 21:27:03 +01:00
FontDatabase.h LibGUI: Move Icon and FontDatabase into the GUI namespace 2020-03-07 01:33:53 +01:00
Forward.h LibGUI: Add WidgetClassRegistration to Forward.h 2020-08-17 18:05:35 +02:00
Frame.cpp LibGUI: Introduce widget content margins + improve splitters 2020-04-24 19:05:02 +02:00
Frame.h LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
GroupBox.cpp LibGUI: Draw contiguous frame if GroupBox title is left empty 2020-07-14 17:55:39 +02:00
GroupBox.h LibGUI: Remove parent parameter to GUI::Widget constructor 2020-02-23 12:27:53 +01:00
Icon.cpp Misc: Replace "String(string_view)" with "string_view.to_string()" 2020-05-06 19:28:59 +02:00
Icon.h LibGUI: Move Icon and FontDatabase into the GUI namespace 2020-03-07 01:33:53 +01:00
IconView.cpp LibGUI+DevTools+Applications: Use ModelIndex::data() in many places 2020-08-16 16:44:09 +02:00
IconView.h LibGUI: Improve IconView performance with large selections 2020-07-13 19:49:34 +02:00
ImageWidget.cpp LibGUI: Fix build after renaming Image => ImageWidget 2020-07-23 17:43:44 +02:00
ImageWidget.h LibGUI: Rename GUI::Image => GUI::ImageWidget 2020-07-23 17:31:08 +02:00
INILexer.cpp LibGUI: INI file syntax highlighter 2020-05-01 16:58:18 +02:00
INILexer.h LibGUI: INI file syntax highlighter 2020-05-01 16:58:18 +02:00
INISyntaxHighlighter.cpp LibGUI: INI file syntax highlighter 2020-05-01 16:58:18 +02:00
INISyntaxHighlighter.h LibGUI: INI file syntax highlighter 2020-05-01 16:58:18 +02:00
InputBox.cpp LibGUI: Set parent icon, margins and disable resize for InputBox 2020-07-18 16:27:57 +02:00
InputBox.h LibGUI: Add InputBox::show with required parent window argument 2020-07-16 16:10:21 +02:00
JsonArrayModel.cpp LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
JsonArrayModel.h LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
JSSyntaxHighlighter.cpp LibGUI: Highlight JS Extends and Super tokens 2020-07-01 11:18:44 +02:00
JSSyntaxHighlighter.h Spreadsheet: Add a syntax highlighter to the cell editor 2020-08-24 19:15:07 +02:00
Label.cpp LibGUI: Make Label::set_icon() take a const Gfx::Bitmap* 2020-03-29 19:37:23 +02:00
Label.h LibGUI: Make Label::set_icon() take a const Gfx::Bitmap* 2020-03-29 19:37:23 +02:00
Layout.cpp AK: Add global FlatPtr typedef. It's u32 or u64, based on sizeof(void*) 2020-03-08 13:06:51 +01:00
Layout.h LibGUI: Make Layout a Core::Object and add basic serialization 2020-03-05 09:22:43 +01:00
LazyWidget.cpp LibGUI: Remove parent parameter to GUI::Widget constructor 2020-02-23 12:27:53 +01:00
LazyWidget.h LibGUI: Remove parent parameter to GUI::Widget constructor 2020-02-23 12:27:53 +01:00
ListView.cpp LibGUI+DevTools+Applications: Use ModelIndex::data() in many places 2020-08-16 16:44:09 +02:00
ListView.h LibGUI: Add hover highlighting and keyboard controls to ComboBox 2020-07-15 13:19:44 +02:00
Margins.h LibGUI: Remove leading G from filenames 2020-02-06 20:33:02 +01:00
Menu.cpp LibGUI: Enable icons for SubMenus 2020-07-28 16:29:44 +02:00
Menu.h LibGUI: Enable icons for SubMenus 2020-07-28 16:29:44 +02:00
MenuBar.cpp LibGUI: Make MenuBar a Core::Object 2020-04-21 16:19:18 +02:00
MenuBar.h LibGUI: Make MenuBar a Core::Object 2020-04-21 16:19:18 +02:00
MenuItem.cpp WindowServer/LibGUI: Add default menu items and allow default action for context menu 2020-07-11 11:45:49 +02:00
MenuItem.h WindowServer/LibGUI: Add default menu items and allow default action for context menu 2020-07-11 11:45:49 +02:00
MessageBox.cpp LibGUI: Rename GUI::Image => GUI::ImageWidget 2020-07-23 17:31:08 +02:00
MessageBox.h LibWeb: Require parent window argument for MessageBox 2020-07-16 16:10:21 +02:00
Model.cpp LibGUI: Rename ModelClient::on_model_update() => model_did_update() 2020-08-13 20:18:11 +02:00
Model.h LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
ModelEditingDelegate.h Spreadsheet: Start making a spreadsheet application 2020-08-24 18:21:33 +02:00
ModelIndex.cpp LibGUI: Add ModelIndex::data(ModelRole) 2020-08-16 16:44:09 +02:00
ModelIndex.h LibGUI: Require a model pointer for ModelIndex::is_valid() 2020-08-16 16:44:09 +02:00
ModelRole.h LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
ModelSelection.cpp LibGUI: Add ModelClient abstract class and allow registering clients 2020-07-13 19:49:34 +02:00
ModelSelection.h LibGUI: Make ModelSelection non-copyable and non-movable 2020-08-14 12:15:11 +02:00
MultiView.cpp LibGUI: Enable using a ColumnsView inside MultiView :^) 2020-08-16 16:44:09 +02:00
MultiView.h LibGUI: Enable using a ColumnsView inside MultiView :^) 2020-08-16 16:44:09 +02:00
Notification.cpp Meta: Add missing copyright headers 2020-04-06 11:09:01 +02:00
Notification.h Meta: Add missing copyright headers 2020-04-06 11:09:01 +02:00
Painter.cpp LibGfx: Add forward declaration header 2020-02-14 23:31:18 +01:00
Painter.h LibGUI: Add forwarding header 2020-02-16 09:41:56 +01:00
ProcessChooser.cpp LibGUI+DevTools+Applications: Use ModelIndex::data() in many places 2020-08-16 16:44:09 +02:00
ProcessChooser.h LibGUI: Make ProcessChooser accept double clicks on rows as "Ok" click 2020-08-15 19:07:47 +02:00
ProgressBar.cpp LibGUI: Remove parent parameter to GUI::Widget constructor 2020-02-23 12:27:53 +01:00
ProgressBar.h LibGUI: Remove parent parameter to GUI::Widget constructor 2020-02-23 12:27:53 +01:00
RadioButton.cpp LibCore+LibGUI: Switch to using AK::is and AK::downcast 2020-07-26 17:51:00 +02:00
RadioButton.h LibCore+LibGUI: Switch to using AK::is and AK::downcast 2020-07-26 17:51:00 +02:00
ResizeCorner.cpp LibGUI: Make sure the ResizeCorner aligns nicely inside StatusBar 2020-04-23 15:58:39 +02:00
ResizeCorner.h Meta: Add a script check the presence of "#pragma once" in header files 2020-05-29 07:59:45 +02:00
RunningProcessesModel.cpp LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
RunningProcessesModel.h LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
ScrollableWidget.cpp GUI: Give MouseEvent shift() / ctrl() / alt() / logo() functions 2020-08-12 11:02:30 +02:00
ScrollableWidget.h LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
ScrollBar.cpp LibGUI: Make scrollbars keep scrolling by page while clicking the gutter 2020-08-25 18:09:56 +02:00
ScrollBar.h LibGUI: Make scrollbars keep scrolling by page while clicking the gutter 2020-08-25 18:09:56 +02:00
Shortcut.cpp LibGUI: Use StringBuilder::join() in Shortcut::to_string() 2020-08-19 21:17:02 +02:00
Shortcut.h Kernel: Move headers intended for userspace use into Kernel/API/ 2020-07-04 17:22:23 +02:00
Slider.cpp LibGUI: Paint slider knob as indented when disabled 2020-07-18 16:27:57 +02:00
Slider.h LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
SortingProxyModel.cpp LibGUI: Make SortingProxyModel clear view selections aggressively 2020-08-16 16:44:09 +02:00
SortingProxyModel.h LibGUI: Move GUI::Model::Role to GUI::ModelRole 2020-08-16 16:44:09 +02:00
SpinBox.cpp LibGUI: Use ControlBoxButtons in SpinBox and ComboBox 2020-07-20 21:03:48 +02:00
SpinBox.h LibGUI: Use ControlBoxButtons in SpinBox and ComboBox 2020-07-20 21:03:48 +02:00
Splitter.cpp LibGUI: Use Resize{Column,Row} cursor for Splitter and AbstractTableView 2020-07-07 23:11:39 +02:00
Splitter.h LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
StackWidget.cpp LibCore+LibGUI: Switch to using AK::is and AK::downcast 2020-07-26 17:51:00 +02:00
StackWidget.h LibGUI: Remove parent parameter to GUI::Widget constructor 2020-02-23 12:27:53 +01:00
StatusBar.cpp LibGUI: Make StatusBar 2px shorter vertically for a snugger fit 2020-04-23 18:52:34 +02:00
StatusBar.h LibGUI: Remove parent parameter to GUI::Widget constructor 2020-02-23 12:27:53 +01:00
SyntaxHighlighter.cpp LibGUI: Add missing copyright headers 2020-03-13 23:09:58 +01:00
SyntaxHighlighter.h LibGUI: Rename SyntaxLanguage::{Javascript -> JavaScript} 2020-05-07 22:04:56 +02:00
TableView.cpp LibGUI: Pressing Return in an editable TableView should begin editing 2020-08-24 21:20:54 +02:00
TableView.h LibGUI: Move AbstractTableView::keydown_event() down to TableView 2020-05-21 13:40:52 +02:00
TabWidget.cpp LibGUI: Fix an unsightly pixel glitch in bottom-side tabs 2020-08-24 00:05:40 +02:00
TabWidget.h LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
TextBox.cpp LibGUI: Add up & down arrow hooks and input history to TextBox 2020-05-27 20:04:52 +02:00
TextBox.h LibGUI: Add up & down arrow hooks and input history to TextBox 2020-05-27 20:04:52 +02:00
TextDocument.cpp Unicode: Try s/codepoint/code_point/g again 2020-08-05 22:33:42 +02:00
TextDocument.h HackStudio: Use CodeDocument instead of TextDocument 2020-08-15 15:06:35 +02:00
TextEditor.cpp TextEditor: Increase padding in ruler width 2020-08-22 09:48:59 +02:00
TextEditor.h HackStudio: Use CodeDocument instead of TextDocument 2020-08-15 15:06:35 +02:00
TextPosition.h LibGUI: Remove remaining G prefixes 2020-03-19 22:52:44 +01:00
TextRange.h LibGUI: Remove remaining G prefixes 2020-03-19 22:52:44 +01:00
ToolBar.cpp LibGUI: Add a ToolBarContainer widget and put most ToolBars in one 2020-04-23 17:44:49 +02:00
ToolBar.h LibGUI: Remove parent parameter to GUI::Widget constructor 2020-02-23 12:27:53 +01:00
ToolBarContainer.cpp LibGUI: Make ToolBarContainer better at reacting to child events 2020-04-25 17:16:05 +02:00
ToolBarContainer.h LibGUI: Remove unnecessary LibHTTP #include 2020-07-22 17:48:11 +02:00
TreeView.cpp LibGUI+DevTools+Applications: Use ModelIndex::data() in many places 2020-08-16 16:44:09 +02:00
TreeView.h LibGUI: Add on_toggle function to TreeView 2020-07-07 13:38:35 +02:00
UndoStack.cpp AK: Make Vector use size_t for its size and capacity 2020-02-25 14:52:35 +01:00
UndoStack.h AK: Make Vector use size_t for its size and capacity 2020-02-25 14:52:35 +01:00
Variant.cpp LibGfx: Rename Rect,Point,Size => IntRect,IntPoint,IntSize 2020-06-10 10:59:04 +02:00
Variant.h AK: Make string-to-number conversion helpers return Optional 2020-06-12 21:28:55 +02:00
Widget.cpp LibGUI+WindowServer: Remove ResizeEvent::old_size() 2020-08-22 13:11:25 +02:00
Widget.h LibGUI: Update active tooltip when source widget changes the label 2020-08-15 13:45:08 +02:00
Window.cpp LibGUI+WindowServer: Add resize_aspect_ratio() 2020-08-23 01:05:22 +02:00
Window.h LibGUI+WindowServer: Add resize_aspect_ratio() 2020-08-23 01:05:22 +02:00
WindowServerConnection.cpp LibGUI+WindowServer: Remove ResizeEvent::old_size() 2020-08-22 13:11:25 +02:00
WindowServerConnection.h WindowServer: Add accessory windows 2020-07-15 17:15:45 +02:00
WindowType.h WindowServer: Add WindowType::Desktop 2020-04-18 21:10:16 +02:00