mirror of
https://gitlab.com/gabmus/envision.git
synced 2025-08-04 23:29:00 +00:00
feat: use adw navigation split view instead of overlay split view
This commit is contained in:
parent
7266f0b2f0
commit
71c8451833
3 changed files with 7 additions and 21 deletions
|
@ -74,7 +74,7 @@ pub struct App {
|
||||||
#[tracker::do_not_track]
|
#[tracker::do_not_track]
|
||||||
debug_view: Controller<DebugView>,
|
debug_view: Controller<DebugView>,
|
||||||
#[tracker::do_not_track]
|
#[tracker::do_not_track]
|
||||||
split_view: Option<adw::OverlaySplitView>,
|
split_view: Option<adw::NavigationSplitView>,
|
||||||
#[tracker::do_not_track]
|
#[tracker::do_not_track]
|
||||||
about_dialog: Controller<AboutDialog>,
|
about_dialog: Controller<AboutDialog>,
|
||||||
#[tracker::do_not_track]
|
#[tracker::do_not_track]
|
||||||
|
@ -276,17 +276,13 @@ impl SimpleComponent for App {
|
||||||
set_hexpand: true,
|
set_hexpand: true,
|
||||||
set_vexpand: true,
|
set_vexpand: true,
|
||||||
#[name = "split_view"]
|
#[name = "split_view"]
|
||||||
adw::OverlaySplitView {
|
adw::NavigationSplitView {
|
||||||
set_hexpand: true,
|
set_hexpand: true,
|
||||||
set_vexpand: true,
|
set_vexpand: true,
|
||||||
set_content: Some(model.main_view.widget()),
|
set_sidebar: Some(&adw::NavigationPage::new(model.main_view.widget(), APP_NAME)),
|
||||||
set_sidebar: Some(model.debug_view.widget()),
|
set_content: Some(&adw::NavigationPage::new(model.debug_view.widget(), "Debug View")),
|
||||||
set_sidebar_position: gtk::PackType::End,
|
set_show_content: false,
|
||||||
set_show_sidebar: model.config.debug_view_enabled,
|
set_collapsed: !model.config.debug_view_enabled,
|
||||||
set_sidebar_width_fraction: 1.0,
|
|
||||||
// stupid way to make sidebar hexpand
|
|
||||||
set_max_sidebar_width: 999999.9,
|
|
||||||
set_pin_sidebar: true,
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
connect_close_request[sender] => move |win| {
|
connect_close_request[sender] => move |win| {
|
||||||
|
@ -384,7 +380,7 @@ impl SimpleComponent for App {
|
||||||
self.set_enable_debug_view(val);
|
self.set_enable_debug_view(val);
|
||||||
self.config.debug_view_enabled = val;
|
self.config.debug_view_enabled = val;
|
||||||
self.config.save();
|
self.config.save();
|
||||||
self.split_view.clone().unwrap().set_show_sidebar(val);
|
self.split_view.clone().unwrap().set_collapsed(!val);
|
||||||
self.main_view
|
self.main_view
|
||||||
.sender()
|
.sender()
|
||||||
.emit(MainViewMsg::EnableDebugViewChanged(val));
|
.emit(MainViewMsg::EnableDebugViewChanged(val));
|
||||||
|
|
|
@ -66,10 +66,6 @@ impl SimpleComponent for DebugView {
|
||||||
set_hexpand: true,
|
set_hexpand: true,
|
||||||
set_vexpand: false,
|
set_vexpand: false,
|
||||||
add_css_class: "flat",
|
add_css_class: "flat",
|
||||||
#[wrap(Some)]
|
|
||||||
set_title_widget: title_label = &adw::WindowTitle {
|
|
||||||
set_title: "Debug View",
|
|
||||||
},
|
|
||||||
pack_end: search_toggle = >k::ToggleButton {
|
pack_end: search_toggle = >k::ToggleButton {
|
||||||
set_icon_name: "edit-find-symbolic",
|
set_icon_name: "edit-find-symbolic",
|
||||||
set_tooltip_text: Some("Filter Log"),
|
set_tooltip_text: Some("Filter Log"),
|
||||||
|
|
|
@ -140,16 +140,10 @@ impl SimpleComponent for MainView {
|
||||||
add_top_bar: top_bar = &adw::HeaderBar {
|
add_top_bar: top_bar = &adw::HeaderBar {
|
||||||
set_hexpand: true,
|
set_hexpand: true,
|
||||||
set_vexpand: false,
|
set_vexpand: false,
|
||||||
#[wrap(Some)]
|
|
||||||
set_title_widget: title_label = &adw::WindowTitle {
|
|
||||||
set_title: APP_NAME,
|
|
||||||
},
|
|
||||||
pack_end: menu_btn = >k::MenuButton {
|
pack_end: menu_btn = >k::MenuButton {
|
||||||
set_icon_name: "open-menu-symbolic",
|
set_icon_name: "open-menu-symbolic",
|
||||||
set_menu_model: Some(&app_menu),
|
set_menu_model: Some(&app_menu),
|
||||||
},
|
},
|
||||||
#[track = "model.changed(Self::enable_debug_view())"]
|
|
||||||
set_show_end_title_buttons: !model.enable_debug_view,
|
|
||||||
},
|
},
|
||||||
#[wrap(Some)]
|
#[wrap(Some)]
|
||||||
set_content: content = >k::ScrolledWindow {
|
set_content: content = >k::ScrolledWindow {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue