ngraham requested changes to this revision.
ngraham added a comment.
This revision now requires changes to proceed.


  We're getting there, but this code now causes a crash that must be fixed. 
Please make sure you are testing your changes for all conditions (i.e. don't 
just make sure that it works when Filelight is installed, also test the case 
where it's not installed).

INLINE COMMENTS

> kpropertiesdialog.cpp:782
>      QLabel *m_sizeLabel;
> +    
>      QPushButton *m_sizeDetermineButton;

When you add a newline, make sure it doesn't have any spaces in it

> kpropertiesdialog.cpp:786
> +    QPushButton *m_sizeDetailsButton;
> +    
>      KLineEdit *m_linkTargetLineEdit;

ditto

> kpropertiesdialog.cpp:1099
>          d->m_sizeStopButton = new QPushButton(i18n("Stop"), d->m_frame);
> +        
> +        if 
> (!QStandardPaths::findExecutable(QStringLiteral("filelight")).isEmpty()) {

ditto

> kpropertiesdialog.cpp:1101
> +        if 
> (!QStandardPaths::findExecutable(QStringLiteral("filelight")).isEmpty()) {
> +            d->m_sizeDetailsButton = new QPushButton(i18n("Explore in 
> Filelight?"), d->m_frame);
> +            
> d->m_sizeDetailsButton->setIcon(QIcon::fromTheme(QStringLiteral("filelight")));

Heh, I think I confused you, my bad. I wasn't trying to imply that the label 
should actually have a question mark in it. Button labels don't typically end 
with punctuation like that. Just "Explore in Filelight" is enough.

> kpropertiesdialog.cpp:1105
> +        }
> +        
>          
> d->m_sizeDetermineButton->setIcon(QIcon::fromTheme(QStringLiteral("view-refresh")));

ditto

> kpropertiesdialog.cpp:1108
>          
> d->m_sizeStopButton->setIcon(QIcon::fromTheme(QStringLiteral("dialog-cancel")));
> +        
>          connect(d->m_sizeDetermineButton, &QAbstractButton::clicked, this, 
> &KFilePropsPlugin::slotSizeDetermine);

ditto

> kpropertiesdialog.cpp:1114
>          sizelay->addWidget(d->m_sizeStopButton, 0);
> +        sizelay->addWidget(d->m_sizeDetailsButton, 0);
> +

This causes a crash when Filelight isn't installed, because in that case, 
`d->m_sizeDetailsButton` is a `nullptr`.

> kpropertiesdialog.cpp:1115
> +        sizelay->addWidget(d->m_sizeDetailsButton, 0);
> +
>          sizelay->addStretch(10); // so that the buttons don't grow 
> horizontally

ditto

> kpropertiesdialog.cpp:1453
> +    const QUrl url = properties->url();
> +        
> +    // Open the current folder in filelight

ditto

REPOSITORY
  R241 KIO

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

To: shubham, ngraham, #frameworks
Cc: kde-frameworks-devel, #frameworks, LeGast00n, GB_2, michaelh, ngraham, bruns

Reply via email to