Avoid creating unnecessary event loops

This is part 2.
This commit is contained in:
Chocobo1
2019-06-19 11:26:17 +08:00
parent 183db3475a
commit 88c3ffbef8
5 changed files with 86 additions and 67 deletions

View File

@@ -89,13 +89,16 @@ void TorrentCategoryDialog::editCategory(QWidget *parent, const QString &categor
Q_ASSERT(Session::instance()->categories().contains(categoryName));
TorrentCategoryDialog dialog(parent);
dialog.setCategoryNameEditable(false);
dialog.setCategoryName(categoryName);
dialog.setSavePath(Session::instance()->categories()[categoryName]);
if (dialog.exec() == TorrentCategoryDialog::Accepted) {
Session::instance()->editCategory(categoryName, dialog.savePath());
}
auto dialog = new TorrentCategoryDialog(parent);
dialog->setAttribute(Qt::WA_DeleteOnClose);
dialog->setCategoryNameEditable(false);
dialog->setCategoryName(categoryName);
dialog->setSavePath(Session::instance()->categories()[categoryName]);
connect(dialog, &TorrentCategoryDialog::accepted, parent, [dialog, categoryName]()
{
Session::instance()->editCategory(categoryName, dialog->savePath());
});
dialog->open();
}
void TorrentCategoryDialog::setCategoryNameEditable(bool editable)