@@ -15,6 +15,7 @@ use std::{
1515 ops:: { Deref , Range } ,
1616 path:: Path ,
1717 rc:: Rc ,
18+ time:: Instant ,
1819} ;
1920
2021struct DB {
@@ -80,6 +81,7 @@ impl<'a> IntoIterator for SqliteRow<'a> {
8081}
8182
8283fn try_export_db ( path : & Path , db : Database ) -> rusqlite:: Result < ( ) > {
84+ let start = Instant :: now ( ) ;
8385 let conn = rusqlite:: Connection :: open ( path) ?;
8486
8587 conn. execute ( "BEGIN" , rusqlite:: params![ ] ) ?;
@@ -93,7 +95,7 @@ fn try_export_db(path: &Path, db: Database) -> rusqlite::Result<()> {
9395 if first {
9496 first = false ;
9597 } else {
96- write ! ( create_query, ",\n " ) . unwrap ( ) ;
98+ writeln ! ( create_query, "," ) . unwrap ( ) ;
9799 write ! ( insert_query, ", " ) . unwrap ( ) ;
98100 }
99101 let typ = match col. value_type ( ) {
@@ -126,6 +128,12 @@ fn try_export_db(path: &Path, db: Database) -> rusqlite::Result<()> {
126128
127129 conn. execute ( "COMMIT" , rusqlite:: params![ ] ) ?;
128130
131+ let duration = start. elapsed ( ) ;
132+ println ! (
133+ "Export finished in {}.{}s" ,
134+ duration. as_secs( ) ,
135+ duration. as_millis( ) % 1000
136+ ) ;
129137 Ok ( ( ) )
130138}
131139
@@ -366,30 +374,17 @@ fn main() {
366374 let cidx_i32 = i32:: try_from ( col_index) . unwrap ( ) ;
367375 column. add_attribute ( & cell, "text" , cidx_i32) ;
368376 tree. append_column ( & column) ;
369-
370- /*<gtk::TreeViewColumn as gtk::TreeViewColumnExt>::set_cell_data_func(
371- &column,
372- &cell,
373- Some(Box::new(
374- move |_column: >k::TreeViewColumn,
375- cell: >k::CellRenderer,
376- _model: >k::TreeModel,
377- _iter: >k::TreeIter| {
378- cell.set_property("text", &"Foo").unwrap();
379- },
380- )),
381- );*/
382377 }
383378
384379 let paging = Rc :: new ( RefCell :: new ( None ) ) ;
385380 let page: Rc < RefCell < Option < TablePage > > > = Rc :: new ( RefCell :: new ( None ) ) ;
386381
387382 let set_paging = {
388383 let paging = paging. clone ( ) ;
389- let button_box_paging = button_box_paging. clone ( ) ;
384+ // let button_box_paging = button_box_paging.clone();
390385 let button_previous = button_previous. clone ( ) ;
391386 let button_next = button_next. clone ( ) ;
392- let label_page = label_page. clone ( ) ;
387+ // let label_page = label_page.clone();
393388 move |new : Option < Paging > | {
394389 * paging. borrow_mut ( ) = new;
395390 if let Some ( p) = new {
@@ -410,7 +405,7 @@ fn main() {
410405 let set_paging = set_paging. clone ( ) ;
411406 move |_button_next| {
412407 if let Some ( page) = page. borrow ( ) . deref ( ) {
413- let opt = paging. borrow ( ) . clone ( ) ;
408+ let opt = * paging. borrow ( ) ;
414409 if let Some ( paging) = opt {
415410 let b = database_memmap. borrow ( ) ;
416411 let mmap = & b. as_ref ( ) . unwrap ( ) . mmap [ ..] ;
@@ -436,11 +431,11 @@ fn main() {
436431 button_next. connect_clicked ( {
437432 let page = page. clone ( ) ;
438433 let database_memmap = database_memmap. clone ( ) ;
439- let paging = paging. clone ( ) ;
434+ // let paging = paging.clone();
440435 let set_paging = set_paging. clone ( ) ;
441436 move |_button_next| {
442437 if let Some ( page) = page. borrow ( ) . deref ( ) {
443- let opt = paging. borrow ( ) . clone ( ) ;
438+ let opt = * paging. borrow ( ) ;
444439 if let Some ( paging) = opt {
445440 let b = database_memmap. borrow ( ) ;
446441 let mmap = & b. as_ref ( ) . unwrap ( ) . mmap [ ..] ;
@@ -464,10 +459,10 @@ fn main() {
464459 } ) ;
465460
466461 listbox. connect_row_selected ( {
467- let table_content_view = table_content_view. clone ( ) ;
462+ // let table_content_view = table_content_view.clone();
468463 let database_memmap = database_memmap. clone ( ) ;
469- let page = page. clone ( ) ;
470- let set_paging = set_paging. clone ( ) ;
464+ // let page = page.clone();
465+ // let set_paging = set_paging.clone();
471466 move |_list, obj| {
472467 if let Some ( row) = obj {
473468 table_content_view. set_model :: < gtk:: TreeStore > ( None ) ;
@@ -526,7 +521,7 @@ fn main() {
526521 } ) ;
527522
528523 let load = {
529- let listbox = listbox. clone ( ) ;
524+ // let listbox = listbox.clone();
530525 let database_memmap = database_memmap. clone ( ) ;
531526 let add_table_row = add_table_row. clone ( ) ;
532527 let button_export = button_export. clone ( ) ;
@@ -559,7 +554,6 @@ fn main() {
559554
560555 button_open. connect_clicked ( {
561556 let window = window. clone ( ) ;
562- let header = header. clone ( ) ;
563557 move |_| {
564558 let file_chooser = gtk:: FileChooserDialog :: new (
565559 Some ( "Foo" ) ,
0 commit comments