Commit graph

1993 commits

Author SHA1 Message Date
Andreas Kling
b77f9a5042 VisualBuilder: Pressing the Tab key when there are no widgets is a no-op. 2019-04-16 23:19:19 +02:00
Andreas Kling
428cae7864 VisualBuilder: Pressing the Tab key when there are no widgets is a no-op. 2019-04-16 23:17:14 +02:00
Andreas Kling
ef8c613737 VisualBuilder: Share code for setting the selected widget.
This fixes an issue where the properties window didn't update when selecting
a new widget using the keyboard shortcuts. :^)
2019-04-16 23:11:35 +02:00
Andreas Kling
f7157520eb VisualBuilder: Add some keyboard navigation support.
Allow selecting widgets using the Tab key, and moving them around
using the arrow keys. :^)
2019-04-16 23:01:37 +02:00
Andreas Kling
ac324f14b8 GWidget: Add move_by() and make set_relative_rect() invalidate parent. 2019-04-16 22:59:27 +02:00
Andreas Kling
486ed41fd2 WindowServer: Tweak window icon placement. 2019-04-16 22:37:46 +02:00
Andreas Kling
8251f97858 Terminal: Add a window icon. 2019-04-16 17:55:39 +02:00
Andreas Kling
29abfc8623 ProcessManager: Add a window icon. 2019-04-16 17:55:27 +02:00
Andreas Kling
86361d3d45 WindowServer: Improve the look of menus.
This patch makes menus stand out a bit more from their background by using
the same kind of shading that Windows 2000 had.
2019-04-16 17:02:26 +02:00
Andreas Kling
311019d8ee WindowServer: Don't waste time pre-filling windows with background color.
There's a subsequent pass that fills whatever the backing store didn't
cover anyway, just a few lines later. This was all wasted work.
2019-04-16 15:10:57 +02:00
Andreas Kling
f61549ca5f Make better use of geometry class helpers in some places. 2019-04-16 13:58:02 +02:00
Andreas Kling
952f334de7 GWidget: Tidy up the hit-testing code somewhat. 2019-04-16 13:25:00 +02:00
Andreas Kling
c812d63ea6 GWidget: Remove unnecessary extra parent lookup in move_to_{back,front}(). 2019-04-16 04:01:14 +02:00
Andreas Kling
52e846df87 VisualBuilder: Make it possible to move widgets to front/back. 2019-04-16 03:52:26 +02:00
Andreas Kling
04500c1ae2 GWidget: Add some new child z-ordering facilities.
- child_at(Point)
- move_to_front()
- move_to_back()
- is_frontmost()
- is_backmost()

This patch also makes it possible to receive the mouse event that triggers
a context menu before the context menu is shown. I'm not sure this is the
best design for context menus but it works for now.
2019-04-16 03:47:55 +02:00
Andreas Kling
d31b47b371 AK: Add Vector::prepend(). 2019-04-16 03:47:24 +02:00
Andreas Kling
73c70e5d2e GTableView: Remove the old-style focus rect. 2019-04-16 03:04:14 +02:00
Andreas Kling
33920df299 AK: Try to use StringViews more for substrings and splitting. 2019-04-16 02:39:16 +02:00
Andreas Kling
a082738f04 SharedGraphics: Move PainterStateSaver out of line. 2019-04-16 01:01:03 +02:00
Andreas Kling
b5759089d8 LibCore: Add CIODevice::seek(). 2019-04-16 00:51:05 +02:00
Andreas Kling
1debc0a78c Kernel: Reduce kmallocing in all_processes() and all_pids(). 2019-04-16 00:37:35 +02:00
Andreas Kling
2533e0b57b Kernel: Reduce kmallocing in /proc/all and /proc/memstat. 2019-04-16 00:36:17 +02:00
Andreas Kling
88f03f86ff Kernel: Have TTY subclasses cache their tty_name/pts_name. 2019-04-16 00:35:02 +02:00
Andreas Kling
d384c7815f Kernel: Make it possible to have kmalloc() dump call stacks.
This can be enabled at any time using a sysctl:

    sysctl kmalloc_stacks=1

