コード例 #1
0
ファイル: ratingwidget.cpp プロジェクト: UIKit0/digikam
void RatingWidget::mouseReleaseEvent(QMouseEvent* e)
{
    if (e->button() != Qt::LeftButton)
    {
        return;
    }

    if (hasFading() && d->fadingValue < 255)
    {
        return;
    }

    emit signalRatingChanged(d->rating);
}
コード例 #2
0
ファイル: ratingwidget.cpp プロジェクト: UIKit0/digikam
void RatingWidget::setRating(int val)
{
    if ((val < RatingMin || val > RatingMax) && val != NoRating)
    {
        return;
    }

    d->rating = val;

    if (d->tracking)
    {
        emit signalRatingChanged(d->rating);
    }

    emit signalRatingModified(d->rating);
    update();
}
コード例 #3
0
ファイル: ratingwidget.cpp プロジェクト: UIKit0/digikam
void RatingWidget::mousePressEvent(QMouseEvent* e)
{
    if (e->button() != Qt::LeftButton)
    {
        return;
    }

    if (hasFading() && d->fadingValue < 255)
    {
        return;
    }

    int pos = (e->x() - d->offset) / d->regPixmap.width() +1;

    if (d->rating == pos)
    {
        d->rating--;
    }
    else
    {
        d->rating = pos;
    }

    if (d->rating > RatingMax)
    {
        d->rating = RatingMax;
    }

    if (d->rating < RatingMin)
    {
        d->rating = RatingMin;
    }

    if (d->tracking)
    {
        emit signalRatingChanged(d->rating);
    }

    emit signalRatingModified(d->rating);
    update();
}
コード例 #4
0
ファイル: ratingwidget.cpp プロジェクト: UIKit0/digikam
void RatingWidget::mouseMoveEvent(QMouseEvent* e)
{
    if (!(e->buttons() & Qt::LeftButton))
    {
        return;
    }

    if (hasFading() && d->fadingValue < 255)
    {
        return;
    }

    int pos = (e->x() - d->offset) / d->regPixmap.width() +1;

    if (d->rating != pos)
    {
        if (pos > RatingMax)       // NOTE: B.K.O. # 151357
        {
            pos = RatingMax;
        }

        if (pos < RatingMin)
        {
            pos = RatingMin;
        }

        d->rating = pos;

        if (d->tracking)
        {
            emit signalRatingChanged(d->rating);
        }

        emit signalRatingModified(d->rating);
        update();
    }
}
コード例 #5
0
ファイル: slideshow.cpp プロジェクト: KDE/digikam
void SlideShow::slotAssignRating(int rating)
{
    d->settings.pictInfoMap[currentItem()].rating = rating;
    dispatchCurrentInfoChange(currentItem());
    emit signalRatingChanged(currentItem(), rating);
}