/* * Squawk messenger. * Copyright (C) 2019 Yury Gubich * * 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 . */ #pragma once #include #include #include #include #include #include #include #include "ui/utils/progress.h" #include "contactgeneral.h" #include "contactcontacts.h" #include "description.h" #ifdef WITH_OMEMO #include "omemo/omemo.h" #endif namespace UI { namespace Ui { class Info; } class Info : public QWidget { Q_OBJECT public: Info(const QString& jid, QWidget* parent = nullptr); ~Info(); QString getJid() const; void setData(const Shared::Info& info); void showProgress(const QString& = ""); void hideProgress(); signals: void saveInfo(const Shared::Info& info); private slots: void onButtonBoxAccepted(); private: void initializeContactGeneral(const QString& jid, const Shared::VCard& card, bool editable); void initializeContactContacts(const QString& jid, const Shared::VCard& card, bool editable); void initializeDescription(const QString& description, bool editable); #ifdef WITH_OMEMO void initializeOmemo(const std::list& keys); #endif void initializeOverlay(); void initializeButtonBox(); void clear(); private: QString jid; Shared::EntryType type; QScopedPointer m_ui; ContactGeneral* contactGeneral; ContactContacts* contactContacts; #ifdef WITH_OMEMO Omemo* omemo; #endif Description* description; QWidget* overlay; Progress* progress; QLabel* progressLabel; }; }