Feed Advanced Search

Oct 20 2017

kfunk added a comment to D8211: KDevelop/Documentation : implementation of a QTextBrowser-based viewer.
In D8211#157208, @rjvbb wrote:
Then with newer doxygen version the default CSS results in unreadable titles e.g. on method sections. Which makes the docs rather unusable.

Then please post screenshots because I don't see any of that.

Sorry, my bad here in uploading an old QCH file which missed half of the meat, i.e. did not have subclass information (thus missing all the "* inherited from" sections which are the biggest pain).
Please download and try again, newer version has been uploaded to same place.

And preview here what I mean (left Qt Assistant with QTB, right KDevelop with QWE):

Sections cannot be toggled, are open/closed randomly after loading (no pattern seen over the time):

{F5439139}

Method titles are partially hidden, tags like virtual,visibility,abstract hard to read due to missing spacing ()

I had tried to use Qt Assistant (so QTB) with that a few weeks, but it was a pain. It is better than nothing as one can draw some info out of the docs, but it is not a joyful experience, so I often escaped to the online docs when I had network. Until I fixed the embedded documentation viewer to wok as I need it (still need to clean-up and push the rest of it, only merged the bit for the search so far).

So as documentation power-user my strong feedback is: QTB sucks at least for doxygen-created documentation material.

The contextual help popups already use QTB, do you see any issues with those?

That is not really related, due to not being affected by JavaScript and CSS, unless the extraction done by IDocumentation::description() implementations pulls out too much non-content stuff.

The screenshot of the ECM docs linked above shows that content is rendered, indeed. But really, does it qualify as "fine"? Please take another look and even more try to make use of the document during development.

It's more than good enough for me - if I use the embedded doc toolview. By now it should be clear that I don't, most of the time, but instead send the links to open to a remote-controlled Assistant copy.

Reads to me like "it is good enough for me because I do not use it (and thus do not care but you are invited to collaborate)". This approach is not really "collaborative", or?

So again, why this work? To me it seems you want to build KDevelop without QWebEngine or QWebKit, and also only use external documentation viewers, no embedded ones. Which is fine in itself, I see no issue with supporting that as option.
But then the approach in this patch is only an indirect solution to achieve your goal, while making life of those more complicated who want to maintain and develop the embedded documentation viewer further.
And as someone who has some WIP to improve the current embedded documentation viewer (e.g. with bookmarks or multiple views), I really am not happy about having in the future also to care for another code variant, which itself might not really be used by many.

Let's read now again the reasoning for this patch :
"I've long thought it overkill to embed an almost full-fledged webbrowser inside KDevelop just for browsing Qt help (and even more so for the simpler CMake docs and man pages)."
This seems flawed to me. Software is developed to serve a purpose. one collects requirements, then gets out to find a solution, ideally be reusing existing products.
But here the rationale is some "thinking", without numbers to prove some "overkill". And by listing simply a few examples which are claimed to fit that "thinking". No detailed analysis given.
Purpose of this patch seems: get rid of some dependency.

"Qt's Assistant uses QtTextBrowser by default; "
Build system says something else: http://code.qt.io/cgit/qt/qttools.git/tree/src/assistant/assistant/assistant.pro uses QtWebKit is present, only if not falls back to QTextBrowser

"As far as I can tell it works more than well enough to peruse the documentation the way I would in an embedded viewer. The layout is somewhat simpler, more in line with use in an embedded viewer; I find it distracts less from the source."
If the layout is simpler, this is not by design but only by accidentally unsupported CSS features. Which means the layout is not completely designed and thus might be broken, lhard to read and look shitty. Also why should the same documentation content look more complex in a stand-alone viewer app? This does not make sense to me, I expect content to be simple to parse in both cases.

"I would suggest to make [using QTextBrowser] the default mode since it doesn't require extra dependencies, and focus on adding proper support for opening links in an external browser of choice at least for the QtHelp documentation."
The default mode means, the recommended mode for everyone. QWebEngine and/or QWebKit are available on most platforms and usually already installed (linux-centric thinking, but then closed source platforms are second class). QTextBrowser as default mode also means reduced and for some documentation broken functionality, so not a proper default. Runtime costs have yet to be measured, so the price is unknown. So "[being] extra dependencies" is only interesting for niche operating systems or custom development setups and should not dominate.
And making something default where parts of the work ("proper support for opening links in an external browser") are yet to be solved is premature.

KDevelop is by definition a "feature-full, plugin extensible IDE for C/C++ and many other programming languages.". So there could be lots of documentation material besides the "simpler CMake docs and man pages" and which might need more than QTB can support. Even QCH files, given there is no real specification, can in theory contain full HTML5-powered webpages with interactive WebGL examples. (There is a reason why Qt Assistant/Qt Creator had QtWebKit as default implementation for documentation viewer when available, until that came deprecated as module itself).

