Commit graph

1267 commits

Author SHA1 Message Date
Andreas Kling
5f4245789d FileManager: Allow launching processes by activating an executable file. 2019-03-01 14:57:42 +01:00
Andreas Kling
1ab995bfff FileManager: Keep the window title in sync with the current path. 2019-03-01 14:34:53 +01:00
Andreas Kling
574a399347 LibGUI: GTableView should scroll items into view when keyboard navigating. 2019-03-01 14:29:34 +01:00
Andreas Kling
ac8fb5da4c FileManager: Port to GTableModel/GTableView.
Replace the custom DirectoryView widget with a GTableView subclass.
This was pleasantly straightforward and it's so cool seeing the huge
increase in app quality from GTableView. :^)
2019-03-01 13:55:48 +01:00
Andreas Kling
b5dcad932e LibGUI: Allow basic keyboard navigation in GTableView.
Pressing Enter will now "activate" the selected index, meaning that
the model gets a call to activate(GModelIndex).
2019-03-01 13:48:08 +01:00
Andreas Kling
e1d0a3f226 LibGUI: Let GTableModel handle the selection instead of doing it virtually.
It's silly to force every subclass models to deal with selection.
2019-03-01 13:03:13 +01:00
Andreas Kling
9c21874d33 LibGUI: GTableView scrolling ranges should be based on the available area.
We have to subtract the headers and scrollbars to get the correct behavior.
2019-03-01 11:04:55 +01:00
Andreas Kling
6c2089c59d Put miscellaneous debug spam behind #ifdefs. 2019-03-01 10:51:58 +01:00
Andreas Kling
1b16a29044 Kernel+Userland: Implement fchmod() syscall and use it to improve /bin/cp.
/bin/cp will now copy the permission bits from source to destination. :^)
2019-03-01 10:39:19 +01:00
Andreas Kling
b5e5f26a82 Base: Add Csilla Bold 7x10 variant.
It's nice to have a thin and a bold variant to complement each other.
2019-03-01 02:50:50 +01:00
Andreas Kling
0776c51bf5 Base: Import a new font, Csilla Thin (7x10).
I wanted to do a bitmap font with an odd number of columns for a while
and I finally got around to it. This really looks rather nice, so I'm
making it the default system font for now. :^)
2019-03-01 01:52:20 +01:00
Andreas Kling
e6625755c9 ProcessManager: Tweak icons. 2019-02-28 22:35:58 +01:00
Andreas Kling
567a403683 LibGUI: Tweak GStatusBar margins. 2019-02-28 22:33:39 +01:00
Andreas Kling
7ee4e79cd6 Kernel: Oops, fix Vector assertion in FS::Sync. 2019-02-28 22:33:00 +01:00
Andreas Kling
6b581aff77 Kernel: Make a copy of the dirty inode list before iterating in sync(). 2019-02-28 21:51:59 +01:00
Andreas Kling
bff5b71467 LibGUI: Add a GModelNotification class that views will receive.
I don't want to use GEvent here since these need to be synchronous
and mixing sync and async GEvents would be stupid.
2019-02-28 21:30:17 +01:00
Andreas Kling
322f49caec ProcessManager: Use icons for the process priorities. 2019-02-28 21:04:26 +01:00
Andreas Kling
b132150799 LibGUI: Support bitmaps in GTableView cells.
Use this to add an icon for each process in the ProcessManager.
Right now they all use a generic gear icon, but I'd like to have
per-process icons, obviously. :^)
2019-02-28 20:16:10 +01:00
Andreas Kling
3fe7ddadaf LibGUI: Clip to paint event rect in most widgets. 2019-02-28 19:34:55 +01:00
Andreas Kling
737a4d2377 LibGUI: Both GToolBar and GStatusBar should have highlight/shadow. 2019-02-28 19:31:37 +01:00
Andreas Kling
c5d88ff0d8 LibGUI: Top line on GStatusBar should be a highlight, not a shadow. 2019-02-28 19:17:08 +01:00
Andreas Kling
fd428d6ed3 SharedGraphics: Make Painter clipping work with translated clip origin. 2019-02-28 18:57:36 +01:00
Andreas Kling
8eefdbdce8 LibGUI: Add horizontal scrollbar to GTableView.
Now we can scroll content in both directions if it won't fit in the view.
2019-02-28 17:58:53 +01:00
Andreas Kling
2f266ef649 ProcessManager: Don't show the colonel task. :^) 2019-02-28 16:49:02 +01:00
Andreas Kling
28652a0bf7 LibGUI: GTableView was accidentally obscuring the last row. 2019-02-28 16:42:18 +01:00
Andreas Kling
75fabef57b LibGUI: Add GVariant class and use it for table model data. 2019-02-28 16:20:29 +01:00
Andreas Kling
c1f5f2694b ProcessManager: Add process owner's username to table view. 2019-02-28 14:12:53 +01:00
Andreas Kling
62b4f39cd4 LibGUI: GTableView should clear the selection if clicking outside items. 2019-02-28 14:05:02 +01:00
Andreas Kling
6af2ce0f7e LibGUI: Re-enable the update rect coalescing. 2019-02-28 13:58:04 +01:00
Andreas Kling
7eb42b5ffb LibGUI: GTableView paints itself completely, no need for auto filling. 2019-02-28 13:57:41 +01:00
Andreas Kling
827ec99a8f LibGUI: Update GTableView's scrollbar range in response to resize. 2019-02-28 13:25:52 +01:00
Andreas Kling
82c22a7484 ProcessManager: Add "continue" action that sends SIGCONT. 2019-02-28 13:02:55 +01:00
Andreas Kling
e427b514dc Kernel: Implement basic SIGSTOP and SIGCONT support. 2019-02-28 12:27:26 +01:00
Andreas Kling
c5a32d139a ProcessManager: Add a "stop" action that sends SIGSTOP to a process. 2019-02-28 12:06:19 +01:00
Andreas Kling
c09ab7cc40 Kernel: Only allow sending signals to process you own. 2019-02-28 11:46:38 +01:00
Andreas Kling
05f9257621 WindowServer: Add "Open ProcessManager..." to system menu.
This will no doubt come in handy. :^)
2019-02-28 11:36:50 +01:00
Andreas Kling
8a0d77f576 ProcessManager: Bump the initial window size to "pretty big" 2019-02-28 11:32:50 +01:00
Andreas Kling
fd280a6a03 LibGUI: Pad GTableView cells on the right side as well. 2019-02-28 11:31:07 +01:00
Andreas Kling
b4c20789fb LibGUI: Allow specifying per-column text alignment. 2019-02-28 11:27:04 +01:00
Andreas Kling
ce7019f38c ProcessManager: Add some more per-process columns. 2019-02-28 11:16:27 +01:00
Andreas Kling
40c8dd80d1 LibGUI: Draw separators between GTableView column headers. 2019-02-28 11:04:03 +01:00
Andreas Kling
dc9f8a9361 LibGUI: Take ProcessManager's process view and turn it into GTableView.
Make it sufficiently generic that it can be reused for any table data. :^)
2019-02-28 10:57:09 +01:00
Andreas Kling
b3ae1163ef ProcessManager: Use a scrollbar-adjusted position for hit testing. 2019-02-28 10:27:29 +01:00
Andreas Kling
c49ceb5a1f ProcessManager: Make the process table view scrollable while header stays. 2019-02-28 10:24:04 +01:00
Andreas Kling
6e571b66f1 ProcessManager: Move ProcessTableModel class to its own files. 2019-02-28 10:20:04 +01:00
Andreas Kling
a202ed88f6 ProcessManager: Show per-process CPU usage percentage. 2019-02-28 10:09:43 +01:00
Andreas Kling
c1fc2b0534 Ignore .data files in Base/res/icons/.
These are just temporaries that I sometimes spill when converting icons.
2019-02-28 09:57:12 +01:00
Andreas Kling
258f4671ea Kernel: kill() syscall should support sending a signal to yourself. 2019-02-28 09:44:48 +01:00
Andreas Kling
166aadc4e1 ProcessManager: Start working on a graphical process manager.
I need a table view widget for this thing, so I'm also using this to
prototype a model/view thingy.
2019-02-28 01:43:50 +01:00
Andreas Kling
dda9b9ab1b Userland: Add a simple /bin/stat program. 2019-02-27 21:45:06 +01:00