Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-07-04 | Libraries: Create top level directory for libraries. | Andreas Kling | |
Things were getting a little crowded in the project root, so this patch moves the Lib*/ directories into Libraries/. | |||
2019-06-30 | GUI: Use Win2K-like "warm gray" color instead of the older colder gray. | Andreas Kling | |
Someone suggested this a long time ago and I never got around to it. So here we go, here's the warm gray! I have to admit I like it better. :^) | |||
2019-06-30 | GTableView: Support per-index context menus. | Andreas Kling | |
This patch adds an on_context_menu_request hook to GAbstractView which is currently only invoked by GTableView. We also pass along the entire context menu event, so that anyone using the hook can use it for menu placement etc. | |||
2019-06-07 | LibGUI: Run clang-format on everything. | Andreas Kling | |
2019-05-11 | GTableView: Update content size immediately on column show/hide. | Andreas Kling | |
2019-05-11 | GTableView: Don't include hidden columns in content width. | Andreas Kling | |
2019-05-10 | GTableView: Headers were not usable when the view was scrolled. | Andreas Kling | |
2019-05-10 | GTableView: Make it possible to hide/show columns from a context menu. | Andreas Kling | |
Show a context menu when right clicking the headers of a GTableView, and allow the user to hide/show individual columns. | |||
2019-05-09 | LibGUI: Remove GModel activations to GAbstractView. | Andreas Kling | |
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-08 | GTableView: Fix crash on mousemove when no model is assigned. | Andreas Kling | |
2019-05-06 | GTableView: Make column resizing work when view is scrolled horizontally. | Andreas Kling | |
2019-05-05 | GTableView: Fix crash when clicking at random places. | Andreas Kling | |
2019-05-04 | GTableView: Make it possible to resize the columns with the mouse. | Andreas Kling | |
The GModel now merely provides an initial width for the columns. Once that has been queried, the table view manages width from then on. | |||
2019-05-04 | GTableView: Improve look of column headers, and add sort order indicators. | Andreas Kling | |
2019-04-26 | GTableView: Ignore double-clicks that hit the header section. | Andreas Kling | |
2019-04-25 | GTableView: Double-click should only activate/edit valid indices. | Andreas Kling | |
2019-04-20 | GTableView: Tweak appearance of key column with alternating rows. | Andreas Kling | |
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 | 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-16 | GTableView: Remove the old-style focus rect. | Andreas Kling | |
2019-04-11 | GTableView: Handle not having a model a bit more gracefully. | Andreas Kling | |
2019-04-10 | LibGUI: Move frame painting from GFrame to StylePainter. | Andreas Kling | |
This way it can be used by others who might not have a GFrame object. | |||
2019-03-29 | Rename Painter::set_clip_rect() to add_clip_rect(). | Andreas Kling | |
It was confusing to see multiple calls to set_foo() in a row. Since this is an intersecting operation, let's call it add_clip_rect() instead. | |||
2019-03-29 | LibGUI: Expand GModelIndex a bit, adding internal data and model pointers. | Andreas Kling | |
This will be useful for implementing more complicated models. | |||
2019-03-28 | LibGUI: Improve GFrame's look for Container shapes. | Andreas Kling | |
This is now starting to look like a proper container. Very nice :^) | |||
2019-03-28 | LibGUI: Add a GPainter class that inherits from Painter. | Andreas Kling | |
This gets rid of the last little piece of LibGUI knowledge in Painter. | |||
2019-03-28 | LibGUI: Use GFrame to draw the frames around GItemView and GTableView. | Andreas Kling | |
2019-03-27 | Tweak the look of various UI surfaces and buttons. | Andreas Kling | |
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-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-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 | |
2019-03-20 | GTableView: Add ability to hide individual columns at view-level. | Andreas Kling | |
Use this in IRCClient to hide the "sender" column in the server message view since everything in that view comes from the "Server" anyway. | |||
2019-03-20 | LibGUI: Make GTableModel a retainable object. | Andreas Kling | |
It became clear that this class needs to support multiple owners. | |||
2019-03-18 | LibGUI: Add GTableModel::Role::ForegroundColor. | Andreas Kling | |
This makes it possible to specify the text color for each table cell. Use this to make the IRCClient show unread window list items in red. | |||
2019-03-16 | LibGUI: Factor out scrolling logic from GTableView into a GScrollableWidget. | Andreas Kling | |
This then becomes the base class for GTableView. I'd like to share as much code as possible with GTextEditor and any other scrollable widgets. | |||
2019-03-15 | GTableView: Add a way to turn off alternating row colors. | Andreas Kling | |
2019-03-15 | IRCClient+LibGUI: Add an input box so we can send messages to channels. | Andreas Kling | |
Implement this using a GTextEditor with a special single-line mode. This new mode needs some polishing, but it's already very useful. | |||
2019-03-15 | GTableView: Add a way to hide the column headers. | Andreas Kling | |
There are many situations where you would want a table view without headers. | |||
2019-03-10 | LibGUI: Don't fill widgets with background color by defualt. | Andreas Kling | |
2019-03-09 | GTableView: Minor painting cleanup. | Andreas Kling | |
2019-03-09 | LibGUI: Minor tidying. | Andreas Kling | |
2019-03-09 | LibGUI: Use a separate data role for the table model sorting order. | Andreas Kling | |
This allows data to be displayed nicely while sorting happens based on some underlying raw data. :^) | |||
2019-03-09 | GTableView: Allow changing sort options by clicking column headers. | Andreas Kling | |
Also paint the sorted column slightly differently to indicate what's up. | |||
2019-03-06 | LibGUI: GTableModel::data() should take a GModelIndex instead of int,int. | Andreas Kling | |
2019-03-06 | GTableView: Ignore right clicks for now. | Andreas Kling | |
2019-03-04 | GTableView: Tweak focus appearance for selected items. | Andreas Kling | |
2019-03-04 | GTableView: Allow initiating keyboard navigation with no current selection. | Andreas Kling | |