D13203: Add Typewriter annotation tool in Okular
Tobias Deiminger
noreply at phabricator.kde.org
Sun Jun 17 20:23:52 UTC 2018
tobiasdeiminger added inline comments.
INLINE COMMENTS
> dileepsankhla wrote in parttest.cpp:1582
> First of all, in CloseDialogHelper, `m_clicked` is always false as `m_part->widget()->findChild<QDialog*>();` returns NULL for the QInputDialog being the activeModalWidget. So I didn't use it.
>
> Secondly, I agree that the low tests should be independent but I'm using `QTimer` technique in `testTypewriterAnnotTool` to grab the pointer to the active QInputDialog widget for which I need to connect the SIGNAL timeout() to the SLOT testDialogClosed which eventually becomes another test method. So I can't do it in only a single method instead need two different methods in which one of them becomes the slot of QTimer implementation. In this case. do you think I should do the same in the dedicated class like PartTestAnnotation?
>
> Thirdly, to verify if the annotation is created correctly, what parameter(s) should I check?
> m_part->widget()->findChild<QDialog*>(); returns NULL for the QInputDialog
That's because QInputDialog is not a child of the part, but a "window" with no parent. You can slightly modify CloseDialogHelper and it will work:
void closeDialog()
{
//QDialog *dialog = m_part->widget()->findChild<QInputDialog*>();
QWidget * dialog = qApp->activeModalWidget();
Afaikt this is also compatible with the remaining locations where CloseDialogHelper is used. If you apply the change, CloseDialogHelper::m_part is no longer required and can be removed. Construct CloseDialogHelper with QDialogButtonBox::Cancel or QDialogButtonBox::Ok, to click either the Ok or the Cancel button.
> So I can't do it in only a single method instead need two different methods in which one of them becomes the slot of QTimer implementation.
The problem goes away if you use CloseDialogHelper.
> Thirdly, to verify if the annotation is created correctly, what parameter(s) should I check?
A perfect UI test would be to check for the painted annotation. As you deferred it because it's too difficult, how about checking `part->m_document->page(0)->annotations()` for the expected typewriter annotation?
REPOSITORY
R223 Okular
REVISION DETAIL
https://phabricator.kde.org/D13203
To: dileepsankhla, tobiasdeiminger
Cc: ltoscano, ngraham, tobiasdeiminger, aacid, okular-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/okular-devel/attachments/20180617/559ea862/attachment.html>
More information about the Okular-devel
mailing list