Browse Source

refactor: Use unique ptr for call confirm widget

reviewable/pr4768/r3
Diadlo 8 years ago
parent
commit
7b893346f0
No known key found for this signature in database
GPG Key ID: 5AF9F2E29107C727
  1. 15
      src/widget/chatformheader.cpp
  2. 6
      src/widget/chatformheader.h

15
src/widget/chatformheader.cpp

@ -113,11 +113,6 @@ ChatFormHeader::ChatFormHeader(QWidget* parent) @@ -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) @@ -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)

6
src/widget/chatformheader.h

@ -20,9 +20,10 @@ @@ -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: @@ -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: @@ -90,7 +90,7 @@ private:
QToolButton* volButton;
QToolButton* micButton;
QPointer<CallConfirmWidget> callConfirm;
std::unique_ptr<CallConfirmWidget> callConfirm;
};
#endif // CHAT_FORM_HEADER

Loading…
Cancel
Save