Commit Graph

60 Commits (4698e92df38da6beb65c59a3d4bfa1a7ccd93c92)

Author SHA1 Message Date
Alex Huszagh f46df07615 Rename all instances of plugins to extensions. 2022-05-03 17:33:08 -05:00
Alex Huszagh 7117f45ef8 Added standalone issues documentation.
Create a standalone file documenting limitations and issues with
stylesheets, and providing code samples and workarounds for these
issues.
2022-05-03 10:44:26 -05:00
Alex Huszagh 71eaba28c7 Update documentation for QCommandLinkButton.
Document the inability to theme the QCommandLinkButton default icon.
Although the icon can be hard-coded via `qproperty-icon` and the size
via `qproperty-iconSize`, it can no longer be customized, defeating the
purpose.

Closes #60.
2022-05-03 01:42:58 -05:00
Alex Huszagh 267d6544cd Further fixes to QToolButton padding.
Added `hasMenu` property so the user can manually override the padding on QToolButtons.

Updated the `QToolBar` to remove `min-height` and `min-width` so the icons can pack closer to together, and specified custom padding rules for the regular icons and those with the drop-down menus. These are narrowly selected via `QDialog QToolBar QToolButton`, and can be manually overridden via `hasMenu`, so they're unlikely to affect anything other than `QFileDialog`.

Likewise, updated the rules for `QToolButton` padding to ensure the button is padded only if it is not auto-raised and it has text. Likewise, this can be manually overridden via the `hasMenu` property. These rules are extensively described in the stylesheet comments.

Further improves the patches to #22, #28, and #47.
2022-05-02 21:30:46 -05:00
Alex Huszagh e96a0049f0 Document QCompleter bug with Qt5.
Closes #52.
2022-05-02 17:08:04 -05:00
Alex Huszagh 2a90ca995a Fix scrollbar + sizegrip issue causing view expansion.
Removed the style for `QWidget:disabled:hover`, which causes the issue, and seemingly has no negative consequences since the default background color is still `^background^` without it.

Closes #54.
2022-05-02 15:40:05 -05:00
Alex Huszagh 8ad730cd70 Fix QColumnView with stylesheet.
Removes the border on QColumnView when not focused, and uses the correct
arrows through the QAbstractItemView::left-arrow and
QAbastractItemView::right-arrow subcontrols to style the arrows.

Closes #45.
Closes #46.
2022-05-02 14:25:28 -05:00
Alex Huszagh 0892fa9b11 Prioritize more important info in README. 2022-05-02 13:34:15 -05:00
Alex Huszagh cc3a7ef472 Documented QDial stylesheet issues.
Added `QDial` styling to known issues, and added a drop-in replacement for `QDial` (subclassing it) that consistently styles over all platforms and application styles.

Closes #42.
2022-05-02 13:28:37 -05:00
Alex Huszagh 9655e7da32 Fix styles for triangular QTabBars.
Added padding to properly pad text on the tab bar. Added negative
padding to avoid clipping the close button, without it overlapping with
the border. Added highlighting for the selected tav. Added
documentation for known bugs with padding south tabs, and color/outline
for selected tabs.

Closes #48.
Closes #50.
2022-05-01 12:07:07 -05:00
Alex Huszagh 90d9658b71 Added utility to print available tests. 2022-05-01 10:23:30 -05:00
Alex Huszagh f59f881798 Update README documentation for plugins/overview.
Update the overview description to simplify and better describe the
stylesheet overview. Update the testing documentation. Add a section for
plugins with links to the plugin code.
2022-05-01 10:08:16 -05:00
Alex Huszagh d6537888e7 Provide a complete standard icon set.
Provides pixmaps for all Qt standard icons, as an extension, with
descriptions on how to use QCommonStyle to override the default standard
icons. This provides a consistent look and feel on all apps.
2022-04-30 22:33:04 -05:00
Alex Huszagh 5cf73e10c3 Added plugin README. 2022-04-30 16:33:28 -05:00
Alex Huszagh cc504bf73a Added example of styling QSlider ticks.
Added references to bugs with QSlider tick styling with stylesheets,
along with example workarounds.

Closes #43.
2022-04-30 15:28:39 -05:00
Alex Huszagh 52686dd40c Added example workaround for placeholder text.
Added an example PyQt6 application with a workaround to attempt to fix
the placeholder text color issues, which further supports the idea that
it is a Qt bug, and not a stylesheet issue.

Using `QtGui.QPalette.ColorRole.PlaceholderText`, we are able to modify
the placeholder text color in Qt5, but not in Qt6.

Closes #41.
Closes #44.
2022-04-30 14:26:01 -05:00
Alex Huszagh 744571ebae Added unittests for comprehensive widget coverage.
Added file to specify unittest coverage, and added numerous unittests.
2022-04-30 13:31:01 -05:00
Alex Huszagh 9ed3ed5e86 Update README sections to better describe extending stylesheets. 2022-04-29 11:45:08 -05:00
Alex Huszagh 0e3d5150c1 Add example of overwriting standard icons.
Added `example/standard_icons.py` which subclasses `QCommonStyle` to
override standard icons, while keeping the default style. This respects
the stylesheet, while allowing custom standard icons. Added this example
to the documentation.

