Temporary exposed download cleaner into the gui.
This commit is contained in:
+22
-2
@@ -15,11 +15,12 @@ extern crate open;
|
||||
|
||||
use log::LogLevel;
|
||||
use hammond_data::index_feed;
|
||||
use hammond_data::dbcheckup;
|
||||
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
||||
use gtk::prelude::*;
|
||||
use gio::ApplicationExt;
|
||||
use gio::{ActionMapExt, ApplicationExt, MenuExt, SimpleActionExt};
|
||||
|
||||
mod views;
|
||||
mod widgets;
|
||||
@@ -36,6 +37,11 @@ THIS IS STILL A PROTOTYPE.
|
||||
fn build_ui(app: >k::Application) {
|
||||
let db = Arc::new(Mutex::new(hammond_data::establish_connection()));
|
||||
|
||||
let menu = gio::Menu::new();
|
||||
menu.append("Quit", "app.quit");
|
||||
menu.append("Checkup", "app.check");
|
||||
app.set_app_menu(&menu);
|
||||
|
||||
// Get the main window
|
||||
let window = gtk::ApplicationWindow::new(app);
|
||||
window.set_default_size(1050, 600);
|
||||
@@ -48,10 +54,24 @@ fn build_ui(app: >k::Application) {
|
||||
Inhibit(false)
|
||||
});
|
||||
|
||||
let quit = gio::SimpleAction::new("quit", None);
|
||||
let window2 = window.clone();
|
||||
quit.connect_activate(move |_, _| {
|
||||
window2.destroy();
|
||||
});
|
||||
app.add_action(&quit);
|
||||
|
||||
let db2 = db.clone();
|
||||
let check = gio::SimpleAction::new("check", None);
|
||||
check.connect_activate(move |_, _| {
|
||||
let _ = dbcheckup::run(&db2);
|
||||
});
|
||||
app.add_action(&check);
|
||||
|
||||
// Get the headerbar
|
||||
let header = headerbar::get_headerbar(&db, &stack);
|
||||
|
||||
// TODO: add delay, cause else theres lock contention for the db obj.
|
||||
// TODO: add delay, cause else there's lock contention for the db obj.
|
||||
// utils::refresh_db(db.clone(), stack.clone());
|
||||
window.set_titlebar(&header);
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ use hammond_data::dbqueries;
|
||||
use hammond_data::models::Episode;
|
||||
use hammond_downloader::downloader;
|
||||
use hammond_data::index_feed::Database;
|
||||
use hammond_data::dbcheckup::delete_local_content;
|
||||
use hammond_data::dbcheckup::*;
|
||||
|
||||
use dissolve::strip_html_tags;
|
||||
|
||||
@@ -81,8 +81,9 @@ fn epidose_widget(db: &Database, episode: &mut Episode, pd_title: &str) -> gtk::
|
||||
delete_button.show();
|
||||
}
|
||||
|
||||
play_button.connect_clicked(clone!(episode, db => move |_| {
|
||||
play_button.connect_clicked(clone!(db, episode => move |_| {
|
||||
on_play_bttn_clicked(&db, episode.id());
|
||||
let _ = set_watched(&db, &mut episode.clone());
|
||||
}));
|
||||
|
||||
delete_button.connect_clicked(
|
||||
|
||||
Reference in New Issue
Block a user