Skip to content
Snippets Groups Projects
Select Git revision
  • 3335907548ce5e172fe95f05fd42306cf8cec9c4
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/windowsReleaseTest
  • release/releaseTest
  • release/releaseWindowsTest
  • release/201910
  • release/qt/201910
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • 4.0.0
  • 2.2.0
  • 2.1.0
  • 2.0.1
  • 2.0.0
  • 1.4.1
  • 1.4.0
  • 1.3.0
  • 1.2.0
  • 1.1.0
31 results

sipaccount.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    pixbufmanipulator.h 3.50 KiB
    /***************************************************************************
     * Copyright (C) 2017-2019 by Savoir-faire Linux                                *
     * Author: Edric Ladent Milaret <edric.ladent-milaret@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 <http://www.gnu.org/licenses/>.   *
     **************************************************************************/
    
    #pragma once
    
    #include <QImage>
    
    #include <memory>
    #include <interfaces/pixmapmanipulatori.h>
    
    Q_DECLARE_METATYPE(QImage);
    
    class Person;
    
    QByteArray QImageToByteArray(QImage image);
    
    class PixbufManipulator : public Interfaces::PixmapManipulatorI {
    public:
        QVariant callPhoto(Call* c, const QSize& size, bool displayPresence = true) override;
        QVariant callPhoto(const ContactMethod* n, const QSize& size, bool displayPresence = true) override;
        QVariant contactPhoto(Person* c, const QSize& size, bool displayPresence = true) override;
        QVariant personPhoto(const QByteArray& data, const QString& type = "PNG") override;
    
        /* TODO: the following methods return an empty QVariant/QByteArray */
        QVariant   numberCategoryIcon(const QVariant& p, const QSize& size, bool displayPresence = false, bool isPresent = false) override;
        QVariant   securityIssueIcon(const QModelIndex& index) override;
        QByteArray toByteArray(const QVariant& pxm) override;
        QVariant   collectionIcon(const CollectionInterface* colItf,
                                  Interfaces::PixmapManipulatorI::CollectionIconHint hint =
                                    Interfaces::PixmapManipulatorI::CollectionIconHint::NONE) const override;
        QVariant   securityLevelIcon(const SecurityEvaluationModel::SecurityLevel level) const override;
        QVariant   historySortingCategoryIcon(const CategorizedHistoryModel::SortedProxy::Categories cat) const override;
        QVariant   contactSortingCategoryIcon(const CategorizedContactModel::SortedProxy::Categories cat) const override;
        QVariant   userActionIcon(const UserActionElement& state) const override;
        QVariant   decorationRole(const QModelIndex& index) override;
        QVariant   decorationRole(const Call* c) override;
        QVariant   decorationRole(const ContactMethod* cm) override;
        QVariant   decorationRole(const Person* p) override;
        QVariant   decorationRole(const Account* acc) override;
        QVariant   decorationRole(const lrc::api::conversation::Info& conversation,
                                  const lrc::api::account::Info& accountInfo) override;
        static QImage scaleAndFrame(const QImage photo, const QSize& size);
        static QVariant accountPhoto(const lrc::api::account::Info& accountInfo);
    };