26 Commits

Author SHA1 Message Date
vesp
c4795b4508 Replace magic numbers with named constants 2026-01-05 11:56:23 +01:00
vesp
1a95799290 Replace print statements with proper logging 2026-01-05 11:46:15 +01:00
vesp
b17393432c Add type annotations to request_tab_widget.py 2026-01-05 11:33:12 +01:00
vesp
b042b9cb30 Fix status icons in preprocessing and script output panels 2026-01-04 01:18:40 +01:00
vesp
81e0aab111 Adjust panel proportions: sidebar 15%, request/response 42.5% 2026-01-04 00:53:20 +01:00
vesp
b38c1e77c7 Make result and history panels resizable with minimum size 2026-01-03 09:17:20 +01:00
vesp
38742054ba Fix history panel collapse when expanding script results 2026-01-02 01:31:07 +01:00
vesp
68004c5bf4 Implement preprocessing scripts with request modification and variable access 2026-01-02 01:04:24 +01:00
vesp
37c29ac092 Add roster API for scripts to set environment variables 2026-01-01 02:27:22 +01:00
vesp
c2778f419a Track script changes and show modified flag when scripts are edited 2025-12-31 01:59:49 +01:00
vesp
59dcb78789 Fix GTK4 API: Use set_from_icon_name instead of set_icon_name
Corrects AttributeError when initializing script status icon.
2025-12-31 01:34:18 +01:00
vesp
96bbbcbc97 Add Scripts feature with JavaScript postprocessing
Implements JavaScript-based postprocessing for HTTP responses using gjs.
Adds Scripts tab with preprocessing (disabled) and postprocessing (functional) sections.
2025-12-31 01:32:14 +01:00
vesp
5f01c1c49d Replace send button text with play icon 2025-12-30 23:32:41 +01:00
vesp
55610a13a5 Remove duplicate Request History panels from individual tabs 2025-12-30 19:51:33 +01:00
vesp
262fcf41ca Fix environment selector to always appear on left side 2025-12-30 16:34:30 +01:00
vesp
6794871306 Align environment selector to left with visual separator 2025-12-30 16:27:36 +01:00
vesp
1582e9479b Move environment selector to URL bar, remove label, add tooltip 2025-12-30 16:20:06 +01:00
vesp
80fe2a33f0 Show all variables as undefined when no environment is selected 2025-12-30 16:12:12 +01:00
vesp
3a903f28ec Show environment selector when loading project request into empty tab 2025-12-30 15:59:51 +01:00
vesp
1192038080 Save substituted values to history instead of variable templates 2025-12-30 14:38:25 +01:00
vesp
1cccded694 Add debug output for header indicators 2025-12-30 14:12:52 +01:00
vesp
277a8dc13e Fix visual indicators: add tooltips to headers, colored background to body 2025-12-30 14:07:13 +01:00
vesp
50f5661843 Add visual indicators for undefined variables 2025-12-30 13:10:26 +01:00
vesp
2ba3ced14e Implement environment variable substitution in requests 2025-12-30 12:54:26 +01:00
vesp
d50622700e Fix all reported issues from testing
1. Modified indicator (*) now shows:
   - Added GObject signal 'modified-changed' to RequestTabWidget
   - Connect to signal in window.py to update tab page indicator
   - Indicator shows dot-symbolic icon when modified

2. History panel now visible and populated:
   - Restored history panel in main-window.ui with vertical paned layout
   - Added _load_history() call back to __init__
   - History entries now display in bottom panel

3. Saving requests now works:
   - Fixed on_save_request_clicked to get request from widget.get_request()
   - Removed dependency on obsolete _build_request_from_ui method

4. Loading saved requests fixed:
   - Updated _on_load_request to properly update widget and tab page
   - Correctly sets widget.original_request and widget.modified
   - Updates tab page title when loading into empty tab
   - Properly handles copy vs. linked request logic

All issues from user testing are now resolved!
2025-12-24 02:20:55 +01:00
vesp
6f32a61799 Add RequestTabWidget class and simplify main UI
- Create RequestTabWidget class with complete per-tab UI
- Simplify main-window.ui to just AdwTabBar and AdwTabView
- Set autohide=False to always show tabs
- Add request_tab_widget.py to meson.build

Next step: Refactor window.py to create RequestTabWidget instances for each tab.
2025-12-24 01:51:15 +01:00