Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-03-27 | AK: printf() should support %#x and %#o. | Andreas Kling | |
2019-03-26 | LibC: fread() should return the number of elements (not bytes) read. | Andreas Kling | |
2019-03-25 | Base: Tweak 16x16 "open" icon. | Andreas Kling | |
2019-03-25 | Base: Add 32x32 versions of filetype-socket and filetype-symlink. | Andreas Kling | |
2019-03-25 | LibGUI: 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-25 | GItemView: Some improvements to keyboard navigation. | Andreas Kling | |
2019-03-25 | GTextEditor: Draw a simple border around single-line editors. | Andreas Kling | |
2019-03-25 | GItemView: 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-25 | LibGUI: Ignore GWidget::update() on invisible widgets. | Andreas Kling | |
2019-03-25 | GItemView: Add slightly more horizontal padding to the icon labels. | Andreas Kling | |
2019-03-25 | SharedGraphics: Font::width() shouldn't add spacing to the very last glyph. | Andreas Kling | |
2019-03-25 | GTextEditor: Shift+Delete should delete the current line. | Andreas Kling | |
2019-03-25 | GLock: Remove some debug spam. | Andreas Kling | |
2019-03-25 | LibGUI+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-25 | GScrollBar: 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-25 | FileManager+LibGUI: Show thumbnail generation progress in the statusbar. | Andreas Kling | |
2019-03-25 | GBoxLayout: Don't subtract margins from the available space twice. | Andreas Kling | |
2019-03-25 | AK: HashMap::set() didn't save new values for existing keys. | Andreas Kling | |
2019-03-25 | FileManager: Don't use 32x32 thumbnails for the table view. | Andreas Kling | |
2019-03-25 | Kernel: 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-25 | LibGUI: Add GWidget::doubleclick_event(). | Andreas Kling | |
Now double-clicking an item in a GTableView or GItemView will activate it. | |||
2019-03-25 | FileManager: Add toolbar buttons for switching the view mode. | Andreas Kling | |
2019-03-24 | WindowServer+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-24 | WindowServer: 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-24 | WindowServer: 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-24 | FileManager: Don't show "." and ".." in directory views. | Andreas Kling | |
2019-03-24 | WindowServer: Reduce debug spam. | Andreas Kling | |
2019-03-24 | LibGUI+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-24 | QuickShow: Fill the window with white if the opened image has alpha. | Andreas Kling | |
2019-03-24 | FileManager: Add a very naive thumbnail generation thread. | Andreas Kling | |
This is pretty rickety since we don't have any synchronization primitives. | |||
2019-03-24 | Kernel: 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-24 | Kernel: Make block() and yield() automatically call Scheduler::yield(). | Andreas Kling | |
This exposed some places we were accidentally doing a double yield(). | |||
2019-03-24 | Kernel: Fix broken destruction order for Process/Thread. | Andreas Kling | |
2019-03-24 | AK: Uh, okay, it seems like we need those 64-bit division helpers after all. | Andreas Kling | |
2019-03-24 | AK: Don't compile the 64-bit division helpers in userland builds. | Andreas Kling | |
2019-03-24 | LibC: Add ftruncate() stub. | Andreas Kling | |
2019-03-24 | SharedGraphics: Oops, I was compiling puff() in SLOW mode for testing. | Andreas Kling | |
2019-03-23 | Kernel: Add a Thread::all_threads() helper. | Andreas Kling | |
2019-03-23 | Kernel+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-23 | IRCClient: Exit the main loop when closing the app window. | Andreas Kling | |
2019-03-23 | Kernel: Set the colonel task to low priority. | Andreas Kling | |
This gives it a smaller time slice, improving responsiveness. | |||
2019-03-23 | Kernel: 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-23 | Kernel: 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-23 | Base: Import some 32x32 icons. | Andreas Kling | |
2019-03-23 | FileManager: 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-23 | GItemView: Implement up/down/left/right keyboard navigation. | Andreas Kling | |
2019-03-23 | FileManager: Make sure the status bar callback is hooked up. | Andreas Kling | |
2019-03-23 | LibGUI: 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-23 | LibGUI: Add GAbstractView base class for GTableView. | Andreas Kling | |
This is in preparation for adding a new view class. | |||
2019-03-23 | LibGUI: Rename GTableModel => GModel. | Andreas Kling | |