View Issue Details

IDProjectCategoryView StatusLast Update
0017989ScribusOS-MacOSXpublic2026-10-01 21:03
Reporterjaca101 Assigned Tocbradney  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionwon't fix 
PlatformMacBook Pro M1OSMacOS Tahoe 26.6.2OS Version26.6.2 (25G83)
Product Version1.7.4.svn 
Summary0017989: Dragging an image frame right after editing text moves the image inside the frame instead of the frame
DescriptionWhile a text frame is being edited (content editing mode), clicking on an image frame and dragging it moves the image inside its frame (changes the image offset) instead of moving the frame. The user has to press Esc or click on empty canvas first to be able to move the image frame.

Cause: CanvasMode_Edit::mousePressEvent() handles a click outside the frame being edited by calling SeleItem(); if the newly selected item is a text frame *or an image frame*, it stays in modeEdit (wantNormal = false). CanvasMode_Edit::mouseMoveEvent() then treats any drag on an image frame in modeEdit as content editing and calls moveImageInFrame().

Fix (patch attached, against trunk r27875): keep content editing only when the newly selected item is a text frame. Image frames now follow the same path as shapes and other items: switch to modeNormal and forward the press, so the drag moves the frame. Editing the image offset is still entered by double-clicking the image frame, as before.
Steps To Reproduce1. Create a text frame and an image frame, and load an image into the image frame.
2. Double-click the text frame and type some text.
3. Without pressing Esc, click on the image frame and drag it.
 -> Expected: the image frame moves.
   -> Actual: the image moves inside the frame (its offset changes); the frame stays in place.
Additional InformationEnvironment: macOS 26.6 (Tahoe), Apple Silicon, Qt 6.11.2 (Homebrew), Scribus 1.7.4.svn trunk r27875. The code path is platform independent.

Verified with the patch applied:
- text editing -> click image frame -> drag: the frame moves;
- double-click image frame -> drag: the image offset changes (unchanged behaviour);
- text editing -> click another text frame: text editing continues with the cursor at the click position (unchanged behaviour).

Note: scribus/canvasmode_edit.cpp uses CRLF line endings; apply with "git apply" or "git am --keep-cr".

The patch was prepared with AI assistance (Claude Code) and reviewed and tested by me; it carries a Co-Authored-By trailer.
TagsNo tags attached.
Attached Files
0001-Edit-mode-clicking-an-image-frame-from-text-editing-.patch (1,794 bytes)   
From 75323140d33830cf67f5ed1920212bda69adc964 Mon Sep 17 00:00:00 2001
From: Satoshi Nakamoto <satoshi.nakamoto.xdos@proton.me>
Date: Thu, 1 Oct 2026 02:43:32 +0200
Subject: [PATCH 1/9] Edit mode: clicking an image frame from text editing
 returns to normal mode

When a text frame was being edited and the user clicked on an image frame,
CanvasMode_Edit::mousePressEvent kept modeEdit for the newly selected image
frame. A subsequent drag then went through CanvasMode_Edit::mouseMoveEvent,
which calls moveImageInFrame(), shifting the image offset inside the frame
instead of moving the frame itself.

Only keep content editing when the newly selected item is a text frame.
Image frames now follow the same path as other items: switch to modeNormal
and forward the press, so the drag moves the frame. Image content editing
remains available via double click.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
---
 scribus/canvasmode_edit.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/scribus/canvasmode_edit.cpp b/scribus/canvasmode_edit.cpp
index 994b28c74..188ff4171 100644
--- a/scribus/canvasmode_edit.cpp
+++ b/scribus/canvasmode_edit.cpp
@@ -614,7 +614,10 @@ void CanvasMode_Edit::mousePressEvent(QMouseEvent *m)
 				if (SeleItem(m))
 				{
 					currItem = m_doc->m_Selection->itemAt(0);
-					if ((currItem->isTextFrame()) || (currItem->isImageFrame()))
+					// Only text frames keep content editing when clicked from another frame.
+					// Image frames go back to normal mode so a drag moves the frame rather than
+					// the image offset; image content editing is still entered by double click.
+					if (currItem->isTextFrame())
 					{
 						m_view->requestMode(modeEdit);
 						wantNormal = false;
-- 
2.54.0 (Apple Git-157)

PatchNo

Activities

cbradney

2026-10-01 21:03

administrator   ~0054503

It is intentional that edit mode is persistent

Issue History

Date Modified Username Field Change
2026-10-01 03:06 jaca101 New Issue
2026-10-01 03:06 jaca101 File Added: 0001-Edit-mode-clicking-an-image-frame-from-text-editing-.patch
2026-10-01 21:03 cbradney Assigned To => cbradney
2026-10-01 21:03 cbradney Status new => resolved
2026-10-01 21:03 cbradney Resolution open => won't fix
2026-10-01 21:03 cbradney Note Added: 0054503