mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2026-02-02 08:09:13 +00:00
Revert changes to search_tags in favor of changes from #604
This commit is contained in:
@@ -38,7 +38,7 @@ from ...constants import (
|
||||
)
|
||||
from ...enums import LibraryPrefs
|
||||
from .db import make_tables
|
||||
from .enums import FieldTypeEnum, FilterState, TagColor, TagFilterState
|
||||
from .enums import FieldTypeEnum, FilterState, TagColor
|
||||
from .fields import (
|
||||
BaseField,
|
||||
DatetimeField,
|
||||
@@ -489,7 +489,7 @@ class Library:
|
||||
|
||||
def search_tags(
|
||||
self,
|
||||
filter_state: TagFilterState,
|
||||
name: str,
|
||||
) -> list[Tag]:
|
||||
"""Return a list of Tag records matching the query."""
|
||||
with Session(self.engine) as session:
|
||||
@@ -499,11 +499,11 @@ class Library:
|
||||
selectinload(Tag.aliases),
|
||||
)
|
||||
|
||||
if filter_state.search:
|
||||
if name:
|
||||
query = query.where(
|
||||
or_(
|
||||
Tag.name.icontains(filter_state.search),
|
||||
Tag.shorthand.icontains(filter_state.search),
|
||||
Tag.name.icontains(name),
|
||||
Tag.shorthand.icontains(name),
|
||||
)
|
||||
)
|
||||
|
||||
@@ -513,7 +513,7 @@ class Library:
|
||||
|
||||
logger.info(
|
||||
"searching tags",
|
||||
search=filter_state,
|
||||
search=name,
|
||||
statement=str(query),
|
||||
results=len(res),
|
||||
)
|
||||
|
||||
@@ -12,7 +12,6 @@ from PySide6.QtWidgets import (
|
||||
QWidget,
|
||||
)
|
||||
from src.core.library import Library, Tag
|
||||
from src.core.library.alchemy.enums import TagFilterState
|
||||
from src.qt.modals.build_tag import BuildTagPanel
|
||||
from src.qt.widgets.panel import PanelModal, PanelWidget
|
||||
from src.qt.widgets.tag import TagWidget
|
||||
@@ -70,9 +69,9 @@ class TagDatabasePanel(PanelWidget):
|
||||
while self.scroll_layout.itemAt(0):
|
||||
self.scroll_layout.takeAt(0).widget().deleteLater()
|
||||
|
||||
tags = self.lib.search_tags(TagFilterState(search=query, page_size=self.tag_limit))
|
||||
tags_results = self.lib.search_tags(name=query)
|
||||
|
||||
for tag in tags:
|
||||
for tag in tags_results:
|
||||
container = QWidget()
|
||||
row = QHBoxLayout(container)
|
||||
row.setContentsMargins(0, 0, 0, 0)
|
||||
|
||||
@@ -17,7 +17,6 @@ from PySide6.QtWidgets import (
|
||||
QWidget,
|
||||
)
|
||||
from src.core.library import Library
|
||||
from src.core.library.alchemy.enums import TagFilterState
|
||||
from src.core.palette import ColorType, get_tag_color
|
||||
from src.qt.widgets.panel import PanelWidget
|
||||
from src.qt.widgets.tag import TagWidget
|
||||
@@ -73,18 +72,13 @@ class TagSearchPanel(PanelWidget):
|
||||
self.search_field.setFocus()
|
||||
self.parentWidget().hide()
|
||||
|
||||
def update_tags(self, name: str | None = None):
|
||||
def update_tags(self, query: str | None = None):
|
||||
while self.scroll_layout.count():
|
||||
self.scroll_layout.takeAt(0).widget().deleteLater()
|
||||
|
||||
found_tags = self.lib.search_tags(
|
||||
TagFilterState(
|
||||
search=name,
|
||||
page_size=self.tag_limit,
|
||||
)
|
||||
)
|
||||
tag_results = self.lib.search_tags(name=query)
|
||||
|
||||
for tag in found_tags:
|
||||
for tag in tag_results:
|
||||
if self.exclude is not None and tag.id in self.exclude:
|
||||
continue
|
||||
c = QWidget()
|
||||
|
||||
Reference in New Issue
Block a user