- // Only populate the subfolder if it is not excepted.
- if (bookmarkStruct.databaseId != exceptSubfolderDatabaseId)
- {
- // Create a tree widget item.
- QTreeWidgetItem *subfolderWidgetItemPointer = new QTreeWidgetItem();
-
- // Populate the tree widget item.
- subfolderWidgetItemPointer->setText(FOLDER_NAME_COLUMN, bookmarkStruct.name);
- subfolderWidgetItemPointer->setIcon(FOLDER_NAME_COLUMN, bookmarkStruct.favoriteIcon);
- subfolderWidgetItemPointer->setText(FOLDER_ID_COLUMN, QString::number(bookmarkStruct.folderId, 'f', 0)); // Format the folder ID as a floating point with no trailing zeros.
-
- // Add the subfolder to the tree widget item.
- treeWidgetItemPointer->addChild(subfolderWidgetItemPointer);
-
- // Select the folder if it is the initial parent folder.
- if (bookmarkStruct.folderId == initialParentFolderId)
- subfolderWidgetItemPointer->setSelected(true);
-
- // Add any subfolders.
- populateSubfoldersExcept(exceptSubfolderDatabaseId, subfolderWidgetItemPointer, initialParentFolderId);
- }
+ // Determine if this is an excepted folder.
+ bool exceptedFolder = bookmarkStruct.databaseId == exceptSubfolderDatabaseId;
+
+ // Create a tree widget item.
+ QTreeWidgetItem *subfolderWidgetItemPointer = new QTreeWidgetItem();
+
+ // Populate the tree widget item.
+ subfolderWidgetItemPointer->setText(FOLDER_NAME_COLUMN, bookmarkStruct.name);
+ subfolderWidgetItemPointer->setIcon(FOLDER_NAME_COLUMN, bookmarkStruct.favoriteIcon);
+ subfolderWidgetItemPointer->setText(FOLDER_ID_COLUMN, QString::number(bookmarkStruct.folderId, 'f', 0)); // Format the folder ID as a floating point with no trailing zeros.
+
+ // Disable the folder widget if it is excepted. All subfolders will automatically be disabled.
+ if (exceptedFolder)
+ subfolderWidgetItemPointer->setDisabled(true);
+
+ // Add the subfolder to the tree widget item.
+ treeWidgetItemPointer->addChild(subfolderWidgetItemPointer);
+
+ // Select the folder if it is the initial parent folder.
+ if (bookmarkStruct.folderId == initialParentFolderId)
+ subfolderWidgetItemPointer->setSelected(true);
+
+ // Add any subfolders.
+ populateSubfoldersExcept(exceptSubfolderDatabaseId, subfolderWidgetItemPointer, initialParentFolderId);