<div dir="ltr"><img width="0" height="0" class="mailtrack-img" alt="" style="display:flex" src="https://mailtrack.io/trace/mail/0ae4720d375e41a3bc306c8bc8bac78000ddf4e6.png?u=1477559"><div></div>Hello Tobias,<div><br></div><div>I have succeeded in getting the QInputDialog to write a new note:</div><div><br></div><div><div>QMetaObject::invokeMethod(part.m_pageView, "slotToggleAnnotator", Q_ARG( bool, true ));  // displayes the annotation toolbar</div><div>QList<QToolButton *> toolbuttonList = part.m_pageView->findChildren<QToolButton *>(); // Get the list of all 10 annotation toolbuttons<br></div><div><br></div><div>QToolButton* typewriterButton = toolbuttonList.at(9); // Get's typewriter toolbutton at 10th posiiton<br></div><div><div>typewriterButton->click();  // clicks and selects the typewriter tool</div><div><br></div><div>// Clicks on the viewport and a QInputDialog popups</div><div>QTest::mouseMove(part.m_pageView->viewport(), QPoint(width * 0.5, height * 0.2));  </div><div>QTest::mouseClick(part.m_pageView->viewport(), Qt::LeftButton, Qt::NoModifier, QPoint(width * 0.5, height * 0.2));</div></div><div><br></div><div>It popups a multiline QInputDialog annotation window and prompts for the note. I write any content, press OK and the test ends. </div><div>My question is how to check if the popup window appears in the test as it doesn't have any parent widget? So I can't do findChildren on part.m_pageView to check for the QInputDialog. And after checking for the QInputDialog, how to CANCEL the dialog in the test so that my test doesn't pause at user's input prompt? I just need an idea as I'm stuck here.</div><div><br></div><div>Secondly, I'm doing like this to create and add a typewriter annotation to page:</div><div><br></div><div>part.m_document->setViewportPage(0);<br></div><div><br></div><div><div>Okular::Annotation * annot = nullptr;</div><div>Okular::TextAnnotation * ta = new Okular::TextAnnotation();</div><div>annot = ta;</div><div>ta->setFlags( ta->flags() | Okular::Annotation::FixedRotation );</div><div>ta->setTextType( Okular::TextAnnotation::InPlace );</div><div>ta->setInplaceIntent( Okular::TextAnnotation::TypeWriter );</div><div>ta->style().setWidth( 0.0 );</div><div>ta->style().setColor( QColor(255,255,255,0) );</div><div><br></div><div>annot->setBoundingRectangle( Okular::NormalizedRect( 0.8, 0.1, 0.85, 0.15 ) );</div><div>annot->setContents( QStringLiteral("annot contents") );</div></div><div><div>// Add annotation to page</div><div>part.m_document->addPageAnnotation( 0, annot );</div></div><div><br></div><div>I'm sleeping the UI thread with QThread::sleep(5) for 5 seconds in order to hold the output widget and I'm not getting any visual of the added annotation. I want to compare different properties from Okular::Annotation::getAnnotationPropertiesDomeNode. May you help me where I'm wrong or what I'm missing?</div><div><br></div><div>Thanks and Regards</div><div>Dileep</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Jun 8, 2018 at 3:20 PM Dileep Sankhla <<a href="mailto:sankhla.dileep96@gmail.com">sankhla.dileep96@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><img width="0" height="0" class="m_158613292413390827mailtrack-img" alt="" style="display:flex" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"><div></div>Thank you. I have created a single test case for the typewriter toolbutton and have pushed it to the gsoc2018_typewriter branch.<div><br></div><div>I have defined 3 test cases as follows:</div><div>1. Check if the toolbar buttons contain the "Typewriter" button - Done</div><div>2. Click the typewriter button, start PickPointEngine engine, click and drag on PDF page to create a block and check if a popup QInputDialog opens</div><div>3. <span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Add typewriter to a Okular::Document with setTextType(Okular::TextAnnotation::InPlace) and setInplaceIntent(Okular::TextAnnotation::TypeWriter), and check<span> </span></span><br style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Okular::Annotation::getAnnotat</span><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">ionPropertiesDomNode for expected<span> </span></span><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">attributes.</span></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">I'm only sticking to the simple test cases at the initial as I'm new to writing tests and having the limited time. I don't know how to write a test that<span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> checks painting results pixel-wise and there are already none so my test cases are simple. I will write more complicated tests after doing the font color in both Poppler and Okular.</span></span></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></span></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Thanks and Regards</span></span></div><div><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Dileep</span></span></div></div>
</blockquote></div></div>