Andreas Kling
2848a96d66
GTableView: Fix crash on mousemove when no model is assigned.
2019-05-08 03:33:13 +02:00
Andreas Kling
aff2fa4383
GraphicsBitmap: size_in_bytes() was overshooting by 4x, oops!
2019-05-08 03:28:40 +02:00
Andreas Kling
eaf03d4ddb
HelloWorld: Add a simple "Hello World!" app showing the basics.
...
This also introduces a Demos/ directory where I hope to add cool things.
2019-05-08 01:18:36 +02:00
Andreas Kling
1930d48a38
GApplication: quit() should have a default exit code of 0.
2019-05-08 01:15:41 +02:00
Andreas Kling
5e733d47a3
VisualBuilder: Add a way to dump the current form to the debugger.
2019-05-07 23:28:35 +02:00
Andreas Kling
5b0c0847ef
GSpinBox: Add class_name() override.
2019-05-07 23:28:22 +02:00
Andreas Kling
1598a0a5cb
ProcessManager: Draw the graphs as lines.
...
This looks pretty neat. Also it exercises the diagonal line drawing code
so we get 2-for-1. :^)
2019-05-07 17:11:48 +02:00
Andreas Kling
5b2e122624
WindowServer: Don't launch a terminal when clicking system menu separators.
...
The menu item for launching a terminal was sharing ID's with the separators.
2019-05-07 17:11:28 +02:00
Andreas Kling
e8d395b14d
Painter: Support diagonal lines with dy>dx, and apply clipping as well.
2019-05-07 17:01:55 +02:00
Andreas Kling
4f77b4e5bc
GTabWidget: Fill the entire tab widget instead of just the bar.
...
There's no guarantee that child widgets will paint everything, so let's have
GTabWidget fill itself.
2019-05-07 17:00:56 +02:00
Andreas Kling
1af9b6f102
Painter: Remove unused draw_focus_rect().
2019-05-07 16:17:28 +02:00
Andreas Kling
922391e772
ProcessManager: Tweak default column widths.
2019-05-07 16:07:07 +02:00
Andreas Kling
19eeaf807d
AK: Add InlineLinkedList::remove_tail().
2019-05-07 16:06:48 +02:00
Andreas Kling
11b99dd89a
GTabWidget: Tweak appearance.
2019-05-07 14:13:20 +02:00
Andreas Kling
5c4b421d56
GTabWidget: Highlight tab buttons when hovered.
...
The active tab's button doesn't get highlighted, since the highlight is
supposed to indicate that the widget can be interacted with.
2019-05-07 14:01:20 +02:00
Andreas Kling
67108f872f
Shell: Make ^W and ^U work when cursor is not at the end of the line.
2019-05-07 05:29:07 +02:00
Andreas Kling
b04f08ba48
Shell: Support home/end keys for line editing.
2019-05-07 05:03:21 +02:00
Andreas Kling
d53941a466
Shell: Support basic line editing with left/right arrow keys.
2019-05-07 04:17:05 +02:00
Andreas Kling
8750f93201
WindowServer: Don't invalidate the cursor on left button state change.
...
This was needed back when pressing the left button would cause the cursor
to switch colors.
2019-05-07 03:56:54 +02:00
Andreas Kling
b860da3ea5
Shell: Ignore tab key for now.
2019-05-07 02:55:56 +02:00
Andreas Kling
ad1c3c748f
Shell: Allow browsing history with up/down arrow keys.
2019-05-07 02:50:15 +02:00
Andreas Kling
16a5a76445
Shell: Add "history" command that shows command history.
2019-05-07 01:43:21 +02:00
Andreas Kling
ba7364b43b
Shell: Move line editing to a separate class.
...
To be clear, there isn't really any line editing yet. But there is
going to be, so let's have it in its own class.
2019-05-07 01:39:41 +02:00
Andreas Kling
fe73543d41
Shell: Move the Shell to a separate directory and let's call it "Shell" :^)
2019-05-07 01:12:08 +02:00
Andreas Kling
e63cc38861
Shell: Use a Vector<char> for the main input buffer.
2019-05-07 01:01:50 +02:00
Andreas Kling
e66f88ed60
GTableView: Make column resizing work when view is scrolled horizontally.
2019-05-06 23:38:35 +02:00
Andreas Kling
26110f7753
GTextEditor: set_cursor() should gracefully handle old cursor being invalid.
...
Since set_cursor() may be called after arbitrary document changes, it can't
rely on the old cursor being valid. To make things simple, if the old cursor
is on a line no longer in the document, just repaint the whole editor.
2019-05-06 22:04:53 +02:00
Andreas Kling
72cbcd8e98
Kernel: Dump backtrace on exit() syscall.
...
This makes assertion failures a lot more pleasant to investigate.
2019-05-06 21:48:48 +02:00
Andreas Kling
cb3e150983
GraphicsBitmap: Add non-const overload of bits().
...
This is clearly useful, I don't know why I thought it wasn't.
2019-05-06 20:29:52 +02:00
Andreas Kling
61e3ecec79
GraphicsBitmap: Add a new "Indexed8" format that uses a 256-entry palette.
...
These bitmaps should only be used as a source bitmap, we won't support
painting into them using Painter. You can however manipulate the raw
pixel data. :^)
2019-05-06 19:32:56 +02:00
Andreas Kling
cec16105cc
Make sure all GraphicsBitmap scanlines are 16-byte aligned.
...
This is a prerequisite for some optimizations.
2019-05-06 14:04:54 +02:00
Andreas Kling
fafdda8902
AK: Change HashTable and HashMap size/capacity to be ints.
2019-05-06 13:28:52 +02:00
Andreas Kling
ac67a2ed5e
Minesweeper: Flag unflagged mines on win.
2019-05-06 13:27:58 +02:00
Andreas Kling
3d61c8ec09
ProcessManager: Use the same margins for both CPU and memory graph.
2019-05-06 03:37:22 +02:00
Andreas Kling
25bb7a59ac
ProcessManager: Add CPU/memory usage graphs in a separate tab.
...
Finally we get some real use for the new GTabWidget. :^)
2019-05-06 03:21:34 +02:00
Andreas Kling
6df3df62be
Color: Add named color "Cyan"
2019-05-06 00:59:33 +02:00
Andreas Kling
3bdb95e128
ProcessManager+LibGUI: Tweak things to improve ProcessManager look.
2019-05-05 20:53:04 +02:00
Andreas Kling
9e5ad25188
GTabWidget: Paint a frame around the container part of the widget.
...
Then make the active tab stand out by punching a hole in the frame below
its button.
2019-05-05 15:03:34 +02:00
Andreas Kling
4e1b36ddf2
GTabWidget: Make a custom look for tab buttons.
2019-05-05 14:39:37 +02:00
Andreas Kling
62e7b26406
LibGUI: Start working on a tabbed widget container: GTabWidget.
2019-05-05 01:31:02 +02:00
Andreas Kling
dd299fe51a
CObject: add_child() should set the child's parent.
2019-05-05 01:09:49 +02:00
Andreas Kling
b7cd6dea13
GTableView: Fix crash when clicking at random places.
2019-05-05 00:58:42 +02:00
Andreas Kling
dc919352b0
WindowServer: Don't send Paint messages to minimized windows.
...
There's no point in painting if it can't be seen anyway. We also make sure
to request a repaint when un-minimizing, so the window gets a chance to
repaint itself then.
2019-05-04 23:59:04 +02:00
Andreas Kling
48e3ea9e5c
GTableView: Make it possible to resize the columns with the mouse.
...
The GModel now merely provides an initial width for the columns. Once that
has been queried, the table view manages width from then on.
2019-05-04 23:45:31 +02:00
Andreas Kling
f3aec1a0d9
Painter: Re-enable diagonal draw_line().
...
This code still needs clipping, but the basic concept works. It was disabled
since before the kernel had floating point support.
2019-05-04 23:40:52 +02:00
Andreas Kling
a8c856ed3d
GTableView: Improve look of column headers, and add sort order indicators.
2019-05-04 21:16:41 +02:00
Andreas Kling
6228503c16
Kernel: Add a bit of logging in VMObject::inode_size_changed().
2019-05-04 21:15:59 +02:00
Andreas Kling
932836e3c7
Kernel: Computing the boot timestamp was a bit broken.
2019-05-04 17:05:42 +02:00
Andreas Kling
3ae75e04ec
date: Add "-u" argument for printing current Unix timestamp.
2019-05-04 16:50:36 +02:00
Andreas Kling
5e938868a2
IPv4: Rename source/destination in socket classes to local/peer.
...
It was way too ambiguous who's the source and who's the destination, and it
didn't really follow a logical pattern. "Local port" vs "Peer port" is super
obvious, so let's call it that.
2019-05-04 16:40:34 +02:00