Skip to content
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

Side panel has a very small font and inconsistent mouse hover higlight area #1319

Closed
marek-lach opened this issue Jan 16, 2023 · 14 comments
Closed
Assignees
Labels
enhancement Request: New feature or improvement usability Issue: Could do with some improvement

Comments

@marek-lach
Copy link

In the side-panel, the font seems way too small, even if they are meant to be smaller compared to other menu font sizes.

@marek-lach marek-lach added the bug Issue: Something isn't working label Jan 16, 2023
@vkbo vkbo added usability Issue: Could do with some improvement and removed bug Issue: Something isn't working labels Jan 17, 2023
@vkbo vkbo self-assigned this Jan 17, 2023
@vkbo
Copy link
Owner

vkbo commented Jan 17, 2023

I cannot properly control the width of the buttons with the current settings, so the hover I cannot fix. The font cannot be any larger, or the text will be clipped. The only alternative is to remove the text label.

The sidebar is actually a regular toolbar with some tweaks. The only way I can really fix this is to design a new widget for the purpose, which I may do.

@vkbo vkbo added the enhancement Request: New feature or improvement label Jan 17, 2023
@vkbo vkbo added this to the Future Release milestone Jan 17, 2023
@marek-lach
Copy link
Author

marek-lach commented Jan 18, 2023

I cannot properly control the width of the buttons with the current settings, so the hover I cannot fix. The font cannot be any larger, or the text will be clipped. The only alternative is to remove the text label.

The sidebar is actually a regular toolbar with some tweaks. The only way I can really fix this is to design a new widget for the purpose, which I may do.

I think the issue I am facing has mostly to do with hidpi monitors maybe? I should have provided a screenshot to better illustrate the scaling disparity between the side (project) panel in comparison with the file menu:

Screenshot from 2023-01-18 17-14-26

Unfortunately I am no longer able to test on Windows, like previously. This is on Linux so it may be that you are using a specific dependency to display icons that I am missing here...?

@vkbo
Copy link
Owner

vkbo commented Jan 18, 2023

You have no icons! Are you using a custom theme you made yourself?

@vkbo
Copy link
Owner

vkbo commented Jan 18, 2023

Ah, there was text below the screenshot as well. No, the icons should display fine. Unless you're using a theme you've made yourself, in which case you must update the theme definition file. It is covered in the documentation: https://novelwriter.readthedocs.io/en/stable/int_customise.html

Edit: As for the font size, the button text is scaled to 65% of the GUI font size. This is to make it fit on the sidebar for the original English labels. It's up to the translators to make sure they fit for other languages. If I make it larger, it won't fit, so my option is to remove them, which is of course a possibility as well.

@vkbo
Copy link
Owner

vkbo commented Jan 18, 2023

Also, even if you are not loading an icon theme, a default one should be set. I fixed this in 2.0.1. Which version are you running?

@vkbo
Copy link
Owner

vkbo commented Jan 18, 2023

Note to self: Remove the labels in 2.1 and combine with feature request #1310.

@marek-lach
Copy link
Author

Ah, there was text below the screenshot as well. No, the icons should display fine. Unless you're using a theme you've made yourself, in which case you must update the theme definition file. It is covered in the documentation: https://novelwriter.readthedocs.io/en/stable/int_customise.html

Edit: As for the font size, the button text is scaled to 65% of the GUI font size. This is to make it fit on the sidebar for the original English labels. It's up to the translators to make sure they fit for other languages. If I make it larger, it won't fit, so my option is to remove them, which is of course a possibility as well.

I don't think removing the labels completely would be good. I understand the decision now, it is reasonable as it is.

No, no custom theme. The settings are as follows:

Screenshot from 2023-01-18 22-36-00

If these icons are implemented in the same way as the dialog-box icons, they should work fine. This may be a regression between pre-2.0 and 2.0 releases somewhere possibly...?

@vkbo
Copy link
Owner

vkbo commented Jan 18, 2023

The Qt icons are loaded by the Qt library, and are different from the icons loaded specifically for novelwriter. It is strange that icons aren't loaded for you if you haven't made a copy of the theme file.

Could you verify that you are running at least version 2.0.1, and that there are no errors or warnings written to the terminal when you start from command line? You can also run with the --debug flag, which will tell you everything it's doing, including loading GUI icons.

I would very much like to know what's going on here in case there's a bug.

@marek-lach
Copy link
Author

marek-lach commented Jan 19, 2023

The Qt icons are loaded by the Qt library, and are different from the icons loaded specifically for novelwriter. It is strange that icons aren't loaded for you if you haven't made a copy of the theme file.

Could you verify that you are running at least version 2.0.1, and that there are no errors or warnings written to the terminal when you start from command line? You can also run with the --debug flag, which will tell you everything it's doing, including loading GUI icons.

