laserpants / qt-material-widgets

:art: Qt widgets-based implementation of the Material Design specification.
BSD 3-Clause "New" or "Revised" License
3.01k stars 675 forks source link

added file ic_star_black_24px.svg #5

Closed fperillo closed 7 years ago

fperillo commented 7 years ago

I saw that .svg files are in .gitignore but in this way some samples can't use it...

I'd like to use this library for a project but it seems confusing... A lot of directories that probably are just old copies of source code...

Congratulation for the good work, I hope to have some more PR in the future.

laserpants commented 7 years ago

Going through some of my old GitHub repos, I finally managed to clean up and structure this code a bit. I wonder if there is still enough interest in desktop application development for this type of library to be useful. It is fun, but I don't have any projects where this would fit in at the moment.

fperillo commented 7 years ago

Thank you for the changes you are doing to the code, to clean it up. It is also a good starting point to study how to expand Qt libraries...

I will try to use the library for a small project just to give it a more modern and nice look. Best of all would be a Table widget but I understand it is not easy...

thank you

laserpants commented 7 years ago

Table would be something like http://www.material-ui.com/#/components/table, or? I think a lot of this could be achieved using the various QTable classes and some styling. But I'll have to look into it. What I remember was really trick was the different Menu components (Icon Menu, DropDown menu etc.) and Select Field.

fperillo commented 7 years ago

I agree with you, probably table can be "emulated" with some styling and it is possible to use the new widgets in the cells. Perhaps the checkable needs to be overridden to use the qt-material checkbox.

Icon Menu, DropDown Menu and Select use MenuItem in the react sample you pointed me to, as Drawer. They are slightly different in how they are drawn but all appear after a button is pressed... They open a "list" of choices, with the peculiarity that you may have nested items.

I don't know if I have the knowledge to help you in this development...

laserpants commented 7 years ago

Yeah, you are right.I remember that there were some subtleties with the animations that caused the menus to become much more complicated than the other components. If you look at the drawer, for example, the transition does not involve any scaling or skewing of the contents, whereas the menus (see http://www.material-ui.com/#/components/icon-menu) are, sort of, scaling vertically during the expansion. Nested menus could also introduce some additional complexity. But it should be possible with some trial and error. Right now, I started looking at the App Bar. After that I will try to work on Table. There are also some components that should be more straightforward, like Divider, and Paper. If you want to work on a component, I would recommend one of those, or the Tables.

Another thing is, I am not sure if the build setup is ideal as it is. As you can see, I split the project into one library, and one executable (with the config editors). I think this makes sense, but I get some weird errors sometimes when I switch branches. Please let me know if you have any trouble compiling, or if you know a better way to structure the .pro files.

On Tue, Oct 3, 2017 at 1:50 AM, fperillo notifications@github.com wrote:

I agree with you, probably table can be "emulated" with some styling and it is possible to use the new widgets in the cells. Perhaps the checkable needs to be overridden to use the qt-material checkbox.

Icon Menu, DropDown Menu and Select use MenuItem in the react sample you pointed me to, as Drawer. They are slightly different in how they are drawn but all appear after a button is pressed... They open a "list" of choices, with the peculiarity that you may have nested items.

I don't know if I have the knowledge to help you in this development...

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/laserpants/qt-material-widgets/pull/5#issuecomment-333687502, or mute the thread https://github.com/notifications/unsubscribe-auth/ACFP_WLR_AsrBXMvIKaO6aOLrPlqL0Bgks5soWjJgaJpZM4LnfVI .

fperillo commented 7 years ago

One trick that is sometime used with widgets stretching is to paint off-screen the widget at the final size than use the image to simulate the scaling/skewing... should be a lot easier. A side-effect is that the widget is not fully operable until it stops to animate (and it is switched from a fake image to the real widget). But the animation in the site is not doable with this trick....

I'm not proficient at all with git and I spend a lot of time everytime I try to do basic things... it took big part of an hour to sync my fork with your (and it is still not fully synced...)

I'm also not proficient with Qt Creator, I should study a workflow...

It seems to me that Paper can be derived from Dialog or viceversa, Paper used as a base for Dialog... which is the use of Paper anyway? Also the web site has it empty... square or circular, both empty... circular, bases for avatars?

Divider.... in a XMLish based page description like that in React it makes sense, but in Qt Widgets? It should be added in a layout...

I will have a look if I can create a workflow...

To compile the examples I had to modify example.pro: -LIBS += ../components/libcomponents.a +LIBS += ../components/release/libcomponents.a

and also add parameter -std=c++11 in Makefile.release otherwise I couldn't compile examples due to lambdas... I'm using Qt 5.5.... old but I can't change now...

laserpants commented 7 years ago

I added CONFIG += c++11 to the main .pro file. I just noticed the issue you added. Thanks. I'll follow up from there.

At some point, I think I also tried the approach you suggest for the QMenu component. I don't remember exactly why/how I was getting stuck. One problem, however, is that to make the menu items look and behave like Flat Buttons, the ripple animation should run in parallel with the menu collapsing. But anyway, I should have a look at what I came up with last time, and post a separate issue to explain the problem there. Then you, or someone else, might be able to figure it out.