1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 18:17:34 +00:00
Commit graph

329 commits

Author SHA1 Message Date
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
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
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
Andreas Kling
3ae9fc5d88 Move VisualBuilder into a new DevTools directory. 2019-05-08 13:53:34 +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
5e733d47a3 VisualBuilder: Add a way to dump the current form to the debugger. 2019-05-07 23:28:35 +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
922391e772 ProcessManager: Tweak default column widths. 2019-05-07 16:07:07 +02:00
Andreas Kling
b04f08ba48 Shell: Support home/end keys for line editing. 2019-05-07 05:03:21 +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
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
3bdb95e128 ProcessManager+LibGUI: Tweak things to improve ProcessManager look. 2019-05-05 20:53:04 +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
6a5d92f0ad WindowServer+LibGUI: Allow changing whether windows have alpha channels.
Use this in Terminal to tell the window server to not bother with the alpha
channel in the backing store if we're running without transparency.
Semi-transparent terminals look neat but they slow everything down, so this
keeps things fast while making it easy to switch to the flashy mode. :^)
2019-05-03 21:07:16 +02:00
Andreas Kling
f95ba881f0 VisualBuilder: Tweak form grid color. 2019-04-30 17:01:59 +02:00
Andreas Kling
86aad50818 VisualBuilder: Add GSlider to the widgets toolbox. 2019-04-30 16:18:05 +02:00
Andreas Kling
a274196bd7 Terminal: <esc>[m should clear the current attribute.
This was causing GCC error messages to appear in all-red text.
2019-04-30 01:23:20 +02:00
Andreas Kling
0ae475ff5b Terminal: Add ability to adjust the terminal's opacity. 2019-04-29 19:24:18 +02:00
Andreas Kling
f254a84d17 Launcher: Add icons for VisualBuilder and IRCClient. 2019-04-29 04:07:36 +02:00
Andreas Kling
8f81a3f9dd LibGUI+WindowServer: Make it possible to have checkable GActions.
They show up as checkable GButtons in GToolBar, and with (or without) check
marks in menus.

There are a bunch of places to make use of this. This patch only takes
advantage of it in the FileManager for the view type actions.
2019-04-26 21:09:56 +02:00
Andreas Kling
71770e000b GTextEditor: Add very basic automatic indentation.
This is off by default, but enabled by TextEditor. It simply inserts the
same number of leading spaces as the previous line when hitting Enter. :^)
2019-04-25 22:56:09 +02:00
Andreas Kling
4bea3a4aa6 GTextEditor: Turn off the ruler by default.
You're usually not gonna want the ruler. TextEditor can enable it manually.
2019-04-24 23:06:44 +02:00
Andreas Kling
16cbfd3f4e Taskbar: Clicking a window button now toggles minimized state. 2019-04-24 02:48:02 +02:00
Andreas Kling
f7a23f3668 Taskbar: Forgot to add WindowIdentifier.h. 2019-04-24 02:20:38 +02:00
Andreas Kling
956bd23aae WindowServer+TaskBar: Add a taskbar window button popup menu.
This patch only hooks up the minimize and unminimize actions.
2019-04-23 23:14:14 +02:00
Andreas Kling
38e1e205a5 FileManager: Add a window icon. 2019-04-23 20:42:47 +02:00
Andreas Kling
58240fdb33 Do a pass of compiler warning fixes.
This is really making me question not using 64-bit integers more.
2019-04-23 13:00:53 +02:00
Andreas Kling
57da00b731 Include Makefile.common in all other Makefiles. 2019-04-21 04:09:39 +02:00
Andreas Kling
180de7e8c5 ProcessManager: Exclude colonel process from process listing. 2019-04-20 19:41:57 +02:00
Andreas Kling
ec365b82d5 Kernel: Make the colonel run at "Idle" priority (the lowest possible.)
This means it won't hog the CPU for more than a single timeslice. :^)
2019-04-20 15:58:45 +02:00
Andreas Kling
49e7ffc06a WindowServer: Introduce a WM event mask so Taskbar can ignore window rects.
Taskbar was waking up to do nothing every time a window rect changed.
2019-04-20 14:40:59 +02:00
Andreas Kling
ab94a6be00 AK: Add String::copy(BufferType) helper.
This will create a String from any BufferType that has data() and size().
2019-04-20 14:13:40 +02:00
Andreas Kling
5eedb22834 Sprinkle use of AK::Vector in various places.
Some of these are less helpful than others. Avoiding a bunch of mallocs
in the event loop wakeup code is definitely nice.
2019-04-20 14:02:19 +02:00
Andreas Kling
301a269ca0 Get rid of SERENITY macro since the compiler already defines __serenity__
This makes it a bit easier to use AK templates out-of-tree.
2019-04-20 12:58:49 +02:00
Andreas Kling
54af44e354 VisualBuilder: Expose some more widget properties. 2019-04-19 23:48:19 +02:00
Andreas Kling
986f5806d7 VisualBuilder: Emit on_widget_selected() when appropriate.
This allows the properties window to stay in sync with what's happening.
For multi-widget selections, we don't show any properties.
2019-04-19 23:09:38 +02:00
Andreas Kling
b64408a564 VisualBuilder: Make widget deletion work properly. 2019-04-19 22:52:13 +02:00
Andreas Kling
440700b4cb VisualBuilder: Multiple-widget selection support.
This is pretty damn nice, now I can move and resize entire groups of widgets
together. Diagonal group resizing feels a bit strange but I wasn't expecting
it not to. :^)
2019-04-19 22:46:16 +02:00
Andreas Kling
b3f657a1c6 VisualBuilder: Expose GGroupBox name property. 2019-04-19 01:40:25 +02:00
Andreas Kling
62d347d12a VisualBuilder: Remove the separate property editor box in favor of inline.
Also make the property names show up in bold text. :^)
2019-04-19 01:16:57 +02:00
Andreas Kling
3a33b8ea08 VisualBuilder: Hook up everything needed for widget property editing.
It's now possible to edit widget properties inline in the properties window.
We're currently relying on the basic GVariant conversion functions to do
all the "parsing" but that's not gonna be good enough.
2019-04-19 01:05:59 +02:00
Andreas Kling
0e6b273620 LibGUI: Start working on GTableView inline editing.
This is pretty shaky still, but the basic idea is that you subclass GModel
and return true for editable indices. The table view also needs to have its
editable flag set.
2019-04-18 22:27:14 +02:00
Andreas Kling
ae3ec3fc37 LibGUI: Give GTextEditor a context menu.
Now GTextEditor manages its own editing actions (cut/copy/paste/etc) and
will show a context menu containing them when requested.

Apps that want to put a GTextEditor's actions in its menu can get to the
actions via public getters. :^)
2019-04-18 12:28:29 +02:00
Andreas Kling
67d7fc94fc ProcessManager: Do a little less malloc() in the /proc/memstats parsing. 2019-04-18 04:48:53 +02:00
Andreas Kling
ac19fabaaf ProcessManager: Use a single timer for refreshing the view.
Also add a menu for changing the update frequency to some nice values.
2019-04-18 04:38:31 +02:00
Andreas Kling
a747a10eab LibGUI: Refactor context menus to be event-driven instead of declarative.
The declarative approach had way too many limitations. This patch adds a
context menu event that can be hooked to prepare a custom context menu on
demand just-in-time. :^)
2019-04-18 04:12:27 +02:00