Skip to content

Commit

Permalink
Use custom vertical split ratio in summary view
Browse files Browse the repository at this point in the history
  • Loading branch information
rgburke committed Sep 30, 2018
1 parent ab90f99 commit 18646ae
Showing 1 changed file with 23 additions and 1 deletion.
24 changes: 23 additions & 1 deletion cmd/grv/summary_view.go
Expand Up @@ -2,7 +2,8 @@ package main

const (
// SummaryViewTitle is the title of the Summary View
SummaryViewTitle = "Summary View"
SummaryViewTitle = "Summary View"
svVerticalSplitOffsetFactor = 0.15
)

// NewSummaryView creates a new instance
Expand All @@ -12,10 +13,31 @@ func NewSummaryView(repoData RepoData, repoController RepoController, channels C

summaryView := NewContainerView(channels, config)
summaryView.SetWindowStyleConfig(NewWindowStyleConfig(false, SrsUnderline))
summaryView.SetChildViewPositionCalculator(&summaryViewPositionCalculator{summaryView})
summaryView.SetTitle(SummaryViewTitle)
summaryView.SetOrientation(CoDynamic)
summaryView.SetViewID(ViewSummary)
summaryView.AddChildViews(gitSummaryView, childViewContainer)

return summaryView
}

type summaryViewPositionCalculator struct {
summaryView *ContainerView
}

// CalculateChildViewPositions calculates the child layout data for the summary view
func (calculator *summaryViewPositionCalculator) CalculateChildViewPositions(viewLayoutData *ViewLayoutData) (childPositions []*ChildViewPosition) {
childPositions = calculator.summaryView.CalculateChildViewPositions(viewLayoutData)
childPositionNum := uint(len(childPositions))

if !viewLayoutData.fullScreen && viewLayoutData.orientation == CoVertical && childPositionNum == 2 {
offset := uint(float64(childPositions[0].viewDimension.cols) * svVerticalSplitOffsetFactor)

childPositions[0].viewDimension.cols -= offset
childPositions[1].viewDimension.cols += offset
childPositions[1].startCol -= offset
}

return
}

0 comments on commit 18646ae

Please sign in to comment.