1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-30 21:28:11 +00:00
Commit graph

22504 commits

Author SHA1 Message Date
Andreas Kling
b181263b9f GTreeView: Factor paint traversal into a shared function.
This way it can be used by hit testing as well, guaranteeing that everything
stays consistent.
2019-03-29 17:30:27 +01:00
Andreas Kling
6b72c62c5f GFileSystemModel: Add a "DirectoriesOnly" mode. 2019-03-29 17:14:03 +01:00
Andreas Kling
4d3c5fd83e LibGUI: Start working on a GFileSystemModel and hook that up in FileManager.
This is a read-only model for the tree view, at least initially. We'll see
where we take it from there once it's more polished.
2019-03-29 17:03:30 +01:00
Andreas Kling
f249c40aaa Rename Painter::set_clip_rect() to add_clip_rect().
It was confusing to see multiple calls to set_foo() in a row. Since this is
an intersecting operation, let's call it add_clip_rect() instead.
2019-03-29 15:01:54 +01:00
Andreas Kling
474340b9cd GTreeView: A bunch of work on the tree view. 2019-03-29 14:46:53 +01:00
Andreas Kling
d02238af48 LibGUI: Expand GModelIndex a bit, adding internal data and model pointers.
This will be useful for implementing more complicated models.
2019-03-29 04:58:15 +01:00
Andreas Kling
12ec55ee74 LibGUI: Start working on a GTreeView class. 2019-03-29 04:00:07 +01:00
Andreas Kling
add38b3981 GModel: Add GModelIndex argument to row_count() and column_count().
This is in preparation for supporting hierarchical models.
2019-03-29 03:27:03 +01:00
Andreas Kling
34118aaaca IRCClient: Tweak size of window input boxes.
Now that GTextEditor is a GFrame, we need to make some room here for the
frame around the editor. :^)
2019-03-29 03:06:07 +01:00
Andreas Kling
4454392929 GScrollableWidget: Make sure the corner widget is positioned correctly. 2019-03-29 03:02:31 +01:00
Andreas Kling
2e0f4da1f7 StylePainter: Fix underdraw in new button style. 2019-03-29 02:57:33 +01:00
Andreas Kling
c77d369b75 GScrollBar: Make the scrubber size proportional to the scrollable range. 2019-03-29 02:51:19 +01:00
Andreas Kling
a5135dbf01 LibGUI: Remove debug spam in GWidget::spans_entire_window_horizontally(). 2019-03-29 02:22:17 +01:00
Andreas Kling
d48f486634 LibGUI: Don't draw left and right side of surfaces that span entire window.
In other words, if a surface stretches from the left side of the window
all the way to the right side, skip shading and highlighting the sides.
This makes widgets blend together just slightly with the window. :^)
2019-03-29 02:20:22 +01:00
Andreas Kling
9d7a513681 GTextEditor: Keep tweaking the single-line look. 2019-03-29 01:57:29 +01:00
Andreas Kling
5d72cf5a3f LibGUI: Improve GFrame's look for Container shapes.
This is now starting to look like a proper container. Very nice :^)
2019-03-28 20:15:13 +01:00
Andreas Kling
f939fb7eb7 Userland: Add a simple GFrame testing window to guitest2. 2019-03-28 18:52:03 +01:00
Andreas Kling
6edcf2f16e WindowServer: Use StylePainter to draw the window close buttons. 2019-03-28 17:46:40 +01:00
Andreas Kling
e2cd7529ab StylePainter: Tweak ButtonStyle::Normal highlights. 2019-03-28 17:46:24 +01:00
Andreas Kling
c7ab643883 Move LibGUI/GStyle to SharedGraphics/StylePainter.
I want to paint some buttons in WindowServer where we don't have LibGUI.
2019-03-28 17:32:38 +01:00
Andreas Kling
d12b6b8677 LibGUI: Tweak GScrollBar gutter color. 2019-03-28 17:29:14 +01:00
Andreas Kling
9fa21fa585 LibGUI: Add a GPainter class that inherits from Painter.
This gets rid of the last little piece of LibGUI knowledge in Painter.
2019-03-28 17:19:56 +01:00
Andreas Kling
326c6fd607 WindowServer: Tweak border color of active and dragging windows. 2019-03-28 17:07:58 +01:00
Andreas Kling
3dc4255eb4 LibGUI: Use GFrame to draw the frames around GItemView and GTableView. 2019-03-28 16:58:29 +01:00
Andreas Kling
1fc03a7644 LibGUI: Make GScrollableWidget a GFrame and fix up GTextEditor for it. 2019-03-28 16:14:26 +01:00
Andreas Kling
cb296ffede LibGUI: Add a GFrame class that can be inherited by framey widgets.
This will gather the code for painting sunken/raised frames etc in a single
place and make it easier add a bit of pleasant shading to UI's. :^)
2019-03-28 15:30:29 +01:00
Andreas Kling
b6c5bd3d28 FileManager: Add back/forward buttons (placeholders.) 2019-03-28 03:38:23 +01:00
Andreas Kling
6e7d5e0114 Base: I drew a new filetype-image icon based on my cat friend. 2019-03-27 21:15:01 +01:00
Andreas Kling
670e376e27 Tweak the look of various UI surfaces and buttons. 2019-03-27 20:48:23 +01:00
Andreas Kling
d71820a382 LibGUI: Make the buttons in GInputBox and GMessageBox slightly taller. 2019-03-27 20:47:48 +01:00
Andreas Kling
d63528197b Base: Add some icons and tweak some existing ones. 2019-03-27 19:41:39 +01:00
Andreas Kling
0058da734e Kernel: Add Inode::truncate(size).
- Use this to implement the O_TRUNC open flag.
- Fix creat() to pass O_CREAT | O_TRUNC | O_WRONLY.
- Make sure we truncate wherever appropriate.
2019-03-27 16:42:30 +01:00
Andreas Kling
e9f2cc3595 Kernel: Save/restore the SSE context on context switch. 2019-03-27 15:27:45 +01:00
Andreas Kling
44e1e7423f Kernel: Put a bunch of debug spam behind #ifdefs. 2019-03-27 15:07:12 +01:00
Andreas Kling
56f7b392c1 WindowServer: Move the CPU usage graph updates to a secondary thread.
This avoids blocking the main thread on filesystem access, which created
noticeable stutters during compilation.
2019-03-27 14:59:22 +01:00
Andreas Kling
a2fe5f8517 Kernel: Don't disable interrupts during Process destruction. 2019-03-27 14:38:32 +01:00
Andreas Kling
1592612a60 Kernel: Don't disable interrupts during Thread destruction. 2019-03-27 14:30:13 +01:00
Andreas Kling
d5508e5116 Ext2FS: Avoid a lot of redundant writes to inode block arrays. 2019-03-27 14:24:37 +01:00
Andreas Kling
750d79dcaf Kernel: Initialize the CPU to allow SSE on startup.
I still need to add support for SSE to the context switching code, but now
at least one process can use it.
2019-03-27 13:40:00 +01:00
Andreas Kling
5808322556 Give the emulator testing environments 128 MB of RAM.
I'm working on porting GCC and it needs a fair bit of memory to run.
2019-03-27 13:02:29 +01:00
Andreas Kling
1577217ce1 LibC: Let's remember that headers are in C. 2019-03-27 12:53:05 +01:00
Andreas Kling
23bb276fcd LibC: Run constructors on process startup.
Cooperate with the compiler to generate and execute the _init_array list
of constructor functions on userspace program statup. This took two days
to get working, my goodness. :^)
2019-03-27 12:48:21 +01:00
Andreas Kling
f1a2cb0882 LibC: Fix fread() EOF behavior with ungetc(). 2019-03-27 05:13:28 +01:00
Andreas Kling
e145344767 LibC: Remove the validate_mallocation() stuff since Binutils hates it. 2019-03-27 05:02:02 +01:00
Andreas Kling
75207ddffd Kernel: Load ELF executable pages lazily when possible.
This currently only works for "normal" processes created by fork().
It does not work for create_user_process() processes spawned by the
kernel, as those are a bit special during construction.
2019-03-27 04:01:15 +01:00
Andreas Kling
baab9f4402 LibC: Implement atexit() and strtoul(). 2019-03-27 01:55:39 +01:00
Andreas Kling
2a858719be LibM: Stub out ldexp(). 2019-03-27 01:41:55 +01:00
Andreas Kling
d1e55fb4d9 LibC: Add ungetc() and automatically flush streams on fclose(). 2019-03-27 01:40:55 +01:00
Andreas Kling
0c2face7b0 LibC: Add creat(), execvp() resolution, and exec*() environment inheritance. 2019-03-27 01:39:13 +01:00
Andreas Kling
fb7c7829c2 Terminal: Export a simple PATH=/bin:/usr/bin to shells. 2019-03-27 01:36:33 +01:00