Track archived tab state transitions
This commit is contained in:
@@ -17,7 +17,8 @@ pub struct ArchivedTab {
|
||||
|
||||
impl ArchivedTab {
|
||||
#[must_use]
|
||||
pub fn new(tab: BrowserTab, source: ArchiveSource) -> Self {
|
||||
pub fn new(mut tab: BrowserTab, source: ArchiveSource) -> Self {
|
||||
tab.mark_archived();
|
||||
Self { tab, archived_at: SystemTime::now(), source }
|
||||
}
|
||||
|
||||
@@ -38,6 +39,8 @@ impl ArchivedTab {
|
||||
|
||||
#[must_use]
|
||||
pub fn into_tab(self) -> BrowserTab {
|
||||
self.tab
|
||||
let mut tab = self.tab;
|
||||
tab.mark_ready();
|
||||
tab
|
||||
}
|
||||
}
|
||||
|
||||
@@ -85,6 +85,14 @@ impl BrowserTab {
|
||||
&self.state
|
||||
}
|
||||
|
||||
pub fn mark_archived(&mut self) {
|
||||
self.state = TabState::Archived;
|
||||
}
|
||||
|
||||
pub fn mark_ready(&mut self) {
|
||||
self.state = TabState::Ready;
|
||||
}
|
||||
|
||||
#[must_use]
|
||||
pub fn flags(&self) -> &TabFlags {
|
||||
&self.flags
|
||||
|
||||
Reference in New Issue
Block a user