mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-21 09:58:13 +00:00
FIX: fullscreen in ViewerForm
This commit is contained in:
parent
d9920c2839
commit
b44064eb2c
2 changed files with 60 additions and 49 deletions
|
|
@ -271,7 +271,6 @@ object frmViewer: TfrmViewer
|
|||
ShowHint = True
|
||||
ShowInTaskBar = stAlways
|
||||
LCLVersion = '2.2.7.0'
|
||||
OnWindowStateChange = FormWindowStateChange
|
||||
object pnlFolder: TPanel
|
||||
Left = 179
|
||||
Height = 343
|
||||
|
|
|
|||
108
src/fviewer.pas
108
src/fviewer.pas
|
|
@ -454,6 +454,7 @@ type
|
|||
procedure WMCommand(var Message: TLMCommand); message LM_COMMAND;
|
||||
procedure WMSetFocus(var Message: TLMSetFocus); message LM_SETFOCUS;
|
||||
procedure CMThemeChanged(var Message: TLMessage); message CM_THEMECHANGED;
|
||||
procedure doFullScreenSwitch;
|
||||
|
||||
public
|
||||
constructor Create(TheOwner: TComponent; aWaitData: TWaitData; aQuickView: Boolean = False); overload;
|
||||
|
|
@ -1153,53 +1154,8 @@ end;
|
|||
|
||||
procedure TfrmViewer.FormWindowStateChange(Sender: TObject);
|
||||
begin
|
||||
miFullScreen.Checked:= (WindowState = wsFullScreen);
|
||||
if miFullScreen.Checked then
|
||||
begin
|
||||
{$IFnDEF DARWIN}
|
||||
Self.Menu:= nil;
|
||||
{$ENDIF}
|
||||
btnPaint.Down:= false;
|
||||
btnHightlight.Down:=false;
|
||||
showLCLToolBar( False );
|
||||
miStretch.Checked:= True;
|
||||
miStretchOnlyLarge.Checked:= False;
|
||||
if miPreview.Checked then cm_Preview(['']);
|
||||
actFullscreen.ImageIndex:= 25;
|
||||
sboxImage.BorderStyle:= bsNone;
|
||||
end
|
||||
else
|
||||
begin
|
||||
{$IFnDEF DARWIN}
|
||||
Self.Menu:= MainMenu;
|
||||
{$ENDIF}
|
||||
{$IF DEFINED(LCLWIN32)}
|
||||
BorderStyle:= bsSizeable;
|
||||
SetBounds(FWindowBounds.Left, FWindowBounds.Top, FWindowBounds.Right, FWindowBounds.Bottom);
|
||||
{$ENDIF}
|
||||
showLCLToolBar( True );
|
||||
actFullscreen.ImageIndex:= 22;
|
||||
sboxImage.BorderStyle:= bsSingle;
|
||||
end;
|
||||
if ExtractOnlyFileExt(FileList.Strings[iActiveFile]) <> 'gif' then
|
||||
begin
|
||||
btnHightlight.Enabled:= not (miFullScreen.Checked);
|
||||
btnPaint.Enabled:= not (miFullScreen.Checked);
|
||||
btnResize.Enabled:= not (miFullScreen.Checked);
|
||||
end;
|
||||
sboxImage.HorzScrollBar.Visible:= not(miFullScreen.Checked);
|
||||
sboxImage.VertScrollBar.Visible:= not(miFullScreen.Checked);
|
||||
{$IFDEF DARWIN}
|
||||
if NOT self.modernToolBarEnabled then
|
||||
{$ENDIF}
|
||||
TimerViewer.Enabled:=miFullScreen.Checked;
|
||||
btnReload.Enabled:=not(miFullScreen.Checked);
|
||||
Status.Visible:=not(miFullScreen.Checked);
|
||||
btnSlideShow.Visible:=miFullScreen.Checked;
|
||||
AdjustImageSize;
|
||||
ShowOnTop;
|
||||
|
||||
viewerFormHandler.onImageEditStateChanged( self );
|
||||
if WindowState <> wsMinimized then
|
||||
doFullScreenSwitch;
|
||||
end;
|
||||
|
||||
procedure TfrmViewer.GifAnimMouseDown(Sender: TObject; Button: TMouseButton;
|
||||
|
|
@ -1612,6 +1568,59 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmViewer.doFullScreenSwitch;
|
||||
begin
|
||||
miFullScreen.Checked:= (WindowState = wsFullScreen);
|
||||
if miFullScreen.Checked then
|
||||
begin
|
||||
{$IFnDEF DARWIN}
|
||||
Self.Menu:= nil;
|
||||
{$ENDIF}
|
||||
btnPaint.Down:= false;
|
||||
btnHightlight.Down:=false;
|
||||
showLCLToolBar( False );
|
||||
miStretch.Checked:= True;
|
||||
miStretchOnlyLarge.Checked:= False;
|
||||
if miPreview.Checked then cm_Preview(['']);
|
||||
actFullscreen.ImageIndex:= 25;
|
||||
sboxImage.BorderStyle:= bsNone;
|
||||
end
|
||||
else
|
||||
begin
|
||||
{$IFnDEF DARWIN}
|
||||
Self.Menu:= MainMenu;
|
||||
{$ENDIF}
|
||||
{$IF DEFINED(LCLWIN32)}
|
||||
BorderStyle:= bsSizeable;
|
||||
SetBounds(FWindowBounds.Left, FWindowBounds.Top, FWindowBounds.Right, FWindowBounds.Bottom);
|
||||
{$ENDIF}
|
||||
showLCLToolBar( True );
|
||||
actFullscreen.ImageIndex:= 22;
|
||||
sboxImage.BorderStyle:= bsSingle;
|
||||
end;
|
||||
if ExtractOnlyFileExt(FileList.Strings[iActiveFile]) <> 'gif' then
|
||||
begin
|
||||
btnHightlight.Enabled:= not (miFullScreen.Checked);
|
||||
btnPaint.Enabled:= not (miFullScreen.Checked);
|
||||
btnResize.Enabled:= not (miFullScreen.Checked);
|
||||
end;
|
||||
sboxImage.HorzScrollBar.Visible:= not(miFullScreen.Checked);
|
||||
sboxImage.VertScrollBar.Visible:= not(miFullScreen.Checked);
|
||||
|
||||
{$IFDEF DARWIN}
|
||||
if NOT self.modernToolBarEnabled then
|
||||
{$ENDIF}
|
||||
TimerViewer.Enabled:=miFullScreen.Checked;
|
||||
|
||||
btnReload.Enabled:=not(miFullScreen.Checked);
|
||||
Status.Visible:=not(miFullScreen.Checked);
|
||||
btnSlideShow.Visible:=miFullScreen.Checked;
|
||||
AdjustImageSize;
|
||||
ShowOnTop;
|
||||
|
||||
viewerFormHandler.onImageEditStateChanged( self );
|
||||
end;
|
||||
|
||||
procedure TfrmViewer.RedEyes;
|
||||
var
|
||||
tmp:TBitMap;
|
||||
|
|
@ -2554,6 +2563,9 @@ begin
|
|||
GraphicFilter(TIcon) + '|' +
|
||||
GraphicFilter(TPortableAnyMapGraphic);
|
||||
|
||||
{$IFDEF DARWIN}
|
||||
self.OnWindowStateChange:= @self.FormWindowStateChange;
|
||||
{$ENDIF}
|
||||
end;
|
||||
|
||||
procedure TfrmViewer.FormKeyPress(Sender: TObject; var Key: Char);
|
||||
|
|
@ -3972,7 +3984,7 @@ begin
|
|||
WindowState:= FWindowState;
|
||||
end;
|
||||
|
||||
self.FormWindowStateChange( nil )
|
||||
self.doFullScreenSwitch;
|
||||
end;
|
||||
|
||||
procedure TfrmViewer.cm_Screenshot(const Params: array of string);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue