def delete_features(layer, features, text):
    ids = features.keys()
    if len(ids) == 0:
        return
    question = ('Do you want to delete all the following features with area %s' % text)

    features_text = 'FID: area\n'
    for fid, area in features.iteritems():
        features_text += '%s: %s\n' % (fid, area)

    mb = QMessageBox(
        QMessageBox.Question,
        'Confirm deletion',
        question,
        QMessageBox.Yes | QMessageBox.No)
    mb.setDetailedText(features_text)
    # mb.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
    mb.setSizeGripEnabled(True)

    if mb.exec_() == QMessageBox.Yes:
        layer.startEditing()
        layer.dataProvider().deleteFeatures( ids )
        layer.commitChanges()