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
Andreas Kling
a3e8fc3d9c
LibCore: Add a convenience constructor for CTimer.
...
new CTimer(250, [] { thing_to_do_every_250_msec(); });
2019-04-14 05:44:15 +02:00
Andreas Kling
2af729a58a
WindowServer: Simplify a few things in WSEventLoop.
2019-04-14 05:37:07 +02:00
Andreas Kling
94a5e08faf
WindowServer: Rename WSMessage* => WSEvent*.
...
Since I'm on a roll here, I'll just rename WSMessageFoo to WSEventFoo now
that these inherit from CEventFoo anyway.
2019-04-14 05:23:37 +02:00
Andreas Kling
de184d0999
WindowServer: Port WindowServer to LibCore.
...
This was pretty straightforward thanks to the work I did separating out
LibCore from LibGUI already. :^)
- WSMessageLoop now inherits from CEventLoop.
- WSMessage now inherits from CEvent.
- WSMessageReceiver goes away.
Now there is only one event loop in Serenity. Very nice!
2019-04-14 05:15:22 +02:00
Andreas Kling
4132f645ee
Kernel: Merge TSS.h into i386.h.
2019-04-14 04:39:56 +02:00
Andreas Kling
c2093ad994
WindowServer: Move the CPU monitor thingy to its own class.
2019-04-14 04:33:43 +02:00
Andreas Kling
f1b58d8d8c
VisualBuilder: Let's have getters and setters for properties.
2019-04-14 04:14:23 +02:00
Andreas Kling
6dc9a6ef42
GWidget: Add direct setters for x, y, width & height.
2019-04-14 04:10:43 +02:00
Andreas Kling
3f6408919f
AK: Improve smart pointer ergonomics a bit.
2019-04-14 02:36:06 +02:00
Andreas Kling
d5dec1922b
WindowServer: Make menu windows inherently modal.
...
It was confusing that you could interact with other windows with a menu up.
2019-04-14 02:16:49 +02:00
Andreas Kling
2dbece54f5
AK: Add WeakPtr::operator T*() for ergonomy.
2019-04-14 02:15:43 +02:00
Andreas Kling
91e1f3ffb1
LibGUI+WindowServer: Add a way to dismiss opened menus from the client.
2019-04-14 01:53:19 +02:00
Andreas Kling
29d0412a06
Kernel: Remove system.h and make the uptime global a qword.
2019-04-14 01:29:14 +02:00
Andreas Kling
c09c114d77
WindowServer+LibGUI: Add ability to set per-window icons.
...
The icons are passed around as filesystem paths for now, since the shared
memory bitmaps only support 2 sides.
2019-04-13 16:59:55 +02:00
Andreas Kling
7a74b76769
GWidget: Silence debug spam about the click clock.
2019-04-13 16:15:47 +02:00
Andreas Kling
28cf9a41fe
Minesweeper: Make it possible to win the game. :^)
2019-04-13 15:51:29 +02:00
Andreas Kling
198a1a6877
Minesweeper: Add some menus.
2019-04-13 14:32:18 +02:00
Andreas Kling
49b63efddb
Minesweeper: Turn the field into a GFrame for that containery look.
2019-04-13 14:22:40 +02:00
Andreas Kling
3f37665492
Minesweeper: Fix wrong adjacency numbers on right and bottom edges.
2019-04-13 14:14:38 +02:00
Andreas Kling
0dbd7b0409
Fix typo in makeall.sh
2019-04-13 13:19:47 +02:00
Andreas Kling
0f4050903d
GVariant: Add to_bool(), to_int() and to_color().
2019-04-13 12:39:20 +02:00
Andreas Kling
4df360be8c
Minesweeper: More implementation work.
2019-04-13 03:57:55 +02:00
Andreas Kling
a90e218c71
Minesweeper: Start working on a simple minesweeper game. :^)
2019-04-13 03:08:16 +02:00
Andreas Kling
c06a3bdeb4
LibGUI+WindowServer: Add support for per-GWidget context menus.
...
You can now simply assign a GMenu as a GWidget's context menu and it will
automagically pop up on right click. :^)
2019-04-12 17:18:13 +02:00
Andreas Kling
8feecf6c77
AK: Fix build.
2019-04-12 16:43:48 +02:00
Andreas Kling
c98bbff0cb
VisualBuilder: Add some widget-specific properties.
2019-04-12 15:17:53 +02:00
Andreas Kling
3674bb9429
GVariant: Tweak stringification of Color, Boolean and Invalid variants.
2019-04-12 14:49:45 +02:00
Andreas Kling
6f90f41516
VisualBuilder: Add some more GWidget default properties.
2019-04-12 14:47:21 +02:00
Andreas Kling
8f4c59c276
GVariant: Don't crash when extracting a null String.
2019-04-12 14:43:44 +02:00
Andreas Kling
054c982181
LibGUI+WindowServer: Add support for enabled/disabled actions.
...
The enabled state of a GAction now propagates both to any toolbar buttons
and any menu items linked to the action. Toolbar buttons are painted in
a grayed out style when disabled. Menu items are gray when disabled. :^)
2019-04-12 02:53:27 +02:00
Andreas Kling
32e5c8c689
GTextEditor: Add on_selection_changed callback.
...
This is probably a bit eager and won't coalesce all updates or even
ignore no-op changes to the selection.
2019-04-12 02:52:34 +02:00
Andreas Kling
09339fa912
StylePainter: Don't paint hover frame around disabled CoolBar buttons.
2019-04-12 02:51:59 +02:00
Andreas Kling
269886fc4e
GWidget: Add "enabled" state for widgets.
...
There's nothing magical that happens for painting, each widget needs to
handle it manually in their painting code.
2019-04-12 02:51:16 +02:00
Andreas Kling
a1015840ff
Color: Add a simple lightened() helper.
2019-04-12 02:50:43 +02:00
Andreas Kling
476c43ab22
Painter: Add alpha-blending support to blit_dimmed().
2019-04-12 02:50:28 +02:00
Andreas Kling
0f5114852a
Kernel: Spawn text editor by default while I work on it.
2019-04-12 00:58:09 +02:00
Andreas Kling
47a2982119
LibCore: Move LibGUI/GTimer to LibCore/CTimer.
2019-04-12 00:09:45 +02:00
Andreas Kling
667e678aa6
LibCore: Prune remaining knowledge about LibGUI.
2019-04-12 00:03:21 +02:00
Andreas Kling
c736dbdf10
VisualBuilder: Add a text box to the properties window.
2019-04-11 23:57:58 +02:00