I would very much like to know what's going on here in case there's a bug.

I am sending you the entire log, but you are probably interested in what theme.py is doing mostly... Here's a link: https://pastebin.com/KyWSKUv4

[2023-01-19 10:24:16,091]        __init__.py:172   INFO      Starting novelWriter 2.0.3 (0x020003f0) 2023-01-08
[2023-01-19 10:24:16,093]          config.py:444   DEBUG     Initialising Config ...
[2023-01-19 10:24:16,094]          config.py:452   DEBUG     Config Path: /home/mareklachbc/.config/novelwriter
[2023-01-19 10:24:16,094]          config.py:453   DEBUG     Data Path: /home/mareklachbc/.local/share/novelwriter
[2023-01-19 10:24:16,094]          config.py:454   DEBUG     App Root: /usr/lib/python3.10/site-packages
[2023-01-19 10:24:16,094]          config.py:455   DEBUG     App Path: /usr/lib/python3.10/site-packages/novelwriter
[2023-01-19 10:24:16,094]          config.py:456   DEBUG     Last Path: /home/mareklachbc
[2023-01-19 10:24:16,094]          config.py:457   DEBUG     PDF Manual: /usr/lib/python3.10/site-packages/novelwriter/assets/manual.pdf
[2023-01-19 10:24:16,095]          config.py:509   DEBUG     Loading config file
[2023-01-19 10:24:16,097]          config.py:781   DEBUG     Checking package 'pyenchant': Missing
[2023-01-19 10:24:16,097]          config.py:479   DEBUG     Config initialisation complete
[2023-01-19 10:24:16,311]          config.py:500   DEBUG     Loaded: qtbase_en_GB.qm
[2023-01-19 10:24:16,311]          config.py:500   DEBUG     Loaded: qtbase_en_Latn_GB.qm
[2023-01-19 10:24:16,316]         guimain.py:79    DEBUG     Initialising GUI ...
[2023-01-19 10:24:16,317]         guimain.py:87    INFO      OS: linux
[2023-01-19 10:24:16,317]         guimain.py:88    INFO      Kernel: 6.1.6-arch1-3
[2023-01-19 10:24:16,317]         guimain.py:89    INFO      Host: mareksurf
[2023-01-19 10:24:16,317]         guimain.py:90    INFO      Qt5: 5.15.7 (51507)
[2023-01-19 10:24:16,317]         guimain.py:91    INFO      PyQt5: 5.15.7 (51507)
[2023-01-19 10:24:16,317]         guimain.py:92    INFO      Python: 3.10.9 (0x30a09f0)
[2023-01-19 10:24:16,317]         guimain.py:93    INFO      GUI Language: en_GB
[2023-01-19 10:24:16,343]           theme.py:199   INFO      Loading GUI theme 'default_dark'
[2023-01-19 10:24:16,346]           theme.py:516   INFO      Loading icon theme 'typicons_dark'
[2023-01-19 10:24:16,348]           theme.py:549   DEBUG     Icon slot 'add' using file 'typ_plus.svg'
[2023-01-19 10:24:16,348]           theme.py:549   DEBUG     Icon slot 'backward' using file 'typ_chevron-left.svg'
[2023-01-19 10:24:16,348]           theme.py:549   DEBUG     Icon slot 'bookmark' using file 'typ_bookmark.svg'
[2023-01-19 10:24:16,348]           theme.py:549   DEBUG     Icon slot 'bullet-off' using file 'typ_media-record-outline.svg'
[2023-01-19 10:24:16,348]           theme.py:549   DEBUG     Icon slot 'bullet-on' using file 'typ_media-record.svg'
[2023-01-19 10:24:16,348]           theme.py:549   DEBUG     Icon slot 'checked' using file 'mixed_input-checked.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'close' using file 'typ_times.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_archive' using file 'typ_delete.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_character' using file 'typ_user.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_custom' using file 'typ_star.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_entity' using file 'typ_flag.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_none' using file 'typ_cancel.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_novel' using file 'typ_book.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_object' using file 'typ_key.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_plot' using file 'typ_puzzle.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_timeline' using file 'typ_calendar.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_trash' using file 'typ_trash.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cls_world' using file 'typ_location.svg'
[2023-01-19 10:24:16,349]           theme.py:549   DEBUG     Icon slot 'cross' using file 'typ_times.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'down' using file 'typ_chevron-down.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'edit' using file 'typ_pencil.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'forward' using file 'typ_chevron-right.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'maximise' using file 'typ_arrow-maximise.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'menu' using file 'typ_th-menu.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'minimise' using file 'typ_arrow-minimise.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'noncheckable' using file 'mixed_input-none.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'proj_chapter' using file 'mixed_document-chapter.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'proj_details' using file 'typ_th-list-grey.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'proj_document' using file 'typ_document-text.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'proj_folder' using file 'typ_folder.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'proj_note' using file 'mixed_document-note.svg'
[2023-01-19 10:24:16,350]           theme.py:549   DEBUG     Icon slot 'proj_scene' using file 'mixed_document-scene.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'proj_section' using file 'mixed_document-section.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'proj_stats' using file 'typ_chart-bar-grey.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'proj_title' using file 'mixed_document-title.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'reference' using file 'typ_at.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'refresh' using file 'typ_refresh.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'remove' using file 'typ_minus.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'search' using file 'typ_search.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'search_cancel' using file 'typ_cancel-grey.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'search_case' using file 'nw_search-case.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'search_loop' using file 'typ_arrow-repeat-grey.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'search_preserve' using file 'nw_search-preserve.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'search_project' using file 'typ_arrow-down-thick-grey.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'search_regex' using file 'nw_search-regex.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'search_replace' using file 'mixed_search-replace.svg'
[2023-01-19 10:24:16,351]           theme.py:549   DEBUG     Icon slot 'search_word' using file 'nw_search-word.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'settings' using file 'typ_cog.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'status_idle' using file 'typ_media-pause-grey.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'status_lang' using file 'typ_globe-grey.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'status_lines' using file 'typ_th-list-grey.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'status_stats' using file 'typ_chart-bar-grey.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'status_time' using file 'typ_stopwatch-grey.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'sticky-off' using file 'typ_pin-outline.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'sticky-on' using file 'typ_pin.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'unchecked' using file 'mixed_input-unchecked.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'up' using file 'typ_chevron-up.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'view_build' using file 'typ_export.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'view_editor' using file 'mixed_edit.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'view_novel' using file 'typ_book-grey.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'view_outline' using file 'typ_puzzle-outline.svg'
[2023-01-19 10:24:16,352]           theme.py:549   DEBUG     Icon slot 'deco_doc_h0' using file 'nw_deco-h0.svg'
[2023-01-19 10:24:16,353]           theme.py:549   DEBUG     Icon slot 'deco_doc_h1' using file 'nw_deco-h1.svg'
[2023-01-19 10:24:16,353]           theme.py:549   DEBUG     Icon slot 'deco_doc_h2' using file 'nw_deco-h2.svg'
[2023-01-19 10:24:16,353]           theme.py:549   DEBUG     Icon slot 'deco_doc_h3' using file 'nw_deco-h3.svg'
[2023-01-19 10:24:16,353]           theme.py:549   DEBUG     Icon slot 'deco_doc_h4' using file 'nw_deco-h4.svg'
[2023-01-19 10:24:16,353]           theme.py:549   DEBUG     Icon slot 'deco_doc_more' using file 'nw_deco-noveltree-more.svg'
[2023-01-19 10:24:16,353]           theme.py:554   DEBUG     Scanning theme icons
[2023-01-19 10:24:16,353]           theme.py:284   INFO      Loading syntax theme 'tomorrow_night'
[2023-01-19 10:24:16,356]           theme.py:140   DEBUG     GUI DPI: 192.0
[2023-01-19 10:24:16,356]           theme.py:141   DEBUG     GUI Scale: 2.00
[2023-01-19 10:24:16,360]           theme.py:158   DEBUG     GUI Font Family: Cantarell
[2023-01-19 10:24:16,360]           theme.py:159   DEBUG     GUI Font Point Size: 11.00
[2023-01-19 10:24:16,361]           theme.py:160   DEBUG     GUI Font Pixel Size: 36
[2023-01-19 10:24:16,361]           theme.py:161   DEBUG     GUI Base Icon Size: 29
[2023-01-19 10:24:16,361]           theme.py:162   DEBUG     Text 'N' Height: 36
[2023-01-19 10:24:16,361]           theme.py:163   DEBUG     Text 'N' Width: 18
[2023-01-19 10:24:16,374]       statusbar.py:47    DEBUG     Initialising GuiMainStatus ...
[2023-01-19 10:24:16,381]       statusbar.py:112   DEBUG     GuiMainStatus initialisation complete
[2023-01-19 10:24:16,381]           theme.py:682   DEBUG     Loading: typ_globe-grey.svg
[2023-01-19 10:24:16,381]           theme.py:682   DEBUG     Loading: typ_chart-bar-grey.svg
[2023-01-19 10:24:16,382]           theme.py:682   DEBUG     Loading: typ_stopwatch-grey.svg
[2023-01-19 10:24:16,382]           theme.py:682   DEBUG     Loading: typ_media-pause-grey.svg
[2023-01-19 10:24:16,389]        projtree.py:438   DEBUG     Initialising GuiProjectTree ...
[2023-01-19 10:24:16,393]        projtree.py:506   DEBUG     GuiProjectTree initialisation complete
[2023-01-19 10:24:16,393]        projtree.py:214   DEBUG     Initialising GuiProjectToolBar ...
[2023-01-19 10:24:16,398]           theme.py:682   DEBUG     Loading: typ_book.svg
[2023-01-19 10:24:16,399]           theme.py:682   DEBUG     Loading: typ_delete.svg
[2023-01-19 10:24:16,399]           theme.py:682   DEBUG     Loading: typ_puzzle.svg
[2023-01-19 10:24:16,400]           theme.py:682   DEBUG     Loading: typ_user.svg
[2023-01-19 10:24:16,400]           theme.py:682   DEBUG     Loading: typ_location.svg
[2023-01-19 10:24:16,400]           theme.py:682   DEBUG     Loading: typ_calendar.svg
[2023-01-19 10:24:16,401]           theme.py:682   DEBUG     Loading: typ_key.svg
[2023-01-19 10:24:16,401]           theme.py:682   DEBUG     Loading: typ_flag.svg
[2023-01-19 10:24:16,402]           theme.py:682   DEBUG     Loading: typ_star.svg
[2023-01-19 10:24:16,404]           theme.py:682   DEBUG     Loading: typ_bookmark.svg
[2023-01-19 10:24:16,405]           theme.py:682   DEBUG     Loading: typ_chevron-up.svg
[2023-01-19 10:24:16,405]           theme.py:682   DEBUG     Loading: typ_chevron-down.svg
[2023-01-19 10:24:16,405]           theme.py:682   DEBUG     Loading: typ_document-text.svg
[2023-01-19 10:24:16,406]           theme.py:682   DEBUG     Loading: mixed_document-chapter.svg
[2023-01-19 10:24:16,406]           theme.py:682   DEBUG     Loading: mixed_document-scene.svg
[2023-01-19 10:24:16,406]           theme.py:682   DEBUG     Loading: mixed_document-note.svg
[2023-01-19 10:24:16,407]           theme.py:682   DEBUG     Loading: typ_folder.svg
[2023-01-19 10:24:16,407]           theme.py:682   DEBUG     Loading: typ_plus.svg
[2023-01-19 10:24:16,408]           theme.py:682   DEBUG     Loading: typ_th-menu.svg
[2023-01-19 10:24:16,408]        projtree.py:380   DEBUG     Rebuilding quick links menu
[2023-01-19 10:24:16,409]        projtree.py:328   DEBUG     GuiProjectToolBar initialisation complete
[2023-01-19 10:24:16,411]       noveltree.py:373   DEBUG     Initialising GuiNovelTree ...
QPixmap::scaleHeight: Pixmap is a null pixmap
[2023-01-19 10:24:16,412]       noveltree.py:438   DEBUG     GuiNovelTree initialisation complete
[2023-01-19 10:24:16,412]       noveltree.py:190   DEBUG     Initialising GuiNovelToolBar ...
[2023-01-19 10:24:16,414]           theme.py:682   DEBUG     Loading: typ_refresh.svg
[2023-01-19 10:24:16,416]       noveltree.py:255   DEBUG     GuiNovelToolBar initialisation complete
[2023-01-19 10:24:16,417]       doceditor.py:81    DEBUG     Initialising GuiDocEditor ...
[2023-01-19 10:24:16,420]       doceditor.py:2657  DEBUG     Initialising GuiDocEditHeader ...
[2023-01-19 10:24:16,420]           theme.py:682   DEBUG     Loading: typ_pencil.svg
[2023-01-19 10:24:16,421]           theme.py:682   DEBUG     Loading: typ_search.svg
[2023-01-19 10:24:16,421]           theme.py:682   DEBUG     Loading: typ_arrow-maximise.svg
[2023-01-19 10:24:16,422]           theme.py:682   DEBUG     Loading: typ_times.svg
[2023-01-19 10:24:16,423]       doceditor.py:2743  DEBUG     GuiDocEditHeader initialisation complete
[2023-01-19 10:24:16,423]       doceditor.py:2893  DEBUG     Initialising GuiDocEditFooter ...
[2023-01-19 10:24:16,423]           theme.py:682   DEBUG     Loading: typ_th-list-grey.svg
[2023-01-19 10:24:16,424]       doceditor.py:2988  DEBUG     GuiDocEditFooter initialisation complete
[2023-01-19 10:24:16,424]       doceditor.py:2241  DEBUG     Initialising GuiDocEditSearch ...
[2023-01-19 10:24:16,430]           theme.py:682   DEBUG     Loading: nw_search-case.svg
[2023-01-19 10:24:16,430]           theme.py:682   DEBUG     Loading: nw_search-word.svg
[2023-01-19 10:24:16,430]           theme.py:682   DEBUG     Loading: nw_search-regex.svg
[2023-01-19 10:24:16,431]           theme.py:682   DEBUG     Loading: typ_arrow-repeat-grey.svg
[2023-01-19 10:24:16,431]           theme.py:682   DEBUG     Loading: typ_arrow-down-thick-grey.svg
[2023-01-19 10:24:16,431]           theme.py:682   DEBUG     Loading: nw_search-preserve.svg
[2023-01-19 10:24:16,432]           theme.py:682   DEBUG     Loading: typ_cancel-grey.svg
[2023-01-19 10:24:16,432]           theme.py:682   DEBUG     Loading: mixed_search-replace.svg
[2023-01-19 10:24:16,433]       doceditor.py:2386  DEBUG     GuiDocEditSearch initialisation complete
[2023-01-19 10:24:16,433]      spellcheck.py:46    DEBUG     Enchant spell checking activated
[2023-01-19 10:24:16,433]    dochighlight.py:52    DEBUG     Initialising GuiDocHighlighter ...
[2023-01-19 10:24:16,433]    dochighlight.py:88    DEBUG     Setting up highlighting rules
[2023-01-19 10:24:16,434]    dochighlight.py:80    DEBUG     GuiDocHighlighter initialisation complete
[2023-01-19 10:24:16,435]    dochighlight.py:88    DEBUG     Setting up highlighting rules
[2023-01-19 10:24:16,435]      spellcheck.py:84    ERROR     Failed to load enchant spell checking for language ''
[2023-01-19 10:24:16,436]       doceditor.py:770   DEBUG     Running spell checker
[2023-01-19 10:24:16,441]       doceditor.py:3027  DEBUG     No handle set, so clearing the editor footer
[2023-01-19 10:24:16,441]       doceditor.py:187   DEBUG     GuiDocEditor initialisation complete
[2023-01-19 10:24:16,441]       docviewer.py:1149  DEBUG     Initialising GuiDocViewDetails ...
[2023-01-19 10:24:16,442]       docviewer.py:1179  DEBUG     GuiDocViewDetails initialisation complete
[2023-01-19 10:24:16,443]       docviewer.py:59    DEBUG     Initialising GuiDocViewer ...
[2023-01-19 10:24:16,443]       docviewer.py:687   DEBUG     Initialising GuiDocViewHeader ...
[2023-01-19 10:24:16,444]           theme.py:682   DEBUG     Loading: typ_chevron-left.svg
[2023-01-19 10:24:16,444]           theme.py:682   DEBUG     Loading: typ_chevron-right.svg
[2023-01-19 10:24:16,445]       docviewer.py:775   DEBUG     GuiDocViewHeader initialisation complete
[2023-01-19 10:24:16,446]       docviewer.py:905   DEBUG     Initialising GuiDocViewFooter ...
[2023-01-19 10:24:16,446]           theme.py:682   DEBUG     Loading: typ_pin.svg
[2023-01-19 10:24:16,447]           theme.py:682   DEBUG     Loading: typ_pin-outline.svg
[2023-01-19 10:24:16,447]           theme.py:682   DEBUG     Loading: typ_media-record.svg
[2023-01-19 10:24:16,447]           theme.py:682   DEBUG     Loading: typ_media-record-outline.svg
[2023-01-19 10:24:16,448]           theme.py:682   DEBUG     Loading: typ_at.svg
[2023-01-19 10:24:16,449]       docviewer.py:1033  DEBUG     GuiDocViewFooter initialisation complete
[2023-01-19 10:24:16,449]       docviewer.py:92    DEBUG     GuiDocViewer initialisation complete
[2023-01-19 10:24:16,449]     itemdetails.py:43    DEBUG     Initialising GuiItemDetails ...
[2023-01-19 10:24:16,450]     itemdetails.py:186   DEBUG     GuiItemDetails initialisation complete
[2023-01-19 10:24:16,450]         outline.py:374   DEBUG     Initialising GuiOutlineTree ...
[2023-01-19 10:24:16,451]           theme.py:682   DEBUG     Loading: mixed_document-title.svg
[2023-01-19 10:24:16,451]           theme.py:682   DEBUG     Loading: mixed_document-section.svg
[2023-01-19 10:24:16,452]         outline.py:429   DEBUG     GuiOutlineTree initialisation complete
[2023-01-19 10:24:16,452]         outline.py:802   DEBUG     Initialising GuiOutlineDetails ...
[2023-01-19 10:24:16,457]         outline.py:989   DEBUG     GuiOutlineDetails initialisation complete
[2023-01-19 10:24:16,457]         outline.py:216   DEBUG     Initialising GuiOutlineToolBar ...
[2023-01-19 10:24:16,459]         outline.py:265   DEBUG     GuiOutlineToolBar initialisation complete
[2023-01-19 10:24:16,460]        mainmenu.py:52    DEBUG     Initialising GuiMainMenu ...
[2023-01-19 10:24:16,464]        mainmenu.py:73    DEBUG     GuiMainMenu initialisation complete
[2023-01-19 10:24:16,464]         sidebar.py:46    DEBUG     Initialising GuiSideBar ...
[2023-01-19 10:24:16,465]           theme.py:682   DEBUG     Loading: mixed_edit.svg
[2023-01-19 10:24:16,465]           theme.py:682   DEBUG     Loading: typ_book-grey.svg
[2023-01-19 10:24:16,466]           theme.py:682   DEBUG     Loading: typ_puzzle-outline.svg
[2023-01-19 10:24:16,466]           theme.py:682   DEBUG     Loading: typ_export.svg
[2023-01-19 10:24:16,466]           theme.py:682   DEBUG     Loading: typ_th-list-grey.svg
[2023-01-19 10:24:16,467]           theme.py:682   DEBUG     Loading: typ_chart-bar-grey.svg
[2023-01-19 10:24:16,467]           theme.py:682   DEBUG     Loading: typ_cog.svg
[2023-01-19 10:24:16,467]         sidebar.py:126   DEBUG     GuiSideBar initialisation complete
[2023-01-19 10:24:16,472]        projtree.py:1021  DEBUG     Building the project tree ...
[2023-01-19 10:24:16,472]        projtree.py:1029  DEBUG     0 item(s) added to the project tree
[2023-01-19 10:24:16,521]         guimain.py:301   DEBUG     GUI initialisation complete
[2023-01-19 10:24:16,521]         guimain.py:310   INFO      novelWriter is ready ...
[2023-01-19 10:24:16,521]        projload.py:59    DEBUG     Initialising GuiProjectLoad ...
[2023-01-19 10:24:16,529]        projload.py:149   DEBUG     GuiProjectLoad initialisation complete
[2023-01-19 10:24:19,677]         project.py:259   INFO      Opening project: /home/mareklachbc/Documents/The Understanding
[2023-01-19 10:24:19,677]         project.py:277   DEBUG     Project is not locked
[2023-01-19 10:24:19,678]      projectxml.py:163   DEBUG     Reading project XML
[2023-01-19 10:24:19,678]      projectxml.py:201   DEBUG     XML is 'novelWriterXML' version '1.5'
[2023-01-19 10:24:19,679]      projectxml.py:236   DEBUG     Parsing <project> section
[2023-01-19 10:24:19,679]      projectxml.py:268   DEBUG     Parsing <settings> section
[2023-01-19 10:24:19,680]      projectxml.py:314   DEBUG     Parsing <content> section
[2023-01-19 10:24:19,680]      projectxml.py:225   DEBUG     Project XML loaded in 2.386 ms
[2023-01-19 10:24:19,680]            tree.py:89    DEBUG     Adding item 'f982cbbd28418' with parent 'None'
[2023-01-19 10:24:19,680]            tree.py:95    DEBUG     Item 'f982cbbd28418' is a root item
[2023-01-19 10:24:19,680]            tree.py:89    DEBUG     Adding item 'be71bf66239e9' with parent 'f982cbbd28418'
[2023-01-19 10:24:19,681]            tree.py:89    DEBUG     Adding item '7ff67276a840f' with parent 'f982cbbd28418'
[2023-01-19 10:24:19,681]            tree.py:89    DEBUG     Adding item 'ed2893d7f1dc4' with parent '7ff67276a840f'
[2023-01-19 10:24:19,681]            tree.py:89    DEBUG     Adding item 'f449dd4e60a1d' with parent 'None'
[2023-01-19 10:24:19,681]            tree.py:95    DEBUG     Item 'f449dd4e60a1d' is a root item
[2023-01-19 10:24:19,681]            tree.py:89    DEBUG     Adding item '64c993ab79c13' with parent 'None'
[2023-01-19 10:24:19,681]            tree.py:95    DEBUG     Item '64c993ab79c13' is a root item
[2023-01-19 10:24:19,681]            tree.py:89    DEBUG     Adding item 'f1dabaf35438c' with parent 'None'
[2023-01-19 10:24:19,681]            tree.py:95    DEBUG     Item 'f1dabaf35438c' is a root item
[2023-01-19 10:24:19,681]            tree.py:89    DEBUG     Adding item 'b8cdce3d8f948' with parent 'None'
[2023-01-19 10:24:19,681]            tree.py:95    DEBUG     Item 'b8cdce3d8f948' is a root item
[2023-01-19 10:24:19,681]            tree.py:98    DEBUG     Item 'b8cdce3d8f948' is the archive folder
[2023-01-19 10:24:19,682]         options.py:86    DEBUG     Loading GUI options file
[2023-01-19 10:24:19,682]         project.py:362   DEBUG     Checking item 'f982cbbd28418'
[2023-01-19 10:24:19,682]         project.py:362   DEBUG     Checking item 'be71bf66239e9'
[2023-01-19 10:24:19,682]         project.py:362   DEBUG     Checking item '7ff67276a840f'
[2023-01-19 10:24:19,682]         project.py:362   DEBUG     Checking item 'ed2893d7f1dc4'
[2023-01-19 10:24:19,682]         project.py:362   DEBUG     Checking item 'f449dd4e60a1d'
[2023-01-19 10:24:19,682]         project.py:362   DEBUG     Checking item '64c993ab79c13'
[2023-01-19 10:24:19,682]         project.py:362   DEBUG     Checking item 'f1dabaf35438c'
[2023-01-19 10:24:19,683]         project.py:362   DEBUG     Checking item 'b8cdce3d8f948'
[2023-01-19 10:24:19,683]         project.py:711   DEBUG     Checking files in project content folder
[2023-01-19 10:24:19,683]         project.py:731   DEBUG     Checking file be71bf66239e9.nwd, handle 'be71bf66239e9': OK
[2023-01-19 10:24:19,683]         project.py:731   DEBUG     Checking file 7ff67276a840f.nwd, handle '7ff67276a840f': OK
[2023-01-19 10:24:19,683]         project.py:731   DEBUG     Checking file ed2893d7f1dc4.nwd, handle 'ed2893d7f1dc4': OK
[2023-01-19 10:24:19,683]         project.py:742   DEBUG     File check OK
[2023-01-19 10:24:19,683]           index.py:166   DEBUG     Loading index file
[2023-01-19 10:24:19,683]           index.py:185   DEBUG     Checking index
[2023-01-19 10:24:19,683]           index.py:195   DEBUG     Index loaded in 0.427 ms
[2023-01-19 10:24:19,684]        projtree.py:1021  DEBUG     Building the project tree ...
[2023-01-19 10:24:19,684]           theme.py:682   DEBUG     Loading: mixed_input-none.svg
[2023-01-19 10:24:19,685]           theme.py:682   DEBUG     Loading: mixed_input-checked.svg
[2023-01-19 10:24:19,686]        projtree.py:1029  DEBUG     8 item(s) added to the project tree
[2023-01-19 10:24:19,686]      spellcheck.py:84    ERROR     Failed to load enchant spell checking for language ''
[2023-01-19 10:24:19,686]       doceditor.py:770   DEBUG     Running spell checker
[2023-01-19 10:24:19,686]       doceditor.py:770   DEBUG     Running spell checker
[2023-01-19 10:24:19,686]       doceditor.py:760   DEBUG     Spell check is set to 'False'
[2023-01-19 10:24:19,686]        projtree.py:380   DEBUG     Rebuilding quick links menu
[2023-01-19 10:24:19,687]       noveltree.py:124   DEBUG     Setting novel tree to root item 'f982cbbd28418'
[2023-01-19 10:24:19,687]       noveltree.py:547   DEBUG     Changing last column to HIDDEN
[2023-01-19 10:24:19,687]       noveltree.py:488   DEBUG     Requesting refresh of the novel tree
[2023-01-19 10:24:19,687]       noveltree.py:675   DEBUG     Building novel tree for root item 'f982cbbd28418'
QPixmap::scaleHeight: Pixmap is a null pixmap
QPixmap::scaleHeight: Pixmap is a null pixmap
QPixmap::scaleHeight: Pixmap is a null pixmap
QPixmap::scaleHeight: Pixmap is a null pixmap
QPixmap::scaleHeight: Pixmap is a null pixmap
[2023-01-19 10:24:19,689]       noveltree.py:575   DEBUG     Highlighted Novel Tree in 0.089 ms
[2023-01-19 10:24:19,689]       noveltree.py:694   DEBUG     Novel Tree built in 2.254 ms
[2023-01-19 10:24:19,690]         outline.py:138   DEBUG     Setting outline tree to root item 'None'
[2023-01-19 10:24:19,690]       doceditor.py:3027  DEBUG     No handle set, so clearing the editor footer
[2023-01-19 10:24:19,690]        document.py:91    DEBUG     Opening document: be71bf66239e9.nwd
[2023-01-19 10:24:19,708]       doceditor.py:397   DEBUG     Document highlighted in 8.446 ms
[2023-01-19 10:24:19,728]       noveltree.py:575   DEBUG     Highlighted Novel Tree in 0.275 ms
[2023-01-19 10:24:19,736]         guimain.py:562   DEBUG     Project load complete
[2023-01-19 10:24:24,458]       doceditor.py:1293  DEBUG     Running word counter
[2023-01-19 10:24:24,459]       doceditor.py:1305  DEBUG     Updating word count
[2023-01-19 10:24:29,397]       doceditor.py:1293  DEBUG     Running word counter
[2023-01-19 10:24:29,398]       doceditor.py:1305  DEBUG     Updating word count
[2023-01-19 10:24:34,397]       doceditor.py:1293  DEBUG     Running word counter
[2023-01-19 10:24:34,398]       doceditor.py:1305  DEBUG     Updating word count
[2023-01-19 10:24:39,397]       doceditor.py:1293  DEBUG     Running word counter
[2023-01-19 10:24:39,397]       doceditor.py:1305  DEBUG     Updating word count
[2023-01-19 10:24:44,397]       doceditor.py:1293  DEBUG     Running word counter
[2023-01-19 10:24:44,398]       doceditor.py:1305  DEBUG     Updating word count

