[rkward/work/unified_hinting2] rkward/windows: Mystery solved, partially: Starting / stopping the models is where problems arise.

Thomas Friedrichsmeier null at kde.org
Fri Feb 15 13:45:16 GMT 2019


Git commit 89f3b5793e646be6f4f9ff96f1f7525d61bef895 by Thomas Friedrichsmeier.
Committed on 15/02/2019 at 11:21.
Pushed by tfry into branch 'work/unified_hinting2'.

Mystery solved, partially: Starting / stopping the models is where problems arise.

Showing arg hints works much, but not all of the time, now.

M  +4    -5    rkward/windows/rkcommandeditorwindow.cpp

https://commits.kde.org/rkward/89f3b5793e646be6f4f9ff96f1f7525d61bef895

diff --git a/rkward/windows/rkcommandeditorwindow.cpp b/rkward/windows/rkcommandeditorwindow.cpp
index a23cf4d9..7742714f 100644
--- a/rkward/windows/rkcommandeditorwindow.cpp
+++ b/rkward/windows/rkcommandeditorwindow.cpp
@@ -180,7 +180,7 @@ RKCommandEditorWindow::RKCommandEditorWindow (QWidget *parent, const QUrl _url,
 	preview = new RKXMLGUIPreviewArea (QString(), this);
 	preview_manager = new RKPreviewManager (this);
 	connect (preview_manager, &RKPreviewManager::statusChanged, [this]() { preview_timer.start (500); });
-	m_view = m_doc->createView (0);
+	m_view = m_doc->createView (this);
 	RKWorkplace::mainWorkplace()->registerNamedWindow (preview_manager->previewId(), this, preview);
 	if (!url.isEmpty ()) {
 		KConfigGroup viewconf (RKWorkplace::mainWorkplace ()->workspaceConfig (), QString ("SkriptViewSettings %1").arg (RKWorkplace::mainWorkplace ()->portableUrl (url)));
@@ -202,8 +202,7 @@ RKCommandEditorWindow::RKCommandEditorWindow (QWidget *parent, const QUrl _url,
 	QHBoxLayout *layout = new QHBoxLayout (this);
 	layout->setContentsMargins (0, 0, 0, 0);
 	QSplitter* preview_splitter = new QSplitter (this);
-//	preview_splitter->addWidget (m_view);
-m_view->show();
+	preview_splitter->addWidget (m_view);
 	QWidget *preview_widget = preview->wrapperWidget ();
 	preview_splitter->addWidget (preview_widget);
 	preview_widget->hide ();
@@ -1345,12 +1344,12 @@ void RKCompletionManager::updateVisibility () {
 	any_hint |= !callhint_model->isEmpty ();
 
 	if (any_hint) {
-		if (!cc_iface->isCompletionActive ()) {
+//		if (!cc_iface->isCompletionActive ()) { // TODO: To avoid flicker, we should only start the models that still need starting, but how to figure out which ones are those?
 			cc_iface->startCompletion (symbol_range, callhint_model);
 			cc_iface->startCompletion (symbol_range, completion_model);
 			cc_iface->startCompletion (symbol_range, file_completion_model);
 			if (kate_keyword_completion_model) cc_iface->startCompletion (symbol_range, kate_keyword_completion_model);
-		}
+//		}
 		active = true;
 	} else {
 		cc_iface->abortCompletion ();



More information about the rkward-tracker mailing list