mirror of https://github.com/daleclack/My_GtkUi
Add css style
This commit is contained in:
parent
56fb75979c
commit
2baabb3ee9
|
@ -25,7 +25,9 @@ link_directories (${GTK4_LIBRARY_DIRS})
|
||||||
|
|
||||||
set(RESOURCE_LIST
|
set(RESOURCE_LIST
|
||||||
flos.png
|
flos.png
|
||||||
menubar.xml)
|
menubar.xml
|
||||||
|
style.css
|
||||||
|
reset.css)
|
||||||
|
|
||||||
compile_gresources(RESOURCE_FILE
|
compile_gresources(RESOURCE_FILE
|
||||||
XML_OUT
|
XML_OUT
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
/* @import this colorsheet to get the default values for every property.
|
||||||
|
* This is useful when writing special CSS tests that should not be
|
||||||
|
* inluenced by themes - not even the default ones.
|
||||||
|
* Keep in mind that the output will be very ugly and not look like
|
||||||
|
* anything GTK.
|
||||||
|
* Also, when adding new style properties, please add them here.
|
||||||
|
*/
|
||||||
|
|
||||||
|
* {
|
||||||
|
all: unset;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
/*
|
||||||
|
您可以在这里输入任何 GTK 可识别的 CSS 规则。
|
||||||
|
您可以点击上面的“暂停”按钮来暂时停用这个自定义 CSS。
|
||||||
|
|
||||||
|
变更会立即应用到全局,影响整个应用程序。
|
||||||
|
*/
|
||||||
|
@import url("resource://org/gtk/daleclack/reset.css");
|
||||||
|
|
||||||
|
/*Style for menubar*/
|
||||||
|
menubar{
|
||||||
|
background-color:#FFFA;
|
||||||
|
}
|
|
@ -25,22 +25,20 @@ static void main_win_init(MainWin * win){
|
||||||
g_object_unref(pixbuf);
|
g_object_unref(pixbuf);
|
||||||
g_object_unref(sized);
|
g_object_unref(sized);
|
||||||
|
|
||||||
//Add button for menubar
|
|
||||||
GtkWidget * back_button = gtk_button_new_with_label(" ");
|
|
||||||
gtk_widget_set_valign(back_button,GTK_ALIGN_START);
|
|
||||||
gtk_widget_set_halign(back_button,GTK_ALIGN_FILL);
|
|
||||||
gtk_widget_set_sensitive(back_button,FALSE);
|
|
||||||
gtk_widget_set_opacity(back_button,0.7);
|
|
||||||
gtk_overlay_add_overlay(GTK_OVERLAY(win->overlay),back_button);
|
|
||||||
|
|
||||||
//Add MenuBar
|
//Add MenuBar
|
||||||
GtkBuilder * builder = gtk_builder_new_from_resource("/org/gtk/daleclack/menubar.xml");
|
GtkBuilder * builder = gtk_builder_new_from_resource("/org/gtk/daleclack/menubar.xml");
|
||||||
GMenuModel * model = G_MENU_MODEL(gtk_builder_get_object(builder,"model"));
|
GMenuModel * model = G_MENU_MODEL(gtk_builder_get_object(builder,"model"));
|
||||||
GtkWidget * menubar = gtk_popover_menu_bar_new_from_model(model);
|
GtkWidget * menubar = gtk_popover_menu_bar_new_from_model(model);
|
||||||
|
//gtk_button_set_child(GTK_BUTTON(back_button),menubar);
|
||||||
gtk_widget_set_valign(menubar,GTK_ALIGN_START);
|
gtk_widget_set_valign(menubar,GTK_ALIGN_START);
|
||||||
gtk_widget_set_halign(menubar,GTK_ALIGN_FILL);
|
gtk_widget_set_halign(menubar,GTK_ALIGN_FILL);
|
||||||
gtk_overlay_add_overlay(GTK_OVERLAY(win->overlay),menubar);
|
gtk_overlay_add_overlay(GTK_OVERLAY(win->overlay),menubar);
|
||||||
|
|
||||||
|
//Apply Style for menubar
|
||||||
|
GtkStyleProvider * provider = GTK_STYLE_PROVIDER(gtk_css_provider_new());
|
||||||
|
gtk_css_provider_load_from_resource(GTK_CSS_PROVIDER(provider),"/org/gtk/daleclack/style.css");
|
||||||
|
gtk_style_context_add_provider(gtk_widget_get_style_context(menubar),provider,G_MAXINT);
|
||||||
|
|
||||||
//Add widgets
|
//Add widgets
|
||||||
gtk_overlay_set_child(GTK_OVERLAY(win->overlay),win->background);
|
gtk_overlay_set_child(GTK_OVERLAY(win->overlay),win->background);
|
||||||
gtk_window_set_child(GTK_WINDOW(win),win->overlay);
|
gtk_window_set_child(GTK_WINDOW(win),win->overlay);
|
||||||
|
|
Loading…
Reference in New Issue