Skip to content

Conversation

spoonmilk
Copy link
Member

This PR introduces the TableViewBase class for common functionality we'd like in QTableViews in Binary Ninja.
In all tables using TableViewBase,

  1. Columns can be rearranged and their positions are saved on rearrangement
  2. Columns can be resized
  3. Default column layouts/widths are saved in their own QSettings path
  4. Columns can be reset to their default layout/width with a context menu when right-clicking the header.

The reason I chose to safe defaults to a separate path is that many of our TableViews have manually set widths that we don't want to stomp on.

I've also base classed multiple tables (strings view, memory map, searches, tag types) where it is relatively easy. Since some of our tables are a bit more involved (or are actually QTreeViews), some others will require more effort.

Fixes #7248 but unifies behavior.

@spoonmilk spoonmilk added this to the Io milestone Aug 28, 2025
@spoonmilk spoonmilk added Component: UI Issue needs changes to the user interface Component: API Issue needs changes to the API labels Aug 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Component: API Issue needs changes to the API Component: UI Issue needs changes to the user interface
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow reordering columns in strings tab
1 participant