View Issue Details

IDProjectCategoryView StatusLast Update
0017266ScribusGeneralpublic2024-09-16 20:54
Reporternitramr Assigned Tonitramr  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformDesktop PCOSUbuntuOS Version24.04 64-bit
Product Version1.7.0.svn 
Target Version1.7.0Fixed in Version1.7.0.svn 
Summary0017266: Outliner does not update the tree view when docked
DescriptionIf the outline window is docked but not visible, the tree view is not updated. This is correct. However, if the window is activated, the tree is no longer updated because it is not the visibility change that triggers a rebuild, but the ToogleViewChange event from the AdvancedDockingSystem implementation.

The attached patch contains an extension so that activating the outline window also triggers a refresh.
Steps To Reproduce1. Create new document
2. Open outline window
3. Open arrange page window
4. Stack both windows in a way that the outline window is not visible, but don't close the outline window
5. Add any content on the page (e.g. a rectangle)
6. Bring the outline window in foreground (but don't use Window -> Outline"
7. Your rectangle is not visible in the outline tree
TagsNo tags attached.
PatchYes

Activities

nitramr

2024-09-12 17:39

developer   ~0051328

outlinetree_2024-09-12_01.patch (1,548 bytes)   
Index: scribus/ui/outlinepalette.cpp
===================================================================
--- scribus/ui/outlinepalette.cpp	(Revision 26266)
+++ scribus/ui/outlinepalette.cpp	(Arbeitskopie)
@@ -481,6 +481,9 @@
 	connect(filterEdit, SIGNAL(textChanged(QString)), this, SLOT(filterTree(QString)));
 //	connect(filterShortcut, SIGNAL(activated()), filterEdit, SLOT(setFocus()));
 	connect(reportDisplay, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(slotDoubleClick(QTreeWidgetItem*,int)));
+	connect(this, SIGNAL(visibilityChanged(bool)), this, SLOT(rebuildTree()));
+
+
 }
 
 void OutlinePalette::setMainWindow(ScribusMainWindow *mw)
@@ -509,7 +512,13 @@
 void OutlinePalette::toggleView(bool visible)
 {
 	DockPanelBase::toggleView(visible);
-	if (visible && (currDoc != nullptr))
+	rebuildTree();
+}
+
+
+void OutlinePalette::rebuildTree()
+{
+	if (this->isVisible() && (currDoc != nullptr))
 		BuildTree();
 }
 
Index: scribus/ui/outlinepalette.h
===================================================================
--- scribus/ui/outlinepalette.h	(Revision 26266)
+++ scribus/ui/outlinepalette.h	(Arbeitskopie)
@@ -17,7 +17,7 @@
 class QEvent;
 
 #include "scribusapi.h"
-#include "scdockpalette.h"
+//#include "scdockpalette.h"
 #include "docks/dock_panelbase.h"
 
 class ScribusMainWindow;
@@ -96,6 +96,7 @@
 	void slotMultiSelect();
 	void slotSelect(QTreeWidgetItem* ite, int col);
 	void slotDoubleClick(QTreeWidgetItem* ite, int col);
+	void rebuildTree();
 
 protected:
 	void changeEvent(QEvent *e) override;

Issue History

Date Modified Username Field Change
2024-09-11 21:09 nitramr New Issue
2024-09-12 17:39 nitramr Product Version 1.6.2 => 1.7.0.svn
2024-09-12 17:39 nitramr Target Version 1.6.3.svn => 1.7.0
2024-09-12 17:39 nitramr Summary Outliner does not update the tree view when pages with content are duplicated => Outliner does not update the tree view when docked
2024-09-12 17:39 nitramr Description Updated
2024-09-12 17:39 nitramr Steps to Reproduce Updated
2024-09-12 17:39 nitramr Patch No => Yes
2024-09-12 17:39 nitramr Note Added: 0051328
2024-09-12 17:39 nitramr File Added: outlinetree_2024-09-12_01.patch
2024-09-12 18:48 cbradney Assigned To => nitramr
2024-09-12 18:48 cbradney Status new => resolved
2024-09-12 18:48 cbradney Resolution open => fixed
2024-09-12 18:48 cbradney Fixed in Version => 1.7.0.svn
2024-09-16 20:54 cbradney Status resolved => closed