Commit Graph

26 Commits

Author SHA1 Message Date
baldurk 19cc4fa415 Make sure host (if non-local) shows up in connection window title 2016-09-12 15:36:08 +02:00
baldurk 68cb108995 Only warn about no connection to delete/save for non-local captures 2016-09-05 13:25:26 +02:00
baldurk a35c88e577 Close some minor UX holes when live-connected but without replay context
* If there's no replay context we can still use the live connection to
  copy and delete captures remotely. Try to use that whenever possible
  and warn the user when it's not possible (i.e if the program has been
  closed and there's no replay context, we have no way to access the
  files anymore).
* If the user tries to open a remote log without a replay context,
  prompt them either to swithc to a replay context on that host or to
  save the log locally.
2016-08-30 11:55:36 +02:00
baldurk a875a33f7f Display a prompt if a capture file is about to be lost/leaked
* This can happen if the program is closed, and no remote replay context
  is active. Unlikely locally, the UI cannot natively save or delete
  temporary captures.
2016-08-29 20:28:25 +02:00
baldurk 90beef8f3c Allow live capture windows to stay open if switching ctx to that host 2016-08-29 19:42:48 +02:00
baldurk a6b54e33fd Don't auto-open a solo capture if we're not remote context'd to the host 2016-08-29 19:42:09 +02:00
baldurk db944cc484 Disable live capture buttons when connection is closed 2016-08-29 16:57:00 +02:00
baldurk d63e3b89ad Add support for copying files back from remote server 2016-08-19 17:26:24 +02:00
baldurk 8a5d300e78 Use custom exception for replay creation failures 2016-08-19 17:26:18 +02:00
baldurk 84baa6d752 Partially implemented support for capturing & opening logs in a context 2016-08-19 17:26:12 +02:00
baldurk 481a28dc29 Rename RemoteAccess to TargetControl to better disambiguate RemoteServer 2016-08-19 12:23:19 +02:00
baldurk 610b22f600 Fix a lot of high-contrast inconsistencies or brokenness. Refs #315
* In a couple of places I had to resort to if(IsHighContrast) but mostly
  this is just using system brushes consistently or not assuming black
  text.
* The default DockPanel theme doesn't work well, so make a minimal high-
  contrast theme for it and assign it everywhere.
* The pipeline flow was using fixed colours, use system brushes for the
  different elements and switch based on high-contrast to ensure active
  and inactive stages are visible (using ActiveCaption looks bad on
  normal themes because it's a big block of colour).
* For some reason the flat toolstrip renderer doesn't handle white-on-
  black themes, but the system one does. It's a little clunkier but it
  shows up correctly without writing tons of custom painting code.
* Range histogram uses a properly contrasting colour for the border.
* Treelist views use a better system colour for selected rows when
  inactive and hovered rows (when high contrast).
* Mesh view grids have a system background instead of white
* Various things (pipeline state, mesh viewe) set text colour when
  colourising backgrounds of things instead of assuming black.
2016-08-05 12:46:56 +02:00
baldurk 5a64a78d2a Add multiple-frame capture, grabbing N successive frames to captures
* In-application API is bumped to 1.1.0 as a new function pointer is
  added to the end of the structure.
* This comes with some caveats - capturing a frame is fairly heavy
  weight, so capturing a frame might throw off timing-related bugs you
  are trying to capture in subsequent frames. If you know your bug is
  every other frame though, capturing two can be a quick way to ensure
  you get it.
2016-07-18 18:51:36 +02:00
baldurk 94cf36b991 Add saved logs to recent file list immediately. Refs #197 2016-02-29 19:17:05 +01:00
baldurk bd9768451f Make sure saving logs from connection dialog marks them as saved 2016-02-29 19:16:38 +01:00
baldurk 2e0ffa7813 Batch update copyright years everywhere 2016-02-07 18:50:45 +01:00
baldurk f6527107dc Add try {} catch to handle exceptions thrown from IO operations 2015-07-07 19:06:31 +02:00
baldurk 7a1cc84f41 Keep temporary log around to be able to save multiple times. Closes #130
* Previously if a temporary log was saved once, it would be moved there,
  so the user could in theory delete it and lose the only copy of the
  log.
* Now the temporary log is held until it's closed in the UI, to be able
  to be saved again. If the user saves the log though, this will stop
  any "unsaved log" prompts in the main UI window, so there is nothing
  stopping the user from saving the log, deleting that copy, then
  closing and they'll lose the log without prompt.
2015-04-12 18:37:16 +01:00
baldurk 6b34b5815d Don't kill connection thread if user cancels closing 2014-12-18 18:02:50 +00:00
baldurk f198e71806 [Refs #87: Static Analysis] Remove unused variables 2014-10-05 19:01:27 +01:00
baldurk e749f42876 [Refs #87: Static Analysis] string compare as uppercase or by length 2014-10-05 19:01:25 +01:00
baldurk 49539033c9 Connection dialog now follows child processes launched. Closes #78
* Whenever a child process is hooked, that's passed back up to the UI and
  a list is shown with all the child processes of the one you are connected
  to in the dialog.
* At any point you can double click to create a new dialog latched to that
  process.
* If the process you're attached to closes and has one child, similar to if
  you only have one capture made the dialog will close itself and open a
  new connection to the child process. This is the case for e.g launcher ->
  editor
* This behaviour is overridden if you made a capture, as it assumes you
  then don't care about the child processes and instead want to open the
  capture. You can always do file -> attach later.
* If it has multiple children when the process closes, the dialog stays
  open to allow you to peruse the list and maybe open up a connection to
  one of the children.
2014-09-28 15:07:59 +01:00
baldurk a0d6d771f2 Pass through child processes via remote access to UI. Refs #78 2014-09-28 13:58:18 +01:00
baldurk a3c5e4a51b Convert capture timestamp to local time 2014-09-19 17:55:35 +01:00
baldurk 74a0330271 Ensure C# UI uses consistent culture on all threads. Closes #72
* This means that e.g. decimal separator will always be . and similar
  effects, which avoids the need to have culture specific formatting or
  special-case handling around CSV export etc.
2014-07-23 08:36:05 +01:00
baldurk c38affcded Initial commit of existing code.
* All renderdoc code up to this point was written by me, history is available by request
2014-05-02 08:33:01 +01:00