Compare commits

..

No commits in common. "f78546354078cff392bc79d1d45907946f934f41" and "fa128ca284fcf8c26be83d9507ffc8b826fa51a4" have entirely different histories.

7 changed files with 42 additions and 50 deletions

1
clippy.toml Normal file
View File

@ -0,0 +1 @@
"clippy::style" = "deny"

View File

@ -21,47 +21,47 @@ impl EchidnaCoreEditor {
// Without cloning it, for some reasons the Rust compiler complains about &this.to_imp().sourceview not being IsA<sourceview::View> // Without cloning it, for some reasons the Rust compiler complains about &this.to_imp().sourceview not being IsA<sourceview::View>
this_imp.minimap.set_view(&this_imp.sourceview.clone()); this_imp.minimap.set_view(&this_imp.sourceview.clone());
match file { if file.is_some() {
Some(file) => { let file = file.unwrap();
let file_location = file let file_location = file
.location() .location()
.expect("file is required to have a location"); .expect("file is required to have a location");
this.set_property("file", &file) this.set_property("file", &file)
.expect("Could not set the 'file' property of EchidnaCoreEditor"); .expect("Could not set the 'file' property of EchidnaCoreEditor");
let cancellable = gio::Cancellable::new(); let cancellable = gio::Cancellable::new();
let filepath = file_location.path().expect("No filepath"); let filepath = file_location.path().expect("No filepath");
let info = file_location let info = file_location
.query_info("*", gio::FileQueryInfoFlags::NONE, Some(&cancellable)) .query_info("*", gio::FileQueryInfoFlags::NONE, Some(&cancellable))
.expect("Could not query the info for file"); .expect("Could not query the info for file");
let content_type = info let content_type = info
.content_type() .content_type()
.expect(format!("It does not seem like {:?} has a type", filepath).as_str()); .expect(format!("It does not seem like {:?} has a type", filepath).as_str());
{ {
println!( println!(
"Opened {} and found its content type is {}.", "Opened {} and found its content type is {}.",
"file", "file",
content_type.to_string() content_type.to_string()
); );
let buffer = this_imp.sourceview.buffer().downcast::<Buffer>().expect("Cannot downcast the sourceview's buffer. Maybe the sourceview's buffer is not IsA<sourceview::Buffer>."); let buffer = this_imp.sourceview.buffer().downcast::<Buffer>().expect("Cannot downcast the sourceview's buffer. Maybe the sourceview's buffer is not IsA<sourceview::Buffer>.");
let language_manager = LanguageManager::new(); let language_manager = LanguageManager::new();
let language = language_manager.guess_language( let language = language_manager.guess_language(
Some(&info.name().to_str().expect( Some(&info.name().to_str().expect(
"Could not open the file because its name is not supported by Unicode.", "Could not open the file because its name is not supported by Unicode.",
)), )),
None, None,
); );
match language { match language {
Some(lang) => buffer.set_language(Some(&lang)), Some(lang) => buffer.set_language(Some(&lang)),
None => {} None => {}
} }
let file_loader: FileLoader = FileLoader::new(&buffer, &file); let file_loader: FileLoader = FileLoader::new(&buffer, &file);
file_loader.load_async( file_loader.load_async(
glib::Priority::default(), glib::Priority::default(),
Some(&cancellable), Some(&cancellable),
|_, _| {}, |_, _| {},
@ -71,9 +71,7 @@ impl EchidnaCoreEditor {
} }
}, },
); );
}
} }
None => {}
} }
this this
} }

View File

@ -15,9 +15,3 @@ impl EchidnaSidebar {
glib::Object::new(&[]).expect("Failed to create 'EchidnaSidebar' component.") glib::Object::new(&[]).expect("Failed to create 'EchidnaSidebar' component.")
} }
} }
impl Default for EchidnaSidebar {
fn default() -> Self {
Self::new()
}
}

View File

@ -36,9 +36,9 @@ impl BuildableImpl for TabLabel {
fn add_child( fn add_child(
&self, &self,
buildable: &Self::Type, buildable: &Self::Type,
_builder: &gtk::Builder, builder: &gtk::Builder,
child: &glib::Object, child: &glib::Object,
_type_: Option<&str>, type_: Option<&str>,
) { ) {
buildable.prepend(child.downcast_ref::<gtk::Widget>().unwrap()); buildable.prepend(child.downcast_ref::<gtk::Widget>().unwrap());
} }

View File

@ -17,9 +17,8 @@ impl TabLabel {
pub fn new<U: IsA<gtk::Widget>>(tab_label: Option<&U>) -> Self { pub fn new<U: IsA<gtk::Widget>>(tab_label: Option<&U>) -> Self {
let this: Self = glib::Object::new(&[]).expect("Failed to create 'TabLabel' component."); let this: Self = glib::Object::new(&[]).expect("Failed to create 'TabLabel' component.");
match tab_label { if tab_label.is_some() {
Some(tab_label) => this.prepend(tab_label), this.prepend(tab_label.unwrap());
None => {}
} }
this this
} }

View File

@ -67,7 +67,7 @@ impl FileImplementedEditor for super::EchidnaWindow {
notebook.prepend_closable_page( notebook.prepend_closable_page(
&editor_page, &editor_page,
Some(&Label::new(Some( Some(&Label::new(Some(
file_location &file_location
.path() .path()
.expect("The file's path is missing") .expect("The file's path is missing")
.file_name() .file_name()

View File

@ -4,7 +4,7 @@
use crate::components::tab_label::TabLabel; use crate::components::tab_label::TabLabel;
use glib::IsA; use glib::IsA;
use gtk::{prelude::*, Widget}; use gtk::{prelude::*, Box, Button, Widget};
pub trait ClosableTabImplementedNotebook { pub trait ClosableTabImplementedNotebook {
fn prepend_closable_page<T: IsA<Widget>, U: IsA<Widget>>( fn prepend_closable_page<T: IsA<Widget>, U: IsA<Widget>>(