Include a custom.css file for the application
authorColin Clark <colin.clark@cclark.uk>
Sun, 24 Sep 2023 12:28:41 +0000 (13:28 +0100)
committerColin Clark <colin.clark@cclark.uk>
Sun, 24 Sep 2023 12:28:41 +0000 (13:28 +0100)
src/cellrenderericon.cc
src/main.cc
src/ui/custom.css [new file with mode: 0644]
src/ui/ui.gresource.xml

index 66c37eb..feef607 100644 (file)
@@ -765,18 +765,6 @@ static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
                                gtk_style_context_add_class(context, GTK_STYLE_CLASS_CHECK);
 
                                gtk_style_context_add_class(context, "marks");
-                               GtkStyleProvider *provider;
-                               provider = reinterpret_cast<GtkStyleProvider *>(gtk_css_provider_new());
-                               gtk_css_provider_load_from_data(GTK_CSS_PROVIDER(provider),
-                                               ".marks {\n"
-                                               "border-color: #808080;\n"
-                                               "border-style: solid;\n"
-                                               "border-width: 1px;\n"
-                                               "border-radius: 0px;\n"
-                                               "}\n"
-                                               ,-1, nullptr);
-                               gtk_style_context_add_provider(context, provider,
-                                                       GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
 
                                if (state & GTK_STATE_FLAG_CHECKED)
                                        {
@@ -798,8 +786,6 @@ static void gqv_cell_renderer_icon_render(GtkCellRenderer *cell,
                                        }
                                gtk_style_context_restore(context);
                                cairo_restore(cr);
-                               gtk_style_context_remove_provider(context, provider);
-                               g_object_unref(provider);
                                }
                        }
                }
index 3755788..e711ed4 100644 (file)
@@ -1289,13 +1289,15 @@ static void create_application_paths()
 
 gint main(gint argc, gchar *argv[])
 {
-       CollectionData *first_collection = nullptr;
-       gchar *buf;
        CollectionData *cd = nullptr;
+       CollectionData *first_collection = nullptr;
        gboolean disable_clutter = FALSE;
        gboolean single_dir = TRUE;
-       LayoutWindow *lw;
+       gchar *buf;
+       GdkScreen *screen;
+       GtkCssProvider *provider;
        GtkSettings *default_settings;
+       LayoutWindow *lw;
 
        gdk_set_allowed_backends("x11,*");
 
@@ -1403,6 +1405,11 @@ gint main(gint argc, gchar *argv[])
 
        setup_env_path();
 
+       screen = gdk_screen_get_default();
+       provider = gtk_css_provider_new();
+       gtk_css_provider_load_from_resource(provider, GQ_RESOURCE_PATH_UI "/custom.css");
+       gtk_style_context_add_provider_for_screen(screen, GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);
+
        if (parse_command_line_for_cache_maintenance_option(argc, argv))
                {
                process_command_line_for_cache_maintenance_option(argc, argv);
diff --git a/src/ui/custom.css b/src/ui/custom.css
new file mode 100644 (file)
index 0000000..d923245
--- /dev/null
@@ -0,0 +1,6 @@
+.marks {
+       border-color: black;
+       border-style: solid;
+       border-width: 1px;
+       border-radius: 0px;
+}
index d449b55..ac0b956 100644 (file)
@@ -24,6 +24,7 @@
 <gresources>
   <gresource prefix="/org/geeqie/ui">
     <file>appimage-notification.ui</file>
+    <file>custom.css</file>
     <file>search-and-run.ui</file>
   </gresource>
 </gresources>