Lines Matching refs:gui

1 package gui  package
21 func (gui *Gui) refreshLineByLinePanel(diff string, secondaryDiff string, secondaryFocused bool, se…
22 gui.splitMainPanel(true)
25 if gui.State.Panels.LineByLine != nil {
26 oldState = gui.State.Panels.LineByLine.State
29 state := lbl.NewState(diff, selectedLineIdx, oldState, gui.Log)
34 gui.State.Panels.LineByLine = &LblPanelState{
39 if err := gui.refreshMainViewForLineByLine(gui.State.Panels.LineByLine); err != nil {
43 if err := gui.focusSelection(gui.State.Panels.LineByLine); err != nil {
47 gui.Views.Secondary.Highlight = true
48 gui.Views.Secondary.Wrap = false
50 secondaryPatchParser := patch.NewPatchParser(gui.Log, secondaryDiff)
52 gui.setViewContent(gui.Views.Secondary, secondaryPatchParser.Render(-1, -1, nil))
57 func (gui *Gui) handleSelectPrevLine() error {
58 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
61 return gui.refreshAndFocusLblPanel(state)
65 func (gui *Gui) handleSelectNextLine() error {
66 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
69 return gui.refreshAndFocusLblPanel(state)
73 func (gui *Gui) handleSelectPrevHunk() error {
74 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
77 return gui.refreshAndFocusLblPanel(state)
81 func (gui *Gui) handleSelectNextHunk() error {
82 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
85 return gui.refreshAndFocusLblPanel(state)
89 func (gui *Gui) copySelectedToClipboard() error {
90 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
93 if err := gui.OSCommand.WithSpan(
94 gui.Tr.Spans.CopySelectedTextToClipboard,
96 return gui.surfaceError(err)
103 func (gui *Gui) refreshAndFocusLblPanel(state *LblPanelState) error {
104 if err := gui.refreshMainViewForLineByLine(state); err != nil {
108 return gui.focusSelection(state)
111 func (gui *Gui) handleLBLMouseDown() error {
112 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
113 if gui.popupPanelFocused() {
117 state.SelectNewLineForRange(gui.Views.Main.SelectedLineIdx())
119 return gui.refreshAndFocusLblPanel(state)
123 func (gui *Gui) handleMouseDrag() error {
124 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
125 if gui.popupPanelFocused() {
129 state.SelectLine(gui.Views.Main.SelectedLineIdx())
131 return gui.refreshAndFocusLblPanel(state)
135 func (gui *Gui) getSelectedCommitFileName() string {
136 idx := gui.State.Panels.CommitFiles.SelectedLineIdx
138 return gui.State.CommitFileManager.GetItemAtIndex(idx).GetPath()
141 func (gui *Gui) refreshMainViewForLineByLine(state *LblPanelState) error {
145 if gui.currentContext().GetKey() == gui.State.Contexts.PatchBuilding.GetKey() {
146 filename := gui.getSelectedCommitFileName()
148 includedLineIndices, err = gui.GitCommand.PatchManager.GetFileIncLineIndices(filename)
155 gui.Views.Main.Highlight = true
156 gui.Views.Main.Wrap = false
158 gui.setViewContent(gui.Views.Main, colorDiff)
165 func (gui *Gui) focusSelection(state *LblPanelState) error {
166 stagingView := gui.Views.Main
176 gui.g.Update(func(*gocui.Gui) error {
187 func (gui *Gui) handleToggleSelectRange() error {
188 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
191 return gui.refreshMainViewForLineByLine(state)
195 func (gui *Gui) handleToggleSelectHunk() error {
196 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
199 return gui.refreshAndFocusLblPanel(state)
203 func (gui *Gui) escapeLineByLinePanel() {
204 gui.State.Panels.LineByLine = nil
207 func (gui *Gui) handleOpenFileAtLine() error {
208 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
211 switch gui.State.MainContext {
212 case gui.State.Contexts.PatchBuilding.GetKey():
213 filename = gui.getSelectedCommitFileName()
214 case gui.State.Contexts.Staging.GetKey():
215 file := gui.getSelectedFile()
221 return errors.Errorf("unknown main context: %s", gui.State.MainContext)
227 if err := gui.OSCommand.OpenFile(filenameWithLineNum); err != nil {
235 func (gui *Gui) handleLineByLineNextPage() error {
236 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
238 state.AdjustSelectedLineIdx(gui.pageDelta(gui.Views.Main))
240 return gui.refreshAndFocusLblPanel(state)
244 func (gui *Gui) handleLineByLinePrevPage() error {
245 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
247 state.AdjustSelectedLineIdx(-gui.pageDelta(gui.Views.Main))
249 return gui.refreshAndFocusLblPanel(state)
253 func (gui *Gui) handleLineByLineGotoBottom() error {
254 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
257 return gui.refreshAndFocusLblPanel(state)
261 func (gui *Gui) handleLineByLineGotoTop() error {
262 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
265 return gui.refreshAndFocusLblPanel(state)
269 func (gui *Gui) handlelineByLineNavigateTo(selectedLineIdx int) error {
270 return gui.withLBLActiveCheck(func(state *LblPanelState) error {
274 return gui.refreshAndFocusLblPanel(state)
278 func (gui *Gui) withLBLActiveCheck(f func(*LblPanelState) error) error {
279 gui.Mutexes.LineByLinePanelMutex.Lock()
280 defer gui.Mutexes.LineByLinePanelMutex.Unlock()
282 state := gui.State.Panels.LineByLine
290 func (gui *Gui) handleLineByLineEdit() error {
291 file := gui.getSelectedFile()
296 lineNumber := gui.State.Panels.LineByLine.CurrentLineNumber()
297 return gui.editFileAtLine(file.Name, lineNumber)