From cfc529d8ff4a898a4a765b1640500a0b5b2d943a Mon Sep 17 00:00:00 2001 From: Pranam Lashkari Date: Fri, 17 Apr 2026 04:10:48 +0530 Subject: [PATCH 1/4] impress: add slide sections support to the slide panel Display section headers in the slide sorter panel for Impress presentations that have sections defined. Users can add, remove, rename, and reorder sections via context menus. Signed-off-by: Pranam Lashkari Change-Id: I11d34767c97e8192de5817f6f0b01c086bc4404d --- browser/css/partsPreviewControl.css | 21 ++ browser/src/control/Control.PartsPreview.js | 206 +++++++++++++++++++- browser/src/docstate.ts | 6 + browser/src/layer/tile/CanvasTileLayer.js | 4 + browser/src/layer/tile/ImpressTileLayer.js | 3 + kit/ChildSession.cpp | 46 ++++- kit/ChildSession.hpp | 1 + wsd/ClientSession.cpp | 5 + wsd/protocol.txt | 5 + 9 files changed, 291 insertions(+), 6 deletions(-) diff --git a/browser/css/partsPreviewControl.css b/browser/css/partsPreviewControl.css index 87563f5d866e8..c49947d4bc2dc 100644 --- a/browser/css/partsPreviewControl.css +++ b/browser/css/partsPreviewControl.css @@ -61,3 +61,24 @@ .hidden-slide { opacity: 0.5; } + +/* Slide section headers - styled to match sidebar expander labels */ +.slide-section-header { + display: flex; + align-items: center; + padding-inline: 8px; + line-height: var(--sidebar-header-height, 34px); + cursor: default; + user-select: none; + border-bottom: 1px solid var(--color-border, #ccc); +} + +.slide-section-name { + color: var(--color-main-text); + font-size: var(--header-font-size, 12px); + font-weight: 600; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + flex: 1; +} diff --git a/browser/src/control/Control.PartsPreview.js b/browser/src/control/Control.PartsPreview.js index dc810578488a7..01d6d64ca6a34 100644 --- a/browser/src/control/Control.PartsPreview.js +++ b/browser/src/control/Control.PartsPreview.js @@ -55,6 +55,7 @@ window.L.Control.PartsPreview = window.L.Control.extend({ onAdd: function (map) { this._previewInitialized = false; this._previewTiles = []; + this._sectionHeaders = []; // Section header DOM elements this._direction = this.options.allowOrientation ? (!window.mode.isDesktop() && window.L.DomUtil.isPortrait() ? 'x' : 'y') : this.options.axis; @@ -69,6 +70,7 @@ window.L.Control.PartsPreview = window.L.Control.extend({ map.on('scrolllimits', this._invalidateParts, this); map.on('scrolltopart', this._scrollToPart, this); map.on('beforerequestpreview', this._beforeRequestPreview, this); + map.on('updatesections', this._updateSections, this); window.addEventListener('resize', window.L.bind(this._resize, this)); }, @@ -402,6 +404,26 @@ window.L.Control.PartsPreview = window.L.Control.extend({ }); } + // if not the first section slide then add entry for section + var isFisrtSectionSlide = false; + const sections = app.impress.sections; + if (sections) { + for (let i = 0; i < sections.length; i++) { + if (sections[i].startIndex === partIndex) { + isFisrtSectionSlide = true; + break; + } + } + } + if (!isFisrtSectionSlide) { + entries.push({ + id: 'addsection', + type: 'comboboxentry', + text: _('Add Section'), + pos: 0, + }); + } + var menuPosEl = that._getMenuPosEl(); var rect = that._container.getBoundingClientRect(); menuPosEl.style.left = (e.clientX - rect.left) + 'px'; @@ -438,6 +460,9 @@ window.L.Control.PartsPreview = window.L.Control.extend({ case 'hideslide': that._map.hideSlide(); break; + case 'addsection': + app.socket.sendMessage('uno .uno:AddSlideSection'); + app.socket.sendMessage('getslidesections'); } JSDialog.CloseAllDropdowns(); return true; @@ -469,10 +494,176 @@ window.L.Control.PartsPreview = window.L.Control.extend({ return img; }, + _updateSections: function (e) { + if (!this._previewInitialized) + return; + + var sections = e.sections || []; + + // Remove existing section headers + for (var i = 0; i < this._sectionHeaders.length; i++) { + window.L.DomUtil.remove(this._sectionHeaders[i]); + } + this._sectionHeaders = []; + + if (!sections || sections.length === 0) + return; + + // Insert section headers before the frame of each section's first slide. + // The container children are: #first-drop-site, frame0, frame1, ... + // So slide index N corresponds to child index N+1. + for (var s = 0; s < sections.length; s++) { + var section = sections[s]; + var slideIndex = section.startIndex; + + if (slideIndex < 0 || slideIndex >= this._previewTiles.length) + continue; + + var header = this._createSectionHeader(section, s); + this._sectionHeaders.push(header); + + // Insert before the frame of this section's first slide + var slideFrame = this._previewTiles[slideIndex].parentNode; + slideFrame.parentNode.insertBefore(header, slideFrame); + } + }, + + _createSectionHeader: function (section, sectionIndex) { + var that = this; + var header = window.L.DomUtil.create('div', 'slide-section-header'); + header.setAttribute('data-section-index', sectionIndex); + header.setAttribute('data-start-index', section.startIndex); + + var nameSpan = window.L.DomUtil.create('span', 'slide-section-name', header); + nameSpan.textContent = section.name; + nameSpan.setAttribute('title', section.name); + + // Section context menu + if (this._map.isEditMode()) { + window.L.DomEvent.on(header, 'contextmenu', function(e) { + window.L.DomEvent.stopPropagation(e); + window.L.DomEvent.preventDefault(e); + + if (app.map.isReadOnlyMode()) + return; + + that._openSectionContextMenu(section, sectionIndex, e); + }, this); + } + + return header; + }, + + _openSectionContextMenu: function (section, sectionIndex, e) { + var that = this; + var sections = app.impress.sections || []; + + var entries = [{ + id: 'renameSection', + type: 'comboboxentry', + text: _('Rename Section'), + pos: 0, + }]; + if (sectionIndex > 0) { + entries.push({ + id: 'moveSectionUp', + type: 'comboboxentry', + text: _('Move Section Up'), + pos: 0, + }); + } + if (sectionIndex < sections.length - 1) { + entries.push({ + id: 'moveSectionDown', + type: 'comboboxentry', + text: _('Move Section Down'), + pos: 0, + }); + } + entries.push({ + id: 'removeSection', + type: 'comboboxentry', + text: _('Remove Section'), + pos: 0, + }); + + var menuPosEl = this._getMenuPosEl(); + var rect = this._container.getBoundingClientRect(); + menuPosEl.style.left = (e.clientX - rect.left) + 'px'; + menuPosEl.style.top = (e.clientY - rect.top) + 'px'; + + var callback = function (objectType, eventType, object, data, entry) { + if (eventType !== 'selected') + return false; + switch (entry.id) { + case 'renameSection': + that._renameSection(section, sectionIndex); + break; + case 'moveSectionUp': + that._map.setPart(section.startIndex); + that._map.selectPart(section.startIndex, 1, false); + app.socket.sendMessage('uno .uno:MoveSlideSectionUp'); + app.socket.sendMessage('getslidesections'); + break; + case 'moveSectionDown': + that._map.setPart(section.startIndex); + that._map.selectPart(section.startIndex, 1, false); + app.socket.sendMessage('uno .uno:MoveSlideSectionDown'); + app.socket.sendMessage('getslidesections'); + break; + case 'removeSection': + that._map.setPart(section.startIndex); + that._map.selectPart(section.startIndex, 1, false); + app.socket.sendMessage('uno .uno:RemoveSlideSection'); + app.socket.sendMessage('getslidesections'); + break; + } + JSDialog.CloseAllDropdowns(); + return true; + }; + + JSDialog.OpenDropdown( + 'slide-section-menu', + menuPosEl, + entries, + callback, + '', + false, + ); + }, + + _renameSection: function (section, sectionIndex) { + var currentName = section.name; + + app.map.uiManager.showInputModal( + 'rename-section', + _('Rename Section'), + _('Enter new section name:'), + currentName, + _('OK'), + function (newName) { + if (newName && newName !== currentName) { + var command = { + 'SectionIndex': { + 'type': 'long', + 'value': sectionIndex + }, + 'Name': { + 'type': 'string', + 'value': newName + } + }; + app.socket.sendMessage('uno .uno:RenameSlideSection ' + JSON.stringify(command)); + app.socket.sendMessage('getslidesections'); + } + } + ); + }, + _scrollToPart: function(part) { var partNo = part !== undefined ? part : this._map.getCurrentPartNumber(); - //var sliderSize, nodePos, nodeOffset, nodeMargin; - var node = this._partsPreviewCont.children[partNo]; + // Use the preview tile's parent frame directly instead of child index + var node = this._previewTiles[partNo] ? this._previewTiles[partNo].parentNode : null; if (node && (!this._previewTiles[partNo] || !this._isPreviewVisible(partNo))) { if (this.scrollTimer) clearTimeout(this.scrollTimer); @@ -484,12 +675,17 @@ window.L.Control.PartsPreview = window.L.Control.extend({ } }, - // We will use this function because IE doesn't support "Array.from" feature. + // Returns the logical child index (counting only frames, not section headers). _findClickedPart: function (element) { + var frameIndex = 0; for (var i = 0; i < this._partsPreviewCont.children.length; i++) { - if (this._partsPreviewCont.children[i] === element || this._partsPreviewCont.children[i] === element.parentNode) { - return i; + var child = this._partsPreviewCont.children[i]; + if (child === element || child === element.parentNode) { + return frameIndex; } + // Only count non-section-header children as frames + if (!child.classList.contains('slide-section-header')) + frameIndex++; } return -1; }, diff --git a/browser/src/docstate.ts b/browser/src/docstate.ts index de80a7c610bc0..30bec3165180c 100644 --- a/browser/src/docstate.ts +++ b/browser/src/docstate.ts @@ -58,6 +58,12 @@ }, impress: { partList: null, // Info for parts. + sections: null as Array<{ + name: string; + id?: string; + startIndex: number; + slideCount: number; + }> | null, hasOverviewPage: false, //Whether the file has an overview page notesMode: false, // Opposite of "NormalMultiPaneGUI". twipsCorrection: 0.567, // There is a constant ratio between tiletwips and impress page twips. For now, this seems safe to use. diff --git a/browser/src/layer/tile/CanvasTileLayer.js b/browser/src/layer/tile/CanvasTileLayer.js index c1d39f8a40d17..87dbcd96cf37c 100644 --- a/browser/src/layer/tile/CanvasTileLayer.js +++ b/browser/src/layer/tile/CanvasTileLayer.js @@ -1275,6 +1275,10 @@ window.L.CanvasTileLayer = window.L.Layer.extend({ } else if (textMsg.startsWith('presentationinfo:')) { var content = JSON.parse(textMsg.substring('presentationinfo:'.length + 1)); this._map.fire('presentationinfo', content); + } else if (textMsg.startsWith('slidesections:')) { + var sections = JSON.parse(textMsg.substring('slidesections:'.length + 1)); + app.impress.sections = sections; + this._map.fire('updatesections', {sections: sections}); } else if (textMsg.startsWith('slideshowfollow')) { const eventInfo = textMsg.substr('slideshowfollow '.length); const parameterStartIndex = eventInfo.indexOf('{'); diff --git a/browser/src/layer/tile/ImpressTileLayer.js b/browser/src/layer/tile/ImpressTileLayer.js index b42f133f9987d..8f2ce5356c0c0 100644 --- a/browser/src/layer/tile/ImpressTileLayer.js +++ b/browser/src/layer/tile/ImpressTileLayer.js @@ -333,6 +333,9 @@ window.L.ImpressTileLayer = window.L.CanvasTileLayer.extend({ if (refreshAnnotation) app.socket.sendMessage('commandvalues command=.uno:ViewAnnotations'); + + // Fetch slide sections data + app.socket.sendMessage('getslidesections'); } this._documentInfo = textMsg; diff --git a/kit/ChildSession.cpp b/kit/ChildSession.cpp index bcfde62fa6de1..35d121ac6ca7b 100644 --- a/kit/ChildSession.cpp +++ b/kit/ChildSession.cpp @@ -606,7 +606,8 @@ bool ChildSession::_handleInput(const char *buffer, int length) tokens.equals(0, "geta11yfocusedparagraph") || tokens.equals(0, "geta11ycaretposition") || tokens.equals(0, "toggletiledumping") || - tokens.equals(0, "getpresentationinfo")); + tokens.equals(0, "getpresentationinfo") || + tokens.equals(0, "getslidesections")); ProfileZone pz("ChildSession::_handleInput:" + tokens[0]); if (tokens.equals(0, "clientzoom")) @@ -900,6 +901,10 @@ bool ChildSession::_handleInput(const char *buffer, int length) { return getPresentationInfo(); } + else if (tokens.equals(0, "getslidesections")) + { + return getSlideSections(); + } else { assert(Util::isFuzzing() && "Unknown command token."); @@ -3336,6 +3341,45 @@ bool ChildSession::getPresentationInfo() return true; } +bool ChildSession::getSlideSections() +{ + getLOKitDocument()->setView(_viewId); + + LOKitHelper::ScopedString info(getLOKitDocument()->getPresentationInfo()); + if (!info || !info.get()) + { + sendTextFrame("slidesections: []"); + return true; + } + + std::string data(info.get()); + + // Extract just the "sections" array from the full presentation info + try + { + Poco::JSON::Parser parser; + auto result = parser.parse(data); + auto obj = result.extract(); + if (obj && obj->has("sections")) + { + std::ostringstream oss; + obj->getArray("sections")->stringify(oss); + sendTextFrame("slidesections: " + oss.str()); + } + else + { + sendTextFrame("slidesections: []"); + } + } + catch (const std::exception& e) + { + LOG_ERR("Failed to parse presentation info for sections: " << e.what()); + sendTextFrame("slidesections: []"); + } + + return true; +} + /* If the user is inactive we have to remember important events so that when * the user becomes active again, we can replay the events. */ diff --git a/kit/ChildSession.hpp b/kit/ChildSession.hpp index 52d486425fbee..452f7f47a6768 100644 --- a/kit/ChildSession.hpp +++ b/kit/ChildSession.hpp @@ -229,6 +229,7 @@ class ChildSession final : public Session bool getA11yFocusedParagraph(); bool getA11yCaretPosition(); bool getPresentationInfo(); + bool getSlideSections(); void rememberEventsForInactiveUser(int type, const std::string& payload); diff --git a/wsd/ClientSession.cpp b/wsd/ClientSession.cpp index 1b096f7e9f945..69f20b5979f5d 100644 --- a/wsd/ClientSession.cpp +++ b/wsd/ClientSession.cpp @@ -1406,6 +1406,7 @@ bool ClientSession::_handleInput(const char *buffer, int length) tokens.equals(0, "geta11yfocusedparagraph") || tokens.equals(0, "geta11ycaretposition") || tokens.equals(0, "getpresentationinfo") || + tokens.equals(0, "getslidesections") || tokens.equals(0, "slideshowfollow")) { #if !MOBILEAPP @@ -2660,6 +2661,10 @@ bool ClientSession::handleKitToClientMessage(const std::shared_ptr& pay { return handlePresentationInfo(payload, docBroker); } + else if (tokens.equals(0, "slidesections:")) + { + return forwardToClient(payload); + } else if (tokens.equals(0, "clipboardcontent:")) { #if !MOBILEAPP // Most likely nothing of this makes sense in a mobile app diff --git a/wsd/protocol.txt b/wsd/protocol.txt index e9287581756d9..5065d3bea3b69 100644 --- a/wsd/protocol.txt +++ b/wsd/protocol.txt @@ -509,6 +509,11 @@ getpresentationinfo This change uses the new GetPresentationInfo() funciton that was added to the LOKit API. +getslidesections + + Returns the slide sections for an Impress presentation as a JSON array. + Response: slidesections: [{name, id, startIndex, slideCount}, ...] + removetextcontext id= before= after= This protocol is used to remove text context from a specified location in a document. It allows the deletion of multiple characters within a range by specifying the positions before and after the deletion. From 5b36944ee664cad1a0254df84abe9c1053ff486d Mon Sep 17 00:00:00 2001 From: Pranam Lashkari Date: Fri, 17 Apr 2026 05:52:14 +0530 Subject: [PATCH 2/4] cypress: added tests for slide sections Signed-off-by: Pranam Lashkari Change-Id: If8c5ae7fffbda5dda119dfcb9e7a2cc4f69c0076 --- .../desktop/impress/slide-section-test.odp | Bin 0 -> 52087 bytes .../desktop/impress/slide-section-test.pptx | Bin 0 -> 108164 bytes .../desktop/impress/slide_sections_spec.js | 205 ++++++++++++++++++ 3 files changed, 205 insertions(+) create mode 100644 cypress_test/data/desktop/impress/slide-section-test.odp create mode 100644 cypress_test/data/desktop/impress/slide-section-test.pptx create mode 100644 cypress_test/integration_tests/desktop/impress/slide_sections_spec.js diff --git a/cypress_test/data/desktop/impress/slide-section-test.odp b/cypress_test/data/desktop/impress/slide-section-test.odp new file mode 100644 index 0000000000000000000000000000000000000000..c52fc034fa73191cbdda7d06388d208b189c2bca GIT binary patch literal 52087 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 literal 0 HcmV?d00001 diff --git a/cypress_test/data/desktop/impress/slide-section-test.pptx b/cypress_test/data/desktop/impress/slide-section-test.pptx new file mode 100644 index 0000000000000000000000000000000000000000..47354deb97446f7a81b10ff2c3f0ccc2fa17271a GIT binary patch literal 108164 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 { + this.win = win; + }); + }); + + it('Open PPTX file with sections', function() { + helper.processToIdle(this.win); + + assertSectionHeaders(['Section-1', 'Section-2', 'Section-3']); + }); + + it('Add section in PPTX', function() { + helper.processToIdle(this.win); + + // Right-click on the last slide which is not a section start + cy.cGet('.preview-img').last().rightclick(); + clickContextMenuItem('Add Section'); + helper.processToIdle(this.win); + + // Verify new section added with default name + assertSectionHeaders(['Section-1', 'Section-2', 'Section-3', 'Untitled Section']); + + // Reload and verify persistence + helper.processToIdle(this.win); + helper.reloadDocument(this.newFilePath); + + assertSectionHeaders(['Section-1', 'Section-2', 'Section-3', 'Untitled Section']); + }); + + it('Rename section in PPTX', function() { + helper.processToIdle(this.win); + + // Rename the first section + renameSection(0, 'Renamed Section'); + helper.processToIdle(this.win); + + assertSectionHeaders(['Renamed Section', 'Section-2', 'Section-3']); + + // Reload and verify persistence + helper.processToIdle(this.win); + helper.reloadDocument(this.newFilePath); + + assertSectionHeaders(['Renamed Section', 'Section-2', 'Section-3']); + }); + + it('Move section up in PPTX', function() { + helper.processToIdle(this.win); + + // Move second section up + rightClickSectionHeader(1); + clickContextMenuItem('Move Section Up'); + helper.processToIdle(this.win); + + // Verify Section-2 is now first, Section-1 is second + assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); + + // Reload and verify persistence + helper.processToIdle(this.win); + helper.reloadDocument(this.newFilePath); + + assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); + }); + + it('Move section down in PPTX', function() { + helper.processToIdle(this.win); + + // Move first section down + rightClickSectionHeader(0); + clickContextMenuItem('Move Section Down'); + helper.processToIdle(this.win); + + // Verify Section-2 is now first, Section-1 is second + assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); + + // Reload and verify persistence + helper.processToIdle(this.win); + helper.reloadDocument(this.newFilePath); + + assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); + }); + }); + + describe('ODP format', function() { + + beforeEach(function() { + this.newFilePath = helper.setupAndLoadDocument('impress/slide-section-test.odp'); + desktopHelper.switchUIToNotebookbar(); + cy.getFrameWindow().then((win) => { + this.win = win; + }); + }); + + it('Open ODP file with sections', function() { + helper.processToIdle(this.win); + + assertSectionHeaders(['Section-1', 'Section-2', 'Section-3']); + }); + + it('Add section in ODP', function() { + helper.processToIdle(this.win); + + // Right-click on the last slide which is not a section start + cy.cGet('.preview-img').last().rightclick(); + clickContextMenuItem('Add Section'); + helper.processToIdle(this.win); + + // Verify new section added with default name + assertSectionHeaders(['Section-1', 'Section-2', 'Section-3', 'Untitled Section']); + + // Reload and verify persistence + helper.processToIdle(this.win); + helper.reloadDocument(this.newFilePath); + + assertSectionHeaders(['Section-1', 'Section-2', 'Section-3', 'Untitled Section']); + }); + + it('Rename section in ODP', function() { + helper.processToIdle(this.win); + + // Rename the first section + renameSection(0, 'Renamed Section'); + helper.processToIdle(this.win); + + assertSectionHeaders(['Renamed Section', 'Section-2', 'Section-3']); + + // Reload and verify persistence + helper.processToIdle(this.win); + helper.reloadDocument(this.newFilePath); + + assertSectionHeaders(['Renamed Section', 'Section-2', 'Section-3']); + }); + + it('Move section up in ODP', function() { + helper.processToIdle(this.win); + + // Move second section up + rightClickSectionHeader(1); + clickContextMenuItem('Move Section Up'); + helper.processToIdle(this.win); + + // Verify Section-2 is now first, Section-1 is second + assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); + + // Reload and verify persistence + helper.processToIdle(this.win); + helper.reloadDocument(this.newFilePath); + + assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); + }); + + it('Move section down in ODP', function() { + helper.processToIdle(this.win); + + // Move first section down + rightClickSectionHeader(0); + clickContextMenuItem('Move Section Down'); + helper.processToIdle(this.win); + + // Verify Section-2 is now first, Section-1 is second + assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); + + // Reload and verify persistence + helper.processToIdle(this.win); + helper.reloadDocument(this.newFilePath); + + assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); + }); + }); +}); From f1ea88230c8693b82f0ec9968a0c95a94eda7fdf Mon Sep 17 00:00:00 2001 From: Pranam Lashkari Date: Sat, 18 Apr 2026 03:14:42 +0530 Subject: [PATCH 3/4] slide section: make sections collapsible now user can hide all the slides in the sections Signed-off-by: Pranam Lashkari Change-Id: Id6d25637f3d6462500959e1bf5dd7753cbdf1aca --- browser/css/partsPreviewControl.css | 40 +++++++++- browser/src/control/Control.PartsPreview.js | 76 ++++++++++++++++++- .../desktop/impress/slide_sections_spec.js | 49 ++++++++++++ 3 files changed, 163 insertions(+), 2 deletions(-) diff --git a/browser/css/partsPreviewControl.css b/browser/css/partsPreviewControl.css index c49947d4bc2dc..de1968b0eb268 100644 --- a/browser/css/partsPreviewControl.css +++ b/browser/css/partsPreviewControl.css @@ -68,11 +68,45 @@ align-items: center; padding-inline: 8px; line-height: var(--sidebar-header-height, 34px); - cursor: default; + cursor: pointer; user-select: none; border-bottom: 1px solid var(--color-border, #ccc); } +.slide-section-toggle { + background: transparent; + border: 0; + padding: 0; + margin-inline-end: 7px; + cursor: pointer; + display: inline-flex; + align-items: center; + justify-content: center; + width: 16px; + height: 16px; + flex: 0 0 auto; + color: inherit; +} + +.slide-section-toggle::before { + content: ''; + display: inline-block; + width: 9px; + height: 9px; + background: transparent url('images/lc_menu_chevron.svg') no-repeat center; + filter: brightness(0.5); + transform: rotate(90deg); /* expanded: chevron points down */ + transition: transform 0.1s ease-in; +} + +.slide-section-header.collapsed .slide-section-toggle::before { + transform: rotate(0deg); /* collapsed: chevron points right */ +} + +[data-theme='dark'] .slide-section-toggle::before { + filter: brightness(1); +} + .slide-section-name { color: var(--color-main-text); font-size: var(--header-font-size, 12px); @@ -82,3 +116,7 @@ white-space: nowrap; flex: 1; } + +.preview-frame.section-collapsed { + display: none; +} diff --git a/browser/src/control/Control.PartsPreview.js b/browser/src/control/Control.PartsPreview.js index 01d6d64ca6a34..9d355260a9211 100644 --- a/browser/src/control/Control.PartsPreview.js +++ b/browser/src/control/Control.PartsPreview.js @@ -56,6 +56,7 @@ window.L.Control.PartsPreview = window.L.Control.extend({ this._previewInitialized = false; this._previewTiles = []; this._sectionHeaders = []; // Section header DOM elements + this._collapsedSections = new Set(); // Names of sections collapsed by the user this._direction = this.options.allowOrientation ? (!window.mode.isDesktop() && window.L.DomUtil.isPortrait() ? 'x' : 'y') : this.options.axis; @@ -506,8 +507,20 @@ window.L.Control.PartsPreview = window.L.Control.extend({ } this._sectionHeaders = []; - if (!sections || sections.length === 0) + if (!sections || sections.length === 0) { + this._collapsedSections.clear(); return; + } + + // Drop any remembered names that no longer correspond to a section + // (e.g. after a rename or removal). + var liveNames = new Set(); + for (var ln = 0; ln < sections.length; ln++) + liveNames.add(sections[ln].name); + this._collapsedSections.forEach(function (name) { + if (!liveNames.has(name)) + this._collapsedSections.delete(name); + }, this); // Insert section headers before the frame of each section's first slide. // The container children are: #first-drop-site, frame0, frame1, ... @@ -526,18 +539,32 @@ window.L.Control.PartsPreview = window.L.Control.extend({ var slideFrame = this._previewTiles[slideIndex].parentNode; slideFrame.parentNode.insertBefore(header, slideFrame); } + + this._applyAllSectionsCollapse(); }, _createSectionHeader: function (section, sectionIndex) { var that = this; + var header = window.L.DomUtil.create('div', 'slide-section-header'); header.setAttribute('data-section-index', sectionIndex); header.setAttribute('data-start-index', section.startIndex); + var toggleBtn = window.L.DomUtil.create('button', 'slide-section-toggle ui-expander-btn', header); + toggleBtn.type = 'button'; + toggleBtn.setAttribute('aria-label', + _('Toggle section %1').replace('%1', section.name)); + var nameSpan = window.L.DomUtil.create('span', 'slide-section-name', header); nameSpan.textContent = section.name; nameSpan.setAttribute('title', section.name); + window.L.DomEvent.on(toggleBtn, 'click', function (e) { + window.L.DomEvent.stopPropagation(e); + window.L.DomEvent.preventDefault(e); + that._toggleSectionCollapse(sectionIndex); + }, this); + // Section context menu if (this._map.isEditMode()) { window.L.DomEvent.on(header, 'contextmenu', function(e) { @@ -554,6 +581,53 @@ window.L.Control.PartsPreview = window.L.Control.extend({ return header; }, + _toggleSectionCollapse: function (sectionIndex) { + var sections = app.impress.sections || []; + var section = sections[sectionIndex]; + if (!section) + return; + + if (this._collapsedSections.has(section.name)) + this._collapsedSections.delete(section.name); + else + this._collapsedSections.add(section.name); + + this._applySectionCollapse(sectionIndex); + // Expanding may reveal thumbnails whose images were never fetched. + this._ensureVisiblePreviews(); + }, + + // Apply the collapsed class to one section's header and its slide frames. + _applySectionCollapse: function (sectionIndex) { + var section = app.impress.sections && app.impress.sections[sectionIndex]; + if (!section) + return; + + var collapsed = this._collapsedSections.has(section.name); + var end = section.startIndex + section.slideCount; + + var header = this._sectionHeaders[sectionIndex]; + if (header) { + var toggleBtn = header.querySelector('.slide-section-toggle'); + header.classList.toggle('collapsed', collapsed); + if (toggleBtn) + toggleBtn.setAttribute('aria-expanded', collapsed ? 'false' : 'true'); + } + + for (var i = section.startIndex; i < end; i++) { + var frame = this._previewTiles[i] && this._previewTiles[i].parentNode; + if (frame) + frame.classList.toggle('section-collapsed', collapsed); + } + }, + + // Apply collapsed state to every section. + _applyAllSectionsCollapse: function () { + var sections = app.impress.sections || []; + for (var s = 0; s < sections.length; s++) + this._applySectionCollapse(s); + }, + _openSectionContextMenu: function (section, sectionIndex, e) { var that = this; var sections = app.impress.sections || []; diff --git a/cypress_test/integration_tests/desktop/impress/slide_sections_spec.js b/cypress_test/integration_tests/desktop/impress/slide_sections_spec.js index ff17a8df01055..f189070ad5add 100644 --- a/cypress_test/integration_tests/desktop/impress/slide_sections_spec.js +++ b/cypress_test/integration_tests/desktop/impress/slide_sections_spec.js @@ -114,6 +114,55 @@ describe(['tagdesktop', 'tagnextcloud', 'tagproxy'], 'Slide sections', function( assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); }); + + it('Collapse section hides its slides', function() { + helper.processToIdle(this.win); + + // Starting layout (13 slides, 3 sections): Section-1 (1-4), Section-2 (5-11), Section-3 (12-13) + assertSectionHeaders(['Section-1', 'Section-2', 'Section-3']); + + // Add a 4th section starting at slide 3 + cy.cGet('#preview-img-part-2').scrollIntoView().rightclick(); + clickContextMenuItem('Add Section'); + helper.processToIdle(this.win); + // Now: Section-1 (1-2), Untitled Section (3-4), Section-2 (5-11), Section-3 (12-13) + assertSectionHeaders(['Section-1', 'Untitled Section', 'Section-2', 'Section-3']); + + // Collapse the new Untitled Section (index 1) + cy.cGet('.slide-section-header').eq(1).find('.slide-section-toggle').click(); + + [2, 3].forEach(function (i) { + cy.cGet('#preview-frame-part-' + i).should('have.class', 'section-collapsed'); + }); + + // Collapse Section-3 (index 3) + cy.cGet('.slide-section-header').eq(3).find('.slide-section-toggle').click(); + [2, 3, 11, 12].forEach(function (i) { + cy.cGet('#preview-frame-part-' + i).should('have.class', 'section-collapsed'); + }); + + // Add another section at slide 8 (index 7, inside Section-2). Slide 8 is + // inside Section-2 which is visible. + cy.cGet('#preview-img-part-7').scrollIntoView(); + cy.cGet('#preview-img-part-7').rightclick(); + clickContextMenuItem('Add Section'); + helper.processToIdle(this.win); + // Layout: Section-1 (1-2), Untitled (3-4), Section-2 (5-7), Untitled (8-11), Section-3 (12-13) + // The second Untitled Section auto-collapses because it shares the name + // "Untitled Section" with the already-collapsed first one. + + // Check the .section-collapsed class on each slide's preview-frame + // rather than visibility - off-screen slides also fail be.visible. + // Visible: Section-1 (slides 1-2 = index 0,1), Section-2 (slides 5-7 = index 4,5,6) + [0, 1, 4, 5, 6].forEach(function (i) { + cy.cGet('#preview-frame-part-' + i).should('not.have.class', 'section-collapsed'); + }); + + // Hidden: both Untitled Sections (indices 2,3,7,8,9,10) and Section-3 (indices 11,12) + [2, 3, 7, 8, 9, 10, 11, 12].forEach(function (i) { + cy.cGet('#preview-frame-part-' + i).should('have.class', 'section-collapsed'); + }); + }); }); describe('ODP format', function() { From 1031b7428e4d25cf871475283ef1c01e3d8944e5 Mon Sep 17 00:00:00 2001 From: Pranam Lashkari Date: Sat, 18 Apr 2026 03:35:07 +0530 Subject: [PATCH 4/4] slide section: select slides on clicking header now clicking on the section header, user can select all the slides in the section Signed-off-by: Pranam Lashkari Change-Id: I08003e8dab460a2ac7f700b2856ed3155e1c970c --- browser/src/control/Control.PartsPreview.js | 30 +++++++++++++++++-- .../desktop/impress/slide_sections_spec.js | 26 +++++++++++++++- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/browser/src/control/Control.PartsPreview.js b/browser/src/control/Control.PartsPreview.js index 9d355260a9211..968bedb901064 100644 --- a/browser/src/control/Control.PartsPreview.js +++ b/browser/src/control/Control.PartsPreview.js @@ -565,6 +565,15 @@ window.L.Control.PartsPreview = window.L.Control.extend({ that._toggleSectionCollapse(sectionIndex); }, this); + // Click on the header (but not the toggle) selects all slides in the section. + window.L.DomEvent.on(header, 'click', function (e) { + if (toggleBtn.contains(e.target)) + return; + window.L.DomEvent.stopPropagation(e); + window.L.DomEvent.preventDefault(e); + that._selectSection(sectionIndex); + }, this); + // Section context menu if (this._map.isEditMode()) { window.L.DomEvent.on(header, 'contextmenu', function(e) { @@ -581,6 +590,22 @@ window.L.Control.PartsPreview = window.L.Control.extend({ return header; }, + _selectSection: function (sectionIndex) { + var sections = app.impress && app.impress.sections; + if (!sections || !sections[sectionIndex]) + return; + + var start = sections[sectionIndex].startIndex; + var end = (sectionIndex + 1 < sections.length) + ? sections[sectionIndex + 1].startIndex - 1 + : this._previewTiles.length - 1; + + if (start < 0 || end < start) + return; + + this._selectPartRange(start, end, false); + }, + _toggleSectionCollapse: function (sectionIndex) { var sections = app.impress.sections || []; var section = sections[sectionIndex]; @@ -894,7 +919,7 @@ window.L.Control.PartsPreview = window.L.Control.extend({ } }, - _selectPartRange: function (start, end) { + _selectPartRange: function (start, end, scrollToEnd = true) { if (start === undefined || start === null) start = this._map._docLayer._selectedPart; @@ -919,7 +944,8 @@ window.L.Control.PartsPreview = window.L.Control.extend({ } } this._selectedPartRange = [start, end]; - this._scrollToPart(end); + if (scrollToEnd) + this._scrollToPart(end); }, _modifySelectedPartRange: function (direction) { diff --git a/cypress_test/integration_tests/desktop/impress/slide_sections_spec.js b/cypress_test/integration_tests/desktop/impress/slide_sections_spec.js index f189070ad5add..f7093d9f63059 100644 --- a/cypress_test/integration_tests/desktop/impress/slide_sections_spec.js +++ b/cypress_test/integration_tests/desktop/impress/slide_sections_spec.js @@ -1,5 +1,5 @@ /* -*- js-indent-level: 8 -*- */ -/* global describe it cy require beforeEach */ +/* global describe it cy require beforeEach expect */ var helper = require('../../common/helper'); var desktopHelper = require('../../common/desktop_helper'); @@ -115,6 +115,30 @@ describe(['tagdesktop', 'tagnextcloud', 'tagproxy'], 'Slide sections', function( assertSectionHeaders(['Section-2', 'Section-1', 'Section-3']); }); + it('Section slide selection', function() { + helper.processToIdle(this.win); + + // 3 sections: Section-1 (slides 1-4), Section-2 (5-11), Section-3 (12-13). + assertSectionHeaders(['Section-1', 'Section-2', 'Section-3']); + + // Click the body of Section-2's header (anywhere that isn't the toggle). + cy.cGet('.slide-section-header').eq(1) + .find('.slide-section-name').click(); + helper.processToIdle(this.win); + + cy.window().then((win) => { + var impress = win['0'].app.impress; + // Slides in Section-2 (indices 4-10) should be selected. + for (var i = 4; i <= 10; i++) + expect(impress.isSlideSelected(i)).to.be.true; + + // Slides outside Section-2 should not be selected. + [0, 1, 2, 3, 11, 12].forEach(function (i) { + expect(impress.isSlideSelected(i)).to.be.false; + }); + }); + }); + it('Collapse section hides its slides', function() { helper.processToIdle(this.win);