diff options
| author | 2012-02-26 14:57:49 +0000 | |
|---|---|---|
| committer | 2012-02-26 14:57:49 +0000 | |
| commit | b2891fe17c395b885b4fac8634fa8cca1a45fbb6 (patch) | |
| tree | e9fcfdebc14137188b3cf02376fe90145d52943d /src/modules/dcc | |
| parent | Some mixed changes, mostly related to osx development: (diff) | |
| download | KVIrc-b2891fe17c395b885b4fac8634fa8cca1a45fbb6.tar.gz KVIrc-b2891fe17c395b885b4fac8634fa8cca1a45fbb6.tar.bz2 KVIrc-b2891fe17c395b885b4fac8634fa8cca1a45fbb6.zip | |
Dropped the KviTalPopupMenu layer, ported the involved code to QAction.
This fixes most of the random crashes on osx, and is the base for a next change in the menubar.
Addiotional fix: "disconnect" menu entry was broken since the 3.x era
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@6072 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/dcc')
| -rw-r--r-- | src/modules/dcc/DccFileTransfer.cpp | 17 | ||||
| -rw-r--r-- | src/modules/dcc/DccFileTransfer.h | 6 | ||||
| -rw-r--r-- | src/modules/dcc/canvaswidget.cpp | 70 |
3 files changed, 47 insertions, 46 deletions
diff --git a/src/modules/dcc/DccFileTransfer.cpp b/src/modules/dcc/DccFileTransfer.cpp index 251828fc2..dcb9fc320 100644 --- a/src/modules/dcc/DccFileTransfer.cpp +++ b/src/modules/dcc/DccFileTransfer.cpp @@ -1281,15 +1281,16 @@ void DccFileTransfer::abort() displayUpdate(); } -void DccFileTransfer::fillContextPopup(KviTalPopupMenu * m) +void DccFileTransfer::fillContextPopup(QMenu * m) { - m->insertItem(__tr2qs_ctx("Configure Bandwidth...","dcc"),this,SLOT(configureBandwidth())); - m->insertSeparator(); - m->insertItem(__tr2qs_ctx("Resend DCC","dcc"),this,SLOT(retryDCC())); - m->insertItem(__tr2qs_ctx("Resend TDCC","dcc"),this,SLOT(retryTDCC())); - m->insertItem(__tr2qs_ctx("Resend RevDCC","dcc"),this,SLOT(retryRevDCC())); - int id = m->insertItem(__tr2qs_ctx("Abort","dcc"),this,SLOT(abort())); - if(!active())m->setItemEnabled(id,false); + m->addAction(__tr2qs_ctx("Configure Bandwidth...","dcc"),this,SLOT(configureBandwidth())); + m->addSeparator(); + m->addAction(__tr2qs_ctx("Resend DCC","dcc"),this,SLOT(retryDCC())); + m->addAction(__tr2qs_ctx("Resend TDCC","dcc"),this,SLOT(retryTDCC())); + m->addAction(__tr2qs_ctx("Resend RevDCC","dcc"),this,SLOT(retryRevDCC())); + QAction *pAction = m->addAction(__tr2qs_ctx("Abort","dcc"),this,SLOT(abort())); + if(!active()) + pAction->setEnabled(false); } void DccFileTransfer::configureBandwidth() diff --git a/src/modules/dcc/DccFileTransfer.h b/src/modules/dcc/DccFileTransfer.h index d55fb3673..6f04013c5 100644 --- a/src/modules/dcc/DccFileTransfer.h +++ b/src/modules/dcc/DccFileTransfer.h @@ -34,7 +34,7 @@ #include "KviPointerList.h" #include "KviFileTransfer.h" #include "KviTimeUtils.h" -#include "KviTalPopupMenu.h" +#include "QMenu.h" #include "KviTalHBox.h" #include "KviTalVBox.h" @@ -49,7 +49,7 @@ class QTimer; class QPainter; class DccFileTransfer; class DccMarshal; -class KviTalPopupMenu; +class QMenu; typedef struct _KviDccSendThreadOptions { @@ -216,7 +216,7 @@ public: virtual void displayPaint(QPainter * p,int column, QRect rect); virtual int displayHeight(int iLineSpacing); - virtual void fillContextPopup(KviTalPopupMenu * m); + virtual void fillContextPopup(QMenu * m); virtual void fillStatusString(QString &szBuffer); virtual bool active(); virtual QString tipText(); diff --git a/src/modules/dcc/canvaswidget.cpp b/src/modules/dcc/canvaswidget.cpp index 18cb9badd..20daa1418 100644 --- a/src/modules/dcc/canvaswidget.cpp +++ b/src/modules/dcc/canvaswidget.cpp @@ -27,7 +27,7 @@ #ifdef COMPILE_DCC_CANVAS #include "KviCString.h" #include "KviLocale.h" - #include "KviTalPopupMenu.h" + #include "QMenu.h" #include <QCursor> #include <QPainter> @@ -1229,8 +1229,8 @@ case QVariant::Bool: { QComboBox * b = new QComboBox(false,table()->viewport()); - b->insertItem("FALSE"); - b->insertItem("TRUE"); + b->addAction("FALSE"); + b->addAction("TRUE"); b->setCurrentItem(m_property.toBool() ? 1 : 0); return b; } @@ -1254,20 +1254,20 @@ tmp.setNum(m_property.toFont().pointSize()); tmp.prepend(", "); tmp.prepend(m_property.toFont().family()); - b->insertItem(tmp); - b->insertItem(tmpDefault + ", 8"); - b->insertItem(tmpDefault + ", 10"); - b->insertItem(tmpDefault + ", 12"); - b->insertItem(tmpDefault + ", 14"); - b->insertItem(tmpDefault + ", 16"); - b->insertItem(tmpDefault + ", 18"); - b->insertItem(tmpDefault + ", 20"); - b->insertItem(tmpDefault + ", 24"); - b->insertItem(tmpDefault + ", 28"); - b->insertItem(tmpDefault + ", 32"); - b->insertItem(tmpDefault + ", 40"); - b->insertItem(tmpDefault + ", 48"); - b->insertItem(f.family() + ", 12"); + b->addAction(tmp); + b->addAction(tmpDefault + ", 8"); + b->addAction(tmpDefault + ", 10"); + b->addAction(tmpDefault + ", 12"); + b->addAction(tmpDefault + ", 14"); + b->addAction(tmpDefault + ", 16"); + b->addAction(tmpDefault + ", 18"); + b->addAction(tmpDefault + ", 20"); + b->addAction(tmpDefault + ", 24"); + b->addAction(tmpDefault + ", 28"); + b->addAction(tmpDefault + ", 32"); + b->addAction(tmpDefault + ", 40"); + b->addAction(tmpDefault + ", 48"); + b->addAction(f.family() + ", 12"); b->setCurrentItem(0); b->setCurrentItem(m_property.toBool() ? 1 : 0); return b; @@ -1471,28 +1471,28 @@ connect(m_pPropertiesWidget,SIGNAL(propertyChanged(const QString &,const QVariant &)),m_pCanvasView,SLOT(propertyChanged(const QString &,const QVariant &))); - KviTalPopupMenu * add = new KviTalPopupMenu(m_pMenuBar); - KviTalPopupMenu * shapes = new KviTalPopupMenu(add); - KviTalPopupMenu * polygons = new KviTalPopupMenu(add); - KviTalPopupMenu * items = new KviTalPopupMenu(add); - shapes->insertItem(__tr2qs_ctx("&Line","dcc"),m_pCanvasView,SLOT(insertLine())); - shapes->insertItem(__tr2qs_ctx("&Rectangle","dcc"),m_pCanvasView,SLOT(insertRectangle())); - shapes->insertItem(__tr2qs_ctx("&Ellipse","dcc"),m_pCanvasView,SLOT(insertEllipse())); - shapes->insertItem(__tr2qs_ctx("&Pie","dcc"),m_pCanvasView,SLOT(insertPie())); - shapes->insertItem(__tr2qs_ctx("&Chord","dcc"),m_pCanvasView,SLOT(insertChord())); + QMenu * add = new QMenu(m_pMenuBar); + QMenu * shapes = new QMenu(add); + QMenu * polygons = new QMenu(add); + QMenu * items = new QMenu(add); + shapes->addAction(__tr2qs_ctx("&Line","dcc"),m_pCanvasView,SLOT(insertLine())); + shapes->addAction(__tr2qs_ctx("&Rectangle","dcc"),m_pCanvasView,SLOT(insertRectangle())); + shapes->addAction(__tr2qs_ctx("&Ellipse","dcc"),m_pCanvasView,SLOT(insertEllipse())); + shapes->addAction(__tr2qs_ctx("&Pie","dcc"),m_pCanvasView,SLOT(insertPie())); + shapes->addAction(__tr2qs_ctx("&Chord","dcc"),m_pCanvasView,SLOT(insertChord())); - items->insertItem(__tr2qs_ctx("&Rich text (html)","dcc"),m_pCanvasView,SLOT(insertRichText())); + items->addAction(__tr2qs_ctx("&Rich text (html)","dcc"),m_pCanvasView,SLOT(insertRichText())); - polygons->insertItem(__tr2qs_ctx("&Triangle","dcc"),m_pCanvasView,SLOT(insertPolygonTriangle())); - polygons->insertItem(__tr2qs_ctx("&Rectangle","dcc"),m_pCanvasView,SLOT(insertPolygonRectangle())); - polygons->insertItem(__tr2qs_ctx("&Pentagon","dcc"),m_pCanvasView,SLOT(insertPolygonPentagon())); - polygons->insertItem(__tr2qs_ctx("&Hexagon","dcc"),m_pCanvasView,SLOT(insertPolygonHexagon())); + polygons->addAction(__tr2qs_ctx("&Triangle","dcc"),m_pCanvasView,SLOT(insertPolygonTriangle())); + polygons->addAction(__tr2qs_ctx("&Rectangle","dcc"),m_pCanvasView,SLOT(insertPolygonRectangle())); + polygons->addAction(__tr2qs_ctx("&Pentagon","dcc"),m_pCanvasView,SLOT(insertPolygonPentagon())); + polygons->addAction(__tr2qs_ctx("&Hexagon","dcc"),m_pCanvasView,SLOT(insertPolygonHexagon())); - add->insertItem(__tr2qs_ctx("&Shape","dcc"),shapes); - add->insertItem(__tr2qs_ctx("&Item","dcc"),items); - add->insertItem(__tr2qs_ctx("&Polygons","dcc"),polygons); + add->addAction(__tr2qs_ctx("&Shape","dcc"),shapes); + add->addAction(__tr2qs_ctx("&Item","dcc"),items); + add->addAction(__tr2qs_ctx("&Polygons","dcc"),polygons); - m_pMenuBar->insertItem(__tr2qs_ctx("&Insert","dcc"),add); + m_pMenuBar->addAction(__tr2qs_ctx("&Insert","dcc"),add); } DccCanvasWidget::~DccCanvasWidget() |
