Commit Graph

145 Commits

Author SHA1 Message Date
baldurk 03eb2ea696 Save and load persistant config file 2016-10-07 19:51:05 +02:00
baldurk 3ec1be62ff Paint custom render widgets properly without output, recreate as needed 2016-10-07 19:51:05 +02:00
baldurk 2f461a5029 Handle keypress events for clipboard copy and pixel nudging 2016-10-07 19:51:04 +02:00
baldurk 2fe5165481 Make sure zoomOption box is big enough even for the largest zoom 2016-10-07 19:51:03 +02:00
baldurk 63b92f76c8 Pass IReplayRenderer to INVOKE_MEMFN calls 2016-10-07 19:51:03 +02:00
baldurk ff6da5d81e Add layout loading/saving to main window 2016-10-07 19:51:02 +02:00
baldurk 33e727e4f6 Call AddLogViewer after initialising pixel context & render
* The other way around, if the texture viewer is created after a log has
  already been opened then we end up un-setting the already configured
  outputs.
2016-10-07 15:58:51 +02:00
baldurk e32e26eb83 Save texture viewer dock layout & background colour in persist data 2016-10-07 15:58:50 +02:00
baldurk e64c666883 Allow configuring a callback to create tool windows on-demand
* This means we can start with an empty manager, load a layout, and just
  create the needed windows as we go according to what the layout needs.
2016-10-07 15:58:50 +02:00
baldurk f8b7f0ca87 Serialise area objects as [name, data] pairs, with custom persist data
* This works by presuming a property 'persistData' set up on an object.
  If configured, it will be set and restored in the data value.
2016-10-07 15:58:49 +02:00
baldurk 560fe1a120 Save and restore ToolWindowManager state directly as QVariantMap 2016-10-07 15:58:49 +02:00
baldurk b87968ae21 If a wrapper should be maximised, re-maximise it on restore to force 2016-10-07 15:58:48 +02:00
baldurk bd7b3e3399 Save wrapper and splitter state as base64 so it encodes to JSON 2016-10-07 15:58:47 +02:00
baldurk 4d2f27d905 Only save direct child splitters in a wrapper 2016-10-07 15:58:47 +02:00
baldurk b96d49190c Avoid naming manually connected slots on_x_y() 2016-10-07 15:58:45 +02:00
baldurk bfac4adfb8 Expose full logging to UI layer, pipe Qt messages etc into main logs 2016-10-07 15:58:45 +02:00
baldurk ccfa1ceaed Add some utility functions to rdctype::array/str
* Avoids the need to directly reference .elems to cast to const char*
  for strings, and has begin()/end() for C++11 foreach loops
2016-10-07 15:58:44 +02:00
baldurk a901fc0d5b Fix isRunning check - just wait for m_Thread to be NULL 2016-10-07 15:58:43 +02:00
baldurk 2be29d9229 Move Following struct declaration to header, add per-texture settings 2016-10-05 20:20:19 +02:00
baldurk 3ea107fd6c Don't race to a double-delete, LambdaThread deletes its own thread 2016-10-05 20:20:19 +02:00
baldurk 044c16a0a3 Switch to helper functions for blocking dialogs (file and message)
* To continue the workaround for QTBUG-56382 we need to run our own
  manual message loop for dialogs as well. We only use a couple so we
  can just run it through a handful of thin wrappers.
2016-10-05 16:52:05 +02:00
baldurk 86623528bf Work around QTBUG-56382 with manual event loop flushing
* See https://bugreports.qt.io/browse/QTBUG-56382 for more details -
  creating DXGI swapchains adds a windows hook, and enough windows hooks
  forces out Qt's internal hook which it relies upon for proper event
  processing.
2016-10-05 16:52:05 +02:00
baldurk d1cda249e2 Don't 'use' hidden thumbnails with items we're not going to show 2016-10-05 16:52:04 +02:00
baldurk 74c7820c18 Fix typo - don't use the wrong variable 2016-10-05 16:52:03 +02:00
baldurk c47ab2c515 Fix for conflicts between X headers and Qt due to overlapping #defines 2016-10-05 01:13:09 +02:00
baldurk 924b973c5b Remove duplicated files listed in qt project 2016-10-05 01:13:08 +02:00
baldurk a8ca89e0f5 Fix compile warnings 2016-10-05 01:13:08 +02:00
baldurk b14135a22e Compile fix, typo'd variable name 2016-10-05 01:08:49 +02:00
baldurk ea81c9ef8e Move includes to header file for Display/xcb_connection_t definitions 2016-10-04 20:13:57 +02:00
baldurk da992e9c3e Add following and populating thumbnails
* This is buggy - the UI seems to hang at random until you switch away
  and back, some event I guess is stalling the queue somehow but it's
  still pumping events.
2016-10-04 19:54:35 +02:00
baldurk 6668b44153 Update Core filename to CaptureContext in qt project 2016-10-04 19:54:34 +02:00
baldurk 525fb3faf1 Refresh thumbnail strip layout when it becomes visible 2016-10-04 19:54:34 +02:00
baldurk 9b3e0176dc Pass clicked event from resource preview members to signal 2016-10-04 19:54:33 +02:00
baldurk 591ad38e48 Pass MouseEvent through label click signal 2016-10-04 19:54:33 +02:00
baldurk fe1e86d35a Fill out pipeline state with API pipelines 2016-10-04 19:54:32 +02:00
baldurk 39bfe99ae5 Implement common pipeline state abstraction 2016-10-04 19:54:32 +02:00
baldurk 0b6b6b3e86 Add MIT License comment to the head of all source files 2016-10-04 19:54:31 +02:00
baldurk e91634004f Rename Core to CaptureContext 2016-10-04 19:54:31 +02:00
baldurk 7e35a6a7ba Implement remaining functions needed on resource preview widget 2016-10-04 19:54:29 +02:00
baldurk 2577218e32 Add thumbnail strip widget to manage sizing and layout of thumb previews 2016-10-04 19:54:28 +02:00
baldurk 7bb9c36de4 Switch from QList to QVector for internal storage. 2016-10-04 19:54:28 +02:00
baldurk ed56e3a603 Default to 0,0 picked location so the pixel context doesn't flicker 2016-10-04 19:54:27 +02:00
baldurk f930154be7 Rename thumb lists to input/output 2016-10-04 19:54:26 +02:00
baldurk 1db8aaca5f ResourcePreview changed to fixed size (sized by thumbstrip) & clickable 2016-10-04 19:54:25 +02:00
baldurk ca8cc98be6 Add RDLabel, an expanded QLabel 2016-10-04 19:54:25 +02:00
baldurk 7ec3049844 Rename LineEditFocusWidget to RDLineEdit
* It seems due to deficiencies in Qt's design, there will be a
  substantial need for these small custom subclasses just to add basic
  functionality that should have been present in the original. So we'll
  adopt a naming scheme of QFooBar -> RDFooBar for this 'almost the
  same widget' type subclassing, compared to more custom/changed ones.
2016-10-04 19:54:24 +02:00
baldurk 39cd42882b Add a ResourcePreview widget 2016-10-04 19:54:24 +02:00
baldurk c8015b9e99 Populate mip/slice dropdowns and allow selecting which is visible 2016-10-04 19:54:23 +02:00
baldurk 9489e4e4d1 Don't try to close & delete a NULL thread 2016-10-04 19:54:23 +02:00
baldurk df77ef6cbe Make sure thread is closed before shutdown 2016-10-04 19:54:22 +02:00