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 UpdateLatestTagNotFound(String),
287 WatcherStoppingForUpdate,
288 WatcherRestartingAfterUpdate,
289 WatcherStoppingForConfig,
290 WatcherRestartingAfterConfig,
291 WatcherRestarted,
292 WatcherRestartFailed {
293 error: String,
294 },
295 UpdateBinaryNotFoundInArchive,
296
297 WrongPassword(i32), InvalidCredentials,
300 SessionExpired,
301 AuthenticationFailed(String), JiraAuthenticateFailed,
303 LoginFailed,
304 CredentialsNotSet,
305
306 ApiConnectionFailed,
308 ApiAuthFailed,
309 ApiRequestFailed,
310 GitlabFetchFailed(String), GitlabUserIdFailed(String), JiraFetchFailed(String), SiServerConfigNotFound,
314 SiServerSessionFailed(String), SiServerRestDatesFailed(String), SiServerRestDatesParsingFailed(String), DbConnectionFailed,
320 DbQueryFailed,
321 DbMigrationFailed,
322 DatabaseOperationFailed {
323 operation: String,
324 error: String,
325 },
326 NoIdSet,
327
328 FileNotFound,
330 FileReadError,
331 FileWriteError,
332 InvalidPidFileContent,
333 DataStoragePathError,
334
335 PathConfigured,
337 PathConfigWarning {
338 error: String,
339 },
340 PathQueryFailed(String), PathSetFailed,
342 PathRegistryQueryError {
343 status: String,
344 },
345 PathRegistryUpdateError {
346 status: String,
347 stderr: String,
348 },
349 FailedToJoinPaths,
350 FailedToExecuteRegQuery,
351 FailedToParseRegOutput,
352 FailedToGetPathFromReg,
353 FailedToExecuteRegSet,
354 FailedToOpenProcess(u32), FailedToTerminateProcess(u32), ProcessNotFound,
357 ProcessTerminationNotSupported,
358
359 MonthlyProductivity(f64), LowProductivityWarning {
362 current: f64,
363 threshold: f64,
364 },
365 ProductivityTooLowToSend {
366 current: f64,
367 threshold: f64,
368 },
369 ManualPauseCreated {
370 start_time: String,
371 end_time: String,
372 duration_minutes: u64,
373 },
374 ManualPauseOverlaps {
375 start_time: String,
376 end_time: String,
377 },
378 ManualPauseRemoved(i32),
379 ManualPauseNotFound(i32),
380 ProductivityRecalculated(f64),
381
382 EncryptionKeyMustBeSet,
384 EncryptionIvMustBeSet,
385
386 PromptTaskName,
388 TaskNameMergedFromPaste,
389 PromptTaskComment,
390 PromptTaskCompleteness,
391 PromptGitlabToken,
392 PromptGitlabUrl,
393 PromptJiraLogin,
394 PromptJiraUrl,
395 PromptJiraPassword,
396 PromptSiLogin,
397 PromptSiAuthUrl,
398 PromptSiApiUrl,
399 PromptSiPassword,
400 PromptMinPauseDuration,
401 PromptPauseThreshold,
402 PromptPollInterval,
403 PromptActivityThreshold,
404 PromptMinProductivityThreshold,
405 PromptWorkdayHours,
406 PromptMinWorkdayFraction,
407 PromptServerApiUrl,
408 PromptServerAuthToken,
409 PromptConfirmDelete,
410 PromptSelectOptions,
411 PromptSelectModules,
412 PromptSelectTasks,
413 PromptSelectTasksToEdit,
414 PromptSelectTasksToImport,
415 PromptSelectTasksToIgnore,
416 PromptSelectIgnoreNamesToRemove,
417 PromptAddIgnoreName,
418
419 OperationCompleted,
421 OperationCancelled,
422 DataExported,
423 BackupCreated,
424 InvalidInput,
425 PermissionDenied,
426 DeprecatedCommand(&'static str, &'static str), ErrorSendingEvents(String), ErrorSendingMonthlyReport(String), ErrorInRdevListener(String), ErrorRequestingRestDates(String), SelectingTask(String), SelectedTaskFormat(String, i32), JiraInboxRequiresJiraConfig,
440 JiraInboxEmpty,
441 JiraInboxListHeader,
442 JiraInboxSynced {
443 fetched: usize,
444 new_count: usize,
445 changed: usize,
446 gone: usize,
447 },
448 JiraInboxNewIssues(usize),
449 JiraInboxNotFound(String),
450 JiraInboxPinned(String),
451 JiraInboxUnpinned(String),
452 JiraInboxDismissed(String),
453 JiraInboxOpened(String),
454 JiraInboxTaken(String),
455 JiraInboxOpenFailed(String),
456 PromptJiraInboxEnabled,
457 PromptJiraInboxPollInterval,
458 PromptJiraInboxNotify,
459 PromptJiraInboxSortFieldId,
460 PromptJiraInboxSortFieldLabel,
461 PromptJiraInboxExtraFieldId,
462 PromptJiraInboxExtraFieldLabel,
463
464 MigrationsFound(usize), RunningMigration(u32, String), MigrationCompleted(u32), MigrationFailed(u32, String), AllMigrationsCompleted,
470 DatabaseVersion(u32),
471 DatabaseUpToDate,
472 DatabaseNeedsUpdate,
473 MigrationHistory,
474 NothingToRollback,
475 RollingBack(u32, u32), RollbackCompleted(u32), }