Check dynamic casts for null.
This commit is contained in:
+51
-49
@@ -63,38 +63,39 @@ namespace glabels
|
|||||||
{
|
{
|
||||||
foreach ( QListWidgetItem *item, findItems( "*", Qt::MatchWildcard ) )
|
foreach ( QListWidgetItem *item, findItems( "*", Qt::MatchWildcard ) )
|
||||||
{
|
{
|
||||||
auto *tItem = dynamic_cast<TemplatePickerItem *>(item);
|
if (auto *tItem = dynamic_cast<TemplatePickerItem *>(item))
|
||||||
|
{
|
||||||
bool nameMask = tItem->tmplate()->name().contains( searchString, Qt::CaseInsensitive );
|
bool nameMask = tItem->tmplate()->name().contains( searchString, Qt::CaseInsensitive );
|
||||||
|
|
||||||
bool sizeMask =
|
bool sizeMask =
|
||||||
(isoMask && tItem->tmplate()->isSizeIso()) ||
|
(isoMask && tItem->tmplate()->isSizeIso()) ||
|
||||||
(usMask && tItem->tmplate()->isSizeUs()) ||
|
(usMask && tItem->tmplate()->isSizeUs()) ||
|
||||||
(otherMask && tItem->tmplate()->isSizeOther());
|
(otherMask && tItem->tmplate()->isSizeOther());
|
||||||
|
|
||||||
bool categoryMask;
|
bool categoryMask;
|
||||||
if ( anyCategory )
|
if ( anyCategory )
|
||||||
{
|
|
||||||
categoryMask = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
categoryMask = false;
|
|
||||||
foreach ( QString id, categoryIds )
|
|
||||||
{
|
{
|
||||||
categoryMask = categoryMask || tItem->tmplate()->hasCategory( id );
|
categoryMask = true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
categoryMask = false;
|
||||||
|
foreach ( QString id, categoryIds )
|
||||||
|
{
|
||||||
|
categoryMask = categoryMask || tItem->tmplate()->hasCategory( id );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if ( nameMask && sizeMask && categoryMask )
|
if ( nameMask && sizeMask && categoryMask )
|
||||||
{
|
{
|
||||||
item->setHidden( false );
|
item->setHidden( false );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->setHidden( true );
|
item->setHidden( true );
|
||||||
item->setSelected( false );
|
item->setSelected( false );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -107,26 +108,27 @@ namespace glabels
|
|||||||
{
|
{
|
||||||
foreach ( QListWidgetItem *item, findItems( "*", Qt::MatchWildcard ) )
|
foreach ( QListWidgetItem *item, findItems( "*", Qt::MatchWildcard ) )
|
||||||
{
|
{
|
||||||
auto *tItem = dynamic_cast<TemplatePickerItem *>(item);
|
if (auto *tItem = dynamic_cast<TemplatePickerItem *>(item))
|
||||||
|
|
||||||
bool match = false;
|
|
||||||
foreach ( QString name, names )
|
|
||||||
{
|
{
|
||||||
if ( tItem->tmplate()->name() == name )
|
bool match = false;
|
||||||
|
foreach ( QString name, names )
|
||||||
{
|
{
|
||||||
match = true;
|
if ( tItem->tmplate()->name() == name )
|
||||||
break;
|
{
|
||||||
|
match = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ( match )
|
if ( match )
|
||||||
{
|
{
|
||||||
item->setHidden( false );
|
item->setHidden( false );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
item->setHidden( true );
|
item->setHidden( true );
|
||||||
item->setSelected( false );
|
item->setSelected( false );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -138,15 +140,15 @@ namespace glabels
|
|||||||
const model::Template *TemplatePicker::selectedTemplate()
|
const model::Template *TemplatePicker::selectedTemplate()
|
||||||
{
|
{
|
||||||
QList<QListWidgetItem *> items = selectedItems();
|
QList<QListWidgetItem *> items = selectedItems();
|
||||||
if ( items.isEmpty() )
|
if ( !items.isEmpty() )
|
||||||
{
|
{
|
||||||
return nullptr;
|
if (auto *tItem = dynamic_cast<TemplatePickerItem*>(items.first()))
|
||||||
}
|
{
|
||||||
else
|
return tItem->tmplate();
|
||||||
{
|
}
|
||||||
auto *tItem = dynamic_cast<TemplatePickerItem*>(items.first());
|
|
||||||
return tItem->tmplate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace glabels
|
} // namespace glabels
|
||||||
|
|||||||
Reference in New Issue
Block a user