Skip to content
Snippets Groups Projects
Select Git revision
  • 18e53b9ec83bf41f4b08431fe7e99a8bfaf6cd1f
  • master default
  • cmake_fixes
  • pulls/1772757862/750
  • copilot/fix-770
  • windows_ci_static
  • c_link
  • cpack
  • windows_ci
  • cert_pk_id
  • proxy_push_result
  • cnode_put_id
  • update-windows-build
  • proxy
  • resubscribe_on_token_change
  • actions
  • client_mode
  • llhttp
  • search_node_add
  • crypto_aes_gcm_argon2
  • ios_notifications
  • v3.4.0
  • v3.3.1
  • v3.3.1rc1
  • v3.3.1rc2
  • v3.3.0
  • v3.2.0
  • v3.1.11
  • v3.1.10
  • v3.1.9
  • v3.1.8.2
  • v3.1.8.1
  • v3.1.8
  • v3.1.7
  • v3.1.6
  • v3.1.5
  • v3.1.4
  • v3.1.3
  • v3.1.2
  • v3.1
  • v3.0.1
41 results

network_utils.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    avatargraphicsview.cpp 2.21 KiB
    /**************************************************************************
    * Copyright (C) 2018 by Savoir-faire Linux                           *
    * Author: Isa Nanic <isa.nanic@savoirfairelinux.com>                      *
    *                                                                         *
    * This program is free software; you can redistribute it and/or modify    *
    * it under the terms of the GNU General Public License as published by    *
    * the Free Software Foundation; either version 3 of the License, or       *
    * (at your option) any later version.                                     *
    *                                                                         *
    * This program is distributed in the hope that it will be useful,         *
    * but WITHOUT ANY WARRANTY; without even the implied warranty of          *
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the           *
    * GNU General Public License for more details.                            *
    *                                                                         *
    * You should have received a copy of the GNU General Public License       *
    * along with this program.  If not, see <https://www.gnu.org/licenses/>.   *
    **************************************************************************/
    
    #include "avatargraphicsview.h"
    
    AvatarGraphicsView::AvatarGraphicsView(QWidget* parent)
        : QGraphicsView(parent)
    {
        setDragMode(QGraphicsView::ScrollHandDrag);
    }
    
    void
    AvatarGraphicsView::wheelEvent(QWheelEvent* event)
    {
        QPoint numSteps = event->angleDelta() / (8*15);
    
        if (!numSteps.isNull()) {
            zoomImage(numSteps);
        }
        event->accept();
    }
    
    void
    AvatarGraphicsView::zoomImage(const QPoint& steps)
    {
        steps.y() == 1 ? scale(zoomIncrement_, zoomIncrement_) : scale(1 / zoomIncrement_, 1 / zoomIncrement_);
    }
    
    void
    AvatarGraphicsView::paintEvent(QPaintEvent* e)
    {
        QGraphicsView::paintEvent(e);
        QPainter painter(viewport());
    
        QPainterPath square;
        QPainterPath circle;
    
        square.addRect(0, 0, width(), height());
        circle.addEllipse(QPoint(width() / 2 - 0.5, height() / 2 - 0.5), circleSize_ + 1, circleSize_ + 1);
    
        painter.setOpacity(0.3);
    
        painter.fillPath(square.subtracted(circle), QBrush(QColor(Qt::black)));
    }