tools/designer/src/lib/shared/actionrepository.cpp
changeset 7 f7bc934e204c
parent 3 41300fa6a67c
child 37 758a864f9613
--- a/tools/designer/src/lib/shared/actionrepository.cpp	Tue Feb 02 00:43:10 2010 +0200
+++ b/tools/designer/src/lib/shared/actionrepository.cpp	Wed Mar 31 11:06:36 2010 +0300
@@ -1,6 +1,6 @@
 /****************************************************************************
 **
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
 ** All rights reserved.
 ** Contact: Nokia Corporation (qt-info@nokia.com)
 **
@@ -77,18 +77,12 @@
     return qvariant_cast<QAction*>(item->data(qdesigner_internal::ActionModel::ActionRole));
 }
 
-static QIcon fixActionIcon(const QIcon &icon)
-{
-    if (icon.isNull())
-        return qdesigner_internal::emptyIcon();
-    return icon;
-}
-
 namespace qdesigner_internal {
 
 // ----------- ActionModel
 ActionModel::ActionModel(QWidget *parent ) :
     QStandardItemModel(parent),
+    m_emptyIcon(emptyIcon()),
     m_core(0)
 {
     QStringList headers;
@@ -127,7 +121,7 @@
     for (int i = 0; i < NumColumns; i++)
        list += item(row, i);
 
-    setItems(m_core, actionOfItem(list.front()), list);
+    setItems(m_core, actionOfItem(list.front()), m_emptyIcon, list);
 }
 
 void ActionModel::remove(int row)
@@ -150,7 +144,7 @@
         item->setFlags(flags);
         items.push_back(item);
     }
-    setItems(m_core, action, items);
+    setItems(m_core, action, m_emptyIcon, items);
     appendRow(items);
     return indexFromItem(items.front());
 }
@@ -185,7 +179,9 @@
     return qvariant_cast<PropertySheetKeySequenceValue>(sheet->property(index));
 }
 
-void  ActionModel::setItems(QDesignerFormEditorInterface *core, QAction *action, QStandardItemList &sl)
+void  ActionModel::setItems(QDesignerFormEditorInterface *core, QAction *action,
+                            const QIcon &defaultIcon,
+                            QStandardItemList &sl)
 {
 
     // Tooltip, mostly for icon view mode
@@ -200,7 +196,10 @@
 
     QStandardItem *item =  sl[NameColumn];
     item->setText(action->objectName());
-    item->setIcon(fixActionIcon(action->icon()));
+    QIcon icon = action->icon();
+    if (icon.isNull())
+        icon = defaultIcon;
+    item->setIcon(icon);
     item->setToolTip(firstTooltip);
     item->setWhatsThis(firstTooltip);
     // Used
@@ -244,7 +243,7 @@
     ActionRepositoryMimeData::ActionList actionList;
 
     QSet<QAction*> actions;
-    foreach (const  QModelIndex &index, indexes)
+    foreach (const QModelIndex &index, indexes)
         if (QStandardItem *item = itemFromIndex(index))
             if (QAction *action = actionOfItem(item))
                 actions.insert(action);