As for the version I am currently running, it's 2.0.3

@vkbo
Copy link
Owner

vkbo commented Jan 19, 2023

Hmm, QPixmap::scaleHeight: Pixmap is a null pixmap gives a clue that something is not loading right on the Qt side. I'm guessing that particular line is the graphics that indicate heading level in the Novel tree not loading.

Aside from this, it looks like all the logic for loading icons on the Python side is there, and doing what it's supposed to. Also, the fix applied in the other thread where you were adding comments is included as you're running 2.0.3.

That leaves the possibility that there is something missing in the Qt library related to SVG icons. It seems you are loading icons, but they are not processed into pixmaps (the null pixmap error), so all you get is blank icons with the correct dimensions. Qt ships the SVG library as a separate unit. I think there are some licensing issues there or something ... can't quite remember.

How did you install novelWriter, and are you loading native Qt libraries, or installing them via pip?

@marek-lach
Copy link
Author

Hmm, QPixmap::scaleHeight: Pixmap is a null pixmap gives a clue that something is not loading right on the Qt side. I'm guessing that particular line is the graphics that indicate heading level in the Novel tree not loading.

Aside from this, it looks like all the logic for loading icons on the Python side is there, and doing what it's supposed to. Also, the fix applied in the other thread where you were adding comments is included as you're running 2.0.3.

