Rebalance desktop open-vault layout
This commit is contained in:
@@ -1074,6 +1074,10 @@ func (u *ui) shouldUseLockedSinglePane() bool {
|
|||||||
return u.isVaultLocked() && !u.shouldShowLifecycleSetup()
|
return u.isVaultLocked() && !u.shouldShowLifecycleSetup()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (u *ui) shouldShowDesktopWorkingHeader() bool {
|
||||||
|
return u.mode == "desktop" && !u.shouldShowLifecycleSetup() && !u.isVaultLocked()
|
||||||
|
}
|
||||||
|
|
||||||
func (u *ui) chooseExistingFileAction(target *widget.Editor) error {
|
func (u *ui) chooseExistingFileAction(target *widget.Editor) error {
|
||||||
path, err := pickExistingFile()
|
path, err := pickExistingFile()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -1421,6 +1425,9 @@ func (u *ui) header(gtx layout.Context) layout.Dimensions {
|
|||||||
)
|
)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
if u.shouldShowDesktopWorkingHeader() {
|
||||||
|
return layout.Dimensions{}
|
||||||
|
}
|
||||||
return card(gtx, func(gtx layout.Context) layout.Dimensions {
|
return card(gtx, func(gtx layout.Context) layout.Dimensions {
|
||||||
return layout.Flex{Axis: layout.Vertical}.Layout(gtx,
|
return layout.Flex{Axis: layout.Vertical}.Layout(gtx,
|
||||||
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
||||||
@@ -1454,6 +1461,9 @@ func (u *ui) headerActions(gtx layout.Context) layout.Dimensions {
|
|||||||
if u.isVaultLocked() {
|
if u.isVaultLocked() {
|
||||||
return layout.Dimensions{}
|
return layout.Dimensions{}
|
||||||
}
|
}
|
||||||
|
if u.shouldShowDesktopWorkingHeader() {
|
||||||
|
return layout.Dimensions{}
|
||||||
|
}
|
||||||
return layout.Flex{Spacing: layout.SpaceStart}.Layout(gtx,
|
return layout.Flex{Spacing: layout.SpaceStart}.Layout(gtx,
|
||||||
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
||||||
btn := material.Button(u.theme, &u.synchronizeVault, "Synchronize")
|
btn := material.Button(u.theme, &u.synchronizeVault, "Synchronize")
|
||||||
@@ -1708,8 +1718,40 @@ func (u *ui) detailPanel(gtx layout.Context) layout.Dimensions {
|
|||||||
panel = compactCard
|
panel = compactCard
|
||||||
}
|
}
|
||||||
return panel(gtx, func(gtx layout.Context) layout.Dimensions {
|
return panel(gtx, func(gtx layout.Context) layout.Dimensions {
|
||||||
if u.isVaultLocked() {
|
if u.shouldShowDesktopWorkingHeader() {
|
||||||
return layout.Flex{Axis: layout.Vertical}.Layout(gtx,
|
return layout.Flex{Axis: layout.Vertical}.Layout(gtx,
|
||||||
|
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
||||||
|
return layout.Flex{Alignment: layout.Middle, Spacing: layout.SpaceStart}.Layout(gtx,
|
||||||
|
layout.Flexed(1, func(gtx layout.Context) layout.Dimensions {
|
||||||
|
return layout.Dimensions{}
|
||||||
|
}),
|
||||||
|
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
||||||
|
btn := material.Button(u.theme, &u.synchronizeVault, "Synchronize")
|
||||||
|
return btn.Layout(gtx)
|
||||||
|
}),
|
||||||
|
layout.Rigid(layout.Spacer{Width: unit.Dp(8)}.Layout),
|
||||||
|
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
||||||
|
btn := material.Button(u.theme, &u.lockVault, "Lock")
|
||||||
|
return btn.Layout(gtx)
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
}),
|
||||||
|
layout.Rigid(layout.Spacer{Height: unit.Dp(12)}.Layout),
|
||||||
|
layout.Flexed(1, func(gtx layout.Context) layout.Dimensions {
|
||||||
|
return u.detailPanelContent(gtx)
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
return u.detailPanelContent(gtx)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
func (u *ui) detailPanelContent(gtx layout.Context) layout.Dimensions {
|
||||||
|
panel := layout.Flex{Axis: layout.Vertical}
|
||||||
|
_ = panel
|
||||||
|
return layout.Flex{Axis: layout.Vertical}.Layout(gtx, func() []layout.FlexChild {
|
||||||
|
if u.isVaultLocked() {
|
||||||
|
return []layout.FlexChild{
|
||||||
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
||||||
lbl := material.Label(u.theme, unit.Sp(18), "Unlock Vault")
|
lbl := material.Label(u.theme, unit.Sp(18), "Unlock Vault")
|
||||||
lbl.Color = accentColor
|
lbl.Color = accentColor
|
||||||
@@ -1723,11 +1765,11 @@ func (u *ui) detailPanel(gtx layout.Context) layout.Dimensions {
|
|||||||
}),
|
}),
|
||||||
layout.Rigid(layout.Spacer{Height: unit.Dp(12)}.Layout),
|
layout.Rigid(layout.Spacer{Height: unit.Dp(12)}.Layout),
|
||||||
layout.Rigid(u.unlockPanel),
|
layout.Rigid(u.unlockPanel),
|
||||||
)
|
}
|
||||||
}
|
}
|
||||||
item, ok := u.selectedEntry()
|
item, ok := u.selectedEntry()
|
||||||
if !ok && !u.editingEntry {
|
if !ok && !u.editingEntry {
|
||||||
return layout.Flex{Axis: layout.Vertical}.Layout(gtx,
|
return []layout.FlexChild{
|
||||||
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
layout.Rigid(func(gtx layout.Context) layout.Dimensions {
|
||||||
lbl := material.Label(u.theme, unit.Sp(18), "Entry details")
|
lbl := material.Label(u.theme, unit.Sp(18), "Entry details")
|
||||||
lbl.Color = accentColor
|
lbl.Color = accentColor
|
||||||
@@ -1739,7 +1781,7 @@ func (u *ui) detailPanel(gtx layout.Context) layout.Dimensions {
|
|||||||
lbl.Color = mutedColor
|
lbl.Color = mutedColor
|
||||||
return lbl.Layout(gtx)
|
return lbl.Layout(gtx)
|
||||||
}),
|
}),
|
||||||
)
|
}
|
||||||
}
|
}
|
||||||
if u.editingEntry {
|
if u.editingEntry {
|
||||||
rows := []layout.Widget{
|
rows := []layout.Widget{
|
||||||
@@ -1755,9 +1797,13 @@ func (u *ui) detailPanel(gtx layout.Context) layout.Dimensions {
|
|||||||
layout.Spacer{Height: unit.Dp(8)}.Layout,
|
layout.Spacer{Height: unit.Dp(8)}.Layout,
|
||||||
u.entryEditorPanel,
|
u.entryEditorPanel,
|
||||||
}
|
}
|
||||||
return material.List(u.theme, &u.detailList).Layout(gtx, len(rows), func(gtx layout.Context, i int) layout.Dimensions {
|
return []layout.FlexChild{
|
||||||
return rows[i](gtx)
|
layout.Flexed(1, func(gtx layout.Context) layout.Dimensions {
|
||||||
})
|
return material.List(u.theme, &u.detailList).Layout(gtx, len(rows), func(gtx layout.Context, i int) layout.Dimensions {
|
||||||
|
return rows[i](gtx)
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
}
|
||||||
}
|
}
|
||||||
password := u.detailPasswordValue()
|
password := u.detailPasswordValue()
|
||||||
titleSize := unit.Sp(26)
|
titleSize := unit.Sp(26)
|
||||||
@@ -1862,10 +1908,14 @@ func (u *ui) detailPanel(gtx layout.Context) layout.Dimensions {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
return material.List(u.theme, &u.detailList).Layout(gtx, len(rows), func(gtx layout.Context, i int) layout.Dimensions {
|
return []layout.FlexChild{
|
||||||
return rows[i](gtx)
|
layout.Flexed(1, func(gtx layout.Context) layout.Dimensions {
|
||||||
})
|
return material.List(u.theme, &u.detailList).Layout(gtx, len(rows), func(gtx layout.Context, i int) layout.Dimensions {
|
||||||
})
|
return rows[i](gtx)
|
||||||
|
})
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
}()...)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (u *ui) banner(gtx layout.Context) layout.Dimensions {
|
func (u *ui) banner(gtx layout.Context) layout.Dimensions {
|
||||||
|
|||||||
Reference in New Issue
Block a user