diff --git a/src/main-window.ui b/src/main-window.ui index b86dd08..efc50d8 100644 --- a/src/main-window.ui +++ b/src/main-window.ui @@ -26,154 +26,155 @@ - - horizontal - 180 - False - True - False - True - False + + 200 + 320 - - - - 200 + + + - - - - False - False - - - Projects - - - - - - start - - - - - list-add-symbolic - Add Project - - - - - - - papyrus-vertical-symbolic - Import - import_menu - - - - - - - - - - vertical - - - - - True - - + + + + False + False + + + Projects + + + + + start + + + + + list-add-symbolic + Add Project + + + + + + + papyrus-vertical-symbolic + Import + import_menu + + + + + + vertical + + + + + True + + + + + + + + + - - - - - + + + - - - - False - False - False + + + + False + False + False - - - - document-save-symbolic - Save Current Request (Ctrl+S) - - - - + + + + view-sidebar-symbolic + Show Sidebar + + + split_view + + + - - - export-symbolic - Export as cURL - - - - - - - - - 6 - - - - - list-add-symbolic - New Request (Ctrl+T) + + + + document-save-symbolic + Save Current Request (Ctrl+S) + + + + + + + export-symbolic + Export as cURL + - - - - True - open-menu-symbolic - Main Menu - primary_menu - - - - - - - end + + + + 6 + + + list-add-symbolic + New Request (Ctrl+T) + + + + + + True + open-menu-symbolic + Main Menu + primary_menu + + + + + end + + - - @@ -256,6 +257,14 @@ + + + + + max-width: 700sp + True + + diff --git a/src/window.py b/src/window.py index 081ba91..9078d43 100644 --- a/src/window.py +++ b/src/window.py @@ -19,7 +19,7 @@ import gi gi.require_version('GtkSource', '5') -from gi.repository import Adw, Gtk, GLib, Gio, GtkSource +from gi.repository import Adw, Gtk, GLib, Gio, GtkSource, GObject from typing import Dict, Optional import logging from .models import HttpRequest, HttpResponse, HistoryEntry, RequestTab @@ -63,8 +63,9 @@ class RosterWindow(Adw.ApplicationWindow): tab_view = Gtk.Template.Child() tab_bar = Gtk.Template.Child() - # Panes - main_pane = Gtk.Template.Child() + # Split view + split_view = Gtk.Template.Child() + sidebar_toggle_button = Gtk.Template.Child() # Sidebar widgets projects_listbox = Gtk.Template.Child() @@ -102,6 +103,14 @@ class RosterWindow(Adw.ApplicationWindow): # Setup custom CSS self._setup_custom_css() + # Bind sidebar toggle button to split view (bidirectional) + self.split_view.bind_property( + 'show-sidebar', + self.sidebar_toggle_button, + 'active', + GObject.BindingFlags.BIDIRECTIONAL | GObject.BindingFlags.SYNC_CREATE + ) + # Setup UI self._setup_tab_system() self._load_projects()