From: Manuel Nickschas Date: Thu, 24 Jul 2008 23:05:10 +0000 (+0200) Subject: Column handles (but not yet the columns themselves) are now movable X-Git-Tag: 0.3.0~158 X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=commitdiff_plain;h=206ce9444661cc7b2f65bdd8c8c0d1c365e6306f;hp=39e2a78383295f86c5aa2dadbeac6f02b53eb7a4 Column handles (but not yet the columns themselves) are now movable --- 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 &);