|
|
|
@ -86,6 +86,18 @@ void yon_storage_config_update(storage_config_window *window){
|
|
|
|
|
|
|
|
|
|
|
|
// filechooser window section
|
|
|
|
// filechooser window section
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void on_file_chooser_entry_changed(GtkEntry *self, file_chooser_window *window){
|
|
|
|
|
|
|
|
const char *text = gtk_entry_get_text(self);
|
|
|
|
|
|
|
|
GtkFileFilter *filter = gtk_file_chooser_get_filter(GTK_FILE_CHOOSER(window->FileChooserWidget));
|
|
|
|
|
|
|
|
gtk_file_chooser_remove_filter(GTK_FILE_CHOOSER(window->FileChooserWidget),filter);
|
|
|
|
|
|
|
|
filter = gtk_file_filter_new();
|
|
|
|
|
|
|
|
char *pattern = !yon_char_is_empty(text)?yon_char_unite("*",text,"*.pkg.tar*[^.sig]",NULL) : "*.pkg.tar*[^.sig]";
|
|
|
|
|
|
|
|
gtk_file_filter_add_pattern(filter,pattern);
|
|
|
|
|
|
|
|
gtk_file_filter_set_name(filter,"*.pkg.tar*");
|
|
|
|
|
|
|
|
gtk_file_chooser_add_filter(GTK_FILE_CHOOSER(window->FileChooserWidget),filter);
|
|
|
|
|
|
|
|
if (!yon_char_is_empty(text)) free(pattern);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
file_chooser_window *yon_file_chooser_window_new(){
|
|
|
|
file_chooser_window *yon_file_chooser_window_new(){
|
|
|
|
file_chooser_window *window = malloc(sizeof(file_chooser_window));
|
|
|
|
file_chooser_window *window = malloc(sizeof(file_chooser_window));
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_filechooser);
|
|
|
|
GtkBuilder *builder = gtk_builder_new_from_resource(glade_path_filechooser);
|
|
|
|
@ -97,6 +109,7 @@ file_chooser_window *yon_file_chooser_window_new(){
|
|
|
|
window->NameEntry = yon_gtk_builder_get_widget(builder,"NameEntry");
|
|
|
|
window->NameEntry = yon_gtk_builder_get_widget(builder,"NameEntry");
|
|
|
|
window->FileChooserWidget = yon_gtk_builder_get_widget(builder,"FileChooserWidget");
|
|
|
|
window->FileChooserWidget = yon_gtk_builder_get_widget(builder,"FileChooserWidget");
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
|
|
g_signal_connect(G_OBJECT(window->CancelButton),"clicked",G_CALLBACK(on_subwindow_close),NULL);
|
|
|
|
|
|
|
|
g_signal_connect(G_OBJECT(window->NameEntry),"changed",G_CALLBACK(on_file_chooser_entry_changed),window);
|
|
|
|
|
|
|
|
|
|
|
|
return window;
|
|
|
|
return window;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|