That leaves the possibility that there is something missing in the Qt library related to SVG icons. It seems you are loading icons, but they are not processed into pixmaps (the null pixmap error), so all you get is blank icons with the correct dimensions. Qt ships the SVG library as a separate unit. I think there are some licensing issues there or something ... can't quite remember.

How did you install novelWriter, and are you loading native Qt libraries, or installing them via pip?

Not pip, running natively under Arch Linux. I have checked the build requirements according to https://github.com/vkbo/novelWriter/blob/main/requirements.txt and all are installed.

@vkbo
Copy link
Owner

vkbo commented Jan 21, 2023

Sorry for the late reply. I've been at a conference and travelled back yesterday.

The requirements in the requirements file are the pip requirements. On pip, PyQt5 is complete. However, Qt5 consists of multiple components and libraries, and is not bundled into a single package on most distros. I know SVG is a separate linking when building with C++, and it may not be automatically installed on Arch when the rest is. For instance, on Debian it's a package called python3-pyqt5.qtsvg for PyQt5, but it is installed automatically as a secondary dependency.

@marek-lach
Copy link
Author

Sorry for the late reply. I've been at a conference and travelled back yesterday.

That's totally fine, this is just a side project after all, if an awesome one. Hope all went reasonably well at the conference.

The requirements in the requirements file are the pip requirements. On pip, PyQt5 is complete. However, Qt5 consists of multiple components and libraries, and is not bundled into a single package on most distros. I know SVG is a separate linking when building with C++, and it may not be automatically installed on Arch when the rest is. For instance, on Debian it's a package called python3-pyqt5.qtsvg for PyQt5, but it is installed automatically as a secondary dependency.

Thank you for your patience, and above all, the very clear explanation. I have managed to find the dependency, it's a separate package called qt5-svg in Arch Linux that solves this issue. I'll notify the maintainer to update this as needed.

@vkbo
Copy link
Owner

vkbo commented Jan 21, 2023

It's good to get these things figured out. I'll make a note of this in the documentation as well.

vkbo added a commit that referenced this issue Jan 21, 2023
Signed-off-by: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com>
vkbo added a commit that referenced this issue Jan 21, 2023
Signed-off-by: Veronica Berglyd Olsen <1619840+vkbo@users.noreply.github.com>
@vkbo vkbo closed this as not planned Won't fix, can't repro, duplicate, stale Feb 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Request: New feature or improvement usability Issue: Could do with some improvement
Projects
None yet
Development

No branches or pull requests

2 participants