make navigation entries private

This commit is contained in:
yggverse 2025-01-27 16:38:01 +02:00
parent 3d1a07213c
commit 51e3f54661
6 changed files with 49 additions and 52 deletions

View file

@ -9,12 +9,9 @@ use gtk::{
gdk_pixbuf::Pixbuf,
gio::{Cancellable, SocketClientEvent},
glib::{Priority, Uri},
prelude::{EntryExt, SocketClientExt},
};
use gtk::{
glib::Bytes,
prelude::{EditableExt, FileExt},
prelude::SocketClientExt,
};
use gtk::{glib::Bytes, prelude::FileExt};
use std::{cell::Cell, path::MAIN_SEPARATOR, rc::Rc, time::Duration};
/// Multi-protocol client API for `Page` object
@ -59,7 +56,6 @@ impl Gemini {
subject
.page
.navigation
.request
.set_progress_fraction(progress_fraction);
}
});
@ -129,11 +125,7 @@ impl Gemini {
}
});
self.subject.tab_page.set_title("Titan input");
self.subject
.page
.navigation
.request
.set_progress_fraction(0.0);
self.subject.page.navigation.set_progress_fraction(0.0);
self.subject.tab_page.set_loading(false);
}
_ => panic!(), // unexpected
@ -201,7 +193,7 @@ fn handle(
Some(1024),
);
}
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&title);
redirects.replace(0); // reset
@ -273,7 +265,7 @@ fn handle(
}
},
);
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -296,7 +288,7 @@ fn handle(
Some(title) => title.into(), // @TODO
None => uri_to_title(&uri),
});
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.page.window_action
.find
@ -307,7 +299,7 @@ fn handle(
Err(e) => {
let status = subject.page.content.to_status_failure();
status.set_description(Some(&e.to_string()));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -351,7 +343,7 @@ fn handle(
subject.tab_page.set_title(&status.title());
}
}
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
redirects.replace(0); // reset
},
@ -360,7 +352,7 @@ fn handle(
Err(e) => {
let status = subject.page.content.to_status_failure();
status.set_description(Some(&e.to_string()));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -374,7 +366,7 @@ fn handle(
.content
.to_status_mime(mime, Some((&subject.page.item_action, &uri)));
status.set_description(Some(&format!("Content type `{mime}` yet not supported")));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -383,7 +375,7 @@ fn handle(
None => {
let status = subject.page.content.to_status_failure();
status.set_description(Some("MIME type not found"));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -421,7 +413,7 @@ fn handle(
if total > 5 {
let status = subject.page.content.to_status_failure();
status.set_description(Some("Redirection limit reached"));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -432,7 +424,7 @@ fn handle(
|| uri.host() != target.host() {
let status = subject.page.content.to_status_failure();
status.set_description(Some("External redirects not allowed by protocol specification"));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -440,8 +432,7 @@ fn handle(
} else {
if matches!(response.meta.status, Status::PermanentRedirect) {
subject.page.navigation
.request
.set_text(&uri.to_string());
.set_request(&uri.to_string());
}
redirects.replace(total);
subject.page.item_action.load.activate(Some(&target.to_string()), false);
@ -450,7 +441,7 @@ fn handle(
Err(e) => {
let status = subject.page.content.to_status_failure();
status.set_description(Some(&e.to_string()));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -459,7 +450,7 @@ fn handle(
None => {
let status = subject.page.content.to_status_failure();
status.set_description(Some("Redirection target not found"));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -478,7 +469,7 @@ fn handle(
None => response.meta.status.to_string(),
}));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -486,7 +477,7 @@ fn handle(
error => {
let status = subject.page.content.to_status_failure();
status.set_description(Some(&error.to_string()));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset
@ -496,7 +487,7 @@ fn handle(
Err(e) => {
let status = subject.page.content.to_status_failure();
status.set_description(Some(&e.to_string()));
subject.page.navigation.request.set_progress_fraction(0.0);
subject.page.navigation.set_progress_fraction(0.0);
subject.tab_page.set_loading(false);
subject.tab_page.set_title(&status.title());
redirects.replace(0); // reset