Andreas Kling
a1e7aa330c
HackStudio: Don't use an OOB TextRange when looking for hovered text
...
We could going +1 past the end of a TextDocumentLine here. This caused
us to crash in the brave new world, so we could find it. :^)
2020-05-18 20:44:31 +02:00
Sergey Bugaev
450a2a0f9c
Build: Switch to CMake :^)
...
Closes https://github.com/SerenityOS/serenity/issues/2080
2020-05-14 20:15:18 +02:00
Andreas Kling
977863ea07
LibGUI: Include keyboard modifier state with button on_click calls
...
This will allow you us to implement special behavior when Ctrl+clicking
a button.
2020-05-12 20:31:16 +02:00
Andreas Kling
18ff75e67b
HackStudio: Don't crash when navigating backtrace with up/down keys
...
It's up to BacktraceModel::index() to validate its inputs.
2020-05-12 15:09:54 +02:00
Linus Groh
358694567f
Meta: Add script to enforce license headers & run it on Travis
2020-05-09 23:55:58 +02:00
Itamar
2acce56ac1
HackStudio: Update variables view based on the selected backtrace frame
2020-05-09 23:41:08 +02:00
Itamar
1fb62df02a
HackStudio: Show a backtrace in the debug information tab
2020-05-09 23:41:08 +02:00
Itamar
b9f0f402f4
HackStudio: Reorganize debugger-related files
...
The debugger's files are now placed under HackStudio/Debugger
2020-05-09 23:41:08 +02:00
Andreas Kling
f596b12a04
LibVT+Terminal: Support hyperlinks in the terminal :^)
...
We now support basic hyperlinking in the terminal with <OSC>;8;;URL<ST>
Links are opened via LaunchServer on Ctrl+LeftMouse.
2020-05-09 16:16:16 +02:00
Itamar
14ee090f25
HackStudio: Support variable inspection in nested scopes
2020-05-08 12:16:10 +02:00
Itamar
f0cbaf453c
HackStudio: Close the debug tab when debugged program exits
2020-05-08 12:16:10 +02:00
Itamar
b931771d24
HackStudio: Gracefully handle unfound source files
2020-05-07 23:32:11 +02:00
Linus Groh
8d01fd9863
HackStudio: Apply INI syntax highlighter when opening a .ini file
2020-05-07 22:04:56 +02:00
Linus Groh
520d464865
HackStudio: Rename ProjectType::{Javascript -> JavaScript}
2020-05-07 22:04:56 +02:00
Itamar
3dd0f755d0
HackStudio: Show local variables in the debugger
...
We now have a Debug Information tab, which displays the variables in
the current scope in a tree view.
2020-05-05 11:01:36 +02:00
Itamar
09ac22b37f
HackStudio: Take scrolling into consideration when painting breakpoints
...
Also, we now scroll to the currently executed line when execution is
paused in the debugger.
2020-05-05 11:01:36 +02:00
Andreas Kling
e09b83c60c
LibTextCodec: Start fleshing out a simple text codec library
...
We're starting with a very basic decoding API and only ISO-8859-1 and
UTF-8 decoding (and UTF-8 decoding is really a no-op since String is
expected to be UTF-8.)
2020-05-03 23:01:58 +02:00
Andreas Kling
ea204ef05b
LibMarkdown: Drop MD prefixes and move into "Markdown" namespace :^)
2020-04-28 21:04:25 +02:00
Andreas Kling
cba9550f1c
HackStudio: Toolbar icon overhaul
2020-04-25 14:17:02 +02:00
Itamar
74f41d5f98
HackStudio: Add cpp debugger
...
The HackStudio debugger integrates with LibDebug to provide
source-level debugging.
The user can set breakpoints at various positions in the source code,
and then run the program in debug mode.
When the program is stopped, the current execution position is
displayed, and the user can insert/remove breakpoints, continue
execution, or single step the program.
2020-04-25 13:16:46 +02:00
Itamar
393560d8a2
HackStudio: GUI support for setting breakpoints on source code lines
2020-04-25 13:16:46 +02:00
Andreas Kling
0af5e0b9f8
Applications: Tweak main layout spacing and background
2020-04-23 18:30:59 +02:00
Andreas Kling
ab336e895f
LibGUI: Add a ToolBarContainer widget and put most ToolBars in one
...
This mimics the Explorer toolbar container from Windows 2000 and looks
pretty neat! :^)
2020-04-23 17:44:49 +02:00
Andreas Kling
705cee528a
LibGUI: Make it easier to create checkable GUI::Actions
...
This patch adds GUI::Action::create_checkable() helpers that work just
like the existing create() helpers, but the actions become checkable(!)
Clients are no longer required to manage the checked state of their
actions manually, but instead they will be checked/unchecked as needed
by GUI::Action itself before the activation hook is fired.
2020-04-21 17:21:28 +02:00
Andreas Kling
52a250cb61
LibGUI: Make MenuBar a Core::Object
...
This makes it show up in Inspector with all the menus inside it. :^)
2020-04-21 16:19:18 +02:00
Brian Gianforcaro
e54cc055ac
HackStudio: pledge "thread" to fix opening files
...
It looks like HackStudio got broken when clicking on
a folder in the open file dialog. The thumbnail icons
appear to be loaded on a new thread.
2020-04-07 12:14:35 +02:00
Oriko
795067e08c
HackStudio: Add new Terminals
2020-04-06 09:01:42 +02:00
Andreas Kling
26eeaef0a8
LibGUI: Add MenuBar::add_menu(name)
...
This allows us to construct menus in a more natural way:
auto& file_menu = menubar->add_menu("File");
file_menu.add_action(...);
Instead of the old way:
auto file_menu = GUI::Menu::construct();
file_menu->add_action(...);
menubar->add_menu(file_menu);
2020-04-04 12:58:05 +02:00
Andreas Kling
2463a285ee
LibGUI: Make GUI::TabWidget::add_tab<T>() return a T&
...
Since the newly constructed sub-widget is owned by the TabWidget,
we can simply return a T& here. :^)
2020-04-04 11:10:07 +02:00
Tibor Nagy
9e855376dd
HackStudio: Move the "Find in files" button in line with the search box
2020-04-01 11:35:21 +02:00
Tibor Nagy
f221771717
HackStudio: Add icon for the Find action
2020-03-30 13:03:53 +02:00
Tibor Nagy
c7f3d72a6a
HackStudio: Add an upscaled 32x32 icon to the About dialog
2020-03-30 13:03:53 +02:00
Tibor Nagy
f15e9ee0fc
HackStudio: Fix the labels of project opening menu and dialog
2020-03-30 13:03:53 +02:00
Oriko
a115702746
HackStudio: Expand project tree view by default
2020-03-18 16:33:54 +01:00
Oriko
b6e1c1b516
HackStudio: Use Javascript syntax highlighter
2020-03-13 22:53:13 +01:00
Oriko
8285102b6d
HackStudio: Add Javascript projects
2020-03-13 20:19:01 +01:00
Oriko
792a709765
HackStudio: Fix the wrong cursor being drawn
2020-03-13 20:19:01 +01:00
Oriko
137d68a2ae
HackStudio: Abstract over syntax highlighter
2020-03-12 19:04:59 +01:00
Oriko
bacd3dd57a
HackStudio: Underline header links
2020-03-12 19:04:59 +01:00
Oriko
879bf3e97b
HackStudio: Add header navigation
2020-03-12 12:37:13 +01:00
Andreas Kling
37fc6c117c
Userspace: Add missing #includes now that AK/StdLibExtras.h is smaller
2020-03-08 13:06:51 +01:00
Andreas Kling
830a57c6b2
LibWeb: Rename directory LibHTML => LibWeb
...
Let's rename this to LibWeb since it aims to provide more parts of the
web platform than just HTML. :^)
2020-03-07 10:32:51 +01:00
Andreas Kling
7a6c4a72d5
LibWeb: Move everything into the Web namespace
2020-03-07 10:27:02 +01:00
Shannon Booth
6a3b12664a
LibGUI: Move Icon and FontDatabase into the GUI namespace
...
We also clean up some old references to the old G prefixed GUI classes
This also fixes a potential bug with using: C_OBJECT_ABSTRACT(GAbstractButton)
instead of C_OBJECT_ABSTRACT(AbstractButton)
2020-03-07 01:33:53 +01:00
Andreas Kling
b29ff7b821
LibGUI: Don't use Core::Object::add() to instantiate dialogs
...
Now that add() returns a WidgetType&, we can't rely on the parent of a
GUI::Dialog to still keep it alive after exec() returns. This happens
because exec() will call remove_from_parent() on itself before
returning.
And so we go back to the old idiom for creating a GUI::Dialog centered
above a specific window. Just call GUI::Dialog::construct(), passing
the "parent" window as the last parameter.
2020-03-04 21:04:06 +01:00
Andreas Kling
028c011760
LibCore: Make Core::Object::add<ChildType> return a ChildType&
...
Since the returned object is now owned by the callee object, we can
simply vend a ChildType&. This allows us to use "." instead of "->"
at the call site, which is quite nice. :^)
2020-03-04 21:04:06 +01:00
Andreas Kling
0f3e57a6fb
LibGUI: Use GUI::Window::set_main_widget<WidgetType>() in clients
2020-03-04 14:26:16 +01:00
Andreas Kling
4697195645
LibGUI: Use set_layout<LayoutType>() in lots of client code
2020-03-04 13:49:48 +01:00
Andreas Kling
a26b63a958
LibGUI: Remove Button& parameter from Button::on_click hook
...
There was but a single user of this parameter and it's a bit tedious
to write it out every time, so let's get rid of it.
2020-03-03 17:02:38 +01:00
Andreas Kling
686ade6b5a
AK: Make quick_sort() a little more ergonomic
...
Now it actually defaults to "a < b" comparison, instead of forcing you
to provide a trivial less-than comparator. Also you can pass in any
collection type that has .begin() and .end() and we'll sort it for you.
2020-03-03 16:02:58 +01:00