Qucs / qucs

Qucs Project official mirror
http://qucs.sourceforge.net/
GNU General Public License v2.0
1.15k stars 212 forks source link

Show PDF Subject instead of file name in help? #748

Open in3otd opened 6 years ago

in3otd commented 6 years ago

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:

qucspdfnames

the user will get this:

qucspdfsubject

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:

guitorri commented 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. 😄