IMHO either there is a proper embedded documentation viewer or documentation viewing is delegated completely to external applications, But having a crippled embedded documentation viewer by design does not serve a real purpose. KDevPlatform is built on the idea of plugins with interfaces.

Oct 20 2017, 7:57 AM · KDevelop

Oct 16 2017

kfunk requested changes to D4484: optional external viewer support (based on Qt Assistant) in the QtHelp plugin.

Sorry, didn't intend to mark this as accepted (yet).

Oct 16 2017, 9:13 AM · KDevelop
kfunk accepted D4484: optional external viewer support (based on Qt Assistant) in the QtHelp plugin.
Oct 16 2017, 9:13 AM · KDevelop
kfunk committed R39:68d42865076e: Fix deprecation warning (authored by kfunk).
Fix deprecation warning
Oct 16 2017, 6:33 AM
kfunk closed D8314: Fix deprecation warning.
Oct 16 2017, 6:33 AM · Frameworks, Kate
kfunk committed R279:265b9f9f3120: CMake cleanup: Don't hardcode -std=c++0x (authored by kfunk).
CMake cleanup: Don't hardcode -std=c++0x
Oct 16 2017, 6:30 AM
kfunk closed D8315: CMake cleanup: Don't hardcode -std=c++0x.
Oct 16 2017, 6:30 AM · Frameworks

Oct 15 2017

kfunk requested changes to D4484: optional external viewer support (based on Qt Assistant) in the QtHelp plugin.

Just a quick review.

Oct 15 2017, 8:40 PM · KDevelop
kfunk committed R858:146e37070493: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:38 PM
kfunk committed R293:21c8c329f561: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:34 PM
kfunk committed R291:b5bee57792bc: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:33 PM
kfunk committed R252:e14cd2757a1a: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:33 PM
kfunk committed R315:1ecd03563247: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:32 PM
kfunk committed R300:60b5e053a17a: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:32 PM
kfunk committed R307:e4cb19bbb1dd: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:32 PM
kfunk committed R272:0e3d3646991a: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:32 PM
kfunk committed R298:f838489f5b40: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:32 PM
kfunk committed R268:c9aa3ee8df91: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:31 PM
kfunk committed R302:61ef23385a93: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:31 PM
kfunk committed R317:7640cd53468d: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:31 PM
kfunk committed R292:77e8079c0262: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:31 PM
kfunk committed R281:13db67bfa1e5: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:30 PM
kfunk committed R297:41072cf84178: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:30 PM
kfunk committed R305:a9ca186b88c6: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:30 PM
kfunk committed R273:0df53e0cd7bf: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:30 PM
kfunk committed R310:79bab4f37d1b: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:30 PM
kfunk committed R313:f8d50a0c6659: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:29 PM
kfunk committed R276:54fd6f366b98: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:29 PM
kfunk committed R267:3ac35b767380: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:29 PM
kfunk committed R159:2625ab65d527: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:29 PM
kfunk committed R299:73030f26b9b8: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:28 PM
kfunk committed R245:61fba20c8556: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:28 PM
kfunk committed R301:6f762e966c0e: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:28 PM
kfunk committed R294:a783e1cdadce: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:28 PM
kfunk committed R287:bfc02ddfe3ed: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:28 PM
kfunk committed R271:3066a17d3c44: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:27 PM
kfunk committed R279:89a25f847fdc: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:27 PM
kfunk committed R286:3f84b959ab00: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:27 PM
kfunk committed R239:4fdbc504331f: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:27 PM
kfunk committed R314:04031af25936: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:26 PM
kfunk committed R316:361cf439a554: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:26 PM
kfunk committed R296:f9b02caf1c24: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:26 PM
kfunk committed R238:b64ec51874ab: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:26 PM
kfunk committed R277:3aa4344d9fa3: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:25 PM
kfunk committed R280:15f4186b7656: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 15 2017, 6:25 PM
kfunk created D8315: CMake cleanup: Don't hardcode -std=c++0x.
Oct 15 2017, 6:18 PM · Frameworks
kfunk created D8314: Fix deprecation warning.
Oct 15 2017, 6:18 PM · Frameworks, Kate
kfunk committed R138:4a8e7cf29764: Revert "craft-core: We still need the empty fetch() here" (authored by kfunk).
Revert "craft-core: We still need the empty fetch() here"
Oct 15 2017, 5:46 PM
kfunk added a reverting change for R138:2cb108ec49b9: craft-core: We still need the empty fetch() here: R138:4a8e7cf29764: Revert "craft-core: We still need the empty fetch() here".
Oct 15 2017, 5:46 PM
kfunk committed R138:2cb108ec49b9: craft-core: We still need the empty fetch() here (authored by kfunk).
craft-core: We still need the empty fetch() here
Oct 15 2017, 5:29 PM
kfunk committed R334:8b1b969afc9d: Port finite() -> std::isfinite() (authored by kfunk).
Port finite() -> std::isfinite()
Oct 15 2017, 5:01 PM
kfunk closed D8233: Port finite() -> std::isfinite().
Oct 15 2017, 5:01 PM · KDE Edu
kfunk committed R871:fc06541c6cd1: CMake: Announce dep on X11Extras in FeatureSummary (authored by kfunk).
CMake: Announce dep on X11Extras in FeatureSummary
Oct 15 2017, 4:59 PM
kfunk committed R871:c50470387510: Make Qt5::X11Extras really optional (authored by kfunk).
Make Qt5::X11Extras really optional
Oct 15 2017, 4:53 PM
kfunk closed D8307: Make Qt5::X11Extras really optional.
Oct 15 2017, 4:53 PM · Plasma
kfunk committed R871:c8dbb830aace: macOS: Don't create bundles for test executables (authored by kfunk).
macOS: Don't create bundles for test executables
Oct 15 2017, 4:51 PM
kfunk closed D8308: macOS: Don't create bundles for test executables.
Oct 15 2017, 4:51 PM · Plasma
kfunk added inline comments to D8308: macOS: Don't create bundles for test executables.
Oct 15 2017, 4:51 PM · Plasma
kfunk closed D7975: Don't depend on kde: Git prefix being around.
Oct 15 2017, 4:49 PM
kfunk committed R138:daa0a38f2995: craft-core: Don't setup Git kde: prefix (authored by kfunk).
craft-core: Don't setup Git kde: prefix
Oct 15 2017, 4:49 PM
kfunk closed D8099: craft-core: Don't setup Git kde: prefix.
Oct 15 2017, 4:49 PM
kfunk committed R871:abb6999b736b: Modernize: Use nullptr where possible (authored by kfunk).
Modernize: Use nullptr where possible
Oct 15 2017, 4:45 PM
kfunk closed D8309: Modernize: Use nullptr where possible.
Oct 15 2017, 4:45 PM · Plasma
kfunk added inline comments to D8309: Modernize: Use nullptr where possible.
Oct 15 2017, 4:44 PM · Plasma
kfunk added a comment to D8233: Port finite() -> std::isfinite().

