mirror of https://github.com/daleclack/MyMedia.git
Update color config
This commit is contained in:
parent
21ad58c244
commit
652afa21fc
|
@ -652,6 +652,50 @@ char *my_media_player_get_color(MyMediaPlayer *player)
|
||||||
return color_str;
|
return color_str;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initalize a color for color button
|
||||||
|
static void btncolor_load_config(GtkWidget *btn)
|
||||||
|
{
|
||||||
|
// Open a json file
|
||||||
|
std::fstream json_file;
|
||||||
|
GdkRGBA color = {};
|
||||||
|
json_file.open("player.json", std::ios_base::in);
|
||||||
|
if (json_file.is_open()){
|
||||||
|
|
||||||
|
}
|
||||||
|
json_file.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Signal Handler for color button
|
||||||
|
static void btncolor_activated(GtkColorDialogButton *btn, gpointer data1)
|
||||||
|
{
|
||||||
|
const GdkRGBA *color;
|
||||||
|
|
||||||
|
// Get color config
|
||||||
|
color = gtk_color_dialog_button_get_rgba(btn);
|
||||||
|
|
||||||
|
// Create json data for color
|
||||||
|
json data = json::parse(R"(
|
||||||
|
{
|
||||||
|
red:0.0,
|
||||||
|
blue:0.0,
|
||||||
|
green:0.0,
|
||||||
|
alpha:0.0
|
||||||
|
}
|
||||||
|
)");
|
||||||
|
data["red"] = color->red;
|
||||||
|
data["blue"] = color->blue;
|
||||||
|
data["green"] = color->green;
|
||||||
|
data["alpha"] = color->alpha;
|
||||||
|
|
||||||
|
// Save config to json file
|
||||||
|
std::fstream outfile;
|
||||||
|
outfile.open("player.json", std::ios_base::out);
|
||||||
|
if (outfile.is_open()){
|
||||||
|
outfile << data;
|
||||||
|
}
|
||||||
|
outfile.close();
|
||||||
|
}
|
||||||
|
|
||||||
static void my_media_player_init(MyMediaPlayer *self)
|
static void my_media_player_init(MyMediaPlayer *self)
|
||||||
{
|
{
|
||||||
// Initalize window
|
// Initalize window
|
||||||
|
@ -697,6 +741,7 @@ static void my_media_player_init(MyMediaPlayer *self)
|
||||||
gtk_video_set_autoplay(GTK_VIDEO(self->video), FALSE);
|
gtk_video_set_autoplay(GTK_VIDEO(self->video), FALSE);
|
||||||
gtk_widget_set_hexpand(self->main_box, TRUE);
|
gtk_widget_set_hexpand(self->main_box, TRUE);
|
||||||
gtk_widget_set_vexpand(self->main_box, TRUE);
|
gtk_widget_set_vexpand(self->main_box, TRUE);
|
||||||
|
btncolor_load_config(self->btn_color);
|
||||||
|
|
||||||
// Link signals for buttons
|
// Link signals for buttons
|
||||||
g_signal_connect(self->btn_add, "clicked", G_CALLBACK(btnadd_clicked), self);
|
g_signal_connect(self->btn_add, "clicked", G_CALLBACK(btnadd_clicked), self);
|
||||||
|
@ -711,6 +756,7 @@ static void my_media_player_init(MyMediaPlayer *self)
|
||||||
g_signal_connect(self->btn_stop, "clicked", G_CALLBACK(btnstop_clicked), self);
|
g_signal_connect(self->btn_stop, "clicked", G_CALLBACK(btnstop_clicked), self);
|
||||||
g_signal_connect(self->btn_playmode, "clicked",
|
g_signal_connect(self->btn_playmode, "clicked",
|
||||||
G_CALLBACK(btn_playmode_clicked), self);
|
G_CALLBACK(btn_playmode_clicked), self);
|
||||||
|
g_signal_connect(self->btn_color, "activate", G_CALLBACK(btncolor_activated), self);
|
||||||
|
|
||||||
// Create store and list view
|
// Create store and list view
|
||||||
self->music_store = g_list_store_new(MY_ITEM_TYPE);
|
self->music_store = g_list_store_new(MY_ITEM_TYPE);
|
||||||
|
|
Loading…
Reference in New Issue