current highlighted search result is no longer reset when the search string changes...
[quassel.git] / src / uisupport / actioncollection.cpp
index a20d918..9175ecc 100644 (file)
@@ -21,6 +21,7 @@
  ***************************************************************************/
 
 #include <QAction>
+#include <QDebug>
 
 #include "actioncollection.h"
 
@@ -49,7 +50,8 @@ QList<QAction *> ActionCollection::actions() const {
 }
 
 Action *ActionCollection::addAction(const QString &name, Action *action) {
-  QAction *act = addAction(name, action);
+  QAction *act = addAction(name, static_cast<QAction *>(action));
+  Q_UNUSED(act);
   Q_ASSERT(act == action);
   return action;
 }
@@ -73,7 +75,7 @@ QAction *ActionCollection::addAction(const QString &name, QAction *action) {
   else
     action->setObjectName(indexName);
   if(indexName.isEmpty())
-    indexName = QString("unnamed-%1").arg((int)action, 16);
+    indexName = indexName.sprintf("unnamed-%p", (void *)action);
 
   // do we already have this action?
   if(_actionByName.value(indexName, 0) == action)
@@ -206,6 +208,10 @@ void ActionCollection::clearAssociatedWidgets() {
   _associatedWidgets.clear();
 }
 
+void ActionCollection::associatedWidgetDestroyed(QObject *obj) {
+  _associatedWidgets.removeAll(static_cast<QWidget *>(obj));
+}
+
 bool ActionCollection::unlistAction(QAction *action) {
   // This might be called with a partly destroyed QAction!