@anthonyfieroni I'd just like to port this to the standard std::isfinite function, no other changes intended.

Oct 15 2017, 12:32 PM · KDE Edu
kfunk added a reviewer for D8307: Make Qt5::X11Extras really optional: sitter.
Oct 15 2017, 12:28 PM · Plasma
kfunk added a reviewer for D8308: macOS: Don't create bundles for test executables: sitter.
Oct 15 2017, 12:28 PM · Plasma
kfunk added a reviewer for D8309: Modernize: Use nullptr where possible: sitter.
Oct 15 2017, 12:27 PM · Plasma
kfunk created D8309: Modernize: Use nullptr where possible.
Oct 15 2017, 12:25 PM · Plasma
kfunk added a reviewer for D8307: Make Qt5::X11Extras really optional: rjvbb.
Oct 15 2017, 12:20 PM · Plasma
kfunk added a reviewer for D8308: macOS: Don't create bundles for test executables: rjvbb.
Oct 15 2017, 12:20 PM · Plasma
kfunk created D8308: macOS: Don't create bundles for test executables.
Oct 15 2017, 12:20 PM · Plasma
kfunk created D8307: Make Qt5::X11Extras really optional.
Oct 15 2017, 12:19 PM · Plasma
kfunk added a comment to D8296: Use Ctrl+Shift+, as the standard shortcut for "Configure <Program>".

In KDevelop, this is also a really important shortcut for navigating through the source. Ctrl+, for jumping to definition, Ctrl+. for jumping to declaration. /me wonders if one really needs a shortcut for configuring shortcuts at all.

Oct 15 2017, 8:52 AM · Frameworks
kfunk committed R32:73bdee5bd4f3: Merge remote-tracking branch 'origin/5.2' (authored by kfunk).
Merge remote-tracking branch 'origin/5.2'
Oct 15 2017, 8:49 AM
kfunk committed R32:6d5bdbba0a04: Work-around possible compiler bug in GCC 4.8.x (authored by kfunk).
Work-around possible compiler bug in GCC 4.8.x
Oct 15 2017, 8:28 AM
kfunk committed R32:eb337c4734b7: Remove qtcompat_p.h from kdevelop/ (authored by kfunk).
Remove qtcompat_p.h from kdevelop/
Oct 15 2017, 8:22 AM
kfunk committed R32:2899c6a39a37: config-kdevplatform.h: Add header guards (authored by kfunk).
config-kdevplatform.h: Add header guards
Oct 15 2017, 8:22 AM

