From d1c35b4dde0afd3c81b476e8268766c1841a2294 Mon Sep 17 00:00:00 2001 From: Edric <edric.ladent-milaret@savoirfairelinux.com> Date: Thu, 19 May 2016 10:04:50 -0400 Subject: [PATCH] make add to contact moveable Change-Id: Icfc75740ec633137a22abb35ad477a8e98ec07c2 Tuleap: #713 --- contactpicker.cpp | 20 +++++++++++++++++++- contactpicker.h | 4 ++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/contactpicker.cpp b/contactpicker.cpp index eda0f3f..ff8b295 100644 --- a/contactpicker.cpp +++ b/contactpicker.cpp @@ -19,7 +19,7 @@ #include "contactpicker.h" #include "ui_contactpicker.h" - +#include <QMouseEvent> #include "categorizedcontactmodel.h" #include "personmodel.h" @@ -107,3 +107,21 @@ ContactPicker::on_searchBar_textChanged(const QString &arg1) { contactProxyModel_->setFilterRegExp(QRegExp(arg1, Qt::CaseInsensitive, QRegExp::FixedString)); } + +void +ContactPicker::mousePressEvent(QMouseEvent *event) +{ + mpos_ = event->pos(); + if (not rect().contains(mpos_)) + QDialog::reject(); +} + +void ContactPicker::mouseMoveEvent(QMouseEvent *event) +{ + if (event->buttons() & Qt::LeftButton) { + QPoint diff = event->pos() - mpos_; + QPoint newpos = this->pos() + diff; + + this->move(newpos); + } +} diff --git a/contactpicker.h b/contactpicker.h index 2903e12..0931ba6 100644 --- a/contactpicker.h +++ b/contactpicker.h @@ -50,6 +50,9 @@ public: explicit ContactPicker(ContactMethod* number, QWidget *parent = 0); ~ContactPicker(); +protected: + void mousePressEvent(QMouseEvent *event); + void mouseMoveEvent(QMouseEvent *event); protected slots: void accept(); @@ -66,4 +69,5 @@ private: Person *personSelected_; ContactMethod* number_; OnlyPersonProxyModel* contactProxyModel_; + QPoint mpos_; }; -- GitLab