mirror of
https://github.com/YGGverse/Yoda.git
synced 2025-01-15 17:20:08 +00:00
remove extra methods
This commit is contained in:
parent
41ccee209f
commit
12fa47f8f9
@ -13,7 +13,10 @@ use widget::Widget;
|
||||
use crate::app::browser::action::Action as BrowserAction;
|
||||
use crate::app::browser::window::action::Action as WindowAction;
|
||||
use adw::TabView;
|
||||
use gtk::glib::{GString, Propagation};
|
||||
use gtk::{
|
||||
glib::{GString, Propagation},
|
||||
prelude::WidgetExt,
|
||||
};
|
||||
use sqlite::Transaction;
|
||||
use std::{cell::RefCell, collections::HashMap, rc::Rc};
|
||||
|
||||
@ -104,7 +107,7 @@ impl Tab {
|
||||
if let Some(id) = page.keyword() {
|
||||
if let Some(item) = index.borrow().get(&id) {
|
||||
item.set_page_navigation_request_text(value.as_str());
|
||||
item.page_reload();
|
||||
item.page().reload();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -139,7 +142,13 @@ impl Tab {
|
||||
// Register dynamically created tab components in the HashMap index
|
||||
self.index.borrow_mut().insert(item.id(), item.clone());
|
||||
|
||||
item.page_navigation_request_grab_focus(); // @TODO
|
||||
item.page()
|
||||
.navigation()
|
||||
.request()
|
||||
.widget()
|
||||
.gobject()
|
||||
.grab_focus();
|
||||
|
||||
item
|
||||
}
|
||||
|
||||
@ -162,7 +171,7 @@ impl Tab {
|
||||
if let Some(page) = self.widget.page(page_position) {
|
||||
if let Some(id) = page.keyword() {
|
||||
if let Some(item) = self.index.borrow().get(&id) {
|
||||
item.page_home();
|
||||
item.page().home();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -172,7 +181,7 @@ impl Tab {
|
||||
if let Some(page) = self.widget.page(page_position) {
|
||||
if let Some(id) = page.keyword() {
|
||||
if let Some(item) = self.index.borrow().get(&id) {
|
||||
item.page_history_back();
|
||||
item.page().history_back();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -182,7 +191,7 @@ impl Tab {
|
||||
if let Some(page) = self.widget.page(page_position) {
|
||||
if let Some(id) = page.keyword() {
|
||||
if let Some(item) = self.index.borrow().get(&id) {
|
||||
item.page_history_forward();
|
||||
item.page().history_forward();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -193,7 +202,7 @@ impl Tab {
|
||||
if let Some(page) = self.widget.page(page_position) {
|
||||
if let Some(id) = page.keyword() {
|
||||
if let Some(item) = self.index.borrow().get(&id) {
|
||||
item.page_reload();
|
||||
item.page().reload();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -10,7 +10,10 @@ use crate::app::browser::action::Action as BrowserAction;
|
||||
use crate::app::browser::window::action::Action as WindowAction;
|
||||
use crate::app::browser::window::tab::action::Action as TabAction;
|
||||
use adw::{TabPage, TabView};
|
||||
use gtk::glib::{uuid_string_random, GString};
|
||||
use gtk::{
|
||||
glib::{uuid_string_random, GString},
|
||||
prelude::EditableExt,
|
||||
};
|
||||
use sqlite::Transaction;
|
||||
use std::rc::Rc;
|
||||
|
||||
@ -63,26 +66,6 @@ impl Item {
|
||||
}
|
||||
|
||||
// Actions
|
||||
pub fn page_home(&self) {
|
||||
self.page.home()
|
||||
}
|
||||
|
||||
pub fn page_history_back(&self) {
|
||||
self.page.history_back()
|
||||
}
|
||||
|
||||
pub fn page_history_forward(&self) {
|
||||
self.page.history_forward()
|
||||
}
|
||||
|
||||
pub fn page_reload(&self) {
|
||||
self.page.reload()
|
||||
}
|
||||
|
||||
pub fn page_navigation_request_grab_focus(&self) {
|
||||
self.page.navigation_request_grab_focus()
|
||||
}
|
||||
|
||||
pub fn update(&self) {
|
||||
// Update child components
|
||||
self.page.update();
|
||||
@ -188,14 +171,24 @@ impl Item {
|
||||
|
||||
// Setters
|
||||
pub fn set_page_navigation_request_text(&self, value: &str) {
|
||||
self.page.set_navigation_request_text(value);
|
||||
self.page
|
||||
.navigation()
|
||||
.request()
|
||||
.widget()
|
||||
.gobject()
|
||||
.set_text(value);
|
||||
}
|
||||
|
||||
// Getters
|
||||
|
||||
pub fn id(&self) -> GString {
|
||||
self.id.clone()
|
||||
}
|
||||
|
||||
pub fn page(&self) -> &Rc<Page> {
|
||||
&self.page
|
||||
}
|
||||
|
||||
pub fn page_is_loading(&self) -> bool {
|
||||
self.page.is_loading()
|
||||
}
|
||||
|
@ -26,7 +26,8 @@ use gtk::{
|
||||
RegexMatchFlags, Uri, UriFlags, UriHideFlags,
|
||||
},
|
||||
prelude::{
|
||||
ActionExt, CancellableExt, IOStreamExt, OutputStreamExt, SocketClientExt, StaticVariantType,
|
||||
ActionExt, CancellableExt, EditableExt, IOStreamExt, OutputStreamExt, SocketClientExt,
|
||||
StaticVariantType,
|
||||
},
|
||||
Box,
|
||||
};
|
||||
@ -79,7 +80,7 @@ impl Page {
|
||||
let widget = Widget::new_rc(
|
||||
&id,
|
||||
action_page_open.clone(),
|
||||
navigation.gobject(),
|
||||
navigation.widget().gobject(),
|
||||
content.gobject(),
|
||||
input.gobject(),
|
||||
);
|
||||
@ -114,7 +115,7 @@ impl Page {
|
||||
let this = this.clone();
|
||||
move |_, request| {
|
||||
// Set request value from action parameter
|
||||
this.navigation.set_request_text(
|
||||
this.navigation().request().widget().gobject().set_text(
|
||||
&request
|
||||
.expect("Parameter required for this action")
|
||||
.get::<String>()
|
||||
@ -135,7 +136,7 @@ impl Page {
|
||||
/// Navigate home URL (parsed from current navigation entry)
|
||||
/// * this method create new history record in memory as defined in `action_page_open` action
|
||||
pub fn home(&self) {
|
||||
if let Some(url) = self.navigation.home_url() {
|
||||
if let Some(url) = self.navigation.home().url() {
|
||||
// Update with history record
|
||||
self.tab_action.open().activate(Some(&url));
|
||||
}
|
||||
@ -144,9 +145,13 @@ impl Page {
|
||||
/// Navigate back in history
|
||||
/// * this method does not create new history record in memory
|
||||
pub fn history_back(&self) {
|
||||
if let Some(request) = self.navigation.history_back(true) {
|
||||
if let Some(request) = self.navigation.history().back(true) {
|
||||
// Update navigation entry
|
||||
self.navigation.set_request_text(&request);
|
||||
self.navigation
|
||||
.request()
|
||||
.widget()
|
||||
.gobject()
|
||||
.set_text(&request);
|
||||
|
||||
// Load page (without history record)
|
||||
self.load(false);
|
||||
@ -156,9 +161,13 @@ impl Page {
|
||||
/// Navigate forward in history
|
||||
/// * this method does not create new history record in memory
|
||||
pub fn history_forward(&self) {
|
||||
if let Some(request) = self.navigation.history_forward(true) {
|
||||
if let Some(request) = self.navigation.history().forward(true) {
|
||||
// Update navigation entry
|
||||
self.navigation.set_request_text(&request);
|
||||
self.navigation
|
||||
.request()
|
||||
.widget()
|
||||
.gobject()
|
||||
.set_text(&request);
|
||||
|
||||
// Load page (without history record)
|
||||
self.load(false);
|
||||
@ -213,7 +222,10 @@ impl Page {
|
||||
// Update navigation on redirect `is_foreground`
|
||||
if redirect.is_foreground() {
|
||||
self.navigation
|
||||
.set_request_text(redirect.request().as_str());
|
||||
.request()
|
||||
.widget()
|
||||
.gobject()
|
||||
.set_text(redirect.request().as_str());
|
||||
}
|
||||
|
||||
// Return value from redirection holder
|
||||
@ -223,18 +235,18 @@ impl Page {
|
||||
self.meta.unset_redirect_count();
|
||||
|
||||
// Return value from navigation entry
|
||||
self.navigation.request_text()
|
||||
self.navigation.request().widget().gobject().text()
|
||||
};
|
||||
|
||||
// Add history record
|
||||
if history {
|
||||
match self.navigation.history_current() {
|
||||
match self.navigation.history().current() {
|
||||
Some(current) => {
|
||||
if current != request {
|
||||
self.navigation.history_add(request.clone());
|
||||
self.navigation.history().add(request.clone(), true);
|
||||
}
|
||||
}
|
||||
None => self.navigation.history_add(request.clone()),
|
||||
None => self.navigation.history().add(request.clone(), true),
|
||||
}
|
||||
}
|
||||
|
||||
@ -284,7 +296,11 @@ impl Page {
|
||||
match Uri::parse(&request, UriFlags::NONE) {
|
||||
Ok(_) => {
|
||||
// Update navigation entry
|
||||
self.navigation.set_request_text(&request);
|
||||
self.navigation
|
||||
.request()
|
||||
.widget()
|
||||
.gobject()
|
||||
.set_text(&request);
|
||||
|
||||
// Load page (without history record)
|
||||
self.load(false);
|
||||
@ -301,7 +317,11 @@ impl Page {
|
||||
);
|
||||
|
||||
// Update navigation entry
|
||||
self.navigation.set_request_text(&request);
|
||||
self.navigation
|
||||
.request()
|
||||
.widget()
|
||||
.gobject()
|
||||
.set_text(&request);
|
||||
|
||||
// Load page (without history record)
|
||||
self.load(false);
|
||||
@ -385,16 +405,6 @@ impl Page {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn navigation_request_grab_focus(&self) {
|
||||
self.navigation.request_grab_focus();
|
||||
}
|
||||
|
||||
// Setters
|
||||
|
||||
pub fn set_navigation_request_text(&self, value: &str) {
|
||||
self.navigation.set_request_text(value);
|
||||
}
|
||||
|
||||
// Getters
|
||||
|
||||
pub fn progress_fraction(&self) -> Option<f64> {
|
||||
@ -426,6 +436,15 @@ impl Page {
|
||||
self.meta.title()
|
||||
}
|
||||
|
||||
/*
|
||||
pub fn meta(&self) -> &Rc<Meta> {
|
||||
&self.meta
|
||||
} */
|
||||
|
||||
pub fn navigation(&self) -> &Rc<Navigation> {
|
||||
&self.navigation
|
||||
}
|
||||
|
||||
pub fn gobject(&self) -> &Box {
|
||||
self.widget.gobject()
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ use widget::Widget;
|
||||
|
||||
use crate::app::browser::action::Action as BrowserAction;
|
||||
use crate::app::browser::window::action::Action as WindowAction;
|
||||
use gtk::{gio::SimpleAction, glib::GString, prelude::WidgetExt, Box};
|
||||
use gtk::{gio::SimpleAction, prelude::EditableExt};
|
||||
use sqlite::Transaction;
|
||||
use std::rc::Rc;
|
||||
|
||||
@ -63,30 +63,12 @@ impl Navigation {
|
||||
}
|
||||
|
||||
// Actions
|
||||
pub fn request_grab_focus(&self) {
|
||||
self.request.gobject().grab_focus();
|
||||
}
|
||||
|
||||
pub fn history_add(&self, request: GString) {
|
||||
self.history.add(request, true);
|
||||
}
|
||||
|
||||
pub fn history_back(&self, follow_to_index: bool) -> Option<GString> {
|
||||
self.history.back(follow_to_index)
|
||||
}
|
||||
|
||||
pub fn history_current(&self) -> Option<GString> {
|
||||
self.history.current()
|
||||
}
|
||||
|
||||
pub fn history_forward(&self, follow_to_index: bool) -> Option<GString> {
|
||||
self.history.forward(follow_to_index)
|
||||
}
|
||||
|
||||
pub fn update(&self, progress_fraction: Option<f64>) {
|
||||
self.home.update(self.request.uri());
|
||||
self.history.update();
|
||||
self.reload.update(!self.request.text().is_empty());
|
||||
self.reload
|
||||
.update(!self.request.widget().gobject().text().is_empty());
|
||||
self.request.update(progress_fraction);
|
||||
self.bookmark.update();
|
||||
}
|
||||
@ -150,22 +132,32 @@ impl Navigation {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// Setters
|
||||
pub fn set_request_text(&self, value: &str) {
|
||||
self.request.set_text(value);
|
||||
}
|
||||
|
||||
// Getters
|
||||
pub fn gobject(&self) -> &Box {
|
||||
self.widget.gobject()
|
||||
|
||||
pub fn home(&self) -> &Rc<Home> {
|
||||
&self.home
|
||||
}
|
||||
|
||||
pub fn home_url(&self) -> Option<GString> {
|
||||
self.home.url()
|
||||
pub fn history(&self) -> &Rc<History> {
|
||||
&self.history
|
||||
}
|
||||
|
||||
pub fn request_text(&self) -> GString {
|
||||
self.request.text()
|
||||
/*
|
||||
pub fn reload(&self) -> &Rc<Reload> {
|
||||
&self.reload
|
||||
} */
|
||||
|
||||
pub fn request(&self) -> &Rc<Request> {
|
||||
&self.request
|
||||
}
|
||||
|
||||
/*
|
||||
pub fn bookmark(&self) -> &Rc<Bookmark> {
|
||||
&self.bookmark
|
||||
} */
|
||||
|
||||
pub fn widget(&self) -> &Rc<Widget> {
|
||||
&self.widget
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -7,7 +7,8 @@ use widget::Widget;
|
||||
use crate::app::browser::action::Action as BrowserAction;
|
||||
use gtk::{
|
||||
gio::SimpleAction,
|
||||
glib::{GString, Uri, UriFlags},
|
||||
glib::{Uri, UriFlags},
|
||||
prelude::EditableExt,
|
||||
Entry,
|
||||
};
|
||||
use sqlite::Transaction;
|
||||
@ -94,22 +95,17 @@ impl Request {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
// Setters
|
||||
pub fn set_text(&self, value: &str) {
|
||||
self.widget.set_text(value);
|
||||
}
|
||||
|
||||
// Getters
|
||||
pub fn gobject(&self) -> &Entry {
|
||||
self.widget.gobject()
|
||||
}
|
||||
|
||||
pub fn text(&self) -> GString {
|
||||
self.widget.text()
|
||||
pub fn widget(&self) -> &Rc<Widget> {
|
||||
&self.widget
|
||||
}
|
||||
|
||||
pub fn uri(&self) -> Option<Uri> {
|
||||
match Uri::parse(&self.widget.text(), UriFlags::NONE) {
|
||||
match Uri::parse(&self.widget.gobject().text(), UriFlags::NONE) {
|
||||
Ok(uri) => Some(uri),
|
||||
_ => None,
|
||||
}
|
||||
|
@ -5,7 +5,7 @@ use database::Database;
|
||||
use crate::app::browser::action::Action as BrowserAction;
|
||||
use gtk::{
|
||||
gio::SimpleAction,
|
||||
glib::{timeout_add_local, ControlFlow, GString, SourceId},
|
||||
glib::{timeout_add_local, ControlFlow, SourceId},
|
||||
prelude::{ActionExt, EditableExt, EntryExt, ToVariant, WidgetExt},
|
||||
Entry, StateFlags,
|
||||
};
|
||||
@ -202,19 +202,11 @@ impl Widget {
|
||||
}
|
||||
}
|
||||
|
||||
// Setters
|
||||
pub fn set_text(&self, value: &str) {
|
||||
self.gobject.set_text(value);
|
||||
}
|
||||
|
||||
// Getters
|
||||
|
||||
pub fn gobject(&self) -> &Entry {
|
||||
&self.gobject
|
||||
}
|
||||
|
||||
pub fn text(&self) -> GString {
|
||||
self.gobject.text()
|
||||
}
|
||||
}
|
||||
|
||||
// Tools
|
||||
|
Loading…
x
Reference in New Issue
Block a user