Oct 13 2017

kfunk reopened D8199: Allow abortion of starting another NativeAppJob.

Uh, what the hell happened here... My commit accidentally overwrote & closed this Diff.

Oct 13 2017, 8:28 AM
kfunk committed R32:173964fbdd5d: Revert "Don't set up DocumentationViews when shutting down" (authored by kfunk).
Revert "Don't set up DocumentationViews when shutting down"
Oct 13 2017, 8:19 AM
kfunk added a reverting change for R32:4b4806d02ad0: Don't set up DocumentationViews when shutting down: R32:173964fbdd5d: Revert "Don't set up DocumentationViews when shutting down".
Oct 13 2017, 8:19 AM
kfunk closed D8199: Allow abortion of starting another NativeAppJob.
Oct 13 2017, 8:19 AM

Oct 12 2017

kfunk added a comment to D7851: Update Signals&Slots of Addons.

Maybe it would be more readable with qOverload instead of static_cast? Although, that requires C++14...

Oct 12 2017, 4:05 PM · Kate
kfunk accepted D8264: Fix build of breeze-icons on the Android CI.

That comment could be a bit more verbose and better placed (i.e. move it next to set(BINARY_ICONS_RESOURCE_OPTION_DEFAULT OFF) and make it something along "When cross-compiling qrcAlias would be compiled against Embedded Qt, thus disable ... -- TODO: should compile ..."

Oct 12 2017, 3:37 PM · Frameworks, Plasma
kfunk requested changes to D8264: Fix build of breeze-icons on the Android CI.
Oct 12 2017, 1:47 PM · Frameworks, Plasma

Oct 11 2017

kfunk committed R32:98510c887455: [meson branch] Fix undefined reference linker error (authored by kfunk).
[meson branch] Fix undefined reference linker error
Oct 11 2017, 8:16 PM
kfunk closed D8253: [meson branch] Fix undefined reference linker error.
Oct 11 2017, 8:16 PM
kfunk accepted D8253: [meson branch] Fix undefined reference linker error.
Oct 11 2017, 8:16 PM
kfunk committed R32:c3550b58145c: Merge remote-tracking branch 'origin/5.2' (authored by kfunk).
Merge remote-tracking branch 'origin/5.2'
Oct 11 2017, 8:14 PM

Oct 10 2017

kfunk updated the diff for D8233: Port finite() -> std::isfinite().

Remove all the work-arounds for isnan/isinf -- no longer needed iiuc

Oct 10 2017, 9:40 AM · KDE Edu
kfunk added a reviewer for D8233: Port finite() -> std::isfinite(): sandroandrade.
Oct 10 2017, 9:37 AM · KDE Edu
kfunk created D8233: Port finite() -> std::isfinite().
Oct 10 2017, 9:36 AM · KDE Edu
kfunk committed R334:39689aea9628: Add .arcconfig (authored by kfunk).
Add .arcconfig
Oct 10 2017, 9:36 AM

Oct 9 2017

kfunk accepted D8215: Added support for STRINGS property in CMake cache editor.

Now if someone is willing to refactor this code to use a) enums instead of magic numbers, b) QAbstractItemModel instead of QStandardItemModel that'd be great!

Oct 9 2017, 4:19 PM
kfunk committed R32:e2a1d1f638e4: app: Use kdevelop_version.h from ECM (authored by kfunk).
app: Use kdevelop_version.h from ECM
Oct 9 2017, 4:17 PM
kfunk added a comment to D8215: Added support for STRINGS property in CMake cache editor.

So in general I think this code looks good (apart from the bit of code duplication for handling "STRINGS" in cmakecachemodel.cpp). But it'd need to be refactored afterwards...

Oct 9 2017, 3:31 PM
kfunk added a comment to D8215: Added support for STRINGS property in CMake cache editor.

Do I understand correctly that all those columns are just here for storing data? They're not shown in the end.

Oct 9 2017, 3:29 PM
kfunk added a comment to D3673: Outline: Sorted function list.

Hi guys, I propose that we disable the sorting again, because it breaks the local browsing by keyboard usecase, i.e. you're in a function, you press CTRL+ALT+N, the current function is selected and you see the surround functions, you push up/down to jump to adjacent functions. This is what this keyboard based outline is mainly useful for.

Oct 9 2017, 3:03 PM · KDevelop
kfunk committed R138:c2c15dd95e6f: Port away from craftDebug (authored by kfunk).
Port away from craftDebug
Oct 9 2017, 2:37 PM
kfunk committed R138:ed44d62ea2e4: Prefer os.makedirs (authored by kfunk).
Prefer os.makedirs
Oct 9 2017, 2:19 PM