Open in3otd opened 6 years ago
I think the subject/title is better than just file names.
Right now the UI just looks for *.pdf and add them as actions. If qucs-doc somehow produced a file with key value pairs containing the path:subject info the UI could read this file at runtime and set the labels for the actions. Perhaps LaTex can be used get such file during compilation (avoiding external dependencies)?
What about we removing all the individual entries? Each of the top menu action links only to a master PDF. It opens landing page with a short description and hyperlinks to each sub PDF?
FYI, PoDoFo and poppler are available for OS X. 😄
The Qucs help menu has always shown just the file name for the PDF help files; I thought it would be nice to actually show the file Subject, extracted from the PDF file metadata.
That means instead of a screen like this:
the user will get this:
I'm not sure which is the best way to implement this; currently the list of available help PDF files is created every time the application is started (see code here). Keeping the same approach and extracting the Subject metadata at run time requires using an external library like PoDoFo, which is what I used for the screenshot above. The problem is that PoDoFo uses exceptions while we have them disabled in the code, so it would require to enable them and honestly I don't know if that makes sense. Other libraries could work but I was not able to find one surely compatible with the GPLv2+ license we use; e.g. , the well-known poppler is derived from Xpdf, which is licensed under GPLv2 or GPLv3 only, explicitly excluding ""any later version" (but poppler itself it's said to be under GPLv2+ ??). Moreover it's not clear if it's available for OS X.
It will be much easier to create a static list of help documents at compile time using an external application like
pdfinfo
, this will also allow to decide in which order show the files: e.g. the Getting Started with Qucs tutorial is currently in the middle of the list, while it should better be place as first in the list.All this just to ask: