pub struct Settings {Show 22 fields
pub week: [Room; 7],
pub days: BTreeMap<Date, Room>,
pub windows: Vec<AdminWindow>,
pub anything: bool,
pub hours: Week,
pub areas: TaskAreas,
pub pause: u32,
pub default_estimate: u32,
pub today_percent: u32,
pub closed: BTreeSet<Date>,
pub office_days: [bool; 7],
pub office_hours: Vec<AdminWindow>,
pub heavy_today: u32,
pub heavy_per_day: u32,
pub needs: Needs,
pub shifts: BTreeMap<String, i64>,
pub needs_days: Days,
pub capacity: Planning,
pub extension: Option<(i64, i64)>,
pub light_only: u32,
pub pins: BTreeMap<String, Pin>,
pub records: BTreeMap<String, (i64, i64)>,
}Expand description
How much room the days have for tasks: your hours, each for what it is for.
Fields§
§week: [Room; 7]The week’s hours as room, Monday first.
days: BTreeMap<Date, Room>Days whose room is not their weekday’s: today from now on, the days
with events, the events taken out (with_events).
windows: Vec<AdminWindow>The week’s hours as written, for the day’s layout (dayview).
anything: boolNo hours set at all: offices’ usual hours, open to every task.
hours: WeekWhich kinds of hours the week sets: what has none of its own goes where areas::in_view says.
areas: TaskAreasWhat each task is for: its own area, else its categories and projects.
pause: u32Minutes of pause after each step, taken from the room too.
default_estimate: u32Minutes counted for a task without an estimate.
today_percent: u32Today’s share of its usual room, in percent: the day’s weather (today).
closed: BTreeSet<Date>Days without room, whatever their weekday: time off, a day stopped early.
office_days: [bool; 7]The weekdays offices open, Monday first: tasks that need one go only there.
office_hours: Vec<AdminWindow>Offices’ usual hours (Config::office_hours): the day’s layout puts a
task that needs an office, without hours of its own, only while they are open.
heavy_today: u32Heavy tasks today takes (its weather), and any other day.
heavy_per_day: u32§needs: NeedsMeals, naps and the night: kept free of tasks (with_needs).
shifts: BTreeMap<String, i64>Today’s meals pushed past its events, by key, in minutes (Needs::past_events_on).
needs_days: DaysEach day’s own meals, naps and nights: moved, changed, taken out, added (with_days).
capacity: PlanningWhat your record says (capacity): ratings, corrected lengths, budgets,
free time, the gain slot. Its default changes nothing.
extension: Option<(i64, i64)>Today’s end of work moved by free time: (usual end, moved end), Unix
seconds (with_extension, docs/pauses.md). Hours, not capacity: the
budgets do not see it, and only light steps go there.
light_only: u32Minutes of today’s room in it, kept for light steps (with_events).
pins: BTreeMap<String, Pin>Tasks pinned to a time (blocks), by UID: each laid in its block, the
block’s time out of its day’s room (with_pins, before with_events).
records: BTreeMap<String, (i64, i64)>Tasks done, by UID: the block that held their work, (start, end) in Unix seconds, where the day shows them done.
Implementations§
Source§impl Settings
impl Settings
Sourcepub fn of_hours(windows: &[AdminWindow], areas: TaskAreas) -> Settings
pub fn of_hours(windows: &[AdminWindow], areas: TaskAreas) -> Settings
The room your week’s hours give (Config::week_hours), each kind for
its own tasks; none set: offices’ usual hours, for everything.
Sourcepub fn flat(minutes: [u32; 7]) -> Settings
pub fn flat(minutes: [u32; 7]) -> Settings
The same minutes each weekday, Monday first, open to every task, no pause: for tests and simple plans.
Sourcepub fn with_needs(
self,
needs: &Needs,
shifts: BTreeMap<String, i64>,
) -> Settings
pub fn with_needs( self, needs: &Needs, shifts: BTreeMap<String, i64>, ) -> Settings
Meals, naps and the night kept free of tasks, every day (shifts:
today’s moved by its events, by key, in minutes). Before with_events,
which keeps them free on the days it lays out too.
Sourcepub fn with_days(self, days: Days) -> Settings
pub fn with_days(self, days: Days) -> Settings
Each day’s own meals, naps and nights (needs::Days): before
with_events, which lays out each day changed on its own.
Sourcepub fn with_pins(self, blocks: Blocks) -> Settings
pub fn with_pins(self, blocks: Blocks) -> Settings
The tasks pinned to a time (blocks::Blocks): before with_events,
which takes each block’s time, its margins and a pause around it, out of
its day’s room, as an event’s. Counted once: the plan lays the task
there without taking room again, and the block is no event of its own.
Sourcepub fn kept_on(
&self,
date: Date,
zone: &TimeZone,
today: Date,
) -> Vec<(i64, i64)>
pub fn kept_on( &self, date: Date, zone: &TimeZone, today: Date, ) -> Vec<(i64, i64)>
The times kept free on date, as that day has them; today’s meals
moved past its events as said (shifts).
Sourcefn kept_held(
&self,
date: Date,
zone: &TimeZone,
today: Date,
held: &[(i64, i64)],
) -> Vec<(i64, i64)>
fn kept_held( &self, date: Date, zone: &TimeZone, today: Date, held: &[(i64, i64)], ) -> Vec<(i64, i64)>
The same, another day’s meals moved past the events it holds (held:
their times with their margins), as today’s are.
Sourcepub fn with_extension(self, extension: Option<(i64, i64)>) -> Settings
pub fn with_extension(self, extension: Option<(i64, i64)>) -> Settings
Today’s end of work moved by free time, (usual end, moved end): before
with_events, which gives today the room, light steps only there.
Sourcepub fn extension_on(&self, date: Date, zone: &TimeZone) -> Vec<(i64, i64)>
pub fn extension_on(&self, date: Date, zone: &TimeZone) -> Vec<(i64, i64)>
The moved end’s stretch on date, outside the hours already there: none
on another day (docs/pauses.md).
fn extra_on( &self, date: Date, zone: &TimeZone, hours: &[(i64, i64, Area)], ) -> Vec<(i64, i64, Area)>
Sourcepub fn hours_on(&self, date: Date, zone: &TimeZone) -> Vec<(i64, i64, Area)>
pub fn hours_on(&self, date: Date, zone: &TimeZone) -> Vec<(i64, i64, Area)>
date’s hours as stretches, in order, the moved end of work included.
Sourcepub fn with_events(self, now: &Zoned, events: &[Occurrence]) -> Settings
pub fn with_events(self, now: &Zoned, events: &[Occurrence]) -> Settings
Today from now on, and the coming days with events: the events taken
out of their hours, a pause before and after each (appointments, meetings).
Sourcepub fn room_on(&self, date: Date) -> &Room
pub fn room_on(&self, date: Date) -> &Room
A day’s room: its own when it has events or is today, else its weekday’s.
Sourcepub fn usable(&self, task: &Task) -> Area
pub fn usable(&self, task: &Task) -> Area
The kinds of hours a task can take: those of its area, and those
areas::in_view lends what has no hours of its own. A call to an
office, as quiet::QuietTasks::keeps shows it: work and admin hours,
never leisure, as offices keep business hours (docs/areas.md).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Settings
impl RefUnwindSafe for Settings
impl Send for Settings
impl Sync for Settings
impl Unpin for Settings
impl UnsafeUnpin for Settings
impl UnwindSafe for Settings
Blanket Implementations§
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.