From 206ce9444661cc7b2f65bdd8c8c0d1c365e6306f Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Fri, 25 Jul 2008 01:05:10 +0200 Subject: [PATCH] Column handles (but not yet the columns themselves) are now movable --- src/qtui/chatscene.cpp | 12 ------------ src/qtui/chatscene.h | 1 - src/qtui/chatview.cpp | 3 --- src/qtui/columnhandleitem.cpp | 22 +++++++++++++++++++++- src/qtui/columnhandleitem.h | 5 ++++- 5 files changed, 25 insertions(+), 18 deletions(-) diff --git a/src/qtui/chatscene.cpp b/src/qtui/chatscene.cpp index d7ad76a1..bcf3c935 100644 --- a/src/qtui/chatscene.cpp +++ b/src/qtui/chatscene.cpp @@ -98,15 +98,3 @@ void ChatScene::rectChanged(const QRectF &rect) { firstColHandle->sceneRectChanged(rect); secondColHandle->sceneRectChanged(rect); } - -void ChatScene::mousePressEvent ( QGraphicsSceneMouseEvent * mouseEvent ) { - /* - qDebug() << "recv" << mouseEvent->scenePos(); - ChatLine *line = static_cast(itemAt(mouseEvent->scenePos())); - ChatItem *item = static_cast(itemAt(mouseEvent->scenePos())); - qDebug() << (void*)line << (void*)item; - if(line) { - line->myMousePressEvent(mouseEvent); - } else QGraphicsScene::mousePressEvent(mouseEvent); - */ -} diff --git a/src/qtui/chatscene.h b/src/qtui/chatscene.h index daabba7f..9d8a5651 100644 --- a/src/qtui/chatscene.h +++ b/src/qtui/chatscene.h @@ -53,7 +53,6 @@ class ChatScene : public QGraphicsScene { protected slots: void rowsInserted(const QModelIndex &, int, int); - void mousePressEvent(QGraphicsSceneMouseEvent * mouseEvent); private: qreal _width, _height; diff --git a/src/qtui/chatview.cpp b/src/qtui/chatview.cpp index eeaaf565..cc06e6aa 100644 --- a/src/qtui/chatview.cpp +++ b/src/qtui/chatview.cpp @@ -31,9 +31,6 @@ ChatView::ChatView(Buffer *buf, QWidget *parent) : QGraphicsView(parent), AbstractChatView() { setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - setOptimizationFlags(QGraphicsView::DontClipPainter - |QGraphicsView::DontSavePainterState - |QGraphicsView::DontAdjustForAntialiasing); setAlignment(Qt::AlignBottom); setInteractive(true); diff --git a/src/qtui/columnhandleitem.cpp b/src/qtui/columnhandleitem.cpp index 16cec89d..3b84f578 100644 --- a/src/qtui/columnhandleitem.cpp +++ b/src/qtui/columnhandleitem.cpp @@ -18,14 +18,19 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ +#include #include #include +#include + #include "columnhandleitem.h" ColumnHandleItem::ColumnHandleItem(qreal w, QGraphicsItem *parent) : QGraphicsItem(parent) { _width = w; - + setZValue(10); + setCursor(QCursor(Qt::OpenHandCursor)); + setFlag(ItemIsMovable); } void ColumnHandleItem::setXPos(qreal xpos) { @@ -37,6 +42,21 @@ void ColumnHandleItem::sceneRectChanged(const QRectF &rect) { prepareGeometryChange(); } +void ColumnHandleItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event) { + + QGraphicsItem::mouseMoveEvent(event); +} + +void ColumnHandleItem::mousePressEvent(QGraphicsSceneMouseEvent *event) { qDebug() << "pressed!"; + setCursor(QCursor(Qt::ClosedHandCursor)); + QGraphicsItem::mousePressEvent(event); +} + +void ColumnHandleItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { + setCursor(QCursor(Qt::OpenHandCursor)); + QGraphicsItem::mouseReleaseEvent(event); +} + void ColumnHandleItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) { Q_UNUSED(option); Q_UNUSED(widget); diff --git a/src/qtui/columnhandleitem.h b/src/qtui/columnhandleitem.h index 81c411ed..3bfe5bac 100644 --- a/src/qtui/columnhandleitem.h +++ b/src/qtui/columnhandleitem.h @@ -32,7 +32,10 @@ class ColumnHandleItem : public QGraphicsItem { inline QRectF boundingRect() const; void setXPos(qreal xpos); - virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); + void mouseMoveEvent(QGraphicsSceneMouseEvent *event); + void mousePressEvent(QGraphicsSceneMouseEvent *event); + void mouseReleaseEvent(QGraphicsSceneMouseEvent *event); void sceneRectChanged(const QRectF &); -- 2.20.1