diff src/gui/pages/search.cc @ 370:ea3a74ed2ef9

*: hm, last commit wasn't quite finished?
author Paper <paper@tflc.us>
date Fri, 25 Jul 2025 10:22:04 -0400
parents 8d45d892be88
children
line wrap: on
line diff
--- a/src/gui/pages/search.cc	Fri Jul 25 10:16:02 2025 -0400
+++ b/src/gui/pages/search.cc	Fri Jul 25 10:22:04 2025 -0400
@@ -23,21 +23,26 @@
 #include <iostream>
 #include <sstream>
 
-SearchPageSearchThread::SearchPageSearchThread(QObject* parent) : QThread(parent) {
+SearchPageSearchThread::SearchPageSearchThread(QObject *parent) : QThread(parent)
+{
 }
 
-void SearchPageSearchThread::SetSearch(const std::string& search) {
+void SearchPageSearchThread::SetSearch(const std::string &search)
+{
 	search_ = search;
 }
 
-void SearchPageSearchThread::run() {
+void SearchPageSearchThread::run()
+{
 	emit GotResults(Services::Search(search_));
 }
 
-SearchPageListSortFilter::SearchPageListSortFilter(QObject* parent) : QSortFilterProxyModel(parent) {
+SearchPageListSortFilter::SearchPageListSortFilter(QObject *parent) : QSortFilterProxyModel(parent)
+{
 }
 
-bool SearchPageListSortFilter::lessThan(const QModelIndex& l, const QModelIndex& r) const {
+bool SearchPageListSortFilter::lessThan(const QModelIndex &l, const QModelIndex &r) const
+{
 	QVariant left = sourceModel()->data(l, sortRole());
 	QVariant right = sourceModel()->data(r, sortRole());
 
@@ -55,10 +60,12 @@
 
 /* -------------------------------------------- */
 
-SearchPageListModel::SearchPageListModel(QObject* parent) : QAbstractListModel(parent) {
+SearchPageListModel::SearchPageListModel(QObject *parent) : QAbstractListModel(parent)
+{
 }
 
-void SearchPageListModel::ParseSearch(const std::vector<int>& ids) {
+void SearchPageListModel::ParseSearch(const std::vector<int> &ids)
+{
 	/* hack!!! */
 	if (!rowCount(index(0))) {
 		beginInsertRows(QModelIndex(), 0, 0);
@@ -72,17 +79,20 @@
 	endResetModel();
 }
 
-int SearchPageListModel::rowCount(const QModelIndex& parent) const {
+int SearchPageListModel::rowCount(const QModelIndex &parent) const
+{
 	return ids.size();
 	(void)(parent);
 }
 
-int SearchPageListModel::columnCount(const QModelIndex& parent) const {
+int SearchPageListModel::columnCount(const QModelIndex &parent) const
+{
 	return NB_COLUMNS;
 	(void)(parent);
 }
 
-QVariant SearchPageListModel::headerData(const int section, const Qt::Orientation orientation, const int role) const {
+QVariant SearchPageListModel::headerData(const int section, const Qt::Orientation orientation, const int role) const
+{
 	switch (role) {
 		case Qt::DisplayRole: {
 			switch (section) {
@@ -110,11 +120,12 @@
 	return QAbstractListModel::headerData(section, orientation, role);
 }
 
-QVariant SearchPageListModel::data(const QModelIndex& index, int role) const {
+QVariant SearchPageListModel::data(const QModelIndex &index, int role) const
+{
 	if (!index.isValid())
 		return QVariant();
 
-	const Anime::Anime& anime = Anime::db.items[ids[index.row()]];
+	const Anime::Anime &anime = Anime::db.items[ids[index.row()]];
 
 	switch (role) {
 		case Qt::DisplayRole:
@@ -155,19 +166,22 @@
 	return QVariant();
 }
 
-Qt::ItemFlags SearchPageListModel::flags(const QModelIndex& index) const {
+Qt::ItemFlags SearchPageListModel::flags(const QModelIndex &index) const
+{
 	if (!index.isValid())
 		return Qt::NoItemFlags;
 
 	return Qt::ItemIsEnabled | Qt::ItemIsSelectable;
 }
 
-Anime::Anime* SearchPageListModel::GetAnimeFromIndex(const QModelIndex& index) const {
+Anime::Anime *SearchPageListModel::GetAnimeFromIndex(const QModelIndex &index) const
+{
 	return &Anime::db.items[ids[index.row()]];
 }
 
-void SearchPage::DisplayListMenu() {
-	QMenu* menu = new QMenu(this);
+void SearchPage::DisplayListMenu()
+{
+	QMenu *menu = new QMenu(this);
 	menu->setAttribute(Qt::WA_DeleteOnClose);
 	menu->setToolTipsVisible(true);
 
@@ -175,12 +189,12 @@
 
 	bool add_to_list_enable = true;
 
-	std::set<Anime::Anime*> animes;
-	for (const auto& index : selection.indexes()) {
+	std::set<Anime::Anime *> animes;
+	for (const auto &index : selection.indexes()) {
 		if (!index.isValid())
 			continue;
 
-		Anime::Anime* anime = model->GetAnimeFromIndex(index);
+		Anime::Anime *anime = model->GetAnimeFromIndex(index);
 		if (anime) {
 			animes.insert(anime);
 			if (anime->IsInUserList())
@@ -189,10 +203,10 @@
 	}
 
 	menu->addAction(tr("Information"), [this, animes] {
-		for (auto& anime : animes) {
-			InformationDialog* dialog = new InformationDialog(
+		for (auto &anime : animes) {
+			InformationDialog *dialog = new InformationDialog(
 			    anime,
-			    [this](Anime::Anime* anime) {
+			    [this](Anime::Anime *anime) {
 				    // UpdateAnime(anime->GetId());
 			    },
 			    InformationDialog::PAGE_MAIN_INFO, this);
@@ -204,10 +218,10 @@
 	});
 	menu->addSeparator();
 	{
-		QMenu* submenu = menu->addMenu(tr("Add to list..."));
-		for (const auto& status : Anime::ListStatuses) {
+		QMenu *submenu = menu->addMenu(tr("Add to list..."));
+		for (const auto &status : Anime::ListStatuses) {
 			submenu->addAction(Strings::ToQString(Translate::ToLocalString(status)), [animes, status] {
-				for (auto& anime : animes) {
+				for (auto &anime : animes) {
 					if (!anime->IsInUserList())
 						anime->AddToUserList();
 					anime->SetUserStatus(status);
@@ -220,18 +234,19 @@
 	menu->popup(QCursor::pos());
 }
 
-void SearchPage::ItemDoubleClicked() {
+void SearchPage::ItemDoubleClicked()
+{
 	/* throw out any other garbage */
 	const QItemSelection selection = sort_model->mapSelectionToSource(treeview->selectionModel()->selection());
 	if (!selection.indexes().first().isValid())
 		return;
 
 	const QModelIndex index = model->index(selection.indexes().first().row());
-	Anime::Anime* anime = model->GetAnimeFromIndex(index);
+	Anime::Anime *anime = model->GetAnimeFromIndex(index);
 
-	InformationDialog* dialog = new InformationDialog(
+	InformationDialog *dialog = new InformationDialog(
 	    anime,
-	    [this](Anime::Anime* anime) {
+	    [this](Anime::Anime *anime) {
 		    // UpdateAnime(anime->GetId());
 	    },
 	    InformationDialog::PAGE_MAIN_INFO, this);
@@ -241,21 +256,22 @@
 	dialog->activateWindow();
 }
 
-SearchPage::SearchPage(QWidget* parent) : QFrame(parent) {
+SearchPage::SearchPage(QWidget *parent) : QFrame(parent)
+{
 	setFrameShape(QFrame::Box);
 	setFrameShadow(QFrame::Sunken);
 
-	QVBoxLayout* layout = new QVBoxLayout(this);
+	QVBoxLayout *layout = new QVBoxLayout(this);
 	layout->setContentsMargins(0, 0, 0, 0);
 	layout->setSpacing(0);
 
 	{
 		/* Toolbar */
-		QToolBar* toolbar = new QToolBar(this);
+		QToolBar *toolbar = new QToolBar(this);
 		toolbar->setMovable(false);
 
 		{
-			QLineEdit* line_edit = new QLineEdit("", toolbar);
+			QLineEdit *line_edit = new QLineEdit("", toolbar);
 			connect(line_edit, &QLineEdit::returnPressed, this, [this, line_edit] {
 				/* static thread here. */
 				if (thread_.isRunning())
@@ -265,9 +281,8 @@
 
 				thread_.start();
 			});
-			connect(&thread_, &SearchPageSearchThread::GotResults, this, [this](const std::vector<int>& search) {
-				model->ParseSearch(search);
-			});
+			connect(&thread_, &SearchPageSearchThread::GotResults, this,
+			        [this](const std::vector<int> &search) { model->ParseSearch(search); });
 			toolbar->addWidget(line_edit);
 		}
 
@@ -275,7 +290,7 @@
 	}
 
 	{
-		QFrame* line = new QFrame(this);
+		QFrame *line = new QFrame(this);
 		line->setFrameShape(QFrame::HLine);
 		line->setFrameShadow(QFrame::Sunken);
 		line->setLineWidth(1);