mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-01-15 09:10:08 +00:00
reload page on identity apply
This commit is contained in:
parent
5128324f8e
commit
0091175d2a
@ -51,7 +51,7 @@ impl Item {
|
||||
let page = Rc::new(Page::new(
|
||||
id.clone(),
|
||||
profile.clone(),
|
||||
(actions.0, actions.1, action.clone()),
|
||||
(actions.0, actions.1.clone(), action.clone()),
|
||||
));
|
||||
|
||||
let widget = Rc::new(Widget::new(
|
||||
@ -86,7 +86,8 @@ impl Item {
|
||||
if let Some(uri) = page.navigation().request().uri() {
|
||||
// Rout by scheme
|
||||
if uri.scheme().to_lowercase() == "gemini" {
|
||||
return identity::new_gemini(profile.clone(), uri).present(Some(&parent));
|
||||
return identity::new_gemini(profile.clone(), actions.1.clone(), uri)
|
||||
.present(Some(&parent));
|
||||
}
|
||||
}
|
||||
// Show dialog with unsupported request message
|
||||
|
@ -4,13 +4,14 @@ mod unsupported;
|
||||
use gemini::Gemini;
|
||||
use unsupported::Unsupported;
|
||||
|
||||
use crate::app::browser::window::Action;
|
||||
use crate::profile::Profile;
|
||||
use gtk::glib::Uri;
|
||||
use std::rc::Rc;
|
||||
|
||||
/// Create new identity widget for Gemini protocol match given URI
|
||||
pub fn new_gemini(profile: Rc<Profile>, auth_uri: Uri) -> Gemini {
|
||||
Gemini::new(profile, auth_uri)
|
||||
pub fn new_gemini(profile: Rc<Profile>, action: Rc<Action>, auth_uri: Uri) -> Gemini {
|
||||
Gemini::new(profile, action, auth_uri)
|
||||
}
|
||||
|
||||
/// Create new identity widget for unknown request
|
||||
|
@ -1,6 +1,7 @@
|
||||
mod widget;
|
||||
use widget::Widget;
|
||||
|
||||
use crate::app::browser::window::Action;
|
||||
use crate::profile::Profile;
|
||||
use gtk::{
|
||||
gio::{prelude::TlsCertificateExt, TlsCertificate},
|
||||
@ -18,7 +19,7 @@ impl Gemini {
|
||||
// Construct
|
||||
|
||||
/// Create new `Self` for given Profile
|
||||
pub fn new(profile: Rc<Profile>, auth_uri: Uri) -> Self {
|
||||
pub fn new(profile: Rc<Profile>, action: Rc<Action>, auth_uri: Uri) -> Self {
|
||||
// Init widget
|
||||
let widget = Rc::new(Widget::new());
|
||||
|
||||
@ -86,15 +87,15 @@ impl Gemini {
|
||||
};
|
||||
|
||||
// Activate identity for given `auth_uri`
|
||||
profile
|
||||
match profile
|
||||
.identity
|
||||
.gemini
|
||||
.auth
|
||||
.activate(profile_identity_gemini_id, auth_url.as_str())
|
||||
.unwrap(); //@TODO handle errors
|
||||
|
||||
// Reload page
|
||||
// @TODO
|
||||
{
|
||||
Ok(_) => action.reload().activate(),
|
||||
Err(reason) => todo!("{:?}", reason),
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user