mirror of
https://github.com/MCV-Software/TWBlue.git
synced 2026-03-07 09:57:32 +01:00
Refactor
This commit is contained in:
@@ -188,6 +188,29 @@ class Handler:
|
||||
start=False,
|
||||
kwargs=dict(parent=controller.view.nb, name="searches", account=name)
|
||||
)
|
||||
searches_position = controller.view.search("searches", name)
|
||||
|
||||
# Saved searches
|
||||
try:
|
||||
searches = session.settings["other_buffers"].get("searches")
|
||||
if searches is None:
|
||||
searches = []
|
||||
if isinstance(searches, str):
|
||||
searches = [s for s in searches.split(",") if s]
|
||||
for query in searches:
|
||||
buffer_name = f"search_{query[:20]}"
|
||||
title = _("Search: {query}").format(query=query)
|
||||
pub.sendMessage(
|
||||
"createBuffer",
|
||||
buffer_type="SearchBuffer",
|
||||
session_type="blueski",
|
||||
buffer_title=title,
|
||||
parent_tab=searches_position,
|
||||
start=False,
|
||||
kwargs=dict(parent=controller.view.nb, name=buffer_name, session=session, query=query)
|
||||
)
|
||||
except Exception:
|
||||
logger.exception("Failed to restore Bluesky search buffers")
|
||||
|
||||
# Saved user timelines
|
||||
try:
|
||||
@@ -835,3 +858,17 @@ class Handler:
|
||||
query=query
|
||||
)
|
||||
)
|
||||
|
||||
# Save search to settings for persistence
|
||||
try:
|
||||
searches = session.settings["other_buffers"].get("searches")
|
||||
if searches is None:
|
||||
searches = []
|
||||
if isinstance(searches, str):
|
||||
searches = [s for s in searches.split(",") if s]
|
||||
if query not in searches:
|
||||
searches.append(query)
|
||||
session.settings["other_buffers"]["searches"] = searches
|
||||
session.settings.write()
|
||||
except Exception:
|
||||
logger.exception("Failed to save search to settings")
|
||||
|
||||
@@ -3,6 +3,7 @@ import logging
|
||||
import widgetUtils
|
||||
import output
|
||||
from wxUI.dialogs.blueski import userActions as userActionsDialog
|
||||
from extra.autocompletionUsers import completion
|
||||
import languageHandler
|
||||
|
||||
log = logging.getLogger("controller.blueski.userActions")
|
||||
@@ -24,6 +25,10 @@ class BasicUserSelector(object):
|
||||
log.exception("Error resolving Bluesky profile for %s.", actor)
|
||||
return None
|
||||
|
||||
def autocomplete_users(self, *args, **kwargs):
|
||||
c = completion.autocompletionUsers(self.dialog, self.session.session_id)
|
||||
c.show_menu("free")
|
||||
|
||||
|
||||
class userActions(BasicUserSelector):
|
||||
def __init__(self, *args, **kwargs):
|
||||
@@ -33,6 +38,7 @@ class userActions(BasicUserSelector):
|
||||
|
||||
def create_dialog(self, users):
|
||||
self.dialog = userActionsDialog.UserActionsDialog(users)
|
||||
widgetUtils.connect_event(self.dialog.autocompletion, widgetUtils.BUTTON_PRESSED, self.autocomplete_users)
|
||||
|
||||
def process_action(self):
|
||||
action = self.dialog.get_action()
|
||||
|
||||
Reference in New Issue
Block a user