-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Grab bag of remaining Qt issues #494
Comments
You can use the BackgroundRole in AbstractItemModel::data() to return the custom background color for a cell. Then you can emit a single |
Yes that one is a bit inaccurate, I'll edit it. It only refers to QTreeWidget where the underlying model is inaccessible and it emits dataChanged for every individual update. I think the solution is to just drop all uses of QTreeWidget, always use QTreeView, and write a replacement for the default model so that all of the 'simple' cases that just need to shove in some strings won't have to write a whole model each time. I've already subclassed many of the widgets to add extra events/signals, but rewriting the tree widget model is a bit more involved. |
You can call QToolTip::showText explicitly on mouseEnter for the relevant widgets
you can make the column of indices a header |
Thanks, I appreciate the notes. I think the tooltip is a little bit more complicated as the only widget is the treewidget, so we'd need to handle mouse move events and track the currently hovered item, and also handle hiding/showing it to force it to move when you enter a different item. To clarify though, this list is about tracking the tasks that need to be done in case anyone wants to address some of them. Most of them have fairly clear implementations and e.g. for the pinned columns there's even a qt example with source to do exactly that. If someone wants to take on something and needs feedback/help that's of course on-topic here. |
Just to let you know guys, I'm working on the API Inspector callstack separator. It should be ready by the end of the weekend |
I almost finished the Tips of the Day dialog(layouts are killing me :P). I saw on the C# UI that the tips are generated automatically. Do I have to take care of something? |
Ah don't worry about that part. I have something to generate the tips and update the web version to avoid redundancy. Just copy-paste the data over and update the code part however makes sense, I'll update the generation template next time I add more tips (which I don't do as often as I should...). |
I was playing around today and saw that resizing of the Texture viewer has a lot of flickering. Also ToolWindowManager does not have anything to separate the different widgets. Thus, I inherited from the ToolWindowManager, overriden the createSplitter and returned the new RDSplitter(I also fixed a bug there). Also disabled opaque resize to avoid the flickering. Would it be nice to add that? |
On mine there is a gap between panels in the texture viewer, the main difference to the existing UI that makes it feel a bit too bare is that there's no border around the panels so it's just empty space instead of being better delineated. I think that kind of issue will be addressed when I make a custom theme to apply to fix little issues like that and make sure the UI looks consistent everywhere (at the moment it inherits some of windows 10's awful flat UI stuff on win10). I don't think it's worth trying to replace the splitter right now as it might not be needed, and you'd need to make it render differently to how it currently does (currently it's designed to draw the eye a bit which you wouldn't want here, and the arrows don't make much sense in either case so they'd need to be toggled off). The flickering is new to me - there's not really any more flickering than I'd expect for a continuously resizing/repainting widget. Can you record an animated GIF or mp4 of what it looks like before and after your change? |
I'm not sure what this gif is supposed to show, that's why I suggested a before and after to be more clear about what's actually changing. |
Ah I see, that's why I was confused - I thought you had posted a picture of it with your change. I prefer being able to see how it looks while resizing, it gives you more interactive control over the layout. I don't resize the panels constantly but I do sometimes do a bit of trial-and-error to get the size I want where the thumbnails are visible enough but without being too big or whatever. Qt being much more able to paint and do continuous updates like this is an advantage over C#/winforms. |
I'm closing this issue now as the large majority of issues have now been fixed as of v0.90 and the few remaining ones don't need to be tracked in a meta-bug. |
A few people have asked me about having a central location for pending Qt work, particularly things that people could contribute.
At the time of writing, there are large chunks of the UI that aren't finished, and so they are deliberately omitted from this list. This list is more about small things that people can pick up and fix without worrying about conflicting with in-progress work.
Not all of these are critical must-fix issues. Some are necessary polish before the Qt UI may replace the C# UI, some are important but could conceivably be fixed after that point, and some are 'would be nice'.
QTreeView/QTreeWidget
There's a hack in EventBrowser to pause events during the update then force a refresh, but this needs a proper solution - see the first point about making our own standard model that doesn't suck.
EID, Name, Duration
, try resizing the duration column from the left).Stretch
resize mode (which can leave lots of whitespace) andResizeToContents
which is very tightly packed.ToolWindowManager
Currently we're using ToolWindowManager as the docking solution. The other main alternative is Advanced Docking System which is better in some ways, worse in others. Right now the focus is on fixing issues with TWM rather than switching, but if ADS becomes more capable then it shouldn't be too much work to change.
API Inspector
Event Browser
Pipeline State
Main Window
General
Capture Dialog
The registry checking will need to be moved into C++ too to match. I think the best place for this would be
vk_linux.cpp
andvk_win32.cpp
, and these would just be forwarded to from the replay layer.Shader Viewer
Buffer Viewer
The merged header would have just a single name that is left-aligned to the visible header (much like happens in the C# UI, it would start left aligned but as you scroll horizontally to stay in view until there's no more room).
These element headers would then be separated by a gap for clarity.
Texture Viewer
Pixel History
Timeline bar
If you want to have a go at any of these, reference this issue in your commit and I will check off the task.
If I add anything new, I will post it in a reply as well as adding it to this original issue, so everything will be in the same place as well as notifications for those interested.
The text was updated successfully, but these errors were encountered: