@@ -32,9 +32,10 @@ void QResArscEditor::refreshArscTree()
3232 m_TW_tree->clear ();
3333 const ResTable_package& t_tablePackage = m_Parser->tablePackage ();
3434 QTreeWidgetItem* t_packageItem = new QTreeWidgetItem (m_TW_tree);
35- t_packageItem->setText (0 , WCHARToQString (t_tablePackage.name ));
35+ QString t_packageName = WCHARToQString (t_tablePackage.name );
36+ t_packageItem->setText (0 , t_packageName);
3637 t_packageItem->setData (0 , eTreeItemRole_type, eTreeItemType_package);
37-
38+ t_packageItem-> setData ( 0 , eTreeItemRole_package, t_packageName);
3839 const TStringPool& t_typeString = m_Parser->typeString ();
3940 const QMap<uint, TTableTypeData>& t_typeDatas = m_Parser->tableTypeDatas ();
4041
@@ -46,13 +47,15 @@ void QResArscEditor::refreshArscTree()
4647 QTreeWidgetItem* t_typeItem = new QTreeWidgetItem (t_packageItem);
4748 t_typeItem->setText (0 , t_typeString.strings [i.key () - 1 ]);
4849 t_typeItem->setData (0 , eTreeItemRole_type, eTreeItemType_type);
50+ t_typeItem->setData (0 , eTreeItemRole_package, t_packageName);
4951 t_typeItem->setData (0 , eTreeItemRole_typeid, i.key ());
5052 const QVector<TTableTypeEx>& t_tableType = t_typeDatas[i.key ()].typeDatas ;
5153 for (int j = 0 ; j < t_tableType.size (); ++j)
5254 {
5355 QTreeWidgetItem* t_specItem = new QTreeWidgetItem (t_typeItem);
5456 t_specItem->setText (0 , tableConfig2String (t_typeString.strings [i.key () - 1 ], t_tableType[j].config ));
5557 t_specItem->setData (0 , eTreeItemRole_type, eTreeItemType_spec);
58+ t_specItem->setData (0 , eTreeItemRole_package, t_packageName);
5659 t_specItem->setData (0 , eTreeItemRole_typeid, i.key ());
5760 t_specItem->setData (0 , eTreeItemRole_specid, j);
5861 t_specItem->setData (0 , eTreeItemRole_tableConfig, QVariant::fromValue (t_tableType[j].config ));
@@ -179,6 +182,8 @@ void QResArscEditor::onShowTreeContextMenu_slot(const QPoint& _pos)
179182 if (m_TW_tree->currentItem () == NULL )
180183 return ;
181184 QTreeWidgetItem* t_item = m_TW_tree->currentItem ();
185+ if (t_item->data (0 , eTreeItemRole_type).toUInt () == eTreeItemType_package)
186+ return ;
182187 QTreeWidgetItem* t_typeItem = t_item;
183188 if (t_item->data (0 , eTreeItemRole_type).toUInt () != eTreeItemType_type)
184189 t_typeItem = t_item->parent ();
0 commit comments