Skip to content

Commit

Permalink
Merge pull request #788 from hernanmd/fb_disable_preview
Browse files Browse the repository at this point in the history
File Browser: Add "disable preview"
  • Loading branch information
demarey committed Jun 21, 2024
2 parents 2306aa8 + 66163b8 commit 376bfd5
Show file tree
Hide file tree
Showing 3 changed files with 85 additions and 7 deletions.
28 changes: 28 additions & 0 deletions src/NewTools-FileBrowser/StFileBrowserSettings.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Class {
'OpenOnLastDirectory',
'ShowAlwaysDefaultBookmarks',
'ShowHiddenFiles',
'ShowPreview',
'WindowsTerminalProgram'
],
#category : 'NewTools-FileBrowser-UI',
Expand Down Expand Up @@ -177,6 +178,33 @@ StFileBrowserSettings class >> showHiddenFilesOn: aBuilder [
target: self
]

{ #category : 'accessing' }
StFileBrowserSettings class >> showPreview [

^ ShowPreview
ifNil: [ ShowPreview := true ]
]

{ #category : 'accessing' }
StFileBrowserSettings class >> showPreview: aBoolean [
"Set if File Browsers should display a preview presenter"

ShowPreview := aBoolean
]

{ #category : 'settings' }
StFileBrowserSettings class >> showPreviewOn: aBuilder [
<systemsettings>

(aBuilder setting: #showPreview)
parent: #fileBrowser;
default: true;
label: 'Enable preview';
description: 'File Browser will show a preview file presenter by default';
target: self

]

{ #category : 'settings' }
StFileBrowserSettings class >> windowsTerminalProgram [

Expand Down
45 changes: 38 additions & 7 deletions src/NewTools-FileBrowser/StFileNavigationSystemPresenter.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,8 @@ Class {
'fileReferenceTable',
'configButton',
'pathBreadcrumbPresenter',
'newFolderButton'
'newFolderButton',
'showPreview'
],
#category : 'NewTools-FileBrowser-UI',
#package : 'NewTools-FileBrowser',
Expand Down Expand Up @@ -160,13 +161,21 @@ StFileNavigationSystemPresenter >> defaultFolder: aFileReference [
{ #category : 'layout' }
StFileNavigationSystemPresenter >> defaultLayout [

| filesLayout |
filesLayout := self showPreview
ifTrue: [
SpPanedLayout newTopToBottom
add: self topPaneLayout;
add: notebookPreviewer;
yourself ]
ifFalse: [
SpBoxLayout newTopToBottom
add: self topPaneLayout;
yourself ].
^ SpBoxLayout newTopToBottom
add: self navigationLayout expand: false;
add: (SpPanedLayout newTopToBottom
add: self topPaneLayout;
add: notebookPreviewer;
yourself);
yourself
add: self navigationLayout expand: false;
add: filesLayout;
yourself
]

{ #category : 'defaults' }
Expand All @@ -175,6 +184,13 @@ StFileNavigationSystemPresenter >> defaultPreviewer [
^ StFileBrowserAdaptiveContentPreviewer new
]

{ #category : 'layout' }
StFileNavigationSystemPresenter >> defaultShowPreview [
"The default value is managed by the global file browser settings"

^ StFileBrowserSettings showPreview
]

{ #category : 'layout' }
StFileNavigationSystemPresenter >> fileNameLayout [

Expand Down Expand Up @@ -432,6 +448,21 @@ StFileNavigationSystemPresenter >> shouldReparent [
^ false
]

{ #category : 'layout' }
StFileNavigationSystemPresenter >> showPreview [
"Answer <true> if receiver should display a preview presenter"

^ showPreview
ifNil: [ showPreview := self defaultShowPreview ]
]

{ #category : 'layout' }
StFileNavigationSystemPresenter >> showPreview: aBoolean [
"Set the enabled preview to aBoolean"

showPreview := aBoolean
]

{ #category : 'layout' }
StFileNavigationSystemPresenter >> topPaneLayout [

Expand Down
19 changes: 19 additions & 0 deletions src/NewTools-FileBrowser/StFileSystemPresenter.class.st
Original file line number Diff line number Diff line change
@@ -1,6 +1,19 @@
"
General file system presenter, which replaces the older FileList tool.
# Examples
The default File Browser (without specifying any options), will open a presenter with Tree Navigation, Bookmarks, Breadcrumb, Navigation Buttons, File List, Filters and Preview:
```smalltalk
StFileSystemPresenter new open.
```
Open a File Browser without the preview presenter:
```smalltalk
StFileSystemPresenter new
disablePreview;
open.
```
"
Class {
#name : 'StFileSystemPresenter',
Expand Down Expand Up @@ -107,6 +120,12 @@ StFileSystemPresenter >> defaultLayout [
yourself
]

{ #category : 'accessing' }
StFileSystemPresenter >> disablePreview [

self fileNavigationSystem showPreview: false
]

{ #category : 'accessing' }
StFileSystemPresenter >> expandPath: aFileReference [
"Expand the directory's navigation tree to aFileReference"
Expand Down

0 comments on commit 376bfd5

Please sign in to comment.