summaryrefslogtreecommitdiff
path: root/Libraries/LibGUI
AgeCommit message (Collapse)Author
2020-02-11LibGUI: Add a Widget::did_layout() that gets called after layoutAndreas Kling
This will allow widgets to implement post-layout behaviors.
2020-02-11LibGUI: Factor out Splitter hit testing into a separate functionAndreas Kling
2020-02-10LibGUI: Single-line GUI::TextEditor should not have "go to line" actionAndreas Kling
2020-02-07LibGUI+HackStudio: Move syntax highlighting from HackStudio to LibGUIAndreas Kling
This patch introduces the GUI::SyntaxHighlighter class, which can be attached to a GUI::TextEditor to provide syntax highlighting. The C++ syntax highlighting from HackStudio becomes a new class called GUI::CppSyntaxHighlighter. This will make it possible to get C++ syntax highlighting in any app that uses a GUI::TextEditor. :^) Sidenote: It does feel a bit weird having a C++ lexer in a GUI toolkit library, and we'll probably end up moving this out to a separate place as this functionality grows larger.
2020-02-06LibGUI: Remove leading G from filenamesAndreas Kling
2020-02-06IPCCompiler: Put message classes in the Messages namespaceAndreas Kling
2020-02-06WindowServer: Move classes into WindowServer namespaceAndreas Kling
Also remove the leading WS from names and filenames.
2020-02-06LibCore: Remove leading C from filenamesAndreas Kling
2020-02-06LibIPC: Remove leading I from filenamesAndreas Kling
2020-02-06LibGUI: Rename {H,V}BoxLayout => {Horizontal,Vertical}BoxLayoutAndreas Kling
2020-02-06LibGUI: Add HorizontalSlider and VerticalSlider convenience classesAndreas Kling
2020-02-06LibGUI: Add HorizontalSplitter and VerticalSplitter convenience classesAndreas Kling
2020-02-06LibGfx: Prefer using Gfx::Bitmap::load_from_file instead of load_png()Andreas Kling
Code that just wants to open a Gfx::Bitmap from a file should not be calling the PNG codec directly.
2020-02-06LibGfx: Unpublish Gfx::Size from the global namespaceAndreas Kling
2020-02-06LibGfx: Unpublish Gfx::Point from global namespaceAndreas Kling
2020-02-06LibGfx: Unpublish Gfx::Rect from global namespaceAndreas Kling
2020-02-06LibGfx: Rename GraphicsBitmap.{cpp,h} => Bitmap.{cpp,h}Andreas Kling
2020-02-06LibGfx: Rename from LibDraw :^)Andreas Kling
2020-02-06LibDraw: Put all classes in the Gfx namespaceAndreas Kling
I started adding things to a Draw namespace, but it somehow felt really wrong seeing Draw::Rect and Draw::Bitmap, etc. So instead, let's rename the library to LibGfx. :^)
2020-02-05LibIPC: Put all classes in the IPC namespace and remove the leading IAndreas Kling
2020-02-05LibGUI: Don't specify LibC/ for standard includesjoshua stein
2020-02-05LibGUI: Remove unused m_layout_dirtyjoshua stein
2020-02-02LibGUI: Put all classes in the GUI namespace and remove the leading GAndreas Kling
This took me a moment. Welcome to the new world of GUI::Widget! :^)
2020-02-02LibCore: Put all classes in the Core namespace and remove the leading CAndreas Kling
I've been wanting to do this for a long time. It's time we start being consistent about how this stuff works. The new convention is: - "LibFoo" is a userspace library that provides the "Foo" namespace. That's it :^) This was pretty tedious to convert and I didn't even start on LibGUI yet. But it's coming up next.
2020-02-02LibGUI: Add GHBoxLayout and GVBoxLayout convenience classesAndreas Kling
2020-02-02LibGUI: Save current wallpaper setting to WindowManager.ini.asliturk
2020-02-02LibGUI: Make GAction scoped to its CObject parent (widget or window)Andreas Kling
Unparented GActions are still parented to the application like before, making them globally available. This makes it possible to have actions that work whenever a specific window is active, no matter which widget is currently focused. :^)
2020-01-28LibGUI: Only consider starting a drag from an already selected itemSergey Bugaev
This means we can deselect other items immediately when performing a mouse-down on an unselected item.
2020-01-28LibGUI+FileManager: Try better to detect executablesSergey Bugaev
We will now consider a file to be an executable if any of the executable permission bits are set.
2020-01-28GFileSystemModel: Don't copy the null-terminator after readlink()Andreas Kling
2020-01-27LibGUI: Fix crash when trying to scroll above the head of the documentAndreas Kling
We can't go higher than line 0. Can't rely on max() here since line numbers are unsigned. Fixes #1145.
2020-01-27LibGUI: Add symlink targets as a column in GFileSystemModelAndreas Kling
Also make sure to hide this column by default where we don't expect to see it.
2020-01-27LibGUI: Have GFileSystemModel use stat instead of lstat for the rootAndreas Kling
This allows you to set the GFileSystemModel root to a symlink to a directory and it nicely opens that directory like you would expect.
2020-01-27LibGUI: Add 64-bit signed integer support to GVariantAndreas Kling
What was previously the "Int" type is now "Int32" and "Int64".
2020-01-24Meta: Claim copyright for files created by meSergey Bugaev
This changes copyright holder to myself for the source code files that I've created or have (almost) completely rewritten. Not included are the files that were significantly changed by others even though it was me who originally created them (think HtmlView), or the many other files I've contributed code to.
2020-01-23GTextEditor: Create the "go to line" action eagerlyAndreas Kling
Previously it was created the first time you requested a context menu for the GTextEditor by right-clicking in it. That meant it wasn't possible to use Ctrl+L to "go to line" before you had first right-clicked the editor.
2020-01-23GTextEditor: Move "Go to line" feature from HackStudio into GTextEditorAndreas Kling
This is a handy feature for any multi-line GTextEditor, so let's just have it in the base widget. :^) Fixes #1122.
2020-01-23GTextEditor: Make color of non-highlighted line numbers darkerAndreas Kling
Fixes #1123.
2020-01-23GTextEditor: Disable auto-indentation while pastingAndreas Kling
Fixes #1121.
2020-01-23LibGUI: Give GTextDocument access to the GTextEditor during commandsAndreas Kling
It's useful for the GTextDocument to have access to the initiating GTextEditor widget during the initial execution of a command. Since commands are executed via calls to GUndoCommand::redo(), we do this by wrapping the invocation of redo() in a new helper called GTextDocumentUndoCommand::execute_from(GTextDocument::Client). This is then used to fetch the current auto-indentation feature state and the soft tab width, both used by text insertion.
2020-01-23AK: Let's call decrementing reference counts "unref" instead of "deref"Andreas Kling
It always bothered me that we're using the overloaded "dereference" term for this. Let's call it "unreference" instead. :^)
2020-01-22LibGUI: Rename GAbstractColumnView to GAbstractTableViewSergey Bugaev
This is to prevent confusion with GColumnsView, which is unrelated.
2020-01-22LibGUI: Let GModel specify the drag data typeSergey Bugaev
GModel subclasses can now override drag_data_type() to specify which type GAbstractView should set for drag data. The default implementation returns a null string, which disables dragging from this widget.
2020-01-22LibGUI: Move most of mouse event handling to GAbstractViewSergey Bugaev
This deduplicates existing code, and also gives all the model-backed widgets selection manipulation and drag support for free :^)
2020-01-22LibGUI: Misc tweaksSergey Bugaev
Minus two empty lines because clang-format insists on it, and plus an underscore.
2020-01-22LibGUI: Move index_at_event_position() up to GAbstractViewSergey Bugaev
It's now an abstract (pure virtual) public method in GAbstractView that individual widgets have to implement. This will allow us to move more selection-related logic into GAbstractView in order to share it between implementations.
2020-01-22LibGUI: Add GItemView::index_at_event_position()Sergey Bugaev
This replaces GItemView::item_at_event_position(), which used to return a raw int, requiring callers to call model()->index() with it again.
2020-01-22LibGUI: Add GListView::index_at_event_position()Sergey Bugaev
And port GListView::mousedown_event() to it.
2020-01-21LibGUI: Make GDialog accept escape key press eventsAndreas Kling
Anyone who "handles" an event should really also be accepting it.
2020-01-21LibGUI: GFileSystemModel::index() now survives negative inputsAndreas Kling
If asked to create an index with negative row and/or column, we should just return an invalid GModelIndex() instead of asserting.