Skip to content

Conversation

@spoonmilk
Copy link
Contributor

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
@plafosse plafosse modified the milestones: Io, Future Oct 20, 2025
@psifertex psifertex merged commit 4e3ef2c into dev Oct 24, 2025
5 checks passed
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

3 participants