mirror of
https://github.com/xlmnxp/blue-recorder.git
synced 2025-04-02 15:54:55 +03:00
fix FileChooserButton
This commit is contained in:
parent
cec2d850d7
commit
d1c470681a
@ -1,9 +1,8 @@
|
|||||||
extern crate subprocess;
|
extern crate subprocess;
|
||||||
use chrono::prelude::*;
|
use chrono::prelude::*;
|
||||||
use gettextrs::gettext;
|
use gettextrs::gettext;
|
||||||
use gio::File;
|
|
||||||
use gtk::prelude::*;
|
use gtk::prelude::*;
|
||||||
use gtk::{Button, CheckButton, ComboBoxText, Entry, ProgressBar, SpinButton, Window};
|
use gtk::{Button, CheckButton, ComboBoxText, Entry, FileChooserNative, ProgressBar, SpinButton, Window};
|
||||||
use gtk::{ButtonsType, DialogFlags, MessageDialog, MessageType, ResponseType};
|
use gtk::{ButtonsType, DialogFlags, MessageDialog, MessageType, ResponseType};
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
@ -51,7 +50,7 @@ impl ProgressWidget {
|
|||||||
|
|
||||||
#[derive(Clone)]
|
#[derive(Clone)]
|
||||||
pub struct Ffmpeg {
|
pub struct Ffmpeg {
|
||||||
pub filename: (File, Entry, ComboBoxText),
|
pub filename: (FileChooserNative, Entry, ComboBoxText),
|
||||||
pub record_video: CheckButton,
|
pub record_video: CheckButton,
|
||||||
pub record_audio: CheckButton,
|
pub record_audio: CheckButton,
|
||||||
pub audio_id: ComboBoxText,
|
pub audio_id: ComboBoxText,
|
||||||
@ -80,6 +79,8 @@ impl Ffmpeg {
|
|||||||
self.saved_filename = Some(
|
self.saved_filename = Some(
|
||||||
self.filename
|
self.filename
|
||||||
.0
|
.0
|
||||||
|
.file()
|
||||||
|
.unwrap()
|
||||||
.path()
|
.path()
|
||||||
.unwrap()
|
.unwrap()
|
||||||
.join(PathBuf::from(format!(
|
.join(PathBuf::from(format!(
|
||||||
|
@ -304,6 +304,7 @@ pub fn build_ui(application: &Application) {
|
|||||||
);
|
);
|
||||||
folder_chooser_native.set_transient_for(Some(&main_window));
|
folder_chooser_native.set_transient_for(Some(&main_window));
|
||||||
folder_chooser_native.set_modal(true);
|
folder_chooser_native.set_modal(true);
|
||||||
|
folder_chooser_native.set_file(&gio::File::for_uri(&config_management::get("default", "folder"))).unwrap();
|
||||||
let folder_chooser = Some(gio::File::for_uri(&config_management::get("default", "folder"))).unwrap();
|
let folder_chooser = Some(gio::File::for_uri(&config_management::get("default", "folder"))).unwrap();
|
||||||
let folder_chooser_name = folder_chooser.basename().unwrap();
|
let folder_chooser_name = folder_chooser.basename().unwrap();
|
||||||
folder_chooser_label.set_label(&folder_chooser_name.to_string_lossy());
|
folder_chooser_label.set_label(&folder_chooser_name.to_string_lossy());
|
||||||
@ -313,6 +314,7 @@ pub fn build_ui(application: &Application) {
|
|||||||
folder_chooser_button.connect_clicked(glib::clone!(@strong folder_chooser_native => move |_| {
|
folder_chooser_button.connect_clicked(glib::clone!(@strong folder_chooser_native => move |_| {
|
||||||
folder_chooser_native.connect_response(glib::clone!(@strong folder_chooser_native, @strong folder_chooser_label, @strong folder_chooser_image => move |_, response| {
|
folder_chooser_native.connect_response(glib::clone!(@strong folder_chooser_native, @strong folder_chooser_label, @strong folder_chooser_image => move |_, response| {
|
||||||
if response == gtk::ResponseType::Accept {
|
if response == gtk::ResponseType::Accept {
|
||||||
|
folder_chooser_native.file().unwrap();
|
||||||
let folder_chooser = folder_chooser_native.file().unwrap();
|
let folder_chooser = folder_chooser_native.file().unwrap();
|
||||||
let folder_chooser_name = folder_chooser.basename().unwrap();
|
let folder_chooser_name = folder_chooser.basename().unwrap();
|
||||||
folder_chooser_label.set_label(&folder_chooser_name.to_string_lossy());
|
folder_chooser_label.set_label(&folder_chooser_name.to_string_lossy());
|
||||||
@ -373,7 +375,7 @@ pub fn build_ui(application: &Application) {
|
|||||||
|
|
||||||
// Init record struct
|
// Init record struct
|
||||||
let ffmpeg_record_interface: Rc<RefCell<Ffmpeg>> = Rc::new(RefCell::new(Ffmpeg {
|
let ffmpeg_record_interface: Rc<RefCell<Ffmpeg>> = Rc::new(RefCell::new(Ffmpeg {
|
||||||
filename: (folder_chooser, filename_entry, format_chooser_combobox),
|
filename: (folder_chooser_native, filename_entry, format_chooser_combobox),
|
||||||
record_video: video_switch,
|
record_video: video_switch,
|
||||||
record_audio: audio_switch,
|
record_audio: audio_switch,
|
||||||
audio_id: audio_source_combobox,
|
audio_id: audio_source_combobox,
|
||||||
|
Loading…
Reference in New Issue
Block a user