Change mousePressEvent: the MidButton click set selection or visualisation mode.

git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@2113 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
cfdev 2013-04-15 19:51:39 +00:00
parent 9f53e1f3ec
commit f8f4dbaaca
2 changed files with 10 additions and 20 deletions

View File

@ -414,7 +414,6 @@ void DiagramView::pasteHere() {
* click to add an independent text field * click to add an independent text field
*/ */
void DiagramView::mousePressEvent(QMouseEvent *e) { void DiagramView::mousePressEvent(QMouseEvent *e) {
FlagMouseButtons_ = e -> buttons();
if (fresh_focus_in_) { if (fresh_focus_in_) {
switchToVisualisationModeIfNeeded(e); switchToVisualisationModeIfNeeded(e);
fresh_focus_in_ = false; fresh_focus_in_ = false;
@ -425,29 +424,18 @@ void DiagramView::mousePressEvent(QMouseEvent *e) {
is_adding_text = false; is_adding_text = false;
} }
} }
// Select visualisation // Select visualisation or selection mode
if (FlagMouseButtons_ == Qt::MidButton){ if (e -> buttons() == Qt::MidButton) {
if (!is_moving_view_) { if (!is_moving_view_) {
setVisualisationMode(); setVisualisationMode();
is_moving_view_ = true; is_moving_view_ = true;
//TODO: Find a way to simulate the left click without generate a bug in the Events
} }
} else{
QGraphicsView::mousePressEvent(e);
}
/**
Manage the release events click mouse :
*/
void DiagramView::mouseReleaseEvent(QMouseEvent *e) {
// Selection mode
if (FlagMouseButtons_ == Qt::MidButton){
if (is_moving_view_) {
setSelectionMode(); setSelectionMode();
is_moving_view_ = false; is_moving_view_ = false;
} }
} }
QGraphicsView::mouseReleaseEvent(e); QGraphicsView::mousePressEvent(e);
} }
/** /**
@ -458,8 +446,12 @@ void DiagramView::wheelEvent(QWheelEvent *e) {
//Zoom and scrolling //Zoom and scrolling
if (e->buttons() != Qt::MidButton) { if (e->buttons() != Qt::MidButton) {
if (!(e -> modifiers() & Qt::ControlModifier)) { if (!(e -> modifiers() & Qt::ControlModifier)) {
if (e -> delta() > 0) zoomIn(); if (e -> delta() > 0){
else zoomOut(); zoomIn();
}
else{
zoomOut();
}
} }
else { else {
QAbstractScrollArea::wheelEvent(e); QAbstractScrollArea::wheelEvent(e);

View File

@ -52,7 +52,6 @@ class DiagramView : public QGraphicsView {
bool fresh_focus_in_; ///< Indicate the focus was freshly gained bool fresh_focus_in_; ///< Indicate the focus was freshly gained
ElementsLocation next_location_; ElementsLocation next_location_;
QPoint next_position_; QPoint next_position_;
int FlagMouseButtons_;
// methods // methods
public: public:
@ -87,7 +86,6 @@ class DiagramView : public QGraphicsView {
private: private:
void mousePressEvent(QMouseEvent *); void mousePressEvent(QMouseEvent *);
void mouseReleaseEvent(QMouseEvent *e);
void dragEnterEvent(QDragEnterEvent *); void dragEnterEvent(QDragEnterEvent *);
void dragLeaveEvent(QDragLeaveEvent *); void dragLeaveEvent(QDragLeaveEvent *);
void dragMoveEvent(QDragMoveEvent *); void dragMoveEvent(QDragMoveEvent *);