mirror of https://github.com/daleclack/My_GtkUi
Add scan control
This commit is contained in:
parent
130ac7cc2b
commit
c92d951f20
|
@ -17,6 +17,8 @@ static void back_activated(GSimpleAction *actions,
|
||||||
{
|
{
|
||||||
// Show preferences window
|
// Show preferences window
|
||||||
MyPrefs *prefs = main_win_get_prefs(MAIN_WIN(win));
|
MyPrefs *prefs = main_win_get_prefs(MAIN_WIN(win));
|
||||||
|
my_prefs_first_load(prefs);
|
||||||
|
my_prefs_start_scan(prefs);
|
||||||
gtk_window_present(GTK_WINDOW(prefs));
|
gtk_window_present(GTK_WINDOW(prefs));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -146,6 +146,7 @@ static gboolean prefs_win_closed(GtkWidget *window, MyDock *dock)
|
||||||
{
|
{
|
||||||
// For the preferences window, hide it
|
// For the preferences window, hide it
|
||||||
gtk_widget_set_visible(window, FALSE);
|
gtk_widget_set_visible(window, FALSE);
|
||||||
|
my_prefs_stop_scan(dock->prefs_win);
|
||||||
gtk_image_set_from_icon_name(GTK_IMAGE(dock->image_set), "my_prefs");
|
gtk_image_set_from_icon_name(GTK_IMAGE(dock->image_set), "my_prefs");
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ struct _MyPrefs
|
||||||
gboolean panel_mode; // Whether panel mode is activated
|
gboolean panel_mode; // Whether panel mode is activated
|
||||||
DockPos dock_pos; // Dock Position
|
DockPos dock_pos; // Dock Position
|
||||||
str_vec back_vec; // Vector of backgrounds
|
str_vec back_vec; // Vector of backgrounds
|
||||||
|
gboolean scan_ctrl; // Control the scan func
|
||||||
};
|
};
|
||||||
|
|
||||||
G_DEFINE_TYPE(MyPrefs, my_prefs, GTK_TYPE_WINDOW)
|
G_DEFINE_TYPE(MyPrefs, my_prefs, GTK_TYPE_WINDOW)
|
||||||
|
@ -609,7 +610,7 @@ static gboolean scan_func(gpointer data)
|
||||||
{
|
{
|
||||||
load_image(file_name, image_item_index, is_internal, prefs);
|
load_image(file_name, image_item_index, is_internal, prefs);
|
||||||
}
|
}
|
||||||
return TRUE;
|
return prefs->scan_ctrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void my_prefs_first_load(MyPrefs *self)
|
void my_prefs_first_load(MyPrefs *self)
|
||||||
|
@ -875,9 +876,16 @@ static void my_prefs_class_init(MyPrefsClass *klass)
|
||||||
void my_prefs_start_scan(MyPrefs *self)
|
void my_prefs_start_scan(MyPrefs *self)
|
||||||
{
|
{
|
||||||
// Add timer to scan the list
|
// Add timer to scan the list
|
||||||
|
self->scan_ctrl = TRUE;
|
||||||
g_timeout_add(1, scan_func, self);
|
g_timeout_add(1, scan_func, self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void my_prefs_stop_scan(MyPrefs *self)
|
||||||
|
{
|
||||||
|
// Stop scan for background update
|
||||||
|
self->scan_ctrl = FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
// Get Dock position
|
// Get Dock position
|
||||||
DockPos my_prefs_get_dock_pos(MyPrefs *self)
|
DockPos my_prefs_get_dock_pos(MyPrefs *self)
|
||||||
{
|
{
|
||||||
|
|
|
@ -13,6 +13,8 @@ G_DECLARE_FINAL_TYPE(MyPrefs, my_prefs, MY, PREFS, GtkWindow)
|
||||||
|
|
||||||
void my_prefs_start_scan(MyPrefs *self);
|
void my_prefs_start_scan(MyPrefs *self);
|
||||||
|
|
||||||
|
void my_prefs_stop_scan(MyPrefs *self);
|
||||||
|
|
||||||
void my_prefs_first_load(MyPrefs *self);
|
void my_prefs_first_load(MyPrefs *self);
|
||||||
|
|
||||||
DockPos my_prefs_get_dock_pos(MyPrefs *self);
|
DockPos my_prefs_get_dock_pos(MyPrefs *self);
|
||||||
|
|
Loading…
Reference in New Issue