aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/dcc
diff options
context:
space:
mode:
authorGravatar Fabio Bas2012-02-26 14:57:49 +0000
committerGravatar Fabio Bas2012-02-26 14:57:49 +0000
commitb2891fe17c395b885b4fac8634fa8cca1a45fbb6 (patch)
treee9fcfdebc14137188b3cf02376fe90145d52943d /src/modules/dcc
parentSome mixed changes, mostly related to osx development: (diff)
downloadKVIrc-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.cpp17
-rw-r--r--src/modules/dcc/DccFileTransfer.h6
-rw-r--r--src/modules/dcc/canvaswidget.cpp70
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()