Summary: | delay applying changes on preview | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Frederik Schwarzer <schwarzer> |
Component: | Filters | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | cberger, lemma |
Priority: | NOR | Keywords: | triaged |
Version: | 1.6 | ||
Target Milestone: | --- | ||
Platform: | Debian testing | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Frederik Schwarzer
2006-11-07 14:20:18 UTC
We already do that for some filters, but in a rather ham-fisted way. I see we could improve on that, make it more generic by putting the delay in the filter manager, instead of in the individual filter widgets. Not sure whether that code would survive in 2.0, although I've already tried to implement something like this in trunk. Okay I know what to do now. Forget timers, use Thomas' actions that only execute the last action in the queue. (Setting to normal so I'm reminded of this much more) SVN commit 606301 by berger: - delay the update of applying change to a filter in the preview dialog (the delay needs to be adjusted) CCBUG:137003 M +3 -1 kis_filter_manager.cc M +1 -0 kis_filter_manager.h --- branches/koffice/1.6/koffice/krita/ui/kis_filter_manager.cc #606300:606301 @@ -55,6 +55,7 @@ : m_view(view), m_doc(doc) { + connect(&m_delayer, SIGNAL(timeout()), this, SLOT(refreshPreview())); // XXX: Store & restore last filter & last filter configuration in session settings m_reapplyAction = 0; m_lastFilterConfig = 0; @@ -385,7 +386,8 @@ return; if(m_lastDialog->previewWidget()->getAutoUpdate()) { - refreshPreview(); +// refreshPreview(); + m_delayer.start(1000, true); } else { m_lastDialog->previewWidget()->needUpdate(); } --- branches/koffice/1.6/koffice/krita/ui/kis_filter_manager.h #606300:606301 @@ -81,6 +81,7 @@ QSignalMapper * m_filterMapper; QDict<KActionMenu> m_filterActionMenus; + QTimer m_delayer; }; #endif The filter preview is currently disabled (trunk r875799) so I can't really check. It will hopefully work once it's back. This is fixed now. |