fix: less fragile dev brain sources revisions
This commit is contained in:
19
src/app.rs
19
src/app.rs
@@ -67,6 +67,7 @@ pub(crate) struct App {
|
||||
config: Config,
|
||||
preference_draft: PreferenceDraft,
|
||||
preference_error: Option<String>,
|
||||
restore_dev_brain_confirmation: bool,
|
||||
selected_project: Option<i32>,
|
||||
selected_session: Option<i32>,
|
||||
/// Unsaved sessions, keyed by project. A draft only becomes a `sessions` row
|
||||
@@ -361,6 +362,8 @@ pub(crate) enum Message {
|
||||
ChooseDevBrainVault,
|
||||
DevBrainVaultPicked(Option<PathBuf>),
|
||||
RestoreDevBrainDefaultGuides,
|
||||
ConfirmRestoreDevBrainDefaultGuides,
|
||||
CancelRestoreDevBrainDefaultGuides,
|
||||
PreferenceContextChanged(String),
|
||||
PreferenceMaxTokensChanged(String),
|
||||
PreferenceSystemPromptAction(text_editor::Action),
|
||||
@@ -526,6 +529,7 @@ impl App {
|
||||
config,
|
||||
preference_draft,
|
||||
preference_error: None,
|
||||
restore_dev_brain_confirmation: false,
|
||||
selected_project: last_project,
|
||||
selected_session: None,
|
||||
drafts,
|
||||
@@ -669,6 +673,7 @@ impl App {
|
||||
config,
|
||||
preference_draft,
|
||||
preference_error: None,
|
||||
restore_dev_brain_confirmation: false,
|
||||
selected_project: None,
|
||||
selected_session: None,
|
||||
drafts: HashMap::new(),
|
||||
@@ -951,6 +956,7 @@ impl App {
|
||||
Message::ClosePreferences => {
|
||||
if let Some(id) = self.preferences_window {
|
||||
self.preference_error = None;
|
||||
self.restore_dev_brain_confirmation = false;
|
||||
return window::close(id);
|
||||
}
|
||||
}
|
||||
@@ -1033,6 +1039,7 @@ impl App {
|
||||
if self.preferences_window == Some(id) {
|
||||
self.preferences_window = None;
|
||||
self.preference_error = None;
|
||||
self.restore_dev_brain_confirmation = false;
|
||||
}
|
||||
if self.help_window == Some(id) {
|
||||
self.help_window = None;
|
||||
@@ -1048,6 +1055,10 @@ impl App {
|
||||
Message::CancelQuit => self.quit_confirmation = false,
|
||||
Message::Escape(id) => {
|
||||
if self.preferences_window == Some(id) {
|
||||
if self.restore_dev_brain_confirmation {
|
||||
self.restore_dev_brain_confirmation = false;
|
||||
return Task::none();
|
||||
}
|
||||
return self.update(Message::ClosePreferences);
|
||||
}
|
||||
if id == self.main_window {
|
||||
@@ -1239,11 +1250,19 @@ impl App {
|
||||
}
|
||||
}
|
||||
Message::RestoreDevBrainDefaultGuides => {
|
||||
self.preference_error = None;
|
||||
self.restore_dev_brain_confirmation = true;
|
||||
}
|
||||
Message::ConfirmRestoreDevBrainDefaultGuides => {
|
||||
self.restore_dev_brain_confirmation = false;
|
||||
self.preference_error = crate::dev_brain::restore_default_guides(Path::new(
|
||||
&self.preference_draft.dev_brain_vault_path,
|
||||
))
|
||||
.err();
|
||||
}
|
||||
Message::CancelRestoreDevBrainDefaultGuides => {
|
||||
self.restore_dev_brain_confirmation = false;
|
||||
}
|
||||
Message::PreferenceContextChanged(value) => {
|
||||
self.preference_draft.context_tokens = value;
|
||||
self.preference_error = None;
|
||||
|
||||
Reference in New Issue
Block a user