1
0
mirror of https://github.com/qTox/qTox.git synced 2024-03-22 14:00:36 +08:00

refactor: Use unique ptr for call confirm widget

This commit is contained in:
Diadlo 2017-10-27 20:26:45 +03:00
parent c588fbd74c
commit 7b893346f0
No known key found for this signature in database
GPG Key ID: 5AF9F2E29107C727
2 changed files with 8 additions and 13 deletions

View File

@ -113,11 +113,6 @@ ChatFormHeader::ChatFormHeader(QWidget* parent)
Translator::registerHandler(std::bind(&ChatFormHeader::retranslateUi, this), this);
}
ChatFormHeader::~ChatFormHeader()
{
delete callConfirm;
}
void ChatFormHeader::setName(const QString& newName)
{
nameLabel->setText(newName);
@ -172,18 +167,18 @@ void ChatFormHeader::showOutgoingCall(bool video)
void ChatFormHeader::showCallConfirm(bool video)
{
callConfirm = new CallConfirmWidget(video ? videoButton : callButton);
QWidget* btn = video ? videoButton : callButton;
callConfirm = std::unique_ptr<CallConfirmWidget>(new CallConfirmWidget(btn));
callConfirm->show();
CallConfirmWidget* confirmData = callConfirm.data();
connect(confirmData, &CallConfirmWidget::accepted, this, [this, video]{
connect(callConfirm.get(), &CallConfirmWidget::accepted, this, [this, video]{
emit callAccepted(video);
});
connect(confirmData, &CallConfirmWidget::rejected, this, &ChatFormHeader::callRejected);
connect(callConfirm.get(), &CallConfirmWidget::rejected, this, &ChatFormHeader::callRejected);
}
void ChatFormHeader::removeCallConfirm()
{
delete callConfirm;
callConfirm.reset(nullptr);
}
void ChatFormHeader::updateCallButtons(bool online, bool audio, bool video)

View File

@ -20,9 +20,10 @@
#ifndef CHAT_FORM_HEADER
#define CHAT_FORM_HEADER
#include <QPointer>
#include <QWidget>
#include <memory>
class MaskablePixmapWidget;
class QVBoxLayout;
class CroppingLabel;
@ -42,7 +43,6 @@ public:
};
ChatFormHeader(QWidget* parent = nullptr);
~ChatFormHeader() override;
void setName(const QString& newName);
void setMode(Mode mode);
@ -90,7 +90,7 @@ private:
QToolButton* volButton;
QToolButton* micButton;
QPointer<CallConfirmWidget> callConfirm;
std::unique_ptr<CallConfirmWidget> callConfirm;
};
#endif // CHAT_FORM_HEADER