use arc on construct

This commit is contained in:
yggverse 2024-10-08 06:20:46 +03:00
parent 793d179164
commit e514312f84
3 changed files with 12 additions and 12 deletions

View File

@ -91,7 +91,7 @@ impl Tab {
is_initially_current: bool,
) -> Arc<Item> {
// Init new tab item
let item = Arc::new(Item::new(
let item = Item::new(
page_navigation_request_text.clone(),
is_initially_current,
// Actions
@ -100,7 +100,7 @@ impl Tab {
self.action_tab_page_navigation_history_forward.clone(),
self.action_tab_page_navigation_reload.clone(),
self.action_update.clone(),
));
);
// Register dynamically created tab components in the HashMap index
self.index.borrow_mut().insert(item.id(), item.clone());

View File

@ -38,14 +38,14 @@ impl Item {
action_tab_page_navigation_history_forward: Arc<SimpleAction>,
action_tab_page_navigation_reload: Arc<SimpleAction>,
action_update: Arc<SimpleAction>,
) -> Self {
) -> Arc<Self> {
// Generate unique ID for new page components
let id = uuid_string_random();
// Init components
let label = Label::new(id.clone(), false);
let page = Arc::new(Page::new(
let page = Page::new(
id.clone(),
page_navigation_request_text.clone(),
action_tab_page_navigation_base.clone(),
@ -53,15 +53,15 @@ impl Item {
action_tab_page_navigation_history_forward.clone(),
action_tab_page_navigation_reload.clone(),
action_update.clone(),
));
);
// Return struct
Self {
Arc::new(Self {
id,
is_initially_current,
label,
page,
}
})
}
// Actions
@ -142,7 +142,7 @@ impl Item {
Ok(records) => {
for record in records {
// Construct new item object
let item = Arc::new(Item::new(
let item = Item::new(
None,
record.is_initially_current,
// Actions
@ -151,7 +151,7 @@ impl Item {
action_tab_page_navigation_history_forward.clone(),
action_tab_page_navigation_reload.clone(),
action_update.clone(),
));
);
// Delegate restore action to the item childs
item.label.restore(transaction, &record.id)?;

View File

@ -44,7 +44,7 @@ impl Page {
action_tab_page_navigation_history_forward: Arc<SimpleAction>,
action_tab_page_navigation_reload: Arc<SimpleAction>,
action_update: Arc<SimpleAction>,
) -> Page {
) -> Arc<Self> {
// Init actions
let action_page_open = Arc::new(SimpleAction::new(
"open",
@ -102,7 +102,7 @@ impl Page {
});
// Return activated structure
Self {
Arc::new(Self {
// GTK
widget,
// Actions
@ -114,7 +114,7 @@ impl Page {
navigation,
// Extras
meta,
}
})
}
// Actions