D7580: Support loading by stream and restoring state on reload

Friedrich W. H. Kossebau noreply at phabricator.kde.org
Mon Sep 4 13:22:50 UTC 2017


kossebau marked an inline comment as done.
kossebau added a comment.


  In https://phabricator.kde.org/D7580#142891, @dfaure wrote:
  
  > Oops, yes, you're completely right. I got distracted by the word close, but it's a different meaning in closeStream and closeUrl. Apologies for the confusion.
  
  
  Ah, that's a relief :) So I/we do not have to invent something new for the ktexteditor preview plugin use-case, good.
  
  > As to existing implementations of this stuff, it just happens that I wrote one recently, see konqueror.git branch webengine_streaming, commit https://phabricator.kde.org/R226:e1f9ebc309b8ceaebfc51884ca30a3a8d8903ad2
  
  :) Good again, implementation pattern looks pretty similar, encouraging.
  
  > "how would zoom and other custom state properties be save and retrieved again"  -> using BrowserExtension's saveState/restoreState as usual, no? I'm not 100% sure about the interaction with streaming, but normally that happens after opening the url anyway, so it should be unrelated.
  
  Oh, somehow missed those methods. Possibly was blinded by KParts::OpenUrlArguments::xOffset()/yOffset() and since then assumed that state restoring was supposed to be done only via those arguments.
  Hm... not perfect possibly: for the ktexteditor preview plugin I plan in the future to also support restoring state, when switching preview between files or app session restoring support. The kparts there are created not with "Browser/View" option, given the preview plugin does not support navigation. And for some reasons at least in my own kpart implementations (okteta, kmarkdownwebview) I assumed one would only create a BrowserExtension subclass instance if the part is created with "Browser/View" option? lxr.kde.org now shows me any other kpart implementation (at least kmplayer, kbibtex, dolphin, gwenview, okular) create the instance unconditionally. 
  So guess I should not  be blinded by the name "BrowserExtension" and think it is only for browser/view usage, but instead think more of it as "extension, motivated by needs at least in browser but also elsewhere"? And only enable/activate the browser-integration specific parts if the part is created with "Browser/View"?

REPOSITORY
  R383 SVGPart

REVISION DETAIL
  https://phabricator.kde.org/D7580

To: kossebau, #frameworks, dfaure
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20170904/ba75dfcc/attachment.html>


More information about the Kde-frameworks-devel mailing list