Giter Club home page Giter Club logo

Comments (20)

ruilvo avatar ruilvo commented on June 15, 2024 1

Looking at the code, there's the problem that some of it has to do with the buttons and etc. And if you want to be clean with licensing, you can't copy that. And you can't also override from a "parent" QSS...
So I guess this can't be fixed from your end... I'll have to write my own.

from breezestylesheets.

ruilvo avatar ruilvo commented on June 15, 2024 1

Actually, I have never used it with Python. I don't understand exactly what you mean with a set of widgets of ADS but it pretty much just the docking widget and the docking manager. I think you're nest to achieving the right thing. You already have got the tab buttons pretty ironed out. Sorry, I didn't understand what you want exactly.

from breezestylesheets.

ruilvo avatar ruilvo commented on June 15, 2024 1

Whoa! Thanks! I'll test on C++ :D

from breezestylesheets.

ruilvo avatar ruilvo commented on June 15, 2024 1

It seems to be working :D
Thanks!

imagem

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

The only issue with including these directly into the theme is this library is MIT licensed, which makes it useful for commercial usage, however, the above code is LGPLv2.1 licensed. I'll see if there are any fixes, or provide instructions on how to incorporate the above stylesheet internally, since obviously this is a very useful feature.

from breezestylesheets.

ruilvo avatar ruilvo commented on June 15, 2024

I'm not sure using the names of the stylesheet tags would exactly constitute an LGPL violation. You're not, in any way, using the library... But understand the caution, of course.

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

@ruilvo No, that should be fine, as long as I don't base anything off their source code. Their documentation also seems to publish the tag names, so this should be doable. As an extra precaution, you should be able to just provide the tag names and then I can just play with styles until everything works.

Is there a particular example you want me to base off of (like, a minimal, simple Qt project that I can ensure works before moving onto checking more complicated scenarios work)?

from breezestylesheets.

ruilvo avatar ruilvo commented on June 15, 2024

Those are the config tags, these are the stylesheets:
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/tree/master/src/stylesheets
I don't have a base application, but I think their examples are a great place to test.
Btw, they have the "Focus Highlighting feature" that they show in there as a separate file, but it seems it can be easily made into a single stylesheet:
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System/blob/master/doc/user-guide.md#focushighlighting

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

@ruilvo Right, I just want to make sure I'm not looking through source files just as an extra precaution to find the tags. However, someone just telling me what all the tags are should be fine. I'll then just use a stock example.

For example, based on the documentation, I can see ads--CDockWidgetTab[focused="true"]. If there's any others not covered in the docs, that would be great to know.

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

At the very least, I should be able to provide "clean" install instructions or scripts that can help isolate this, so we can avoid licensing issues in the main code, but also make it easier to opt-in for compatibility with an LGPL project.

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

I'll see what I can, at the very least, something will be more ergonomic than everyone trying to recreate the same solution on their end.

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

Ok, this should be doable, and I'll start working on it. As long as I just touch the actual tags they provide, it should be fine. Their official bindings are BSD 3-Clause, and they provide a lot of API documentation, so I can just "play around" without touching the source code.
https://github.com/conda-forge/pyqtads-feedstock

from breezestylesheets.

ruilvo avatar ruilvo commented on June 15, 2024

Thank you for the enthusiastic feedback and willingness!! If there's something you need in the future regarding this topic, get in touch.
Thanks again!

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

Do you have a sample set of widgets for the dock widget? I'm reproducing some of the behavior, but I'm not very familiar with the Advanced Docking System, so these are the examples I get. Obviously, the tab is next to unreadable, but child QPushButtons seem to be correct.

Screenshot_20210719_132435

Screenshot_20210719_132409

See here for my sample code.

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

I've got a fairly rough initial demo, and it seems to be pretty decent so far. This won't take more than a few days to finish (I've got actual work commitments, so obviously this is somewhat lower priority).

Please note there's a few minor style issues that are due to GTK issues with the conda Python environment (what I use to quickly mock up styles, even if I use C++ for real app development): it's due to GLIBCXX_3.4.29 being missing, causing issues with iris and swrast.

Currently, the floating maximize and minimize buttons look bad, and there's a few issues with the tabs (they don't style properly, and don't show the highlight tab at all), but it's coming a long way.

Screenshot_20210720_123103
Screenshot_20210720_123152

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

Here's a few images, @ruilvo. Let me know if there are any issues, and I'll re-open it.

Dock1
Dock2
Dock3
Dock4
Dock5

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

Oh @ruilvo, by default, support for ADS isn't enabled. To enable it, you can pass:

python configure.py --extensions=advanced-docking-system --styles=all

You can then use custom.qrc (and rename it as you wish) to use it with the ADS support. I figured I might need to mention that... I've added a customizable extensions API, and this is a great first example of it.

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

Let me know if anything doesn't work as expected, I'd be happy to fix any issues.

from breezestylesheets.

ruilvo avatar ruilvo commented on June 15, 2024

Have you noticed that when resizing, sometimes there's a funny glitch with the svg? Notice the minimize one:
https://i.gyazo.com/6c30b0bd3a702451ce7799c6e751cda6.mp4

from breezestylesheets.

Alexhuszagh avatar Alexhuszagh commented on June 15, 2024

Have you noticed that when resizing, sometimes there's a funny glitch with the svg? Notice the minimize one:
https://i.gyazo.com/6c30b0bd3a702451ce7799c6e751cda6.mp4

No, it doesn't replicate for me on Linux. When I get access to my Windows computer, I can try to fix it. I'm currently out-of-town, so it will be a week before I get a chance to.

from breezestylesheets.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.