1#[derive(Debug, Clone)]
65pub enum Message {
66 AutostartEnabled,
68 AutostartEnabledUser,
69 AutostartDisabled,
70 AutostartAlreadyDisabled,
71 AutostartEnableFailed(String),
72 AutostartDisableFailed(String),
73 AutostartStatus(String),
74 AutostartNotImplemented,
75 AutostartRequiresAdmin,
76 AutostartCheckingAlternative,
77
78 TaskCreated,
80 TaskUpdated,
81 TaskDeleted,
82 TaskNotFound,
83 TaskCreateFailed,
84 TaskUpdateFailed,
85 TaskDeleteFailed,
86 TasksDeletedCount(usize),
87 TasksNotFoundForDate(String),
88 TasksNotFoundSad,
89 TasksHeader,
90 TasksIncompleteHeader,
91 TasksGitlabHeader,
92 TasksJiraHeader,
93 TasksDiscoverySummary {
95 incomplete: usize,
96 jira: usize,
97 gitlab: usize,
98 },
99 TasksDiscoverySeparator,
101 TasksDiscoverySearchingIncomplete,
102 TasksDiscoveryFetchingExternal,
103 NoTaskIdsProvided,
104 TasksNotFoundForIds(Vec<i32>),
105 TasksToBeDeleted,
106 ConfirmDeleteTask,
107 ConfirmDeleteTasks(usize),
108 ConfirmDeleteAllTodayTasks(usize),
109 ConfirmDeleteAllTodayTasksFinal,
110 NoTasksForToday,
111 TaskNotFoundWithId(i32),
112 CurrentTaskState,
113 TaskEditPreview,
114 ConfirmTaskUpdate,
115 NoChangesDetected,
116 NoTasksSelected,
117 SelectTasksToEdit,
118 EditingTask(String),
119 TaskUpdatedWithName(String),
120 TaskSkippedNoChanges(String),
121 TaskEditingCompleted,
122 PromptTaskNameEdit,
123 PromptTaskCommentEdit,
124 PromptTaskCompletenessEdit,
125 TaskCompletenessRange,
126
127 WorkdayEnded,
129 WorkdayNotFound,
130 WorkdayNotFoundForDate(String),
131 WorkdayCreateFailed,
132 WorkdayStarting(String), WorkdayCouldNotFindAfterFinalizing(String), ConfigSaved,
137 ConfigDeleted,
138 ConfigLoaded,
139 ConfigFileNotFound,
140 ConfigParseError,
141 ConfigSaveError,
142 ConfigModuleGitLab,
143 ConfigModuleJira,
144 ConfigModuleSiServer,
145 ConfigModuleMonitor,
146 ConfigModuleServer,
147 ConfigModuleProductivity,
148 ConfigModuleTaskDiscovery,
149 ConfigModuleJiraInbox,
150 TaskDiscoveryIgnoreListHeader,
151 TaskDiscoveryIgnoreListEmpty,
152 TaskDiscoveryIgnoreNameAdded(String),
153 TaskDiscoveryIgnoreNameExists(String),
154 TaskDiscoveryIgnoreNamesAdded(usize),
155
156 DailyReportSent(String), MonthlyReportSent(String), MonthlyReportTriggered,
160 ReportSendFailed(String), MonthlyReportSendFailed(String), ReportHeader(String), WorkingHoursForMonth(String), ExportingData(String, String), ExportCompleted(String), ExportingAllData,
169 ExportFailed(String), TemplateCreated(String),
173 TemplateUpdated(String),
174 TemplateDeleted(String),
175 TemplateNotFound(String),
176 TemplateAlreadyExists(String),
177 TemplateCreateFailed,
178 NoTemplatesFound,
179 TemplateListHeader,
180 SelectTemplateToEdit,
181 SelectTemplateToDelete,
182 ConfirmDeleteTemplate(String),
183 EditingTemplate(String),
184 NoTemplatesMatchingQuery(String),
185 TemplateSearchResults(String),
186 SelectTemplateAction,
187 PromptTemplateName,
188 PromptTemplateTaskName,
189 PromptTemplateComment,
190 PromptTemplateCompleteness,
191 CreatingTaskFromTemplate(String),
192 SelectTemplate,
193 CreateTemplateFirst,
194
195 TagCreated(String),
197 TagUpdated(String),
198 TagDeleted(String),
199 TagNotFound(String),
200 TagAlreadyExists(String),
201 NoTagsFound,
202 TagListHeader,
203 EditingTag(String),
204 SelectTagAction,
205 SelectTagToEdit,
206 SelectTagToDelete,
207 ConfirmDeleteTag(String),
208 ConfirmDeleteTagWithTasks(String, usize), PromptTagName,
210 PromptTagColor,
211 NoTasksWithTag(String),
212 TasksWithTag(String),
213 TagsAddedToTask(String),
214
215 ShortIntervalsDetected(usize, String), NoShortIntervalsFound(u64), ShortIntervalsToRemove(usize), RemovingPauses(usize), ShortIntervalsCleared(usize), NoRemovablePausesFound,
222 UpdatedReport,
223 PromptMinWorkInterval,
224
225 SelectAdjustmentMode,
227 PromptAdjustmentMinutes,
228 PromptPauseStartTime,
229 ConfirmTimeAdjustment,
230 TimeAdjustmentApplied,
231 AdjustmentPreview,
232 InvalidAdjustmentTooMuchTime,
233 InvalidPauseOutsideWorkday,
234 WorkdayUpdateFailed,
235
236 PausesTitle(String),
238
239 MonitorStarted {
241 pause_threshold: u64,
242 poll_interval: u64,
243 activity_threshold: u64,
244 },
245 MonitorStopped,
246 MonitorStartFailed,
247 MonitorStopFailed,
248 MonitorExitedNormally,
249 MonitorShuttingDown,
250 MonitorError(String),
251 MonitorTaskPanicked(String),
252 PauseStarted,
253 PauseEnded,
254
255 WatcherStarted(u32), WatcherStopped(u32), WatcherStoppedSuccessfully,
259 WatcherNotRunning,
260 WatcherNotRunningPidNotFound,
261 WatcherStartingForeground,
262 WatcherStoppingExisting(String), WatcherFailedToStopExisting(String), WatcherFailedToStop(u32), WatcherReceivedSigterm,
266 WatcherReceivedSigint,
267 WatcherReceivedCtrlC,
268 WatcherCtrlCListenFailed(String), WatcherSignalHandlingNotSupported,
270 DaemonModeNotSupported,
271 FailedToGetCurrentExecutable,
272 FailedToCreateSigtermHandler,
273 FailedToCreateSigintHandler,
274
275 UpdateAvailable {
277 app_name: String,
278 latest: String,
279 },
280 UpdateCompleted {
281 app_name: String,
282 version: String,
283 },
284 NoUpdateRequired,
285 UpdateDownloadUrlNotSet,
286 WatcherStoppingForUpdate,
287 WatcherRestartingAfterUpdate,
288 WatcherStoppingForConfig,
289 WatcherRestartingAfterConfig,
290 WatcherRestarted,
291 WatcherRestartFailed {
292 error: String,
293 },
294 UpdateBinaryNotFoundInArchive,
295
296 WrongPassword(i32), InvalidCredentials,
299 SessionExpired,
300 AuthenticationFailed(String), JiraAuthenticateFailed,
302 LoginFailed,
303 CredentialsNotSet,
304
305 ApiConnectionFailed,
307 ApiAuthFailed,
308 ApiRequestFailed,
309 GitlabFetchFailed(String), GitlabUserIdFailed(String), JiraFetchFailed(String), SiServerConfigNotFound,
313 SiServerSessionFailed(String), SiServerRestDatesFailed(String), SiServerRestDatesParsingFailed(String), DbConnectionFailed,
319 DbQueryFailed,
320 DbMigrationFailed,
321 DatabaseOperationFailed {
322 operation: String,
323 error: String,
324 },
325 NoIdSet,
326
327 FileNotFound,
329 FileReadError,
330 FileWriteError,
331 InvalidPidFileContent,
332 DataStoragePathError,
333
334 PathConfigured,
336 PathConfigWarning {
337 error: String,
338 },
339 PathQueryFailed(String), PathSetFailed,
341 PathRegistryQueryError {
342 status: String,
343 },
344 PathRegistryUpdateError {
345 status: String,
346 stderr: String,
347 },
348 FailedToJoinPaths,
349 FailedToExecuteRegQuery,
350 FailedToParseRegOutput,
351 FailedToGetPathFromReg,
352 FailedToExecuteRegSet,
353 FailedToOpenProcess(u32), FailedToTerminateProcess(u32), ProcessNotFound,
356 ProcessTerminationNotSupported,
357
358 MonthlyProductivity(f64), LowProductivityWarning {
361 current: f64,
362 threshold: f64,
363 },
364 ProductivityTooLowToSend {
365 current: f64,
366 threshold: f64,
367 },
368 ManualPauseCreated {
369 start_time: String,
370 end_time: String,
371 duration_minutes: u64,
372 },
373 ManualPauseOverlaps {
374 start_time: String,
375 end_time: String,
376 },
377 ManualPauseRemoved(i32),
378 ManualPauseNotFound(i32),
379 ProductivityRecalculated(f64),
380
381 EncryptionKeyMustBeSet,
383 EncryptionIvMustBeSet,
384
385 PromptTaskName,
387 TaskNameMergedFromPaste,
388 PromptTaskComment,
389 PromptTaskCompleteness,
390 PromptGitlabToken,
391 PromptGitlabUrl,
392 PromptJiraLogin,
393 PromptJiraUrl,
394 PromptJiraPassword,
395 PromptSiLogin,
396 PromptSiAuthUrl,
397 PromptSiApiUrl,
398 PromptSiPassword,
399 PromptMinPauseDuration,
400 PromptPauseThreshold,
401 PromptPollInterval,
402 PromptActivityThreshold,
403 PromptMinProductivityThreshold,
404 PromptWorkdayHours,
405 PromptMinWorkdayFraction,
406 PromptServerApiUrl,
407 PromptServerAuthToken,
408 PromptConfirmDelete,
409 PromptSelectOptions,
410 PromptSelectModules,
411 PromptSelectTasks,
412 PromptSelectTasksToEdit,
413 PromptSelectTasksToImport,
414 PromptSelectTasksToIgnore,
415 PromptSelectIgnoreNamesToRemove,
416 PromptAddIgnoreName,
417
418 OperationCompleted,
420 OperationCancelled,
421 DataExported,
422 BackupCreated,
423 InvalidInput,
424 PermissionDenied,
425
426 ErrorSendingEvents(String), ErrorSendingMonthlyReport(String), ErrorInRdevListener(String), ErrorRequestingRestDates(String), SelectingTask(String), SelectedTaskFormat(String, i32), JiraInboxRequiresJiraConfig,
438 JiraInboxEmpty,
439 JiraInboxListHeader,
440 JiraInboxSynced {
441 fetched: usize,
442 new_count: usize,
443 updated: usize,
444 },
445 JiraInboxNewIssues(usize),
446 JiraInboxNotFound(String),
447 JiraInboxPinned(String),
448 JiraInboxUnpinned(String),
449 JiraInboxDismissed(String),
450 JiraInboxOpened(String),
451 JiraInboxTaken(String),
452 JiraInboxOpenFailed(String),
453 PromptJiraInboxEnabled,
454 PromptJiraInboxPollInterval,
455 PromptJiraInboxNotify,
456 PromptJiraInboxSortFieldId,
457 PromptJiraInboxSortFieldLabel,
458 PromptJiraInboxExtraFieldId,
459 PromptJiraInboxExtraFieldLabel,
460
461 MigrationsFound(usize), RunningMigration(u32, String), MigrationCompleted(u32), MigrationFailed(u32, String), AllMigrationsCompleted,
467 DatabaseVersion(u32),
468 DatabaseUpToDate,
469 DatabaseNeedsUpdate,
470 MigrationHistory,
471 NothingToRollback,
472 RollingBack(u32, u32), RollbackCompleted(u32), }