mirror of
https://codeberg.org/cage/tinmop/
synced 2025-02-25 09:17:45 +01:00
- added new command: 'delete-shown-post'.
This commit is contained in:
parent
c16e88ad99
commit
9f6a26e0c8
@ -397,6 +397,8 @@
|
|||||||
|
|
||||||
(define-key "b" #'net-address-history-back *message-keymap*)
|
(define-key "b" #'net-address-history-back *message-keymap*)
|
||||||
|
|
||||||
|
(define-key "d" #'delete-shown-post *message-keymap*)
|
||||||
|
|
||||||
(define-key "down" #'message-scroll-down *message-keymap*)
|
(define-key "down" #'message-scroll-down *message-keymap*)
|
||||||
|
|
||||||
(define-key "end" #'message-scroll-end *message-keymap*)
|
(define-key "end" #'message-scroll-end *message-keymap*)
|
||||||
|
@ -2388,6 +2388,7 @@
|
|||||||
:mentions-count
|
:mentions-count
|
||||||
:add-announcements-notification
|
:add-announcements-notification
|
||||||
:remove-announcements-notification
|
:remove-announcements-notification
|
||||||
|
:select-messages-corresponding-to-shown
|
||||||
:grow-tree-to-fit-window
|
:grow-tree-to-fit-window
|
||||||
:fit-timeline-to-window
|
:fit-timeline-to-window
|
||||||
:go-message-down
|
:go-message-down
|
||||||
@ -3076,6 +3077,7 @@
|
|||||||
:open-net-address
|
:open-net-address
|
||||||
:open-gemini-address
|
:open-gemini-address
|
||||||
:net-address-history-back
|
:net-address-history-back
|
||||||
|
:delete-shown-post
|
||||||
:address-go-back-in-path
|
:address-go-back-in-path
|
||||||
:address-go-root-path
|
:address-go-root-path
|
||||||
:gemini-view-source
|
:gemini-view-source
|
||||||
|
@ -868,6 +868,34 @@ db:renumber-timeline-message-index."
|
|||||||
db:+mentions-status-folder+)))
|
db:+mentions-status-folder+)))
|
||||||
(remove-mention window status-id)))
|
(remove-mention window status-id)))
|
||||||
|
|
||||||
|
(defun maybe-initialize-metadata (window)
|
||||||
|
(setf (message-window:metadata window) '())
|
||||||
|
(message-window:metadata window))
|
||||||
|
|
||||||
|
(defun set-status-tuple-shown-status (window status-id timeline folder)
|
||||||
|
(with-accessors ((metadata misc:metadata)) window
|
||||||
|
(setf metadata (acons :status-id status-id metadata))
|
||||||
|
(setf metadata (acons :timeline timeline metadata))
|
||||||
|
(setf metadata (acons :folder folder metadata))
|
||||||
|
window))
|
||||||
|
|
||||||
|
(defun get-status-tuple-shown-status (window)
|
||||||
|
(with-accessors ((metadata misc:metadata)) window
|
||||||
|
(values (cdr (assoc :status-id metadata))
|
||||||
|
(cdr (assoc :timeline metadata))
|
||||||
|
(cdr (assoc :folder metadata)))))
|
||||||
|
|
||||||
|
(defun select-messages-corresponding-to-shown ()
|
||||||
|
(multiple-value-bind (status-id timeline folder)
|
||||||
|
(get-status-tuple-shown-status *message-window*)
|
||||||
|
(let ((matching-status (db::find-status-id-folder-timeline status-id
|
||||||
|
folder
|
||||||
|
timeline)))
|
||||||
|
(if matching-status
|
||||||
|
(let ((new-message-index (db:row-message-index matching-status)))
|
||||||
|
(rebuild-lines *thread-window* new-message-index))
|
||||||
|
(ui:info-message (format nil (_ "No matching post in thread window")))))))
|
||||||
|
|
||||||
(defmethod open-message ((object thread-window))
|
(defmethod open-message ((object thread-window))
|
||||||
(with-accessors ((row-selected-index row-selected-index)
|
(with-accessors ((row-selected-index row-selected-index)
|
||||||
(rows rows)
|
(rows rows)
|
||||||
@ -894,6 +922,11 @@ db:renumber-timeline-message-index."
|
|||||||
attachments
|
attachments
|
||||||
(strcat reblogged-status-attachments attachments))))
|
(strcat reblogged-status-attachments attachments))))
|
||||||
(maybe-remove-mentions object status-id)
|
(maybe-remove-mentions object status-id)
|
||||||
|
(maybe-initialize-metadata *message-window*)
|
||||||
|
(set-status-tuple-shown-status *message-window*
|
||||||
|
status-id
|
||||||
|
timeline-type
|
||||||
|
timeline-folder)
|
||||||
(message-window:prepare-for-rendering *message-window*
|
(message-window:prepare-for-rendering *message-window*
|
||||||
(strcat header
|
(strcat header
|
||||||
actual-body
|
actual-body
|
||||||
|
@ -3515,3 +3515,9 @@ gemini client certificates!)."
|
|||||||
(nreverse actual-lines)
|
(nreverse actual-lines)
|
||||||
bg
|
bg
|
||||||
fg))))
|
fg))))
|
||||||
|
(defun delete-shown-post ()
|
||||||
|
"Marks as deleted the post shown in the main window, also move focus to threads window."
|
||||||
|
(thread-window:select-messages-corresponding-to-shown)
|
||||||
|
(thread-window:mark-selected-message-to-delete *thread-window*
|
||||||
|
:move-down-selected-message nil)
|
||||||
|
(focus-to-thread-window))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user