Remove unavailable style

This commit is contained in:
daleclack 2024-03-21 19:29:07 +08:00
parent 6f252388e4
commit 62d2b7e800
3 changed files with 66 additions and 61 deletions

View File

@ -32,6 +32,7 @@
} }
.main_style menubutton { .main_style menubutton {
background-color: transparent;
color: black; color: black;
} }

View File

@ -54,61 +54,62 @@ static gboolean label_timer(gpointer data)
return TRUE; return TRUE;
} }
static void check_dark_toggled(GtkCheckButton *button, gpointer data) // These are not working well now :(
{ // static void check_dark_toggled(GtkCheckButton *button, gpointer data)
// Create toml data // {
static constexpr std::string_view toml_str = R"( // // Create toml data
[interface] // static constexpr std::string_view toml_str = R"(
dark_mode = false // [interface]
)"; // dark_mode = false
toml::table tbl; // )";
// toml::table tbl;
try // try
{ // {
// Assign value for the key // // Assign value for the key
gboolean dark_mode = gtk_check_button_get_active(button); // gboolean dark_mode = gtk_check_button_get_active(button);
tbl = toml::parse(toml_str); // tbl = toml::parse(toml_str);
auto tbl1 = tbl["interface"].as_table(); // auto tbl1 = tbl["interface"].as_table();
tbl1->insert_or_assign("dark_mode", (bool)dark_mode); // tbl1->insert_or_assign("dark_mode", (bool)dark_mode);
// Save content to a file // // Save content to a file
std::fstream outfile; // std::fstream outfile;
outfile.open("config.toml", std::ios_base::out); // outfile.open("config.toml", std::ios_base::out);
if (outfile.is_open()) // if (outfile.is_open())
{ // {
outfile << tbl; // outfile << tbl;
} // }
outfile.close(); // outfile.close();
} // }
catch (const toml::parse_error &err) // catch (const toml::parse_error &err)
{ // {
// If error occurs, output the error // // If error occurs, output the error
std::cout << err.what() << std::endl; // std::cout << err.what() << std::endl;
} // }
} // }
static bool get_dark_mode() // static bool get_dark_mode()
{ // {
bool dark_mode = false; // bool dark_mode = false;
// Open config file // // Open config file
std::fstream infile; // std::fstream infile;
infile.open("config.toml", std::ios_base::in); // infile.open("config.toml", std::ios_base::in);
if (infile.is_open()) // if (infile.is_open())
{ // {
try // try
{ // {
// Get value from toml data // // Get value from toml data
toml::table tbl = toml::parse(infile); // toml::table tbl = toml::parse(infile);
dark_mode = tbl["interface"]["dark_mode"].as_boolean(); // dark_mode = tbl["interface"]["dark_mode"].as_boolean();
} // }
catch (const toml::parse_error &err) // catch (const toml::parse_error &err)
{ // {
toml::table tbl = toml::parse(infile); // toml::table tbl = toml::parse(infile);
} // }
} // }
infile.close(); // infile.close();
return dark_mode; // return dark_mode;
} // }
static void gesture_pressed(GtkGestureSingle *gesture, static void gesture_pressed(GtkGestureSingle *gesture,
int n_press, int n_press,
@ -126,7 +127,7 @@ static void main_win_init(MainWin *win)
// Initalize window // Initalize window
gtk_window_set_title(GTK_WINDOW(win), "My GtkUI Flos Version"); gtk_window_set_title(GTK_WINDOW(win), "My GtkUI Flos Version");
gtk_window_set_icon_name(GTK_WINDOW(win), "My_GtkUI"); gtk_window_set_icon_name(GTK_WINDOW(win), "My_GtkUI");
win->dark_mode = get_dark_mode(); // win->dark_mode = get_dark_mode();
// Create widgets // Create widgets
win->overlay = gtk_overlay_new(); win->overlay = gtk_overlay_new();
@ -159,7 +160,7 @@ static void main_win_init(MainWin *win)
GtkWidget *check_dark = gtk_check_button_new_with_label("Dark Mode"); GtkWidget *check_dark = gtk_check_button_new_with_label("Dark Mode");
gtk_check_button_set_active(GTK_CHECK_BUTTON(check_dark), win->dark_mode); gtk_check_button_set_active(GTK_CHECK_BUTTON(check_dark), win->dark_mode);
gtk_popover_menu_bar_add_child(GTK_POPOVER_MENU_BAR(menubar), check_dark, "check_dark"); gtk_popover_menu_bar_add_child(GTK_POPOVER_MENU_BAR(menubar), check_dark, "check_dark");
g_signal_connect(check_dark, "toggled", G_CALLBACK(check_dark_toggled), NULL); // g_signal_connect(check_dark, "toggled", G_CALLBACK(check_dark_toggled), NULL);
// Add a grid // Add a grid
win->main_grid = gtk_grid_new(); win->main_grid = gtk_grid_new();
@ -208,14 +209,14 @@ static void main_win_init(MainWin *win)
gtk_widget_add_css_class(GTK_WIDGET(menubar), "main_style"); gtk_widget_add_css_class(GTK_WIDGET(menubar), "main_style");
// gtk_widget_add_css_class(GTK_WIDGET(home_button), "main_style"); // gtk_widget_add_css_class(GTK_WIDGET(home_button), "main_style");
win->provider = GTK_STYLE_PROVIDER(gtk_css_provider_new()); win->provider = GTK_STYLE_PROVIDER(gtk_css_provider_new());
if (win->dark_mode) // if (win->dark_mode)
{ // {
gtk_css_provider_load_from_resource(GTK_CSS_PROVIDER(win->provider), "/org/gtk/daleclack/style_dark.css"); gtk_css_provider_load_from_resource(GTK_CSS_PROVIDER(win->provider), "/org/gtk/daleclack/style_dark.css");
} // }
else // else
{ // {
gtk_css_provider_load_from_resource(GTK_CSS_PROVIDER(win->provider), "/org/gtk/daleclack/style.css"); // gtk_css_provider_load_from_resource(GTK_CSS_PROVIDER(win->provider), "/org/gtk/daleclack/style.css");
} // }
// gtk_widget_set_opacity(menubar, 0.7); // gtk_widget_set_opacity(menubar, 0.7);
gtk_style_context_add_provider((menubar), win->provider, G_MAXINT); gtk_style_context_add_provider((menubar), win->provider, G_MAXINT);
gtk_style_context_add_provider((home_button), win->provider, G_MAXINT); gtk_style_context_add_provider((home_button), win->provider, G_MAXINT);

View File

@ -108,6 +108,7 @@ void add_start(MainWin *win, GtkBox *box)
gtk_widget_add_css_class(start_menu, "main_style"); gtk_widget_add_css_class(start_menu, "main_style");
gtk_widget_add_css_class(search_entry, "main_style"); gtk_widget_add_css_class(search_entry, "main_style");
gtk_widget_add_css_class(start_box, "default_style"); gtk_widget_add_css_class(start_box, "default_style");
// gtk_widget_add_css_class(menu_btn, "default_style");
gtk_style_context_add_provider((prim_separator), gtk_style_context_add_provider((prim_separator),
main_win_get_style(win), G_MAXINT); main_win_get_style(win), G_MAXINT);
gtk_style_context_add_provider((ext_separator), gtk_style_context_add_provider((ext_separator),
@ -118,6 +119,8 @@ void add_start(MainWin *win, GtkBox *box)
main_win_get_style(win), G_MAXINT); main_win_get_style(win), G_MAXINT);
gtk_style_context_add_provider((search_entry), gtk_style_context_add_provider((search_entry),
main_win_get_style(win), G_MAXINT); main_win_get_style(win), G_MAXINT);
// gtk_style_context_add_provider((menu_btn),
// main_win_get_style(win), G_MAXINT);
// Pack widgets // Pack widgets
gtk_box_prepend(box, menu_btn); gtk_box_prepend(box, menu_btn);