Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-04-19 | AK: Add RetainPtr::operator==() overload G++ is whining about. | Andreas Kling | |
2019-04-19 | LibGUI: Remove GListBox since it was not kept up-to-date. | Andreas Kling | |
I'll come back and add a GListView eventually, but this is not good enough. | |||
2019-04-19 | VisualBuilder: Expose GGroupBox name property. | Andreas Kling | |
2019-04-19 | VisualBuilder: Remove the separate property editor box in favor of inline. | Andreas Kling | |
Also make the property names show up in bold text. :^) | |||
2019-04-19 | VisualBuilder: Hook up everything needed for widget property editing. | Andreas Kling | |
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 | LibGUI: Move editing logic from GTableView up to GAbstractView. | Andreas Kling | |
GAbstractView should be able to manage the high-level editing logic, as long as subclasses implement content_rect(GModelIndex) so we know where to put the editing widgets. :^) | |||
2019-04-18 | LibGUI: Move the editing widget along with the content when scrolling. | Andreas Kling | |
2019-04-18 | GWidget: Always update self after a child is removed. | Andreas Kling | |
We could probably tighten the amount of invalidation we do here, but this is definitely more correct than not invalidating at all. | |||
2019-04-18 | LibGUI: GWindow's focused widget should be a WeakPtr. | Andreas Kling | |
This fixes some very obvious use-after-free accesses. | |||
2019-04-18 | LibCore+LibGUI: Make CObject child events synchronous. | Andreas Kling | |
...and then make GWidget layout invalidation lazy. This way we coalesce multiple invalidations into a single relayout and we don't have to worry about child widgets not being fully constructed. | |||
2019-04-18 | LibGUI: Start working on GTableView inline editing. | Andreas Kling | |
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 | LibC: stddbg should be opened with O_CLOEXEC. | Andreas Kling | |
2019-04-18 | AK: MappedFile should open with O_CLOEXEC. | Andreas Kling | |
2019-04-18 | WindowServer: Improve the look of menu separators. | Andreas Kling | |
2019-04-18 | WindowServer: Broadcast window icons to newly joined WM listener clients. | Andreas Kling | |
2019-04-18 | Kernel+LibC: Add a DebugLogDevice that forwards everything to I/O port 0xe9. | Andreas Kling | |
This is then used to implement the userspace dbgprintf() in a far more efficient way than what we had before. :^) | |||
2019-04-18 | CEventLoop: Don't call gettimeofday() at all if there are no timers. | Andreas Kling | |
2019-04-18 | LibGUI: Give GTextEditor a context menu. | Andreas Kling | |
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 | ProcessManager: Do a little less malloc() in the /proc/memstats parsing. | Andreas Kling | |
2019-04-18 | ProcessManager: Use a single timer for refreshing the view. | Andreas Kling | |
Also add a menu for changing the update frequency to some nice values. | |||
2019-04-18 | LibCore: Add CTimer::restart() and make set_interval() take effect soon. | Andreas Kling | |
2019-04-18 | LibGUI: Refactor context menus to be event-driven instead of declarative. | Andreas Kling | |
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 | ProcessManager+WindowServer: Do a little less malloc() in CPU monitor code. | Andreas Kling | |
2019-04-18 | FontEditor: Add a window icon. | Andreas Kling | |
2019-04-18 | WindowServer: Tweak window icon placement again. | Andreas Kling | |
2019-04-18 | LibCore: CIODevice::seek() should reset EOF state. | Andreas Kling | |
2019-04-18 | WindowServer: Make window title bars slightly thicker. :^) | Andreas Kling | |
2019-04-18 | CEventLoop: Consolidate gettimeofday() syscalls. | Andreas Kling | |
2019-04-18 | ProcessManager: Use a CFile for parsing /proc/memstat. | Andreas Kling | |
2019-04-18 | WindowServer: Generate a separate WM event for window icon changes. | Andreas Kling | |
2019-04-18 | WindowServer: Use CFile in the CPU monitor code. | Andreas Kling | |
2019-04-17 | LibC: Bring the C library close enough to newlib to trick GCC. | Andreas Kling | |
Now we can build GCC with --with-newlib, which hopefully cuts down on weird toolchain build issues. | |||
2019-04-17 | Kernel+ProcessManager: Show per-process syscall counts. | Andreas Kling | |
Added a simple syscall counter to the /proc/all contents. :^) | |||
2019-04-17 | Kernel: Scheduler donations need to verify that the beneficiary is valid. | Andreas Kling | |
Add a Thread::is_thread(void*) helper that we can use to check that the incoming donation beneficiary is a valid thread. The O(n) here is a bit sad and we should eventually rethink the process/thread table data structures. | |||
2019-04-17 | Kernel: Lock::unlock_if_locked() should never donate to holder. | Andreas Kling | |
Since we're not interested in taking the lock if it's already held, there's no need to donate the remainder of our time slice to the holder. | |||
2019-04-17 | WindowServer: Mouse switching between system menu and app menu was broken. | Andreas Kling | |
2019-04-16 | VisualBuilder: Pressing the Tab key when there are no widgets is a no-op. | Andreas Kling | |
2019-04-16 | VisualBuilder: Pressing the Tab key when there are no widgets is a no-op. | Andreas Kling | |
2019-04-16 | VisualBuilder: Share code for setting the selected widget. | Andreas Kling | |
This fixes an issue where the properties window didn't update when selecting a new widget using the keyboard shortcuts. :^) | |||
2019-04-16 | VisualBuilder: Add some keyboard navigation support. | Andreas Kling | |
Allow selecting widgets using the Tab key, and moving them around using the arrow keys. :^) | |||
2019-04-16 | GWidget: Add move_by() and make set_relative_rect() invalidate parent. | Andreas Kling | |
2019-04-16 | WindowServer: Tweak window icon placement. | Andreas Kling | |
2019-04-16 | Terminal: Add a window icon. | Andreas Kling | |
2019-04-16 | ProcessManager: Add a window icon. | Andreas Kling | |
2019-04-16 | WindowServer: Improve the look of menus. | Andreas Kling | |
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 | WindowServer: Don't waste time pre-filling windows with background color. | Andreas Kling | |
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 | Make better use of geometry class helpers in some places. | Andreas Kling | |
2019-04-16 | GWidget: Tidy up the hit-testing code somewhat. | Andreas Kling | |
2019-04-16 | GWidget: Remove unnecessary extra parent lookup in move_to_{back,front}(). | Andreas Kling | |
2019-04-16 | VisualBuilder: Make it possible to move widgets to front/back. | Andreas Kling | |