pub enum Message {
Show 93 variants
SwitchTab(usize),
NewTab,
CloseTab(usize),
OpenRepo,
InitRepo,
RepoSelected(Option<PathBuf>),
RepoInitSelected(Option<PathBuf>),
RepoOpened(Result<RepoPayload, String>),
RefreshRepo,
RepoRefreshed(Result<RepoPayload, String>),
CheckoutBranch(String),
BranchCheckedOut(Result<(), String>),
CreateBranch,
NewBranchNameChanged(String),
BranchCreated(Result<(), String>),
DeleteBranch(String),
BranchDeleted(Result<(), String>),
ToggleBranchCreate,
ToggleLocalBranches,
ToggleRemoteBranches,
SelectCommit(usize),
CommitFileListLoaded(Result<Vec<DiffFileEntry>, String>),
SingleFileDiffLoaded(Result<DiffInfo, String>),
CommitLogScrolled(f32, f32),
DiffViewScrolled(f32),
MoreCommitsLoaded(Result<CommitPage, String>),
StageFile(String),
UnstageFile(String),
StageAll,
UnstageAll,
DiscardFile(String),
ConfirmDiscard(String),
CancelDiscard,
StagingUpdated(Result<StagingPayload, String>),
CommitMessageChanged(String),
CreateCommit,
CommitCreated(Result<(), String>),
StashSave,
StashPop(usize),
StashDrop(usize),
StashUpdated(Result<Vec<StashEntry>, String>),
StashMessageChanged(String),
Fetch,
FetchCompleted(Result<(), String>),
SelectDiffByIndex(usize),
SelectDiff(DiffInfo),
DismissError,
ZoomIn,
ZoomOut,
ZoomReset,
ToggleSidebar,
CloseRepo,
PaneDragStart(DragTarget, f32),
PaneDragStartH(DragTargetH, f32),
PaneDragMove(f32, f32),
PaneDragEnd,
RepoRecorded(Result<Vec<RepoHistoryEntry>, String>),
SettingsLoaded(Result<Vec<RepoHistoryEntry>, String>),
ThemeSaved(Result<(), String>),
LayoutSaved(Result<(), String>),
LayoutLoaded(Result<Option<LayoutSettings>, String>),
SessionSaved(Result<(), String>),
RepoRestoredAt(usize, Result<RepoPayload, String>),
OpenBranchContextMenu(String, usize, bool),
OpenRemoteBranchContextMenu(String),
CheckoutRemoteBranch(String),
DeleteRemoteBranch(String),
OpenCommitContextMenu(usize),
CloseContextMenu,
PushBranch(String),
PullBranch(String),
RebaseOnto(String),
BeginRenameBranch(String),
RenameBranchInputChanged(String),
ConfirmRenameBranch,
CancelRename,
MergeBranch(String),
BeginCreateTag(String, bool),
TagNameChanged(String),
TagMessageChanged(String),
ConfirmCreateTag,
CancelCreateTag,
CheckoutCommitDetached(String),
RebaseOntoCommit(String),
RevertCommit(String),
ResetSoft(String),
ResetMixed(String),
ResetHard(String),
CopyText(String),
GitOperationResult(Result<RepoPayload, String>),
ThemeChanged(usize),
OpenRecentRepo(PathBuf),
Noop,
}Variants§
SwitchTab(usize)
User clicked a tab in the tab bar.
NewTab
User clicked the “+” button to open a new empty tab.
CloseTab(usize)
User clicked the close (×) button on a tab.
OpenRepo
User clicked “Open Repository” — launch the folder picker.
InitRepo
User clicked “Init Repository” — launch the folder picker for init.
RepoSelected(Option<PathBuf>)
Folder picker returned a path (or was cancelled → None).
RepoInitSelected(Option<PathBuf>)
Folder picker returned a path for init (or was cancelled → None).
RepoOpened(Result<RepoPayload, String>)
Async repo-open completed.
RefreshRepo
User requested a full refresh of the current repo.
RepoRefreshed(Result<RepoPayload, String>)
Async refresh completed.
CheckoutBranch(String)
User clicked a branch name → checkout that branch.
BranchCheckedOut(Result<(), String>)
Async checkout completed.
CreateBranch
User submitted the new-branch form.
NewBranchNameChanged(String)
User is typing a new branch name.
BranchCreated(Result<(), String>)
Async branch creation completed.
DeleteBranch(String)
User clicked the delete button next to a branch.
BranchDeleted(Result<(), String>)
Async branch deletion completed.
ToggleBranchCreate
Toggle visibility of the new-branch inline form.
ToggleLocalBranches
Collapse or expand the Local branches section.
ToggleRemoteBranches
Collapse or expand the Remote branches section.
SelectCommit(usize)
User clicked a commit row in the log.
CommitFileListLoaded(Result<Vec<DiffFileEntry>, String>)
Async commit file-list load completed (lightweight — no diff content).
SingleFileDiffLoaded(Result<DiffInfo, String>)
Async single-file diff load completed.
CommitLogScrolled(f32, f32)
The commit log scrollable was scrolled.
Carries (absolute_y, relative_y) — absolute for virtual-window
positioning, relative (0.0 = top, 1.0 = bottom) for load-more trigger.
DiffViewScrolled(f32)
The diff viewer scrollable was scrolled — carries absolute_y.
MoreCommitsLoaded(Result<CommitPage, String>)
A lazy-loaded page of additional commits was fetched from the background.
StageFile(String)
Stage a single file by its path.
UnstageFile(String)
Unstage a single file by its path.
StageAll
Stage all unstaged files.
UnstageAll
Unstage all staged files.
DiscardFile(String)
Discard working-directory changes for a file.
ConfirmDiscard(String)
User confirmed the discard for a file.
CancelDiscard
User cancelled a pending discard.
StagingUpdated(Result<StagingPayload, String>)
Async staging operation completed.
CommitMessageChanged(String)
User is typing in the commit-message input.
CreateCommit
User clicked “Commit”.
CommitCreated(Result<(), String>)
Async commit creation completed.
StashSave
Save the current working state as a stash.
StashPop(usize)
Pop (apply + drop) a stash by index.
StashDrop(usize)
Drop (delete) a stash by index without applying.
StashUpdated(Result<Vec<StashEntry>, String>)
Async stash operation completed.
StashMessageChanged(String)
User is typing in the stash-message input.
Fetch
Fetch from the first configured remote.
FetchCompleted(Result<(), String>)
Async fetch completed.
SelectDiffByIndex(usize)
User clicked a file in the commit-diff file list (by index into commit_files).
SelectDiff(DiffInfo)
User clicked a file in the staging area to view its diff.
DismissError
Dismiss the current error banner.
ZoomIn
Zoom in (increase UI scale).
ZoomOut
Zoom out (decrease UI scale).
ZoomReset
Reset zoom to 100%.
ToggleSidebar
Toggle the left sidebar.
CloseRepo
Close the current repository and return to the welcome screen.
PaneDragStart(DragTarget, f32)
User pressed the mouse button on a vertical divider to start dragging.
PaneDragStartH(DragTargetH, f32)
User pressed the mouse button on the horizontal staging divider.
PaneDragMove(f32, f32)
Mouse moved during a drag — (x, y) in window coordinates.
PaneDragEnd
Mouse button released — stop dragging.
RepoRecorded(Result<Vec<RepoHistoryEntry>, String>)
Background record_repo_opened + load_settings completed.
Carries the refreshed recent-repos list (or an error string).
SettingsLoaded(Result<Vec<RepoHistoryEntry>, String>)
Background load_settings completed (e.g. after closing a repo).
ThemeSaved(Result<(), String>)
Background save_theme completed (fire-and-forget, errors logged).
LayoutSaved(Result<(), String>)
Background layout save completed (fire-and-forget, errors logged).
LayoutLoaded(Result<Option<LayoutSettings>, String>)
Layout loaded from persisted settings on startup.
SessionSaved(Result<(), String>)
Background session save completed (fire-and-forget).
RepoRestoredAt(usize, Result<RepoPayload, String>)
Async restore of a specific tab (by index) completed on startup.
OpenBranchContextMenu(String, usize, bool)
User right-clicked a local branch. Payload: (branch_name, index_in_local_list, is_current_branch).
OpenRemoteBranchContextMenu(String)
User right-clicked a remote branch.
CheckoutRemoteBranch(String)
Checkout a remote branch (creates local tracking branch).
DeleteRemoteBranch(String)
Delete a remote branch.
OpenCommitContextMenu(usize)
User right-clicked a commit row.
CloseContextMenu
Dismiss the context menu without taking an action.
PushBranch(String)
Push the named branch to its default remote.
PullBranch(String)
Pull the current branch from its remote, rebasing local commits on top.
RebaseOnto(String)
Rebase the current HEAD onto target (a branch name or OID string).
BeginRenameBranch(String)
Begin an inline rename: record the branch being renamed and pre-fill input.
RenameBranchInputChanged(String)
User is typing in the rename input.
ConfirmRenameBranch
User confirmed the rename.
CancelRename
User cancelled the rename.
MergeBranch(String)
Merge a named branch into the current HEAD branch.
BeginCreateTag(String, bool)
Begin an inline tag-creation form at the given commit OID. The bool indicates whether this is an annotated tag (true) or lightweight (false).
TagNameChanged(String)
User is typing in the tag name input.
TagMessageChanged(String)
User is typing in the annotated tag message input.
ConfirmCreateTag
User confirmed tag creation.
CancelCreateTag
User cancelled tag creation.
CheckoutCommitDetached(String)
Checkout a specific commit in detached HEAD mode.
RebaseOntoCommit(String)
Rebase the current branch on top of a specific commit.
RevertCommit(String)
Revert a specific commit (creates a revert commit).
ResetSoft(String)
git reset –soft oid — move HEAD, keep staged + working changes.
ResetMixed(String)
git reset –mixed oid — move HEAD and unstage; keep working directory.
ResetHard(String)
git reset –hard oid — move HEAD and discard all uncommitted changes.
CopyText(String)
Copy a string to the system clipboard.
GitOperationResult(Result<RepoPayload, String>)
Generic result for any git operation that produces a full repo refresh. The operation itself is responsible for a descriptive error string.
ThemeChanged(usize)
User selected a different theme from the picker (by index into
gitkraft_core::THEME_NAMES).
OpenRecentRepo(PathBuf)
User clicked a recent repository entry on the welcome screen.
Noop
No-op (used for disabled buttons, etc.).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Message
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnsafeUnpin for Message
impl UnwindSafe for Message
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more