X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserPC.git;a=blobdiff_plain;f=src%2Fdialogs%2FEditFolderDialog.cpp;fp=src%2Fdialogs%2FEditFolderDialog.cpp;h=cabcf5dce6b838ca3315c5bfcddbf61b5a191447;hp=950e502a7790db72eba97e633dd0e2d09b9bb2cf;hb=cc59ec7b2c1ad4d7832b2c05f7245e8387379e66;hpb=5e66d268d985552aeeae3e9ae7d0967d359a557f diff --git a/src/dialogs/EditFolderDialog.cpp b/src/dialogs/EditFolderDialog.cpp index 950e502..cabcf5d 100644 --- a/src/dialogs/EditFolderDialog.cpp +++ b/src/dialogs/EditFolderDialog.cpp @@ -50,11 +50,11 @@ EditFolderDialog::EditFolderDialog(QWidget *parentWidgetPointer, const int datab QDialogButtonBox *dialogButtonBoxPointer = editFolderDialogUi.dialogButtonBox; saveButtonPointer = dialogButtonBoxPointer->button(QDialogButtonBox::Save); - // Get the bookmark struct. - bookmarkStructPointer = BookmarksDatabase::getBookmark(databaseId); + // Get the folder bookmark struct. + folderBookmarkStructPointer = BookmarksDatabase::getBookmark(databaseId); // Set the folder icons. - currentFolderIconRadioButtonPointer->setIcon(bookmarkStructPointer->favoriteIcon); + currentFolderIconRadioButtonPointer->setIcon(folderBookmarkStructPointer->favoriteIcon); currentWebsiteFavoriteIconRadioButtonPointer->setIcon(currentWebsiteFavoriteIcon); // Instantiate a folder helper. @@ -81,17 +81,17 @@ EditFolderDialog::EditFolderDialog(QWidget *parentWidgetPointer, const int datab parentFolderTreeWidgetPointer->addTopLevelItem(bookmarksTreeWidgetItemPointer); // Select the root bookmarks folder if it is the initial parent folder. - if (bookmarkStructPointer->parentFolderId == 0) + if (folderBookmarkStructPointer->parentFolderId == 0) bookmarksTreeWidgetItemPointer->setSelected(true); // Populate the subfolders, except for the one being edited. - folderHelperPointer->populateSubfoldersExcept(databaseId, bookmarksTreeWidgetItemPointer, bookmarkStructPointer->parentFolderId); + folderHelperPointer->populateSubfoldersExcept(databaseId, bookmarksTreeWidgetItemPointer, folderBookmarkStructPointer->parentFolderId); // Open all the folders. parentFolderTreeWidgetPointer->expandAll(); // Populate the line edits. - folderNameLineEditPointer->setText(bookmarkStructPointer->name); + folderNameLineEditPointer->setText(folderBookmarkStructPointer->name); // Focus the folder name line edit. folderNameLineEditPointer->setFocus(); @@ -136,11 +136,14 @@ void EditFolderDialog::save() // Get the parent folder ID. double parentFolderId = selectedFolderPointer->text(folderHelperPointer->FOLDER_ID_COLUMN).toDouble(); + // Determine if it has moved to a new folder. + bool movedToNewFolder = parentFolderId != folderBookmarkStructPointer->parentFolderId; + // Get the original display order. - int displayOrder = bookmarkStructPointer->displayOrder; + int displayOrder = folderBookmarkStructPointer->displayOrder; // Get the new display order if the parent folder has changed. - if (parentFolderId != bookmarkStructPointer->parentFolderId) + if (movedToNewFolder) displayOrder = BookmarksDatabase::getFolderItemCount(parentFolderId); // Create a favorite icon. @@ -167,8 +170,9 @@ void EditFolderDialog::save() // Update the folder. BookmarksDatabase::updateBookmark(updatedBookmarkStructPointer); - // Update the display order of all the items in the previous folder. - BookmarksDatabase::updateFolderContentsDisplayOrder(bookmarkStructPointer->parentFolderId); + // Update the display order of all the items in the previous folder if it has moved to a new folder. + if (movedToNewFolder) + BookmarksDatabase::updateFolderContentsDisplayOrder(folderBookmarkStructPointer->parentFolderId); // Emit the folder saved signal. emit folderSaved();