The stacks will go to the debugger output only.
2019-04-15 23:58:48 +02:00
Andreas Kling
bc6ac1c2f2 WindowServer: Let the CPU monitor keep /proc/all open between refreshes.
Just seek to the beginning on every iteration and start over. This avoids
a bunch of syscalls.
2019-04-15 23:57:31 +02:00
Andreas Kling
30b0e5f82e AK: Make StringBuilder::appendf() pre-allocate the format string length. 2019-04-15 23:56:35 +02:00
Andreas Kling
fa89446cb6 Kernel: Make symbolication callable from kmalloc().
It wasn't possible to symbolicate from kmalloc(), since symbolication would
call kmalloc(). :^)
2019-04-15 23:50:25 +02:00
Andreas Kling
ae0dc22716 Kernel: Make validate_read_from_kernel() return early for nullptr checks.
Null pointers are always invalid, so don't bother going through all the
various checks for them.
2019-04-15 23:48:31 +02:00
Andreas Kling
9eab8734fe PNGLoader: Disable debug spam. 2019-04-15 23:47:42 +02:00
Andreas Kling
e9c0f4567d Kernel+ProcessManager: Expose the number of kmalloc/kfree calls.
This will be very helpful in tracking down unwanted kmalloc traffic. :^)
2019-04-15 19:43:12 +02:00
Andreas Kling
13041f894f Kernel: Start using StringView in the VFS class.
The less kmalloc() we can do, the better. Calling kmalloc() disables all
interrupts while it runs, so it's directly affecting responsiveness.
2019-04-15 14:57:27 +02:00
Andreas Kling
461aa550eb AK: Add a StringView class. 2019-04-15 14:56:37 +02:00
Andreas Kling
7972303405 Meta: Oops, screwed up one of the links. 2019-04-15 14:17:44 +02:00
Andreas Kling
d4211ede31 Meta: Update ReadMe with license and links. 2019-04-15 14:16:45 +02:00
Andreas Kling
ddcaf02a57
Let's go with a 2-clause BSD license. 2019-04-15 14:04:23 +02:00
Andreas Kling
87c4d2bc92 Userland: Add a /bin/basename program. 2019-04-15 13:57:09 +02:00
Andreas Kling
024057b39a Userland: Make sync.sh copy all executables from ../Userland 2019-04-15 13:53:27 +02:00
Andreas Kling
c8e601a5d5 Minesweeper: Add little icons to the flags and timer labels. 2019-04-15 03:12:28 +02:00
Andreas Kling
791e8f5bb0 Minesweeper: Paint a grid pattern below the mines. 2019-04-15 02:45:04 +02:00
Andreas Kling
bc5148354f LibCore: Add a CConfigFile class, a simple INI file parser.
You open the configuration for an app like so:

    auto config = CConfigFile::get_for_app("MyApp");

This will then open ~/MyApp.ini and parse it for you.
Immediately start using it in Minesweeper to load the field size and mine
count from a config file.
2019-04-15 02:23:20 +02:00
Nicolas Van Bossuyt
37c27e2e39 Userspace: gitignore binaries 2019-04-15 00:35:37 +02:00
Andreas Kling
1503834c3b Minesweeper: Add flag counter and game timer. 2019-04-14 21:01:52 +02:00
Andreas Kling
adc91d92a3 Userland: Oops, that merge broke the build, just needed a few tweaks. :^) 2019-04-14 20:32:44 +02:00
Andreas Kling
16ef7517c4
Merge pull request #6 from NicolasVanBossuyt/patch-1
Userland: Making the makefile smarter.
2019-04-14 20:16:07 +02:00
Nicolas Van Bossuyt
40e710da3d
Userland: Maybe find is overkill 2019-04-14 20:15:29 +02:00
Nicolas Van Bossuyt
dfeeaff237
Userland: making the makefile smarter 2019-04-14 19:58:25 +02:00
Andreas Kling
1e0e5b492b
Merge pull request #5 from NicolasVanBossuyt/patch-1
Uptime: making the ouput prettier
2019-04-14 19:28:43 +02:00
VAN BOSSUYT Nicolas
12f2d1f2e8 Uptime: making the ouput prettier
Just like the -p option on linux
2019-04-14 19:10:24 +02:00
Andreas Kling
c0fe48635b Kernel: Add /proc/uptime file (number of seconds since boot.)
Also added a simple /bin/uptime to pretty-print this information. :^)
2019-04-14 15:19:45 +02:00
Andreas Kling
0e30f4e412 Minesweeper: Flood fill should include the first numbered found. 2019-04-14 05:53:13 +02:00