diff --git a/src/plugins/qmldesigner/components/formeditor/itemcreatortool.cpp b/src/plugins/qmldesigner/components/formeditor/itemcreatortool.cpp index 6b1f1ffdc8282e7238c2fce09db15bb802057220..d8343122cc35cb860ac0ca212b9f1cd1e7aa4e87 100644 --- a/src/plugins/qmldesigner/components/formeditor/itemcreatortool.cpp +++ b/src/plugins/qmldesigner/components/formeditor/itemcreatortool.cpp @@ -178,7 +178,8 @@ void ItemCreatorTool::createAtItem(const QRectF &rect) return; if (list.first() == "item") { RewriterTransaction transaction = view()->beginRewriterTransaction(); - ItemLibraryEntry itemLibraryEntry = view()->model()->metaInfo().itemLibraryInfo()->entry(list.at(1)); + Q_ASSERT(false); //this code is out of date + ItemLibraryEntry itemLibraryEntry; //= view()->model()->metaInfo().itemLibraryInfo()->entry(list.at(1)); QmlItemNode newNode = view()->createQmlItemNode(itemLibraryEntry, pos, parentNode); newNode.modelNode().variantProperty("width") = rect.width(); newNode.modelNode().variantProperty("height") = rect.height(); diff --git a/src/plugins/qmldesigner/designercore/include/itemlibraryinfo.h b/src/plugins/qmldesigner/designercore/include/itemlibraryinfo.h index 21ac6c8f16ad788834b7ae1a23d9caf149092c91..2f34cf000124f30883a6f99fa4e5258f32465af1 100644 --- a/src/plugins/qmldesigner/designercore/include/itemlibraryinfo.h +++ b/src/plugins/qmldesigner/designercore/include/itemlibraryinfo.h @@ -104,7 +104,7 @@ public: ItemLibraryEntry entry(const QString &name) const; void addEntry(const ItemLibraryEntry &entry); - bool removeEntry(const QString &name); + bool containsEntry(const ItemLibraryEntry &entry); void clearEntries(); signals: diff --git a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp index a42529b44ff94849562a21a66452ef3a912da639..a1b6f73dca252aaf4a76dd8360e3a2160a45996f 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/itemlibraryinfo.cpp @@ -283,25 +283,25 @@ QList<ItemLibraryEntry> ItemLibraryInfo::entries() const return list; } +static inline QString keyForEntry(const ItemLibraryEntry &entry) +{ + return entry.name() + entry.category(); +} + void ItemLibraryInfo::addEntry(const ItemLibraryEntry &entry) { - if (m_d->nameToEntryHash.contains(entry.name())) + const QString key = keyForEntry(entry); + if (m_d->nameToEntryHash.contains(key)) throw InvalidMetaInfoException(__LINE__, __FUNCTION__, __FILE__); - m_d->nameToEntryHash.insert(entry.name(), entry); + m_d->nameToEntryHash.insert(key, entry); emit entriesChanged(); } -bool ItemLibraryInfo::removeEntry(const QString &name) +bool ItemLibraryInfo::containsEntry(const ItemLibraryEntry &entry) { - if (m_d->nameToEntryHash.remove(name)) { - emit entriesChanged(); - return true; - } - if (m_d->baseInfo) - return m_d->baseInfo->removeEntry(name); - - return false; + const QString key = keyForEntry(entry); + return m_d->nameToEntryHash.contains(key); } void ItemLibraryInfo::clearEntries() diff --git a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp index d48bbbaab22e939ff2875c842f7dd85851006cc4..8b4337716fe856abe22e8f17a320e60b06faad1b 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/subcomponentmanager.cpp @@ -347,7 +347,7 @@ void SubComponentManagerPrivate::registerQmlFile(const QFileInfo &fileInfo, cons itemLibraryEntry.setName(componentName); itemLibraryEntry.setCategory("QML Components"); - if (m_metaInfo.itemLibraryInfo()->entry(componentName).name() != componentName) + if (!m_metaInfo.itemLibraryInfo()->containsEntry(itemLibraryEntry)) m_metaInfo.itemLibraryInfo()->addEntry(itemLibraryEntry); } } diff --git a/src/plugins/qmldesigner/meegoplugin/meego.metainfo b/src/plugins/qmldesigner/meegoplugin/meego.metainfo index 124939e34f9decd2ef90275fedd3a21ed0fa768d..81bbf1b210c8ea057004ef17d2d2258be8183c45 100644 --- a/src/plugins/qmldesigner/meegoplugin/meego.metainfo +++ b/src/plugins/qmldesigner/meegoplugin/meego.metainfo @@ -1,27 +1,27 @@ <metainfo> <node name="Label" icon=":/meegoplugin/images/label16.png"> - <itemlibraryentry name="Label (MeeGo)" category="Components MeeGo" libraryIcon=":/meegoplugin/images/label.png" requiredImport="com.Meego"> + <itemlibraryentry name="Label" category="Components MeeGo" libraryIcon=":/meegoplugin/images/label.png" requiredImport="com.Meego"> <property name="text" type="QString" value="Label"/> </itemlibraryentry> </node> <node name="Button" icon=":/meegoplugin/images/button16.png"> - <itemlibraryentry name="Button (MeeGo)" category="Components MeeGo" libraryIcon=":/meegoplugin/images/button.png" requiredImport="com.Meego"> + <itemlibraryentry name="Button" category="Components MeeGo" libraryIcon=":/meegoplugin/images/button.png" requiredImport="com.Meego"> </itemlibraryentry> </node> <node name="Slider" icon=":/meegoplugin/images/slider16.png"> - <itemlibraryentry name="Slider (MeeGo)" category="Components MeeGo" libraryIcon=":/meegoplugin/images/slider.png" requiredImport="com.Meego"> + <itemlibraryentry name="Slider" category="Components MeeGo" libraryIcon=":/meegoplugin/images/slider.png" requiredImport="com.Meego"> </itemlibraryentry> </node> <node name="CheckBox" icon=":/meegoplugin/images/checkbox16.png"> - <itemlibraryentry name="CheckBox (MeeGo)" category="Components MeeGo" libraryIcon=":/meegoplugin/images/checkbox.png" requiredImport="com.Meego"> + <itemlibraryentry name="CheckBox" category="Components MeeGo" libraryIcon=":/meegoplugin/images/checkbox.png" requiredImport="com.Meego"> </itemlibraryentry> </node> <node name="Spinner" icon=":/meegoplugin/images/item-icon16.png"> - <itemlibraryentry name="Spinner (MeeGo)" category="Components MeeGo" libraryIcon=":/meegoplugin/images/item-icon.png" requiredImport="com.Meego"> + <itemlibraryentry name="Spinner" category="Components MeeGo" libraryIcon=":/meegoplugin/images/item-icon.png" requiredImport="com.Meego"> </itemlibraryentry> </node> <node name="LineEdit" icon=":/meegoplugin/images/lineedit16.png"> - <itemlibraryentry name="LineEdit (MeeGo)" category="Components MeeGo" libraryIcon=":/meegoplugin/images/lineedit.png" requiredImport="com.Meego"> + <itemlibraryentry name="LineEdit" category="Components MeeGo" libraryIcon=":/meegoplugin/images/lineedit.png" requiredImport="com.Meego"> </itemlibraryentry> </node> </metainfo> diff --git a/src/plugins/qmldesigner/meegoplugin/meegoplugin.qrc b/src/plugins/qmldesigner/meegoplugin/meegoplugin.qrc index d6d323a3a12b28c59dfd6a8f843dd9cd91290545..d46243ec9e7067d67872b5d71018f8e4d1b4a782 100644 --- a/src/plugins/qmldesigner/meegoplugin/meegoplugin.qrc +++ b/src/plugins/qmldesigner/meegoplugin/meegoplugin.qrc @@ -6,6 +6,7 @@ <file>images/button.png</file> <file>images/button16.png</file> <file>images/checkbox.png</file> + <file>images/checkbox16.png</file> <file>images/label.png</file> <file>images/label16.png</file> <file>images/lineedit.png</file> diff --git a/src/plugins/qmldesigner/symbianplugin/symbian.metainfo b/src/plugins/qmldesigner/symbianplugin/symbian.metainfo index 4bc380e21ebbc990904ede2a53c84d139a59b292..dc2d8e403a4931f96130a653cb873ab14441cf52 100644 --- a/src/plugins/qmldesigner/symbianplugin/symbian.metainfo +++ b/src/plugins/qmldesigner/symbianplugin/symbian.metainfo @@ -1,13 +1,13 @@ <metainfo> <node name="Label" icon=":/symbianplugin/images/label16.png"> - <itemlibraryentry name="Label (Symbian)" category="Components Symbian" libraryIcon=":/symbianplugin/images/label.png" version="1.0" requiredImport="Qt.labs.Symbian"> + <itemlibraryentry name="Label" category="Components Symbian" libraryIcon=":/symbianplugin/images/label.png" version="1.0" requiredImport="Qt.labs.Symbian"> <property name="width" type="int" value="100"/> <property name="height" type="int" value="30"/> <property name="text" type="QString" value="Label"/> </itemlibraryentry> </node> <node name="Button" icon=":/symbianplugin/images/button16.png"> - <itemlibraryentry name="Button (Symbian)" category="Components Symbian" libraryIcon=":/symbianplugin/images/button.png" version="1.0" requiredImport="Qt.labs.Symbian"> + <itemlibraryentry name="Button" category="Components Symbian" libraryIcon=":/symbianplugin/images/button.png" version="1.0" requiredImport="Qt.labs.Symbian"> <property name="width" type="int" value="100"/> <property name="height" type="int" value="30"/> <property name="text" type="QString" value="Button"/> @@ -16,14 +16,14 @@ <node name="Slider" icon=":/symbianplugin/images/slider16.png"> </node> <node name="CheckBox" icon=":/symbianplugin/images/checkbox16.png"> - <itemlibraryentry name="CheckBox (Symbian)" category="Components Symbian" libraryIcon=":/symbianplugin/images/checkbox.png" version="1.0" requiredImport="Qt.labs.Symbian"> + <itemlibraryentry name="CheckBox" category="Components Symbian" libraryIcon=":/symbianplugin/images/checkbox.png" version="1.0" requiredImport="Qt.labs.Symbian"> <property name="width" type="int" value="180"/> <property name="height" type="int" value="30"/> <property name="text" type="QString" value="CheckBox"/> </itemlibraryentry> </node> <node name="RadioButton" icon=":/symbianplugin/images/radiobutton16.png"> - <itemlibraryentry name="RadioButton (Symbian)" category="Components Symbian" libraryIcon=":/symbianplugin/images/radiobutton.png" version="1.0" requiredImport="Qt.labs.Symbian"> + <itemlibraryentry name="RadioButton" category="Components Symbian" libraryIcon=":/symbianplugin/images/radiobutton.png" version="1.0" requiredImport="Qt.labs.Symbian"> <property name="width" type="int" value="180"/> <property name="height" type="int" value="30"/> <property name="text" type="QString" value="RadioButton"/> @@ -34,14 +34,14 @@ <node name="Switch" icon=":/symbianplugin/images/item-icon16.png"> </node> <node name="LineEdit" icon=":/symbianplugin/images/lineedit16.png"> - <itemlibraryentry name="LineEdit (Symbian)" category="Components Symbian" libraryIcon=":/symbianplugin/images/lineedit.png" version="1.0" requiredImport="Qt.labs.Symbian"> + <itemlibraryentry name="LineEdit" category="Components Symbian" libraryIcon=":/symbianplugin/images/lineedit.png" version="1.0" requiredImport="Qt.labs.Symbian"> <property name="width" type="int" value="100"/> <property name="height" type="int" value="30"/> <property name="text" type="QString" value="LineEdit"/> </itemlibraryentry> </node> <node name="ProgressBar" icon=":/symbianplugin/images/progressbar16.png"> - <itemlibraryentry name="ProgressBar (Symbian)" category="Components Symbian" libraryIcon=":/symbianplugin/images/progressbar.png" version="1.0" requiredImport="Qt.labs.Symbian"> + <itemlibraryentry name="ProgressBar" category="Components Symbian" libraryIcon=":/symbianplugin/images/progressbar.png" version="1.0" requiredImport="Qt.labs.Symbian"> <property name="width" type="int" value="100"/> <property name="height" type="int" value="30"/> </itemlibraryentry> diff --git a/src/plugins/qmldesigner/symbianplugin/symbianplugin.qrc b/src/plugins/qmldesigner/symbianplugin/symbianplugin.qrc index 5de8f4b35c9b49eb46c311e7c6c3a5962dd569e8..f476fa1d773dbc5494318c84b7c51385b9648777 100644 --- a/src/plugins/qmldesigner/symbianplugin/symbianplugin.qrc +++ b/src/plugins/qmldesigner/symbianplugin/symbianplugin.qrc @@ -5,6 +5,7 @@ <file>images/item-icon.png</file> <file>images/button.png</file> <file>images/button16.png</file> + <file>images/checkbox16.png</file> <file>images/checkbox.png</file> <file>images/label.png</file> <file>images/label16.png</file>