scrollbar fixes (#5529)

# Description of Changes

- Add scrolling bar to settings menus
- Fix scrolling bar in My files

-fix depreciated pdf editor code


## Checklist

### General

- [ ] I have read the [Contribution
Guidelines](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/CONTRIBUTING.md)
- [ ] I have read the [Stirling-PDF Developer
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md)
(if applicable)
- [ ] I have read the [How to add new languages to
Stirling-PDF](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md)
(if applicable)
- [ ] I have performed a self-review of my own code
- [ ] My changes generate no new warnings

### Documentation

- [ ] I have updated relevant docs on [Stirling-PDF's doc
repo](https://github.com/Stirling-Tools/Stirling-Tools.github.io/blob/main/docs/)
(if functionality has heavily changed)
- [ ] I have read the section [Add New Translation
Tags](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/HowToAddNewLanguage.md#add-new-translation-tags)
(for new translation tags only)

### Translations (if applicable)

- [ ] I ran
[`scripts/counter_translation.py`](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/docs/counter_translation.md)

### UI Changes (if applicable)

- [ ] Screenshots or videos demonstrating the UI changes are attached
(e.g., as comments or direct attachments in the PR)

### Testing (if applicable)

- [ ] I have tested my changes locally. Refer to the [Testing
Guide](https://github.com/Stirling-Tools/Stirling-PDF/blob/main/devGuide/DeveloperGuide.md#6-testing)
for more details.
This commit is contained in:
Anthony Stirling 2026-01-21 21:35:17 +00:00 committed by GitHub
parent bd75ad042a
commit 20f984156f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 68 additions and 15 deletions

View File

@ -3424,7 +3424,7 @@ public class PdfJsonConversionService {
}
break;
case "Tj":
if (i == 0 || !(tokens.get(i - 1) instanceof COSString cosString)) {
if (i == 0 || !(tokens.get(i - 1) instanceof COSString)) {
log.debug(
"Encountered Tj without preceding string operand; aborting rewrite");
return false;
@ -3435,7 +3435,8 @@ public class PdfJsonConversionService {
i,
cursor.remaining());
if (!rewriteShowText(
cosString,
tokens,
i - 1,
currentFont,
currentFontModel,
currentFontName,
@ -3496,7 +3497,8 @@ public class PdfJsonConversionService {
}
private boolean rewriteShowText(
COSString cosString,
List<Object> tokens,
int tokenIndex,
PDFont font,
PdfJsonFont fontModel,
String expectedFontName,
@ -3509,6 +3511,7 @@ public class PdfJsonConversionService {
expectedFontName);
return false;
}
COSString cosString = (COSString) tokens.get(tokenIndex);
int glyphCount = countGlyphs(cosString, font);
log.trace(
"rewriteShowText consuming {} glyphs at cursor index {} for font {}",
@ -3525,7 +3528,7 @@ public class PdfJsonConversionService {
return false;
}
if (removeOnly) {
cosString.setValue(new byte[0]);
tokens.set(tokenIndex, new COSString(new byte[0]));
return true;
}
MergedText replacement = mergeText(consumed);
@ -3540,7 +3543,7 @@ public class PdfJsonConversionService {
replacement.text());
return false;
}
cosString.setValue(encoded);
tokens.set(tokenIndex, new COSString(encoded));
return true;
} catch (IOException | IllegalArgumentException | UnsupportedOperationException ex) {
log.debug(

View File

@ -67,7 +67,7 @@ springBoot {
allprojects {
group = 'stirling.software'
version = '2.3.0'
version = '2.3.1'
configurations.configureEach {
exclude group: 'commons-logging', module: 'commons-logging'

View File

@ -62,11 +62,15 @@ const DesktopLayout: React.FC = () => {
</>
)}
<div style={{ flex: 1, minHeight: 0 }}>
<div style={{ flex: 1, minHeight: 0, overflow: 'hidden' }}>
<FileListArea
scrollAreaHeight={`calc(${modalHeight} )`}
scrollAreaHeight={activeSource === 'recent' && recentFiles.length > 0
? `calc(${modalHeight} - 7rem)`
: '100%'}
scrollAreaStyle={{
height: activeSource === 'recent' && recentFiles.length > 0 ? modalHeight : '100%',
height: activeSource === 'recent' && recentFiles.length > 0
? `calc(${modalHeight} - 7rem)`
: '100%',
backgroundColor: 'transparent',
border: 'none',
borderRadius: 0

View File

@ -57,12 +57,35 @@
overflow-y: auto;
padding: 1rem;
padding-bottom: 2rem;
scrollbar-width: none;
-ms-overflow-style: none;
scrollbar-width: thin;
scrollbar-color: transparent transparent;
transition: scrollbar-color 0.2s ease;
}
.modal-nav-scroll:hover {
scrollbar-color: rgba(128, 128, 128, 0.5) transparent;
}
.modal-nav-scroll::-webkit-scrollbar {
display: none;
width: 8px;
}
.modal-nav-scroll::-webkit-scrollbar-track {
background: transparent;
}
.modal-nav-scroll::-webkit-scrollbar-thumb {
background-color: transparent;
border-radius: 4px;
transition: background-color 0.2s ease;
}
.modal-nav-scroll:hover::-webkit-scrollbar-thumb {
background-color: rgba(128, 128, 128, 0.5);
}
.modal-nav-scroll::-webkit-scrollbar-thumb:hover {
background-color: rgba(128, 128, 128, 0.7);
}
.modal-nav-section {
@ -94,12 +117,35 @@
.modal-content-scroll {
flex: 1;
overflow-y: auto;
scrollbar-width: none;
-ms-overflow-style: none;
scrollbar-width: thin;
scrollbar-color: transparent transparent;
transition: scrollbar-color 0.2s ease;
}
.modal-content-scroll:hover {
scrollbar-color: rgba(128, 128, 128, 0.5) transparent;
}
.modal-content-scroll::-webkit-scrollbar {
display: none;
width: 8px;
}
.modal-content-scroll::-webkit-scrollbar-track {
background: transparent;
}
.modal-content-scroll::-webkit-scrollbar-thumb {
background-color: transparent;
border-radius: 4px;
transition: background-color 0.2s ease;
}
.modal-content-scroll:hover::-webkit-scrollbar-thumb {
background-color: rgba(128, 128, 128, 0.5);
}
.modal-content-scroll::-webkit-scrollbar-thumb:hover {
background-color: rgba(128, 128, 128, 0.7);
}
.modal-header {