MCPcopy Create free account
hub / github.com/CJackHwang/AIstudioProxyAPI / _build_settings_ui

Method _build_settings_ui

gui/widgets.py:378–431  ·  view source on GitHub ↗

Build the settings UI with collapsible categories.

(self)

Source from the content-addressed store, hash-verified

376 self._bind_scroll_events()
377
378 def _build_settings_ui(self) -> None:
379 """Build the settings UI with collapsible categories."""
380 from .i18n import get_text
381
382 # Get category order
383 category_order = [
384 "server",
385 "logging",
386 "auth",
387 "cookie",
388 "browser",
389 "api",
390 "function_calling",
391 "timeouts",
392 "misc",
393 ]
394
395 for cat_key in category_order:
396 keys = self._env_manager.get_category_keys(cat_key)
397 if not keys:
398 continue
399
400 # Create collapsible frame for category
401 cat_title = get_text(f"cat_{cat_key}")
402 frame = CTkCollapsibleFrame(
403 self,
404 title=cat_title,
405 expanded=False,
406 )
407 frame.pack(fill="x", pady=(0, 10))
408 self._category_frames[cat_key] = frame
409
410 # Get content frame and add settings
411 content = frame.get_content_frame()
412 content.grid_columnconfigure(0, weight=1)
413
414 for idx, key in enumerate(sorted(keys)):
415 schema = self._env_manager.get_schema_info(key)
416 if not schema:
417 continue
418
419 default_val, type_hint, description, _ = schema
420 current_val = self._env_manager.get(key)
421
422 row = CTkSettingRow(
423 content,
424 key=key,
425 label=description,
426 value=current_val,
427 type_hint=type_hint,
428 on_change=self._on_setting_change,
429 )
430 row.grid(row=idx, column=0, sticky="ew", padx=5, pady=2)
431 self._setting_rows[key] = row
432
433 def _on_setting_change(self, key: str, value: Any) -> None:
434 """Handle individual setting change."""

Callers 1

__init__Method · 0.95

Calls 7

get_content_frameMethod · 0.95
get_textFunction · 0.85
CTkCollapsibleFrameClass · 0.85
CTkSettingRowClass · 0.85
get_category_keysMethod · 0.80
get_schema_infoMethod · 0.80
getMethod · 0.45

Tested by

no test coverage detected