Commit Graph

132 Commits

Author SHA1 Message Date
baldurk 68cb108995 Only warn about no connection to delete/save for non-local captures 2016-09-05 13:25:26 +02:00
baldurk 5715731894 Prompt to add if an env var is being edited when the dialog is closed 2016-08-30 17:54:21 +02:00
baldurk 1faf46ddc5 Handle StaticExports.GetVersionString() being missing
* If the user is somehow running a really new UI with old DLL, handle
  the exception and continue to allow the user to update without
  crashing.
2016-08-30 17:37:06 +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 accbeb577a Give the suggest remote dialog a proper title 2016-08-29 19:42:56 +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 0b359468e6 Handle remote disconnects somewhat gracefully in the virtual file dialog 2016-08-29 16:29:29 +02:00
baldurk 3b74dbc079 Set an appropriate icon for the virtual open file dialog 2016-08-29 16:14:09 +02:00
baldurk bf210bbe23 Fix crash if selecting / on linux path browser 2016-08-29 16:13:29 +02:00
baldurk c05380cdf5 Add cancel buttons (which respond to escape) to a couple of dialogs 2016-08-29 16:12:58 +02:00
baldurk 067b991561 Re-jig remote manager GUI a little for better user flow 2016-08-26 17:27:28 +02:00
baldurk 963a2deb71 Fix if() being backwards 2016-08-24 18:39:59 +02:00
baldurk 17d53d8129 Fixes for browsing NT paths 2016-08-24 17:09:26 +02:00
baldurk e8e3d50c86 Expose the different local and remote renderers to the UI 2016-08-24 15:53:58 +02:00
baldurk 3e5d55d1d6 Add an option to choose the default save folder for captures. Refs #335 2016-08-24 15:53:52 +02:00
baldurk 27b7077c36 Add versioning into remote server protocol 2016-08-23 13:02:07 +02:00
baldurk 4bc3dbcc9e Rejig update dialog to provide a bit more info and display RTF notes 2016-08-22 11:03:22 +02:00
baldurk 39b995fcfa Add a dialog to ask if the user wants to replay remotely 2016-08-19 17:26:37 +02:00
baldurk 027bcdb7e8 Don't validate existance of working directories on remote captures 2016-08-19 17:26:34 +02:00
baldurk b5e6f8bef2 Allow specifying environment variable modifications
* This works for local and remote invocations of programs, but is mostly
  useful on unix systems (Windows programs use env vars less often)
2016-08-19 17:26:33 +02:00
baldurk d04c06a229 Add a remote/virtual open file dialog for browsing over the network
* This needs some optimisation - the obvious one being to batch up
  requests for multiple children all at once.
2016-08-19 17:26:30 +02:00
baldurk fd1d7ef58c Disable config options by default, and also disable the buttons 2016-08-19 17:26:28 +02:00
baldurk d63e3b89ad Add support for copying files back from remote server 2016-08-19 17:26:24 +02:00
baldurk 96c777cb43 Set display properly when checking RemoteHost status 2016-08-19 17:26:22 +02:00
baldurk 0207c74b90 Check remote server status at startup to pre-populate context chooser 2016-08-19 17:26:20 +02:00
baldurk dca8fe7905 Actually use modified path in working dir hint 2016-08-19 17:26:20 +02:00
baldurk 2060173049 Track busy and active connections and display in UI 2016-08-19 17:26:19 +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 fa0b13f2ed Add context chooser to main window for choosing between remote servers 2016-08-19 17:26:09 +02:00
baldurk 4fde9b065f Expand remote host selection for attaching to handle remote servers
* Also remove some of the old remote-replay single-shot code handling.
2016-08-19 17:26:07 +02:00
baldurk 9a544e61af Rename ModalPopup to ProgressPopup 2016-08-19 17:26:06 +02:00
baldurk 481a28dc29 Rename RemoteAccess to TargetControl to better disambiguate RemoteServer 2016-08-19 12:23:19 +02:00
baldurk c674c27057 Make update dialog non-resizeable. Refs #321 2016-08-10 16:07:16 +02:00
baldurk 3dbd750846 Put more updater code inside the try { } catch(Exception)
* A crash was uploaded where File.Copy() failed due to permissions.
2016-08-06 19:23:30 +02:00
Matthäus G. Chajdas 1cb6890df9 Disable the "always show vertical scroll" bar in the settings menu.
The window is always big enough that the scroll bar remains disabled, so just get rid of it by default.
2016-08-05 15:39:51 +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 5b74d2f90a Add a little Ctrl-G popup on the texture viewer to jump to a pixel 2016-07-22 12:28:26 +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 5c53e623df Add win32-specific commands (crash handle, upgrade, global hook) 2016-07-12 17:39:24 +02:00
baldurk 73dc89f25a Allow specifying a listen interface and port, for remote replaying 2016-07-12 17:39:22 +02:00
baldurk 3e171f7f79 Remove top-most windows, we shouldn't have any (just above-rest-of) 2016-07-04 10:59:11 +02:00
baldurk 75590986ee Fix potential crash with TreeListView.InvokeRequired not being right 2016-06-24 15:35:17 +02:00
baldurk 11ee6e2e34 Allow dragging exes in anywhere and they won't be opened as logfiles 2016-06-20 17:30:29 +02:00
baldurk 094e79dee2 Greatly speed up 'attach to running instance' dialog in the 99% case
* 99% of the time, you'll only have localhost and the application will
  be running on the first ident checked which will return a valid socket
  almost immediately.
* Instead of continuing to search through each valid port before
  returning valid data, we change the enumerate function to just find
  the next valid port and return - so we can update the UI as soon as
  we have the first result.
2016-06-01 11:31:57 +02:00
baldurk 60706ca4eb Add options controlling marker colourising 2016-05-27 23:26:59 +02:00
baldurk 16561cd117 Before updating, check to see if any live programs are running.
* Doing this early and via the remote access lets us give a friendly
  error message and direct the user to which program is currently using
  renderdoc.
2016-05-19 20:29:38 +02:00