Skip to main content

Settings

Struct Settings 

Source
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: bool

No hours set at all: offices’ usual hours, open to every task.

§hours: Week

Which kinds of hours the week sets: what has none of its own goes where areas::in_view says.

§areas: TaskAreas

What each task is for: its own area, else its categories and projects.

§pause: u32

Minutes of pause after each step, taken from the room too.

§default_estimate: u32

Minutes counted for a task without an estimate.

§today_percent: u32

Today’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: u32

Heavy tasks today takes (its weather), and any other day.

§heavy_per_day: u32§needs: Needs

Meals, 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: Days

Each day’s own meals, naps and nights: moved, changed, taken out, added (with_days).

§capacity: Planning

What 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: u32

Minutes 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

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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).

Source

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.

Source

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.

Source

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).

Source

fn extra_on( &self, date: Date, zone: &TimeZone, hours: &[(i64, i64, Area)], ) -> Vec<(i64, i64, Area)>

Source

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.

Source

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).

Source

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.

Source

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).

Source

pub fn rest_days(&self) -> [bool; 7]

The weekdays without any hours, Monday first.

Trait Implementations§

Source§

impl Clone for Settings

Source§

fn clone(&self) -> Settings

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Settings

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Settings

Source§

fn default() -> Settings

Offices’ usual hours, Monday to Friday 9:00 to 17:00, open to every task, until yours are set.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> DynClone for T
where T: Clone,

§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows 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) -> R
where R: 'a,

Mutably borrows 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
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V