Closes #33.
2022-04-29 11:40:45 -05:00
Alex Huszagh 565eb038bf Update README due to master -> main renaming. 2022-04-28 15:31:21 -05:00
Alex Huszagh 09f02a1185 Compile resource files during configuration.
Added `--compiled-resource` flag, which can be used to invoke `pyrcc5`.
The `pyrcc5` executable can be controlled via the `PYRCC5` environment
variable or the `--pyrcc5` flag. Updated the documentation to reflect
this, including the default build scripts.
2022-04-27 17:32:20 -05:00
Alex Huszagh ad10af6fc3 Rename git.py to vcs.py to avoid git command conflicts. 2022-04-27 16:40:12 -05:00
Alex Huszagh f753556c2c Allow tracking/untracking of distribution files.
Provides `git.py`, which enables/disables the tracking of all files in `dist` via the `--track-dist` and `--no-track-dist` mutually exclusive options. This is done via modifying `.gitignore`, since `update-index assume-unchanged` can't handle directories. Therefore, `.gitignore` is automatically untracked. To track `.gitignore`, run `python git.py --track-gitignore`.

Closes #29.
2022-04-27 16:34:23 -05:00
Alex Huszagh ae5956fc0c Update build file locations.
- Move all built files to `dist/`.
- Update `configure.py` to allow building both QRC and PyQt6-based
resources.
- Update test suites and example widgets for new resource locations.
- Update README and install documentation for new resource locations.

Fixes #30.
2022-04-27 12:35:35 -05:00
Alex Huszagh c2064b90c9 Update CMake build/install documentation.
Fixes #24.
2022-04-26 11:51:27 -05:00
Alexander Huszagh 79a9825c26
LICENSE notification updates 2021-07-26 09:46:01 -05:00
Alex Huszagh 374d283cf0 Minor patch to README table of contents. 2021-07-21 11:23:20 -05:00
Alex Huszagh 8aff25b3a1 Added install directions for CMake.
- Moved generated directories to `dist/` for cleaner builds.
2021-07-21 11:21:14 -05:00
Alex Huszagh 024179a9cb Minor README updates. 2021-07-20 19:31:00 -05:00
Alex Huszagh 846254032c Add support for the extensions syntax in configurations. 2021-07-19 21:51:24 -05:00
Alex Huszagh 3bf2427ce2 Added support for PyQt6. 2021-07-18 10:11:09 -05:00
Alexander Huszagh 7c34e5dd3d
Removed outdated limitation, which required an undocumented fix. 2021-07-17 01:51:52 -05:00
Alexander Huszagh 60a383063f
Update README.md 2021-07-17 01:42:44 -05:00
Alex Huszagh d620f2226b Bug fixes for #11 2021-07-17 00:09:44 -05:00
Alex Huszagh a7f536fbe7 Initial commit for gallery screenshots. 2021-07-16 22:32:20 -05:00
Alex Huszagh ce29da0ba7 Added support for better dialog widgets, useful for custom themes. 2021-07-16 22:07:12 -05:00
Alex Huszagh 038a9d2a65 Updated tests, minor bug fixes, and merge lightv2 into light. 2021-07-16 17:03:26 -05:00
Alex Huszagh 799693e9d6 Minor documentation updates. 2021-07-16 15:18:21 -05:00
Alex Huszagh 4279cb7c52 Added documentation for designing custom themes. 2021-07-16 15:16:35 -05:00
Alex Huszagh 6b30b5d89c Major overhaul of the UI and themes.
- Fixed nearly every platform-specific bug on Linux.
- Added numerous more widgets to the example view.
- Fixed a the background colors for dark widgets.
- Made theming configurable via JSON files.
- Added sample, custom themes to the `configure` directory.
- Fixed QSlider handle being highlighted when not having focus.
- Fixed unwanted underlining in the tabs of QTabBar.
- Made the view have more depth with more complex color schemes.
- Fixed the background of the drop menu for QComboBox.
- Made the background darker if the QComboBox is editable.
- Improved border widths.
- Fixed the radio button size.
- Fixed SVG icons with opacity.
2021-07-16 14:30:46 -05:00
Alex Huszagh e4d4e54ef5 Moved everything to templates.
- Fixed bug with QTreeView with checkable items.
- Added JSON configurations for configurations.
- Added tests for QTreeView.
- Created a limited set of data.
2021-07-15 21:09:27 -05:00
Alex Huszagh 491e693237 Move to template-driven resource generation. 2021-07-15 20:28:48 -05:00
Alex Huszagh 25ae47bf7c Updated the README for various bug fixes. 2021-07-15 15:49:45 -05:00
Alex Huszagh 49e1bce0ad Various UI fixes.
- Fixed QGroupBox alignment with other center-aligned widgets.
- Fixed icon indicators in QToolButton.
- Fixed selection issue causing text and icons to shift in QToolButton.
- Fixed QToolButton's menu indicator shifting when pressed.
- Improved indicator look of tabs.
- Improved the borders and highlighting of tabs.
2021-07-15 12:05:29 -05:00
Alex Huszagh c7a1058e7d Minor bug fixes for UI. 2021-07-15 00:10:14 -05:00
Alex Huszagh aed64fb59f Numerous enhancements to widget styles. 2021-07-14 16:57:20 -05:00
Alex Huszagh e4fdb9fac9 Updates styles, better configuration. 2021-07-14 01:14:04 -05:00
Alex Huszagh 55c738813e Initial versions for better scaling stylesheets. 2021-07-13 22:46:41 -05:00
Alexander Huszagh 2d595a956f
Fixed Python example comments.
Fixed comment style from C++ to Python for Python example.
2018-12-27 12:13:06 -06:00
GKT 20e24df905
Single line fix for PyQt5 example
Just fixed the typo in the PyQt5 line from C++ syntax to Python
2018-12-27 09:01:22 -07:00