199 Commits

Author SHA1 Message Date
baldurk a2b437b903 Change Find/Replace dialog to have Find Next/Find Previous buttons
* Enter and shift-enter in the find text go forwarwd and backwards respectively.
* This replaces the previous system of selecting a direction explicitly and only
  ever going in that direction when finding.
2020-02-25 18:19:52 +00:00
baldurk 5e6ec417c1 Add a global font scale option in settings window
* This lets the user override the default application font.
* Unfortunately Qt seems to behave inconsistently with font scaling from the
  system, so we take the font size initially from QApplication::font() (which
  doesn't always pick up the font size) and scale from there. While this might
  cause some font scaling to be lost it does mean at least we have a consistent
  scale, as otherwise you get some text scaling and others not.
2020-02-13 11:01:45 +00:00
baldurk 2916c0f9f7 Update copyright years to 2020 2020-01-06 16:20:45 +00:00
baldurk ff08748238 Ensure all files have trailing new-lines and enforce with clang warning 2019-12-02 20:28:05 +00:00
baldurk f514815e3c Update buffer formatter help text, save its visibility in config 2019-11-29 13:53:45 +00:00
baldurk 5acb6af862 Fix some painting not reacting to different fonts correctly 2019-10-11 13:07:36 +01:00
baldurk 83c98f1ff7 Tweak rich resource text rendering to match non-rich text positioning 2019-10-11 13:07:36 +01:00
baldurk ca9e43fd6e Add hoverItemChanged event to RDTreeWidget 2019-09-30 13:41:14 +01:00
baldurk 0d7c7eb247 Fix linux compilation 2019-08-27 19:44:29 +01:00
baldurk 80bfa1b409 Fix display of ResourceId text in log viewer 2019-08-27 18:51:57 +01:00
baldurk 6203909791 Expose replay options to the UI
* The defaults can be configured from the settings menu, and there's a new "Open
  Capture with Options" menu option to open a capture with different options
  temporarily.
2019-08-27 18:51:56 +01:00
baldurk 039b65f89f Add a viewer of the diagnostic log in the UI itself 2019-06-27 10:22:13 +01:00
baldurk 05f044016b Don't call QObject::connect for a NULL model 2019-05-22 11:33:09 +01:00
baldurk 943a790319 Fix a crash when resizing a header view with all sections hidden 2019-05-22 10:53:52 +01:00
baldurk 775fa9b635 Disconnect item model before deleting RDTreeWidget/RDTreeView
* This avoids odd races where some events might be fired mid-destruction and
  encounter the item model in an undefined state.
2019-05-21 13:58:38 +01:00
baldurk 4311b35038 Tidy up RDTreeView expansion handling 2019-04-05 13:22:33 +01:00
baldurk 3d2fa8cd3e Optimise RichResourceText to special-case for single ResourceId text
* Most cases don't have other text together with a ResourceId, so handle an
  isolated ResourceId specially and manually render it.
* Further work - we could cache the name the same way as the RichResourceText
  does. So far it doesn't seem to appear on profiling.
2019-03-29 17:48:15 +00:00
baldurk 13d35645be When clearing RDTreeWidgetItem don't remove children one-by-one 2019-03-27 17:57:56 +00:00
baldurk 9b15368c37 Remove unused code 2019-03-27 17:57:44 +00:00
baldurk e9e42839c3 Support specifying structs in buffer formatter. Closes #805
* Structs and arrays-of-structs are completely flattened for the purposes of
  displaying them still.
2019-02-14 12:55:44 +00:00
baldurk 86ff87863e Update copyright years to 2019 2019-02-01 18:32:13 +00:00
baldurk f3dda7959e For very large tables, don't fallback to rendering all rows
* lastRow can return -1 in some situations where there's no last row visible,
  but we don't want to render potentially millions of invisible rows.
2019-01-04 16:44:00 +00:00
baldurk 91e80a7756 Remove accidentally committed debug print 2019-01-03 14:26:18 +00:00
baldurk ce88558a7c Refactor RDTreeWidgetDelegate into RichTextViewDelegate that is reusable
* This allows us to add rich text support much more easily into other itemviews
  like RDTableView.
* We set it up for debug messages so that resource links in debug messages can
  be linked.
2018-12-17 17:10:34 +00:00
baldurk 58e2c88e76 Don't custom size horizontal header by default in RDTableView 2018-12-17 17:10:33 +00:00
baldurk ae3fbe2085 Select text in find dialog when opening it e.g. with ctrl-f 2018-12-06 12:50:46 +00:00
baldurk 944e37c47a Adjust colouring for pipeline flow chart, improve contrast. Closes #1141
* On the light theme we use a less dark background colour improving contrast
  with the text.
* On the dark theme the background is still super dark, but we dim the outline
  colour which provides an indication of disabled stages
2018-10-29 17:23:11 +00:00
baldurk 76e2a0f42e On macOS, force a repaint of CustomPaintWidget upon UpdateRequest
* For some reason the actual paint event never makes it through after converting
  to metal-compatible widgets, but painting in response to UpdateRequest (which
  should become a paint really) works about as well.
2018-09-05 10:01:35 +01:00
baldurk a4e125f961 Fix thumbnails being drawn over whole resource preview 2018-09-05 09:58:16 +01:00
baldurk d6706a9c48 Don't allow resource previews to have negative sizes
* This isn't a real bug, it only happens temporarily during first show of a
  window while the geometry is all messed up, but it causes some error spam in
  the log so it's better to fix.
2018-08-14 17:43:14 +01:00
baldurk 9e3147d021 Save treeview expansion state while browsing. Closes #678, Closes #1034
* This is supported currently in the API inspector, constant buffer previewer, and resource inspector.
* The saved expansions are only saved while the capture is open, and will be reset each time.
2018-08-06 16:23:03 +01:00
baldurk 74528c4d15 Allow saving state internally by key as well as externally 2018-08-06 16:23:03 +01:00
baldurk edc5815463 Move expansion saving to RDTreeView so it can be used in more places. 2018-08-06 16:23:02 +01:00
baldurk ec2806df06 Add context menu for manipulating watch panel 2018-06-22 19:28:34 +01:00
baldurk 1761f5ab36 Highlight variables/registers that have changed 2018-06-22 19:28:33 +01:00
baldurk 5b3a12cd0c Save and restore tree expansion state when repopulating locals widget 2018-06-22 19:28:33 +01:00
baldurk cb0df2c844 Combine together structs/arrays in HLSL locals panel 2018-06-22 19:28:33 +01:00
baldurk d9bab79dbc Allow clicking on labels of collapse group boxes to toggle 2018-06-13 09:17:03 +01:00
baldurk 082ab4d75d GUIInvoke takes a QObject* to avoid callbacks after object lifetime
* The GUIInvoke object takes a QObject, and uses QPointer to check that
  it hasn't been deleted when the callback fires. This prevents delayed
  callbacks from executing after the object has been deleted and
  crashing.
* In most cases the pointer is just 'this'.
2018-05-08 11:54:34 +01:00
Jake Turner cae6b44a97 Fix xcode9.3 -Wunused-lambda-capture errors
Disable the warning on 3rdparty files
${glslang_dir}/hlsl/hlslParseHelper.cpp

Disable the warning on files where fixing it would cause a non-OSX compile error
os/os_specific.cpp
2018-04-30 10:53:42 +01:00
baldurk 4a986f44d3 Add a custom collapsing group box control 2018-04-26 13:34:09 +01:00
Baldur Karlsson 1a268ace8b Add async tags for display widget painting
* This prevents widget painting from getting out of control and queuing
  up many redundant paints which slows down processing of the command
  queue.
* Also remove a spammy command to disable pixel context that only ever
  got called when pixel context was already disabled (right after a
  reset - at all other times it stays active).
2018-03-12 15:46:44 +00:00
baldurk 138d3bd040 Fix painter clipping when resizing tree-branch column quite small 2018-02-19 19:37:28 +00:00
baldurk cea77ebd39 Manually propagate clicks on custom tooltip to underlying widget
* Qt::WA_TransparentForMouseEvents is supposed to do this but clearly
  doesn't work as it's supposed to.
2018-02-19 19:37:26 +00:00
baldurk 8691972212 Fix some minor rendering glitches (off by one errors) 2018-02-19 00:52:14 +00:00
baldurk cafa6901bb Implement copy-paste handler for RDTableView 2018-02-19 00:52:13 +00:00
baldurk 96faed6961 Call QHeaderView::initializeSections() to initialise QHeaderView
* Because many of QHeaderView's functions are annoyingly not virtual,
  we need some stub data available in QHeaderView even if it won't be
  used for anything much, like the number of sections.
2018-02-19 00:52:13 +00:00
baldurk cad5520238 Tweak the event browser to support richtext in drawcall names
* This lets Resource ID text become links to the resource inspector even
  in drawcall names (like glBlitFramebuffer(src, dst)).
2018-02-13 21:10:06 +00:00
baldurk 2f41469228 clang compile fix - missing override specifier 2018-02-13 10:08:58 +00:00
baldurk 48fd9bf1ed Fix sizing of stretch columns when one column is hidden 2018-02-12 20:48:06 +00:00