diff --git a/src/gui/client/main-window.lisp b/src/gui/client/main-window.lisp index cc15cb4..6b64618 100644 --- a/src/gui/client/main-window.lisp +++ b/src/gui/client/main-window.lisp @@ -211,10 +211,6 @@ (_ "Certificates") #'menu:show-certificates :accelerator (client-configuration:get-keybinding :certificates)) - (gui:make-menubutton tools - (_ "Streams") - #'menu:show-streams - :accelerator (client-configuration:get-keybinding :stream)) (gui:make-menubutton tools (_ "Search") (menu:show-search-frame-clsr main-window) @@ -1338,6 +1334,10 @@ local file paths." :initform nil :initarg :gemini-paned-frame :accessor gemini-paned-frame) + (main-paned-frame + :initform nil + :initarg :main-paned-frame + :accessor main-paned-frame) (ir-rendered-lines :initform (misc:make-fresh-array 0) :initarg :ir-rendered-lines @@ -1356,10 +1356,14 @@ local file paths." (stream-frame stream-frame) (info-text info-text) (gemtext-widget gemtext-widget) - (gemini-paned-frame gemini-paned-frame)) object + (gemini-paned-frame gemini-paned-frame) + (main-paned-frame main-paned-frame)) object + (setf main-paned-frame (make-instance 'gui:paned-window + :orientation :vertical + :master object)) (setf gemini-paned-frame (make-instance 'gui:paned-window :orientation :horizontal - :master object)) + :master main-paned-frame)) (setf tool-bar (make-instance 'tool-bar :master object)) (set-bookmark-button-false object) (setf toc-frame (make-instance 'toc-frame :master gemini-paned-frame)) @@ -1382,17 +1386,17 @@ local file paths." (setf info-text (make-instance 'gui:text :height 2 :wrap :none :master info-frame)) (gui:configure info-text :font gui:+tk-small-caption-font+) (setf search-frame (client-search-frame:init-frame object)) - (setf stream-frame (client-stream-frame:init-frame object)) + (setf stream-frame (client-stream-frame:init-frame main-paned-frame)) (gui:grid info-text 0 0 :sticky :news) (gui-goodies:gui-resize-grid-all info-frame) (gui:grid tool-bar 0 0 :sticky :news) (gui:add-pane gemini-paned-frame toc-frame) (gui:add-pane gemini-paned-frame gemtext-widget) - (gui:grid gemini-paned-frame 1 0 :sticky :news) + (gui:add-pane main-paned-frame gemini-paned-frame :weight 2) + (gui:add-pane main-paned-frame stream-frame) + (gui:grid main-paned-frame 1 0 :sticky :news) (gui:grid search-frame 2 0 :sticky :news) (gui:grid-forget search-frame) - (gui:grid stream-frame 3 0 :sticky :news) - (gui:grid-forget stream-frame) (gui:grid info-frame 4 0 :sticky :ews) (gui:grid-columnconfigure object 0 :weight 1) (gui:grid-rowconfigure object 1 :weight 1) diff --git a/src/gui/client/menu-command.lisp b/src/gui/client/menu-command.lisp index 5c7ab52..7fd6ed4 100644 --- a/src/gui/client/menu-command.lisp +++ b/src/gui/client/menu-command.lisp @@ -54,12 +54,6 @@ (let ((master gui-goodies:*toplevel*)) (client-certificates-window:init-window master))) -(defun show-streams () - (let* ((master gui-goodies:*main-frame*) - (frame (client-main-window::stream-frame master))) - (gui:grid frame 3 0 :sticky :news) - (client-stream-frame::refresh-all-streams (client-stream-frame::table frame)))) - (defun show-bookmarks-clsr (main-window) (lambda () (client-main-window:show-bookmarks-page main-window))) diff --git a/src/gui/client/search-frame.lisp b/src/gui/client/search-frame.lisp index 47f22a9..36f6be2 100644 --- a/src/gui/client/search-frame.lisp +++ b/src/gui/client/search-frame.lisp @@ -42,7 +42,7 @@ :background (gui:cget gemtext-widget :selectbackground))))) (defun init-frame (main-window) - (let* ((frame (make-instance 'search-frame :master main-window)) + (let* ((frame (make-instance 'search-frame :master main-window)) (gemtext-widget (client-main-window::gemtext-widget main-window)) (search-label (make-instance 'gui:label :master frame :text (_ "Search: "))) (case-sensitive-checkbox (make-instance 'gui:check-button diff --git a/src/gui/client/stream-frame.lisp b/src/gui/client/stream-frame.lisp index 30cad42..a24368e 100644 --- a/src/gui/client/stream-frame.lisp +++ b/src/gui/client/stream-frame.lisp @@ -50,14 +50,16 @@ (with-accessors ((tree gui-goodies:tree)) object (let ((treeview (make-instance 'gui:scrolled-treeview :master object - :pack '(:side :top :expand t :fill :both) :columns (list (_ "Status") (_ "Number of octects downloaded"))))) (gui:treeview-heading treeview gui:+treeview-first-column-id+ :text (_ "Address")) (setf tree treeview) - (refresh-all-streams object)))) + (refresh-all-streams object) + (gui:grid treeview 0 0 :sticky :news) + (gui:grid-columnconfigure object :all :weight 1) + (gui:grid-rowconfigure object :all :weight 1)))) (defun delete-stream-clsr (stream-table) (with-accessors ((tree gui-goodies:tree)) stream-table @@ -86,8 +88,8 @@ (client-main-window::open-iri url gui-goodies:*main-frame* t) (resync-rows stream-table new-rows)))))) -(defun init-frame (main-window) - (let* ((wrapper-frame (make-instance 'stream-frame :master main-window)) +(defun init-frame (parent-frame) + (let* ((wrapper-frame (make-instance 'stream-frame :master parent-frame)) (table (make-instance 'stream-table :master wrapper-frame)) (buttons-frame (make-instance 'gui:frame :master wrapper-frame)) (reload-button (make-instance 'gui:button :master buttons-frame @@ -101,22 +103,16 @@ (revive-button (make-instance 'gui:button :master buttons-frame :image icons:*document-accept* - :command (revive-stream-clsr table))) - (close-button (make-instance 'gui:button :image icons:*cross* - :master buttons-frame - :command (lambda () - (gui:grid-forget wrapper-frame))))) + :command (revive-stream-clsr table)))) (setf (table wrapper-frame) table) (gui-goodies:attach-tooltips (reload-button (_ "refresh")) (delete-button (_ "delete selected stream")) - (revive-button (_ "show selected stream")) - (close-button (_ "close"))) - (gui:grid table 0 0 :sticky :news) + (revive-button (_ "show selected stream"))) + (gui:grid table 0 0 :sticky :sew) (gui:grid buttons-frame 1 0 :sticky :s) (gui:grid reload-button 0 0 :sticky :s) (gui:grid delete-button 0 1 :sticky :s) (gui:grid revive-button 0 2 :sticky :s) - (gui:grid close-button 0 3 :sticky :s) - (gui:grid-columnconfigure wrapper-frame 0 :weight 1) - (gui:grid-rowconfigure wrapper-frame 1 :weight 1) + (gui:grid-columnconfigure wrapper-frame :all :weight 1) + (gui:grid-rowconfigure wrapper-frame :all :weight 1) wrapper-frame))