create database for cards
This commit is contained in:
@@ -6,6 +6,7 @@ use gtk::glib::{clone, closure_local};
|
||||
use gtk::subclass::prelude::*;
|
||||
use gtk::{glib, Button, CompositeTemplate, ScrolledWindow, SearchEntry, Window};
|
||||
use gtk::{prelude::*, FileDialog};
|
||||
use sqlite;
|
||||
|
||||
use crate::ui::cards::new::*;
|
||||
use crate::widgets::card_entry::CardEntry;
|
||||
@@ -49,9 +50,7 @@ impl ObjectImpl for MemoryCardsEditScene {
|
||||
closure_local!(@strong binding => move |_b: &Button| {
|
||||
let new_win = Rc::new(MemoryCardsNewScene::new(&binding.application().unwrap()));
|
||||
new_win.get_file_choose_button().connect_clicked(clone!(@strong new_win => move |_| {
|
||||
let path = Rc::new(String::from(""));
|
||||
gtk::glib::MainContext::default().spawn_local(file_choose_dialog(Rc::clone(&new_win), Rc::clone(&path)));
|
||||
println!("{}", path); // this is empty cuz it's not waiting for user
|
||||
gtk::glib::MainContext::default().spawn_local(file_choose_dialog(Rc::clone(&new_win)));
|
||||
}));
|
||||
new_win.present();
|
||||
}));
|
||||
@@ -63,14 +62,17 @@ impl ObjectImpl for MemoryCardsEditScene {
|
||||
}
|
||||
}
|
||||
|
||||
async fn file_choose_dialog<W: IsA<gtk::Window>>(window: Rc<W>, mut _p: Rc<String>) {
|
||||
async fn file_choose_dialog<W: IsA<gtk::Window>>(window: Rc<W>) {
|
||||
let dialog: FileDialog = gtk::FileDialog::builder().build();
|
||||
let answer = dialog.open_future(Some(&*window)).await;
|
||||
let path = answer.unwrap().path().unwrap();
|
||||
let path = path.as_path().to_str();
|
||||
// _p = Rc::new(path.into_os_string().into_string().unwrap());
|
||||
let w: &MemoryCardsNewScene = Into::<&Window>::into(window.upcast_ref()).downcast_ref().unwrap(); // Weird casting from &Window as passed in func to &MemoryCardsNewScene
|
||||
w.get_image_widget().set_file(path);
|
||||
|
||||
let conn = sqlite::open("test.db").unwrap();
|
||||
|
||||
conn.execute("CREATE TABLE test(field_one TEXT, field_two INTEGER); INSERT INTO test VALUES ('Suka', 15);").unwrap();
|
||||
}
|
||||
|
||||
impl WidgetImpl for MemoryCardsEditScene {}
|
||||
|
||||
Reference in New Issue
Block a user