summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-03-27AK: printf() should support %#x and %#o.Andreas Kling
2019-03-26LibC: fread() should return the number of elements (not bytes) read.Andreas Kling
2019-03-25Base: Tweak 16x16 "open" icon.Andreas Kling
2019-03-25Base: Add 32x32 versions of filetype-socket and filetype-symlink.Andreas Kling
2019-03-25LibGUI: Add GIcon::default_icon(name).Andreas Kling
This is a convenience helper to instantiate a GIcon like so: auto icon = GIcon::default_icon("filetype-image"); This will give you the "filetype-image" icon in both 16x16 and 32x32 sizes.
2019-03-25GItemView: Some improvements to keyboard navigation.Andreas Kling
2019-03-25GTextEditor: Draw a simple border around single-line editors.Andreas Kling
2019-03-25GItemView: Hide the horizontal scrollbar since we never need it.Andreas Kling
This view always relayouts the content to fit the available width, so we don't need a horizontal scrollbar. :^)
2019-03-25LibGUI: Ignore GWidget::update() on invisible widgets.Andreas Kling
2019-03-25GItemView: Add slightly more horizontal padding to the icon labels.Andreas Kling
2019-03-25SharedGraphics: Font::width() shouldn't add spacing to the very last glyph.Andreas Kling
2019-03-25GTextEditor: Shift+Delete should delete the current line.Andreas Kling
2019-03-25GLock: Remove some debug spam.Andreas Kling
2019-03-25LibGUI+Kernel: Add a GLock class (userspace mutex.)Andreas Kling
It's basically a userspace port of the kernel's Lock class. Added gettid() and donate() syscalls to support the timeslice donation feature we already enjoyed in the kernel.
2019-03-25GScrollBar: Clicking in the gutter should jump directly to that position.Andreas Kling
I think I like how this feels but I'm not 100% sure yet, so I'm leaving the old feel in behind an #ifdef.
2019-03-25FileManager+LibGUI: Show thumbnail generation progress in the statusbar.Andreas Kling
2019-03-25GBoxLayout: Don't subtract margins from the available space twice.Andreas Kling
2019-03-25AK: HashMap::set() didn't save new values for existing keys.Andreas Kling
2019-03-25FileManager: Don't use 32x32 thumbnails for the table view.Andreas Kling
2019-03-25Kernel: Do timekeeping manually instead of asking the RTC all the time.Andreas Kling
This introduces a tiny amount of timer drift which I will have to fix somehow eventually, but it's a huge improvement in timing consistency as we no longer suddenly jump from e.g 10:45:49.123 to 10:45:50.000.
2019-03-25LibGUI: Add GWidget::doubleclick_event().Andreas Kling
Now double-clicking an item in a GTableView or GItemView will activate it.
2019-03-25FileManager: Add toolbar buttons for switching the view mode.Andreas Kling
2019-03-24WindowServer+LibGUI: Implement automatic cursor tracking.Andreas Kling
When a mouse button is pressed inside a window, put that window into an automatic mouse tracking state where all mouse events are sent to that window until all mouse buttons are released. This might feel even better if it only cared about the mouse buttons you actually pressed while *inside* the windows to get released, I don't know. I'll have to use it for a while and see how it's like.
2019-03-24WindowServer: Moving a window to front should always activate it.Andreas Kling
So instead of having move_to_front() + set_active_window(), let's have move_to_front_and_make_active().
2019-03-24WindowServer: Factor out ongoing drag/resize from process_mouse_event().Andreas Kling
The mouse event processing code is getting unwieldy. Break out two huge chunks into separate functions so the code becomes easier to work with.
2019-03-24FileManager: Don't show "." and ".." in directory views.Andreas Kling
2019-03-24WindowServer: Reduce debug spam.Andreas Kling
2019-03-24LibGUI+FileManager: Add a GIcon class to support multi-size icons.Andreas Kling
A GIcon can contain any number of bitmaps internally, and will give you the best fitting icon when you call bitmap_for_size().
2019-03-24QuickShow: Fill the window with white if the opened image has alpha.Andreas Kling
2019-03-24FileManager: Add a very naive thumbnail generation thread.Andreas Kling
This is pretty rickety since we don't have any synchronization primitives.
2019-03-24Kernel: Don't hang the system on unrecoverable page fault.Andreas Kling
I needed this while debugging threads and now they basically work pretty well so we can remove this. :^)
2019-03-24Kernel: Make block() and yield() automatically call Scheduler::yield().Andreas Kling
This exposed some places we were accidentally doing a double yield().
2019-03-24Kernel: Fix broken destruction order for Process/Thread.Andreas Kling
2019-03-24AK: Uh, okay, it seems like we need those 64-bit division helpers after all.Andreas Kling
2019-03-24AK: Don't compile the 64-bit division helpers in userland builds.Andreas Kling
2019-03-24LibC: Add ftruncate() stub.Andreas Kling
2019-03-24SharedGraphics: Oops, I was compiling puff() in SLOW mode for testing.Andreas Kling
2019-03-23Kernel: Add a Thread::all_threads() helper.Andreas Kling
2019-03-23Kernel+LibC: Add a simple create_thread() syscall.Andreas Kling
It takes two parameters, a function pointer for the entry function, and a void* argument to be passed to that function on the new thread.
2019-03-23IRCClient: Exit the main loop when closing the app window.Andreas Kling
2019-03-23Kernel: Set the colonel task to low priority.Andreas Kling
This gives it a smaller time slice, improving responsiveness.
2019-03-23Kernel: Don't add the colonel process' main thread to g_threads.Andreas Kling
This was causing the colonel to get scheduled when he wasn't needed.
2019-03-23Kernel: Introduce threads, and refactor everything in support of it.Andreas Kling
The scheduler now operates on threads, rather than on processes. Each process has a main thread, and can have any number of additional threads. The process exits when the main thread exits. This patch doesn't actually spawn any additional threads, it merely does all the plumbing needed to make it possible. :^)
2019-03-23Base: Import some 32x32 icons.Andreas Kling
2019-03-23FileManager: Add basic thumbnailing of PNG images.Andreas Kling
These use nearest neighbor and are computed synchronously on directory load so it's neither fast nor very beautiful. These issues both need work on other parts of the system to fix.
2019-03-23GItemView: Implement up/down/left/right keyboard navigation.Andreas Kling
2019-03-23FileManager: Make sure the status bar callback is hooked up.Andreas Kling
2019-03-23LibGUI: Add a GItemView class.Andreas Kling
This is a GAbstractView subclass that implements a icon-based view onto a GModel. It still need a bunch of work, but it's in basic usable shape.
2019-03-23LibGUI: Add GAbstractView base class for GTableView.Andreas Kling
This is in preparation for adding a new view class.
2019-03-23LibGUI: Rename GTableModel => GModel.Andreas Kling