Commit Graph

2555 Commits

Author SHA1 Message Date
Andreas Kling
090e14d42c IPv4: Default initialize IPv4Address to 0.0.0.0.
IPv4Address() didn't initialize which made for some confusing debugging.
2019-05-10 18:18:54 +02:00
Andreas Kling
c838a2e652 Shell: Add "umask" builtin for reading/writing the shell's umask. 2019-05-10 17:39:30 +02:00
Andreas Kling
c1b025b5a6 LibC: Oops, I forgot to commit sys/uio.{cpp,h} yesterday. 2019-05-10 17:38:51 +02:00
Andreas Kling
99aead4857 Kernel: Add a writev() syscall for writing multiple buffers in one go.
We then use this immediately in the WindowServer/LibGUI communication in
order to send both message + optional "extra data" with a single syscall.
2019-05-10 03:19:25 +02:00
Andreas Kling
e6443649cb GFilePicker: Add a "new directory" button. 2019-05-09 18:45:33 +02:00
Andreas Kling
7c6784f50c GFilePicker: More work on the file picker, adding a location textbox. 2019-05-09 16:47:45 +02:00
Andreas Kling
e569ef6412 GFilePicker: Add a button for moving up to parent directory. 2019-05-09 15:51:57 +02:00
Andreas Kling
fa232ac180 LibGUI: Remove GModel activations to GAbstractView.
Now you can hook activation via GAbstractView::on_activation.
The design still isn't quite right, we should eventually move the selection
away from the model somehow.
2019-05-09 04:56:52 +02:00
Andreas Kling
bffaa5ece6 GLayout: Add a simple spacer concept; dummy item that expands-to-fit.
A spacer can be inserted anywhere in a layout and will simply expand to fill
the available space. This is useful for pushing widgets into place. :^)
2019-05-09 03:06:20 +02:00
Andreas Kling
bd5c79aff2 LibGUI: Start working on a file picker dialog (GFilePicker).
Have LibGUI adopt GDirectoryModel from FileManager since it fits perfectly
for the needs of a file picker.
2019-05-09 01:24:37 +02:00
Andreas Kling
d4ac9e9a8a FileManager: When mkdir() fails, show the path we passed in the message. 2019-05-08 22:41:19 +02:00
Andreas Kling
364769c11c LibGUI: Add some missing class_name() overrides to GDialog and subclasses. 2019-05-08 22:10:00 +02:00
Andreas Kling
de98b2770b GMessageBox: Add icons to message boxes with 3 standard ones to choose from. 2019-05-08 20:13:39 +02:00
Andreas Kling
b5b44a29bb Replace various copies of parse_uint(String) with String::to_uint(). 2019-05-08 19:21:51 +02:00
GuillaumeGas
cea631d90c Added killall command (#30)
* Added killall command

* Fixed feedbacks of awesomekling
2019-05-08 18:52:37 +02:00
Andreas Kling
81a280da87 Toolchain: Make sure everything ends up in the right place in Root/ 2019-05-08 15:50:24 +02:00
Andreas Kling
758e926b99 GGroupBox: Rename "name" property to "title" 2019-05-08 14:32:46 +02:00
Andreas Kling
3ae9fc5d88 Move VisualBuilder into a new DevTools directory. 2019-05-08 13:53:34 +02:00
Andreas Kling
6b40b081b2 GTextEditor: Add a readonly mode. 2019-05-08 05:00:28 +02:00
Andreas Kling
5d707745b6 VisualBuilder: Add a simple mechanism to write a form out to disk. 2019-05-08 04:39:42 +02:00
Andreas Kling
7ce3b10568 CIODevice: Add some basic output facilities: write() and printf().
Being able to do file.printf() is extremely comfy, I have to say. :^)
2019-05-08 04:38:41 +02:00
Andreas Kling
b719bf7fde GEventLoop: Calm down with the Vector inline capacity for messages.
Using nested event loops like this would cause the stack to grow huge.
2019-05-08 03:35:05 +02:00
Andreas Kling
b227b57508 GWindow: Mirror the correct number of pixels to newly created back bitmaps. 2019-05-08 03:34:36 +02:00
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