return linkedIcon;\r
}\r
\r
+ List<String> findExpandedTags(QTreeWidgetItem item) {\r
+ List<String> list = new ArrayList<String>();\r
+ if (item.isExpanded()) \r
+ list.add(item.text(0));\r
+ for (int i=0; i<item.childCount(); i++) {\r
+ List<String> childrenList = findExpandedTags(item.child(i));\r
+ for (int j=0; j<childrenList.size(); j++) {\r
+ list.add(childrenList.get(j));\r
+ }\r
+ }\r
+ \r
+ return list;\r
+ }\r
+ \r
+ void expandTags(QTreeWidgetItem item, List<String> expandedTags) {\r
+ for (int i=0; i<item.childCount(); i++) {\r
+ expandTags(item.child(i), expandedTags);\r
+ }\r
+ \r
+ for (int i=0; i<expandedTags.size(); i++) {\r
+ if (expandedTags.get(i).equalsIgnoreCase(item.text(0))) {\r
+ expandItem(item);\r
+ i=expandedTags.size();\r
+ }\r
+ }\r
+ }\r
+ \r
public void load(List<Tag> tags) {\r
Tag tag;\r
List<QTreeWidgetItem> index = new ArrayList<QTreeWidgetItem>();\r
QTreeWidgetItem child;\r
\r
+ /* First, let's find out which stacks are expanded */\r
+ QTreeWidgetItem root = invisibleRootItem();\r
+ List<String> expandedTags = findExpandedTags(root);\r
+\r
+\r
+ \r
//Clear out the tree & reload\r
clear();\r
String iconPath = new String("classpath:cx/fbn/nevernote/icons/");\r
resizeColumnToContents(0);\r
resizeColumnToContents(1);\r
sortItems(0, SortOrder.AscendingOrder);\r
+ \r
+ expandTags(invisibleRootItem(), expandedTags);\r
}\r
// Show (unhide) all tags\r
public void showAllTags(boolean value) {\r