|
KiCad PCB EDA Suite
|
Docked panel for committing: the branch to commit to, a summary and description, the commit options, the changed files with a checkbox each, the commit and Get Changes buttons, and a gear holding the commit settings and the advanced Git window. More...
#include <git_commit_pane.h>
Classes | |
| struct | COMMIT_REQUEST |
| struct | MERGE_PREPARATION |
| struct | STATUS |
Public Member Functions | |
| GIT_COMMIT_PANE (EDA_BASE_FRAME *aParent) | |
| GIT_COMMIT_PANE (wxWindow *aParent, EDA_BASE_FRAME *aFrame) | |
| The same panel inside another window, such as the advanced window's Changes page. | |
| ~GIT_COMMIT_PANE () override | |
| void | SetFileSelectedHandler (std::function< void(const wxString &)> aHandler) |
| Called with the path of the file the user selects in the list, or empty when none is. | |
| wxString | GetCommitMessage () const |
| The message as typed. A second form on the same project shows the same text. | |
| void | SetCommitMessage (const wxString &aMessage) |
| void | SetMessageChangedHandler (std::function< void()> aHandler) |
| Called when the user edits the message, so another form can follow along. | |
| void | RefreshFileList () |
| Read the project's git status and repopulate the list. | |
| void | SetTransferBusy (bool aBusy, const wxString &aStatus=wxEmptyString) |
| Put the panel into the state it uses while a transfer runs, for one started elsewhere. | |
| void | ShowTransferProgress (const wxString &aText) |
| Show a line of transfer progress. Called from the UI thread by a KIGIT_STATUS_REPORTER. | |
| void | ReloadAdvancedWindow () |
| Reload the advanced window when it is open, for a preferences change it also shows. | |
| void | Pull () |
| Get changes from the remote, as the Get Changes button does. | |
| void | Push () |
| Push the local commits, as the Push button does. | |
| void | BeginAmend (const wxString &aExpectedCommit=wxEmptyString) |
| Prepare the amend form. A history entry supplies its hash and starts with no files selected. | |
| void | SetBusyChangedHandler (std::function< void(bool)> aHandler) |
| Called when a transfer starts and when it ends, so an owning window can follow along. | |
| int | GetMinDockWidth () const |
| The width the panel needs so its widest row fits, for the dock that holds it. | |
Protected Attributes | |
| wxBoxSizer * | m_branchRow |
| wxStaticText * | m_branchName |
| wxChoice * | m_recentMessages |
| STD_BITMAP_BUTTON * | m_settingsButton |
| wxTextCtrl * | m_summary |
| wxStaticText * | m_summaryCount |
| wxTextCtrl * | m_description |
| wxStaticBoxSizer * | m_optionsSizer |
| wxCheckBox * | m_amendCheckbox |
| wxCheckBox * | m_signOffCheckbox |
| wxCheckBox * | m_newBranchCheckbox |
| wxTextCtrl * | m_newBranchName |
| wxBoxSizer * | m_changesRow |
| wxStaticText * | m_changesLabel |
| wxButton * | m_showDiffButton |
| wxStaticText * | m_emptyLabel |
| FILE_CHECKLIST_CTRL * | m_checklist |
| SPLIT_BUTTON * | m_commitButton |
| wxButton * | m_pullButton |
Private Member Functions | |
| void | onCommit (wxCommandEvent &aEvent) |
| The split button's main half. It commits, or pushes when that is all there is to do. | |
| void | onCommitAndPush (wxCommandEvent &aEvent) |
| void | onPull (wxCommandEvent &aEvent) |
| void | abandonOperation (std::shared_ptr< KIGIT_COMMON > aCommon) |
| Drop an in-progress merge or rebase and return the project to its last commit. | |
| void | finishAbandonOperation (std::shared_ptr< KIGIT_COMMON > aCommon, const std::vector< wxString > &aOutside) |
| void | onAmendToggled (wxCommandEvent &aEvent) |
| void | onNewBranchToggled (wxCommandEvent &aEvent) |
| void | onRecentMessage (wxCommandEvent &aEvent) |
| void | onShowDiff (wxCommandEvent &aEvent) |
| void | onFileActivated (wxDataViewEvent &aEvent) |
| void | onChecklistContextMenu (wxDataViewEvent &aEvent) |
| void | discardFile (std::shared_ptr< KIGIT_COMMON > aCommon, const wxString &aPath) |
| void | confirmDiscardFile (std::shared_ptr< KIGIT_COMMON > aCommon, const wxString &aPath, bool aTracked, bool aConflicted, wxString aRoot) |
| void | doCommit (bool aAndPush) |
| Commit the checked files (or amend the last commit when the amend box is ticked), then push when aAndPush is set. | |
| void | saveForCommit (std::shared_ptr< KIGIT_COMMON > aCommon, std::shared_ptr< COMMIT_REQUEST > aRequest) |
| void | finishCommit (std::shared_ptr< KIGIT_COMMON > aCommon, const COMMIT_REQUEST &aRequest) |
| void | onChecklistChanged (wxDataViewEvent &aEvent) |
| void | onMessageChanged (wxCommandEvent &aEvent) |
| void | onIdle (wxIdleEvent &aEvent) |
| void | onSize (wxSizeEvent &aEvent) |
| void | onSettings (wxCommandEvent &aEvent) |
| The gear's menu: the advanced window and the author. | |
| void | setAuthor () |
| void | setStatusText (const wxString &aText) |
| Set the status line text and wrap it to the current panel width. | |
| bool | transferCanStart () |
| False, with a message, while a transfer is running or a merge waits to be finished. | |
| void | layoutWide () |
| Put the file list beside the commit controls instead of above them, for a wide host, with a heading over the message and a summary of the working tree under it. | |
| void | updateSummary () |
| Refresh the staged count in the changes heading, and the summary box where the wide layout has one. | |
| void | applyStatus (const STATUS &aStatus) |
| Apply a completed repository snapshot on the UI thread. | |
| void | populateBranches (const STATUS &aStatus) |
| Fill the branch dropdown from the completed snapshot. | |
| void | populateRecentMessages (const std::vector< wxString > &aMessages) |
| Fill the Recent messages dropdown from the completed snapshot. | |
| void | updateDescriptionHint () |
| Where the platform has no hint for a multi line box, a label lies over the description box while it is empty. | |
| void | setDescription (const wxString &aText) |
| void | showDisabledState () |
| Clear the list and disable every control while version control is off. | |
| void | setBusy (bool aBusy, const wxString &aStatus) |
| Enable or disable the controls while a network operation runs, showing a status. | |
| void | runActionQuery (std::shared_ptr< KIGIT_COMMON > aCommon, std::function< void(KIGIT_COMMON &)> aWork, std::function< void()> aDone, const wxString &aStatus) |
| Read an action's prerequisites off the UI thread, then resume only in the same project. | |
| void | submitPush (std::shared_ptr< KIGIT_COMMON > aCommon) |
| void | startPush (std::shared_ptr< KIGIT_COMMON > aCommon, const wxString &aBranch, const wxString &aHead) |
| void | onPushDone (std::shared_ptr< KIGIT_COMMON > aCommon, int aResult, const wxString &aError, bool aAuthFailure, bool aCancelled) |
| void | submitPull (std::shared_ptr< KIGIT_COMMON > aCommon, bool aThenPush) |
| aThenPush pushes after a successful pull, which belongs only to the rejected-push recovery flow. | |
| void | startPull (std::shared_ptr< KIGIT_COMMON > aCommon, bool aThenPush) |
| void | resolvePullConflicts (std::shared_ptr< KIGIT_COMMON > aCommon, bool aThenPush) |
| Resolve a conflicted pull file by file, using the visual merge tool for design files, then create the merge commit. | |
| void | finishPullConflictPreparation (std::shared_ptr< KIGIT_COMMON > aCommon, bool aThenPush, std::shared_ptr< MERGE_PREPARATION > aPreparation) |
| void | onPullDone (std::shared_ptr< KIGIT_COMMON > aCommon, int aResult, const wxString &aError, bool aAuthFailure, bool aThenPush, bool aCancelled) |
| void | updateMessageVisibility (bool aHasChanges) |
| Show the message field whenever a commit is possible, including a message-only amend. | |
| void | updateCommitButton () |
| Set what the commit buttons say, and whether they are enabled, for the current state. | |
| void | updateSummaryCount () |
| Show how many of the summary's 72 columns are left. | |
| wxString | operationNoun () const |
| The noun for the operation in progress, for messages. | |
| wxString | abandonLabel () const |
| The label the network button carries while an operation is in progress. | |
| void | syncListener () |
| Register a refresh listener with the project's current git session, re-registering if the session changed since last time (it is recreated when a project is loaded). | |
Private Attributes | |
| EDA_BASE_FRAME * | m_frame |
| int | m_minDockWidth = 0 |
| The widest row's minimum width, measured before anything is hidden. | |
| bool | m_inAdvancedWindow = false |
| True on the advanced window's Changes page, false in the docked panel. | |
| bool | m_hasUnpushedCommits |
| bool | m_hasRemote |
| bool | m_hasRepo = false |
| Whether the last completed status snapshot had a repository. | |
| bool | m_headDetached |
| True when HEAD is a commit rather than a branch, so nothing can be committed or pushed. | |
| bool | m_upstreamAhead |
| True when the upstream has commits this project does not, so Get Changes has work to do. | |
| bool | m_operationInProgress |
| True while a merge or rebase is in progress. The network button then reads Abandon. | |
| GitOperation | m_operation |
| Which operation, so the button and the explanation can name it. | |
| bool | m_editorsDirty |
| True when an open editor held unsaved changes at the last refresh. | |
| bool | m_canAmend = false |
| Whether the current branch allows an amend. A refresh must not change an active amend into a commit. | |
| std::pair< wxString, wxString > | m_amendHead |
| The branch and commit chosen when amend started. Keep them fixed while editing. | |
| wxStaticText * | m_descriptionHint = nullptr |
| The description box's hint, a label laid over it while it is empty. | |
| std::vector< wxString > | m_recentMessageTexts |
| The full messages behind the Recent messages dropdown, in its order after the caption. | |
| wxMenuItem * | m_commitAndPushItem = nullptr |
| The arrow menu's entry, relabelled with the main button. | |
| bool | m_commitButtonPushes = false |
| True while the main button reads Push, with nothing left to commit. | |
| KIGIT_TRANSFER | m_transfer |
| The push or pull this panel submitted last. | |
| std::function< void(bool)> | m_busyChangedHandler |
| Told when a transfer starts and ends. Empty unless an owning window asked. | |
| wxString | m_statusText |
| Unwrapped status text, kept so it can be re-wrapped on resize. | |
| bool | m_listenerAttached = false |
| True once this panel has attached its refresh listener to a session at least once. | |
| std::weak_ptr< KIGIT_COMMON > | m_listenerSession |
| The git session this panel registered a refresh listener with, weak so it does not keep the session alive. | |
| std::set< wxString > | m_shownPaths |
| Paths shown in the list at the last refresh, so a refresh can tell which files the user deliberately unticked from files that are simply new, and preserve those unticks. | |
| EDITOR_SNAPSHOT | m_docsBeforePull |
| On-disk identity of the open documents, taken before a pull so only the ones the merge rewrote are reloaded afterwards. | |
| std::function< void()> | m_messageChangedHandler |
| Told when the message is edited. Empty unless an owning window asked. | |
| wxString | m_currentBranch |
| The branch a commit will land on, empty when detached or before the first commit. | |
| std::function< void(const wxString &)> | m_fileSelectedHandler |
| wxStaticText * | m_summaryFiles = nullptr |
| wxStaticText * | m_summaryAdded = nullptr |
| wxStaticText * | m_summaryRemoved = nullptr |
| std::pair< int, int > | m_lineStats |
| Lines the working tree adds and removes against HEAD, read at the last refresh. | |
| KIGIT_QUERY | m_refresh |
| Coalesce refreshes while a repository read is running, and discard stale results. | |
| KIGIT_QUERY | m_actionQuery |
| bool | m_actionPending = false |
Docked panel for committing: the branch to commit to, a summary and description, the commit options, the changed files with a checkbox each, the commit and Get Changes buttons, and a gear holding the commit settings and the advanced Git window.
Definition at line 47 of file git_commit_pane.h.
| GIT_COMMIT_PANE::GIT_COMMIT_PANE | ( | EDA_BASE_FRAME * | aParent | ) |
Definition at line 224 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE().
Referenced by GIT_COMMIT_PANE().
| GIT_COMMIT_PANE::GIT_COMMIT_PANE | ( | wxWindow * | aParent, |
| EDA_BASE_FRAME * | aFrame ) |
The same panel inside another window, such as the advanced window's Changes page.
The gear's entry for opening that window is left out there.
Definition at line 230 of file git_commit_pane.cpp.
References _, config, doCommit(), KIPLATFORM::UI::EllipsizeChoiceBox(), GIT_COMMIT_PANE_BASE::GIT_COMMIT_PANE_BASE(), KiBitmapBundle(), layoutWide(), GIT_COMMIT_PANE_BASE::m_amendCheckbox, GIT_COMMIT_PANE_BASE::m_checklist, m_commitAndPushItem, GIT_COMMIT_PANE_BASE::m_commitButton, m_commitButtonPushes, GIT_COMMIT_PANE_BASE::m_description, m_descriptionHint, m_editorsDirty, m_fileSelectedHandler, m_frame, m_hasRemote, m_hasUnpushedCommits, m_headDetached, m_inAdvancedWindow, m_messageChangedHandler, m_minDockWidth, GIT_COMMIT_PANE_BASE::m_newBranchCheckbox, GIT_COMMIT_PANE_BASE::m_newBranchName, m_operation, m_operationInProgress, GIT_COMMIT_PANE_BASE::m_pullButton, GIT_COMMIT_PANE_BASE::m_recentMessages, GIT_COMMIT_PANE_BASE::m_settingsButton, GIT_COMMIT_PANE_BASE::m_showDiffButton, GIT_COMMIT_PANE_BASE::m_summary, m_upstreamAhead, None, onAmendToggled(), onChecklistChanged(), onChecklistContextMenu(), onCommit(), onCommitAndPush(), onFileActivated(), onIdle(), onMessageChanged(), onNewBranchToggled(), onPull(), onRecentMessage(), onSettings(), onShowDiff(), onSize(), RefreshFileList(), updateCommitButton(), updateDescriptionHint(), and updateSummaryCount().
|
override |
Definition at line 412 of file git_commit_pane.cpp.
References GIT_ADVANCED_DIALOG::CloseForPane(), m_actionQuery, m_listenerSession, and m_refresh.
|
private |
The label the network button carries while an operation is in progress.
Definition at line 807 of file git_commit_pane.cpp.
References _, CherryPick, m_operation, Merge, Rebase, and Revert.
Referenced by updateCommitButton().
|
private |
Drop an in-progress merge or rebase and return the project to its last commit.
Definition at line 1434 of file git_commit_pane.cpp.
References _, ChangedTrackedFilesOutsideProject(), finishAbandonOperation(), m_frame, and runActionQuery().
Referenced by onPull().
|
private |
Apply a completed repository snapshot on the UI thread.
Definition at line 545 of file git_commit_pane.cpp.
References _, GIT_COMMIT_PANE::STATUS::attachError, DocumentEditorsDirty(), GIT_COMMIT_PANE::STATUS::entries, GIT_COMMIT_PANE::STATUS::hasLocalCommits, GIT_COMMIT_PANE::STATUS::hasRemote, GIT_COMMIT_PANE::STATUS::hasRepo, GIT_COMMIT_PANE::STATUS::headDetached, GIT_COMMIT_PANE::STATUS::lineStats, GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_canAmend, GIT_COMMIT_PANE_BASE::m_changesRow, GIT_COMMIT_PANE_BASE::m_checklist, m_editorsDirty, GIT_COMMIT_PANE_BASE::m_emptyLabel, m_frame, m_hasRemote, m_hasRepo, m_hasUnpushedCommits, m_headDetached, m_lineStats, m_operation, m_operationInProgress, m_shownPaths, m_upstreamAhead, GIT_COMMIT_PANE::STATUS::operation, GIT_COMMIT_PANE::STATUS::operationInProgress, operationNoun(), path, Pgm(), populateBranches(), populateRecentMessages(), GIT_COMMIT_PANE::STATUS::recentMessages, setStatusText(), updateCommitButton(), updateDescriptionHint(), updateMessageVisibility(), updateSummary(), and GIT_COMMIT_PANE::STATUS::upstreamAhead.
Referenced by RefreshFileList().
| void GIT_COMMIT_PANE::BeginAmend | ( | const wxString & | aExpectedCommit = wxEmptyString | ) |
Prepare the amend form. A history entry supplies its hash and starts with no files selected.
Definition at line 1548 of file git_commit_pane.cpp.
References _, amendRefusal(), commitHead(), KIGIT::ComposeCommitMessage(), DisplayInfoMessage(), GetCommitMessage(), KIGIT_COMMON::GetLastCommitMessage(), KIGIT_COMMON::GetRepo(), info, IsOK(), GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_amendHead, m_canAmend, GIT_COMMIT_PANE_BASE::m_checklist, m_frame, m_messageChangedHandler, GIT_COMMIT_PANE_BASE::m_newBranchCheckbox, GIT_COMMIT_PANE_BASE::m_summary, message, Pgm(), RefreshFileList(), runActionQuery(), SetCommitMessage(), KIGIT::SplitCommitMessage(), updateCommitButton(), and updateMessageVisibility().
Referenced by onAmendToggled().
|
private |
Definition at line 1196 of file git_commit_pane.cpp.
References _, CaptureOpenEditorDocs(), DisplayErrorMessage(), DisplayInfoMessage(), EditorsDirty(), m_frame, KIPLATFORM::ENV::MoveToTrash(), name, ReloadOpenEditors(), and KIGIT::TryLockAction().
Referenced by discardFile().
|
private |
Definition at line 1169 of file git_commit_pane.cpp.
References _, confirmDiscardFile(), KIGIT_COMMON::GetGitRootDirectory(), KIGIT_COMMON::IsPathConflicted(), KIGIT_COMMON::IsPathInHead(), and runActionQuery().
Referenced by onChecklistContextMenu().
|
private |
Commit the checked files (or amend the last commit when the amend box is ticked), then push when aAndPush is set.
Both halves of the commit button land here.
Definition at line 1656 of file git_commit_pane.cpp.
References _, amendRefusal(), KIGIT::BranchNameError(), commitHead(), DisplayErrorMessage(), DocumentEditorsDirty(), KIGIT_COMMON::GetRepo(), KIGIT::PROJECT_GIT_UTILS::LfsRefusal(), m_actionPending, GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_amendHead, GIT_COMMIT_PANE_BASE::m_checklist, m_currentBranch, GIT_COMMIT_PANE_BASE::m_description, m_frame, m_hasUnpushedCommits, GIT_COMMIT_PANE_BASE::m_newBranchCheckbox, GIT_COMMIT_PANE_BASE::m_newBranchName, GIT_COMMIT_PANE_BASE::m_signOffCheckbox, GIT_COMMIT_PANE_BASE::m_summary, m_transfer, KIGIT::ReadGitIdentity(), runActionQuery(), saveForCommit(), KIGIT::ShowBusyMessage(), submitPush(), and syncListener().
Referenced by GIT_COMMIT_PANE(), onCommit(), and onCommitAndPush().
|
private |
Definition at line 1463 of file git_commit_pane.cpp.
References _, CaptureOpenEditorDocs(), DisplayErrorMessage(), DisplayInfoMessage(), EditorsDirty(), IsOK(), m_frame, operationNoun(), path, Pgm(), ReloadOpenEditors(), setBusy(), and KIGIT::TryLockAction().
Referenced by abandonOperation().
|
private |
Definition at line 1774 of file git_commit_pane.cpp.
References _, GIT_COMMIT_PANE::COMMIT_REQUEST::amend, amendRefusal(), GIT_COMMIT_PANE::COMMIT_REQUEST::andPush, GitUserConfig::authorEmail, GitUserConfig::authorName, GIT_COMMIT_PANE::COMMIT_REQUEST::branchName, commitHead(), KIGIT::ComposeCommitMessage(), GIT_COMMIT_PANE::COMMIT_REQUEST::description, DisplayErrorMessage(), DisplayInfoMessage(), dropNewBranch(), KIGIT::EnsureGitIdentity(), Error, GIT_COMMIT_PANE::COMMIT_REQUEST::files, GIT_COMMIT_HANDLER::GetErrorString(), GIT_CONFIG_HANDLER::GetUserConfig(), GIT_COMMIT_PANE::COMMIT_REQUEST::head, GIT_COMMIT_PANE::COMMIT_REQUEST::identity, GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_amendHead, GIT_COMMIT_PANE_BASE::m_description, m_frame, GIT_COMMIT_PANE_BASE::m_newBranchCheckbox, GIT_COMMIT_PANE_BASE::m_newBranchName, GIT_COMMIT_PANE_BASE::m_summary, message, moveToNewBranch(), GIT_COMMIT_PANE::COMMIT_REQUEST::newBranch, GIT_COMMIT_HANDLER::PerformAmend(), GIT_COMMIT_HANDLER::PerformCommit(), result, setBusy(), setDescription(), GIT_COMMIT_PANE::COMMIT_REQUEST::signOff, submitPush(), Success, SuccessIndexStale, GIT_COMMIT_PANE::COMMIT_REQUEST::summary, and KIGIT::TryLockAction().
Referenced by saveForCommit().
|
private |
Definition at line 2195 of file git_commit_pane.cpp.
References _, KIGIT_CONFLICT_SIDES::ancestorFile, copy, KICAD_DIFF::DispatchMerge(), DisplayErrorMessage(), DisplayInfoMessage(), KICAD_DIFF::DocKindFromExtension(), EditorsDirty(), KIGIT::EnsureGitIdentity(), CLI::EXIT_CODES::ERR_CANCELLED, FailedCleanly, KICAD_DIFF::FOOTPRINT, KIGIT_CONFLICT_SIDES::hasAncestor, KIGIT_CONFLICT_SIDES::hasOurs, KIGIT_CONFLICT_SIDES::hasTheirs, IsOK(), m_docsBeforePull, m_frame, KIGIT_CONFLICT_SIDES::oursFile, KIGIT_CONFLICT_SIDES::path, path, Pgm(), ReloadOpenEditors(), reporter, reserveRecoveryFile(), result, GIT_DIFF_WORKSPACE::Root(), setBusy(), source, submitPush(), Success, KIGIT_CONFLICT_SIDES::theirsFile, and KICAD_DIFF::UNKNOWN.
Referenced by resolvePullConflicts().
| wxString GIT_COMMIT_PANE::GetCommitMessage | ( | ) | const |
The message as typed. A second form on the same project shows the same text.
Definition at line 972 of file git_commit_pane.cpp.
References KIGIT::ComposeCommitMessage(), GIT_COMMIT_PANE_BASE::m_description, and GIT_COMMIT_PANE_BASE::m_summary.
Referenced by BeginAmend().
|
inline |
The width the panel needs so its widest row fits, for the dock that holds it.
Definition at line 96 of file git_commit_pane.h.
References m_minDockWidth.
|
private |
Put the file list beside the commit controls instead of above them, for a wide host, with a heading over the message and a summary of the working tree under it.
Definition at line 349 of file git_commit_pane.cpp.
References _, KICAD_DIFF::DIFF_COLOR_THEME::added, KICAD_DIFF::DIFF_COLOR_THEME::ForText(), KIPLATFORM::UI::IsDarkTheme(), GIT_COMMIT_PANE_BASE::m_changesRow, GIT_COMMIT_PANE_BASE::m_checklist, GIT_COMMIT_PANE_BASE::m_description, GIT_COMMIT_PANE_BASE::m_emptyLabel, GIT_COMMIT_PANE_BASE::m_optionsSizer, m_summaryAdded, m_summaryFiles, m_summaryRemoved, KICAD_DIFF::DIFF_COLOR_THEME::removed, and KIGFX::COLOR4D::ToColour().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 1533 of file git_commit_pane.cpp.
References BeginAmend(), GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_amendHead, GIT_COMMIT_PANE_BASE::m_checklist, updateCommitButton(), and updateMessageVisibility().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 1100 of file git_commit_pane.cpp.
References updateCommitButton(), and updateSummary().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 1133 of file git_commit_pane.cpp.
References _, GIT_ADVANCED_DIALOG::Active(), discardFile(), m_actionPending, GIT_COMMIT_PANE_BASE::m_checklist, m_frame, m_inAdvancedWindow, m_transfer, path, and GIT_ADVANCED_DIALOG::ShowHistoryForFile().
Referenced by GIT_COMMIT_PANE().
|
private |
The split button's main half. It commits, or pushes when that is all there is to do.
Definition at line 1310 of file git_commit_pane.cpp.
References doCommit(), and m_commitButtonPushes.
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 1316 of file git_commit_pane.cpp.
References doCommit().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 1301 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_checklist, m_frame, path, and ShowGitFileDiff().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 698 of file git_commit_pane.cpp.
References DocumentEditorsDirty(), m_actionPending, m_editorsDirty, m_frame, m_hasRepo, m_refresh, m_transfer, Pgm(), RefreshFileList(), and updateDescriptionHint().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 962 of file git_commit_pane.cpp.
References m_messageChangedHandler, updateCommitButton(), and updateSummaryCount().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 993 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_newBranchCheckbox, GIT_COMMIT_PANE_BASE::m_newBranchName, and updateCommitButton().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 1322 of file git_commit_pane.cpp.
References _, abandonOperation(), m_actionPending, m_actionQuery, m_frame, m_operationInProgress, GIT_COMMIT_PANE_BASE::m_pullButton, m_transfer, Pull(), setBusy(), and syncListener().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 2636 of file git_commit_pane.cpp.
References _, Conflict, DirtyWorkdir, DisplayErrorMessage(), DisplayInfoMessage(), FastForward, m_frame, KIGIT::PromptForCredentials(), resolvePullConflicts(), result, setBusy(), submitPull(), submitPush(), Success, and UpToDate.
|
private |
Definition at line 2078 of file git_commit_pane.cpp.
References _, Busy, DisplayErrorMessage(), IsOK(), m_frame, NonFastForward, Pgm(), ProjectSafeToRewrite(), KIGIT::PromptForCredentials(), ReadGitWorktreeStatus(), result, runActionQuery(), setBusy(), KIGIT::ShowBusyMessage(), submitPull(), submitPush(), and Success.
|
private |
Definition at line 1061 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_recentMessages, m_recentMessageTexts, GIT_COMMIT_PANE_BASE::m_summary, setDescription(), and KIGIT::SplitCommitMessage().
Referenced by GIT_COMMIT_PANE().
|
private |
The gear's menu: the advanced window and the author.
Definition at line 727 of file git_commit_pane.cpp.
References _, m_frame, m_inAdvancedWindow, setAuthor(), and GIT_ADVANCED_DIALOG::ShowForFrame().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 1002 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_checklist, m_frame, path, and ShowGitFileDiff().
Referenced by GIT_COMMIT_PANE().
|
private |
Definition at line 718 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_emptyLabel, m_statusText, and setStatusText().
Referenced by GIT_COMMIT_PANE().
|
private |
The noun for the operation in progress, for messages.
Definition at line 794 of file git_commit_pane.cpp.
References _, CherryPick, m_operation, Merge, Rebase, and Revert.
Referenced by applyStatus(), finishAbandonOperation(), and transferCanStart().
|
private |
Fill the branch dropdown from the completed snapshot.
Definition at line 1011 of file git_commit_pane.cpp.
References _, GIT_COMMIT_PANE::STATUS::currentBranch, GIT_COMMIT_PANE::STATUS::hasRepo, GIT_COMMIT_PANE_BASE::m_branchName, GIT_COMMIT_PANE_BASE::m_branchRow, m_currentBranch, m_headDetached, and GIT_COMMIT_PANE_BASE::m_settingsButton.
Referenced by applyStatus().
|
private |
Fill the Recent messages dropdown from the completed snapshot.
Definition at line 1038 of file git_commit_pane.cpp.
References _, GIT_COMMIT_PANE_BASE::m_recentMessages, m_recentMessageTexts, and message.
Referenced by applyStatus().
| void GIT_COMMIT_PANE::Pull | ( | ) |
Get changes from the remote, as the Get Changes button does.
The advanced window's Pull button lands here, so one place owns the merge and its conflict handling.
Definition at line 1390 of file git_commit_pane.cpp.
References _, DisplayInfoMessage(), m_frame, m_hasRemote, submitPull(), syncListener(), and transferCanStart().
Referenced by onPull().
| void GIT_COMMIT_PANE::Push | ( | ) |
Push the local commits, as the Push button does.
The advanced window's Push button lands here too.
Definition at line 1409 of file git_commit_pane.cpp.
References _, DisplayInfoMessage(), m_frame, m_hasRemote, m_hasUnpushedCommits, submitPush(), syncListener(), and transferCanStart().
| void GIT_COMMIT_PANE::RefreshFileList | ( | ) |
Read the project's git status and repopulate the list.
Definition at line 488 of file git_commit_pane.cpp.
References applyStatus(), BuildGitChangeEntries(), KIGIT_COMMON::GetBranches(), KIGIT_COMMON::GetCurrentBranchName(), KIGIT_COMMON::GetRecentCommitMessages(), KIGIT_COMMON::GetWorkingTreeLineStats(), KIGIT_COMMON::HasLocalCommits(), KIGIT_COMMON::HasPushAndPullRemote(), KIGIT_COMMON::HasUpstreamCommits(), KIPLATFORM::UI::IsDarkTheme(), KIGIT_COMMON::IsHeadDetached(), KIGIT_COMMON::IsOperationInProgress(), m_frame, m_refresh, m_summaryFiles, KIGIT_COMMON::OperationInProgress(), FILE_CHECKLIST_ENTRY::path, Pgm(), showDisabledState(), KIGIT::SortBranchesForDisplay(), and syncListener().
Referenced by BeginAmend(), GIT_COMMIT_PANE(), onIdle(), and syncListener().
| void GIT_COMMIT_PANE::ReloadAdvancedWindow | ( | ) |
Reload the advanced window when it is open, for a preferences change it also shows.
Definition at line 642 of file git_commit_pane.cpp.
References GIT_ADVANCED_DIALOG::Active().
|
private |
Resolve a conflicted pull file by file, using the visual merge tool for design files, then create the merge commit.
Cancelling leaves the repository exactly as it was.
Definition at line 2167 of file git_commit_pane.cpp.
References _, finishPullConflictPreparation(), KIGIT_COMMON::GetGitRootDirectory(), KIGIT_COMMON::GetMergeConflicts(), KIGIT_COMMON::IsPullRebaseConfigured(), KIGIT::ReadGitIdentity(), and runActionQuery().
Referenced by onPullDone().
|
private |
Read an action's prerequisites off the UI thread, then resume only in the same project.
Definition at line 1899 of file git_commit_pane.cpp.
References m_actionPending, m_actionQuery, m_frame, m_transfer, Pgm(), setBusy(), and KIGIT::ShowBusyMessage().
Referenced by abandonOperation(), BeginAmend(), discardFile(), doCommit(), onPushDone(), resolvePullConflicts(), setAuthor(), submitPull(), and submitPush().
|
private |
Definition at line 1731 of file git_commit_pane.cpp.
References _, COMMIT, DisplayErrorMessage(), DisplayInfoMessage(), finishCommit(), m_frame, and PrepareEditorsForGitOperation().
Referenced by doCommit().
|
private |
Definition at line 757 of file git_commit_pane.cpp.
References _, KIGIT::EditGitIdentity(), m_frame, KIGIT::ReadGitIdentity(), and runActionQuery().
Referenced by onSettings().
|
private |
Enable or disable the controls while a network operation runs, showing a status.
Definition at line 1948 of file git_commit_pane.cpp.
References _, GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_busyChangedHandler, GIT_COMMIT_PANE_BASE::m_checklist, GIT_COMMIT_PANE_BASE::m_commitButton, GIT_COMMIT_PANE_BASE::m_description, GIT_COMMIT_PANE_BASE::m_emptyLabel, m_frame, m_headDetached, GIT_COMMIT_PANE_BASE::m_newBranchCheckbox, GIT_COMMIT_PANE_BASE::m_newBranchName, m_operationInProgress, GIT_COMMIT_PANE_BASE::m_pullButton, GIT_COMMIT_PANE_BASE::m_recentMessages, GIT_COMMIT_PANE_BASE::m_signOffCheckbox, GIT_COMMIT_PANE_BASE::m_summary, setStatusText(), and updateCommitButton().
Referenced by finishAbandonOperation(), finishCommit(), finishPullConflictPreparation(), onPull(), onPullDone(), onPushDone(), runActionQuery(), SetTransferBusy(), showDisabledState(), startPull(), startPush(), submitPull(), submitPush(), and syncListener().
|
inline |
Called when a transfer starts and when it ends, so an owning window can follow along.
Definition at line 93 of file git_commit_pane.h.
References m_busyChangedHandler.
Referenced by GIT_ADVANCED_DIALOG::CloseForPane().
| void GIT_COMMIT_PANE::SetCommitMessage | ( | const wxString & | aMessage | ) |
Definition at line 978 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_summary, setDescription(), KIGIT::SplitCommitMessage(), updateCommitButton(), and updateSummaryCount().
Referenced by BeginAmend().
|
private |
Definition at line 1093 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_description, and updateDescriptionHint().
Referenced by finishCommit(), onRecentMessage(), and SetCommitMessage().
| void GIT_COMMIT_PANE::SetFileSelectedHandler | ( | std::function< void(const wxString &)> | aHandler | ) |
Called with the path of the file the user selects in the list, or empty when none is.
Definition at line 406 of file git_commit_pane.cpp.
References m_fileSelectedHandler.
|
inline |
Called when the user edits the message, so another form can follow along.
Definition at line 65 of file git_commit_pane.h.
References m_messageChangedHandler.
Referenced by GIT_ADVANCED_DIALOG::CloseForPane().
|
private |
Set the status line text and wrap it to the current panel width.
Definition at line 688 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_emptyLabel, and m_statusText.
Referenced by applyStatus(), onSize(), setBusy(), showDisabledState(), and updateCommitButton().
| void GIT_COMMIT_PANE::SetTransferBusy | ( | bool | aBusy, |
| const wxString & | aStatus = wxEmptyString ) |
Put the panel into the state it uses while a transfer runs, for one started elsewhere.
The advanced window hosts this panel, so a fetch or a force push begun from there must disable the same controls. A transfer this panel started keeps the state until it ends.
Definition at line 1933 of file git_commit_pane.cpp.
References m_transfer, and setBusy().
|
private |
Clear the list and disable every control while version control is off.
Definition at line 649 of file git_commit_pane.cpp.
References _, m_actionPending, m_actionQuery, GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_amendHead, GIT_COMMIT_PANE_BASE::m_branchName, GIT_COMMIT_PANE_BASE::m_branchRow, m_canAmend, GIT_COMMIT_PANE_BASE::m_changesRow, GIT_COMMIT_PANE_BASE::m_checklist, m_editorsDirty, GIT_COMMIT_PANE_BASE::m_emptyLabel, m_hasRemote, m_hasRepo, m_hasUnpushedCommits, m_headDetached, m_operation, m_operationInProgress, GIT_COMMIT_PANE_BASE::m_settingsButton, m_shownPaths, m_upstreamAhead, None, setBusy(), setStatusText(), updateCommitButton(), and updateMessageVisibility().
Referenced by RefreshFileList().
| void GIT_COMMIT_PANE::ShowTransferProgress | ( | const wxString & | aText | ) |
Show a line of transfer progress. Called from the UI thread by a KIGIT_STATUS_REPORTER.
Definition at line 1942 of file git_commit_pane.cpp.
References m_frame.
|
private |
Definition at line 2563 of file git_commit_pane.cpp.
References _, KIGIT::CallOnUi(), CaptureOpenEditorDocs(), Error, FastForward, m_docsBeforePull, m_frame, m_transfer, ReloadOpenEditors(), result, setBusy(), and Success.
Referenced by submitPull().
|
private |
Definition at line 2017 of file git_commit_pane.cpp.
References _, KIGIT::CallOnUi(), Error, m_transfer, result, setBusy(), and Success.
Referenced by submitPush().
|
private |
aThenPush pushes after a successful pull, which belongs only to the rejected-push recovery flow.
A plain Get Changes leaves local commits unpublished.
Definition at line 2514 of file git_commit_pane.cpp.
References _, CHECK, KIGIT::EnsureGitIdentity(), m_frame, ProjectSafeToRewrite(), KIGIT::ReadGitIdentity(), ReadGitWorktreeStatus(), result, runActionQuery(), setBusy(), and startPull().
Referenced by onPullDone(), onPushDone(), and Pull().
|
private |
Definition at line 1983 of file git_commit_pane.cpp.
References _, KIGIT_COMMON::GetCurrentBranchName(), KIGIT_COMMON::GetHeadCommitId(), KIGIT_COMMON::HasPushAndPullRemote(), runActionQuery(), setBusy(), startPush(), and TARGET.
Referenced by doCommit(), finishCommit(), finishPullConflictPreparation(), onPullDone(), onPushDone(), and Push().
|
private |
Register a refresh listener with the project's current git session, re-registering if the session changed since last time (it is recreated when a project is loaded).
Definition at line 427 of file git_commit_pane.cpp.
References GIT_ADVANCED_DIALOG::CloseActive(), m_actionPending, m_actionQuery, GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_amendHead, m_frame, m_hasRepo, m_listenerAttached, m_listenerSession, m_refresh, m_shownPaths, RefreshFileList(), and setBusy().
Referenced by doCommit(), onPull(), Pull(), Push(), and RefreshFileList().
|
private |
False, with a message, while a transfer is running or a merge waits to be finished.
Definition at line 1361 of file git_commit_pane.cpp.
References _, DisplayInfoMessage(), m_actionPending, m_headDetached, m_operationInProgress, m_transfer, operationNoun(), and KIGIT::ShowBusyMessage().
|
private |
Set what the commit buttons say, and whether they are enabled, for the current state.
Definition at line 820 of file git_commit_pane.cpp.
References _, abandonLabel(), m_actionPending, GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_canAmend, GIT_COMMIT_PANE_BASE::m_checklist, m_commitAndPushItem, GIT_COMMIT_PANE_BASE::m_commitButton, m_commitButtonPushes, m_editorsDirty, GIT_COMMIT_PANE_BASE::m_emptyLabel, m_hasRemote, m_hasRepo, m_hasUnpushedCommits, m_headDetached, GIT_COMMIT_PANE_BASE::m_newBranchCheckbox, GIT_COMMIT_PANE_BASE::m_newBranchName, m_operationInProgress, GIT_COMMIT_PANE_BASE::m_pullButton, m_shownPaths, GIT_COMMIT_PANE_BASE::m_summary, m_transfer, m_upstreamAhead, and setStatusText().
Referenced by applyStatus(), BeginAmend(), GIT_COMMIT_PANE(), onAmendToggled(), onChecklistChanged(), onMessageChanged(), onNewBranchToggled(), setBusy(), SetCommitMessage(), and showDisabledState().
|
private |
Where the platform has no hint for a multi line box, a label lies over the description box while it is empty.
Definition at line 1076 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_description, and m_descriptionHint.
Referenced by applyStatus(), GIT_COMMIT_PANE(), onIdle(), and setDescription().
|
private |
Show the message field whenever a commit is possible, including a message-only amend.
Definition at line 775 of file git_commit_pane.cpp.
References GIT_COMMIT_PANE_BASE::m_amendCheckbox, m_canAmend, GIT_COMMIT_PANE_BASE::m_description, m_editorsDirty, GIT_COMMIT_PANE_BASE::m_newBranchCheckbox, GIT_COMMIT_PANE_BASE::m_newBranchName, GIT_COMMIT_PANE_BASE::m_optionsSizer, GIT_COMMIT_PANE_BASE::m_signOffCheckbox, GIT_COMMIT_PANE_BASE::m_summary, and GIT_COMMIT_PANE_BASE::m_summaryCount.
Referenced by applyStatus(), BeginAmend(), onAmendToggled(), and showDisabledState().
|
private |
Refresh the staged count in the changes heading, and the summary box where the wide layout has one.
Definition at line 1107 of file git_commit_pane.cpp.
References _, GIT_COMMIT_PANE_BASE::m_changesLabel, GIT_COMMIT_PANE_BASE::m_checklist, m_lineStats, GIT_COMMIT_PANE_BASE::m_showDiffButton, m_shownPaths, m_summaryAdded, m_summaryFiles, and m_summaryRemoved.
Referenced by applyStatus(), and onChecklistChanged().
|
private |
Show how many of the summary's 72 columns are left.
Definition at line 954 of file git_commit_pane.cpp.
References left, GIT_COMMIT_PANE_BASE::m_summary, and GIT_COMMIT_PANE_BASE::m_summaryCount.
Referenced by GIT_COMMIT_PANE(), onMessageChanged(), and SetCommitMessage().
|
private |
Definition at line 307 of file git_commit_pane.h.
Referenced by doCommit(), onChecklistContextMenu(), onIdle(), onPull(), runActionQuery(), showDisabledState(), syncListener(), transferCanStart(), and updateCommitButton().
|
private |
Definition at line 306 of file git_commit_pane.h.
Referenced by onPull(), runActionQuery(), showDisabledState(), syncListener(), and ~GIT_COMMIT_PANE().
|
protectedinherited |
Definition at line 53 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::applyStatus(), GIT_COMMIT_PANE::BeginAmend(), GIT_COMMIT_PANE::doCommit(), GIT_COMMIT_PANE::finishCommit(), GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::onAmendToggled(), GIT_COMMIT_PANE::setBusy(), GIT_COMMIT_PANE::showDisabledState(), GIT_COMMIT_PANE::syncListener(), GIT_COMMIT_PANE::updateCommitButton(), and GIT_COMMIT_PANE::updateMessageVisibility().
|
private |
The branch and commit chosen when amend started. Keep them fixed while editing.
Definition at line 246 of file git_commit_pane.h.
Referenced by BeginAmend(), doCommit(), finishCommit(), onAmendToggled(), showDisabledState(), and syncListener().
|
protectedinherited |
Definition at line 46 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::populateBranches(), and GIT_COMMIT_PANE::showDisabledState().
|
protectedinherited |
Definition at line 45 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::populateBranches(), and GIT_COMMIT_PANE::showDisabledState().
|
private |
Told when a transfer starts and ends. Empty unless an owning window asked.
Definition at line 267 of file git_commit_pane.h.
Referenced by setBusy(), and SetBusyChangedHandler().
|
private |
Whether the current branch allows an amend. A refresh must not change an active amend into a commit.
Definition at line 243 of file git_commit_pane.h.
Referenced by applyStatus(), BeginAmend(), showDisabledState(), updateCommitButton(), and updateMessageVisibility().
|
protectedinherited |
Definition at line 58 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE_BASE(), and GIT_COMMIT_PANE::updateSummary().
|
protectedinherited |
Definition at line 57 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::applyStatus(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::layoutWide(), and GIT_COMMIT_PANE::showDisabledState().
|
protectedinherited |
Definition at line 61 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::applyStatus(), GIT_COMMIT_PANE::BeginAmend(), GIT_COMMIT_PANE::doCommit(), GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::layoutWide(), GIT_COMMIT_PANE::onAmendToggled(), GIT_COMMIT_PANE::onChecklistContextMenu(), GIT_COMMIT_PANE::onFileActivated(), GIT_COMMIT_PANE::onShowDiff(), GIT_COMMIT_PANE::setBusy(), GIT_COMMIT_PANE::showDisabledState(), GIT_COMMIT_PANE::updateCommitButton(), and GIT_COMMIT_PANE::updateSummary().
|
private |
The arrow menu's entry, relabelled with the main button.
Definition at line 256 of file git_commit_pane.h.
Referenced by GIT_COMMIT_PANE(), and updateCommitButton().
|
protectedinherited |
Definition at line 62 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::setBusy(), and GIT_COMMIT_PANE::updateCommitButton().
|
private |
True while the main button reads Push, with nothing left to commit.
Definition at line 259 of file git_commit_pane.h.
Referenced by GIT_COMMIT_PANE(), onCommit(), and updateCommitButton().
|
private |
The branch a commit will land on, empty when detached or before the first commit.
Definition at line 292 of file git_commit_pane.h.
Referenced by doCommit(), and populateBranches().
|
protectedinherited |
Definition at line 51 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::doCommit(), GIT_COMMIT_PANE::finishCommit(), GIT_COMMIT_PANE::GetCommitMessage(), GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::layoutWide(), GIT_COMMIT_PANE::setBusy(), GIT_COMMIT_PANE::setDescription(), GIT_COMMIT_PANE::updateDescriptionHint(), and GIT_COMMIT_PANE::updateMessageVisibility().
|
private |
The description box's hint, a label laid over it while it is empty.
Null where the box shows its own.
Definition at line 250 of file git_commit_pane.h.
Referenced by GIT_COMMIT_PANE(), and updateDescriptionHint().
|
private |
On-disk identity of the open documents, taken before a pull so only the ones the merge rewrote are reloaded afterwards.
Definition at line 286 of file git_commit_pane.h.
Referenced by finishPullConflictPreparation(), and startPull().
|
private |
True when an open editor held unsaved changes at the last refresh.
Definition at line 240 of file git_commit_pane.h.
Referenced by applyStatus(), GIT_COMMIT_PANE(), onIdle(), showDisabledState(), updateCommitButton(), and updateMessageVisibility().
|
protectedinherited |
Definition at line 60 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::applyStatus(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::layoutWide(), GIT_COMMIT_PANE::onSize(), GIT_COMMIT_PANE::setBusy(), GIT_COMMIT_PANE::setStatusText(), GIT_COMMIT_PANE::showDisabledState(), and GIT_COMMIT_PANE::updateCommitButton().
|
private |
Definition at line 294 of file git_commit_pane.h.
Referenced by GIT_COMMIT_PANE(), and SetFileSelectedHandler().
|
private |
Definition at line 212 of file git_commit_pane.h.
Referenced by abandonOperation(), applyStatus(), BeginAmend(), confirmDiscardFile(), doCommit(), finishAbandonOperation(), finishCommit(), finishPullConflictPreparation(), GIT_COMMIT_PANE(), onChecklistContextMenu(), onFileActivated(), onIdle(), onPull(), onPullDone(), onPushDone(), onSettings(), onShowDiff(), Pull(), Push(), RefreshFileList(), runActionQuery(), saveForCommit(), setAuthor(), setBusy(), ShowTransferProgress(), startPull(), submitPull(), and syncListener().
|
private |
Definition at line 222 of file git_commit_pane.h.
Referenced by applyStatus(), GIT_COMMIT_PANE(), Pull(), Push(), showDisabledState(), and updateCommitButton().
|
private |
Whether the last completed status snapshot had a repository.
Definition at line 225 of file git_commit_pane.h.
Referenced by applyStatus(), onIdle(), showDisabledState(), syncListener(), and updateCommitButton().
|
private |
Definition at line 220 of file git_commit_pane.h.
Referenced by applyStatus(), doCommit(), GIT_COMMIT_PANE(), Push(), showDisabledState(), and updateCommitButton().
|
private |
True when HEAD is a commit rather than a branch, so nothing can be committed or pushed.
Definition at line 228 of file git_commit_pane.h.
Referenced by applyStatus(), GIT_COMMIT_PANE(), populateBranches(), setBusy(), showDisabledState(), transferCanStart(), and updateCommitButton().
|
private |
True on the advanced window's Changes page, false in the docked panel.
Definition at line 218 of file git_commit_pane.h.
Referenced by GIT_COMMIT_PANE(), onChecklistContextMenu(), and onSettings().
|
private |
Lines the working tree adds and removes against HEAD, read at the last refresh.
Definition at line 302 of file git_commit_pane.h.
Referenced by applyStatus(), and updateSummary().
|
private |
True once this panel has attached its refresh listener to a session at least once.
A first attachment is not a project change, so it must not close the Advanced window.
Definition at line 274 of file git_commit_pane.h.
Referenced by syncListener().
|
private |
The git session this panel registered a refresh listener with, weak so it does not keep the session alive.
Used to unregister on destruction.
Definition at line 278 of file git_commit_pane.h.
Referenced by syncListener(), and ~GIT_COMMIT_PANE().
|
private |
Told when the message is edited. Empty unless an owning window asked.
Definition at line 289 of file git_commit_pane.h.
Referenced by BeginAmend(), GIT_COMMIT_PANE(), onMessageChanged(), and SetMessageChangedHandler().
|
private |
The widest row's minimum width, measured before anything is hidden.
Definition at line 215 of file git_commit_pane.h.
Referenced by GetMinDockWidth(), and GIT_COMMIT_PANE().
|
protectedinherited |
Definition at line 55 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::BeginAmend(), GIT_COMMIT_PANE::doCommit(), GIT_COMMIT_PANE::finishCommit(), GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::onNewBranchToggled(), GIT_COMMIT_PANE::setBusy(), GIT_COMMIT_PANE::updateCommitButton(), and GIT_COMMIT_PANE::updateMessageVisibility().
|
protectedinherited |
Definition at line 56 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::doCommit(), GIT_COMMIT_PANE::finishCommit(), GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::onNewBranchToggled(), GIT_COMMIT_PANE::setBusy(), GIT_COMMIT_PANE::updateCommitButton(), and GIT_COMMIT_PANE::updateMessageVisibility().
|
private |
Which operation, so the button and the explanation can name it.
Definition at line 237 of file git_commit_pane.h.
Referenced by abandonLabel(), applyStatus(), GIT_COMMIT_PANE(), operationNoun(), and showDisabledState().
|
private |
True while a merge or rebase is in progress. The network button then reads Abandon.
Definition at line 234 of file git_commit_pane.h.
Referenced by applyStatus(), GIT_COMMIT_PANE(), onPull(), setBusy(), showDisabledState(), transferCanStart(), and updateCommitButton().
|
protectedinherited |
Definition at line 52 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::layoutWide(), and GIT_COMMIT_PANE::updateMessageVisibility().
|
protectedinherited |
Definition at line 63 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::onPull(), GIT_COMMIT_PANE::setBusy(), and GIT_COMMIT_PANE::updateCommitButton().
|
protectedinherited |
Definition at line 47 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::onRecentMessage(), GIT_COMMIT_PANE::populateRecentMessages(), and GIT_COMMIT_PANE::setBusy().
|
private |
The full messages behind the Recent messages dropdown, in its order after the caption.
Definition at line 253 of file git_commit_pane.h.
Referenced by onRecentMessage(), and populateRecentMessages().
|
private |
Coalesce refreshes while a repository read is running, and discard stale results.
Definition at line 305 of file git_commit_pane.h.
Referenced by onIdle(), RefreshFileList(), syncListener(), and ~GIT_COMMIT_PANE().
|
protectedinherited |
Definition at line 48 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::populateBranches(), and GIT_COMMIT_PANE::showDisabledState().
|
protectedinherited |
Definition at line 59 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), and GIT_COMMIT_PANE::updateSummary().
|
private |
Paths shown in the list at the last refresh, so a refresh can tell which files the user deliberately unticked from files that are simply new, and preserve those unticks.
Definition at line 282 of file git_commit_pane.h.
Referenced by applyStatus(), showDisabledState(), syncListener(), updateCommitButton(), and updateSummary().
|
protectedinherited |
Definition at line 54 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::doCommit(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::setBusy(), and GIT_COMMIT_PANE::updateMessageVisibility().
|
private |
Unwrapped status text, kept so it can be re-wrapped on resize.
Definition at line 270 of file git_commit_pane.h.
Referenced by onSize(), and setStatusText().
|
protectedinherited |
Definition at line 49 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE::BeginAmend(), GIT_COMMIT_PANE::doCommit(), GIT_COMMIT_PANE::finishCommit(), GIT_COMMIT_PANE::GetCommitMessage(), GIT_COMMIT_PANE::GIT_COMMIT_PANE(), GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::onRecentMessage(), GIT_COMMIT_PANE::setBusy(), GIT_COMMIT_PANE::SetCommitMessage(), GIT_COMMIT_PANE::updateCommitButton(), GIT_COMMIT_PANE::updateMessageVisibility(), and GIT_COMMIT_PANE::updateSummaryCount().
|
private |
Definition at line 298 of file git_commit_pane.h.
Referenced by layoutWide(), and updateSummary().
|
protectedinherited |
Definition at line 50 of file git_commit_pane_base.h.
Referenced by GIT_COMMIT_PANE_BASE(), GIT_COMMIT_PANE::updateMessageVisibility(), and GIT_COMMIT_PANE::updateSummaryCount().
|
private |
Definition at line 297 of file git_commit_pane.h.
Referenced by layoutWide(), RefreshFileList(), and updateSummary().
|
private |
Definition at line 299 of file git_commit_pane.h.
Referenced by layoutWide(), and updateSummary().
|
private |
The push or pull this panel submitted last.
Definition at line 263 of file git_commit_pane.h.
Referenced by doCommit(), onChecklistContextMenu(), onIdle(), onPull(), runActionQuery(), SetTransferBusy(), startPull(), startPush(), transferCanStart(), and updateCommitButton().
|
private |
True when the upstream has commits this project does not, so Get Changes has work to do.
Definition at line 231 of file git_commit_pane.h.
Referenced by applyStatus(), GIT_COMMIT_PANE(), showDisabledState(), and updateCommitButton().