summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorJabier Arraiza <jabier.arraiza@marker.es>2019-01-26 05:16:02 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-01-27 00:40:25 +0000
commite0471fb385a7250815528d23f0c2ecbbca675d42 (patch)
tree33ac5b8f91a55e7de73cd61dcb206f2e2e04ce78 /src/widgets
parentAdd style file (diff)
downloadinkscape-e0471fb385a7250815528d23f0c2ecbbca675d42.tar.gz
inkscape-e0471fb385a7250815528d23f0c2ecbbca675d42.zip
Adding styling refactoring, moving after to other branch the CSS part
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/desktop-widget.cpp23
-rw-r--r--src/widgets/stroke-marker-selector.cpp2
-rw-r--r--src/widgets/toolbox.cpp10
3 files changed, 28 insertions, 7 deletions
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp
index b7b9d2ce0..801e6bc41 100644
--- a/src/widgets/desktop-widget.cpp
+++ b/src/widgets/desktop-widget.cpp
@@ -693,7 +693,6 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw )
}
overallTimer = nullptr;
}
-
// Ensure that ruler ranges are updated correctly whenever the canvas table
// is resized
dtw->_canvas_tbl_size_allocate_connection = dtw->_canvas_tbl->signal_size_allocate().connect(sigc::mem_fun(dtw, &SPDesktopWidget::canvas_tbl_size_allocate));
@@ -890,6 +889,28 @@ sp_desktop_widget_realize (GtkWidget *widget)
dtw->desktop->set_display_area (d, 10);
dtw->updateNamedview();
+ gchar *gtkThemeName;
+ gboolean gtkApplicationPreferDarkTheme;
+ GtkSettings *settings = gtk_settings_get_default();
+ Gtk::Window *window = SP_ACTIVE_DESKTOP->getToplevel();
+ if (settings && window) {
+ g_object_get(settings, "gtk-theme-name", &gtkThemeName, NULL);
+ g_object_get(settings, "gtk-application-prefer-dark-theme", &gtkApplicationPreferDarkTheme, NULL);
+ bool dark = gtkApplicationPreferDarkTheme || Glib::ustring(gtkThemeName).find(":dark") != -1;
+ if (!dark) {
+ Glib::RefPtr<Gtk::StyleContext> stylecontext = window->get_style_context();
+ Gdk::RGBA rgba;
+ bool background_set = stylecontext->lookup_color("theme_bg_color", rgba);
+ if (background_set && rgba.get_red() + rgba.get_green() + rgba.get_blue() < 1.0) {
+ dark = true;
+ }
+ }
+ if (dark) {
+ window->get_style_context()->add_class("dark");
+ } else {
+ window->get_style_context()->remove_class("dark");
+ }
+ }
}
/* This is just to provide access to common functionality from sp_desktop_widget_realize() above
diff --git a/src/widgets/stroke-marker-selector.cpp b/src/widgets/stroke-marker-selector.cpp
index 5bfebb799..095653cb3 100644
--- a/src/widgets/stroke-marker-selector.cpp
+++ b/src/widgets/stroke-marker-selector.cpp
@@ -52,7 +52,6 @@ MarkerComboBox::MarkerComboBox(gchar const *id, int l) :
pack_start(image_renderer, false);
set_cell_data_func(image_renderer, sigc::mem_fun(*this, &MarkerComboBox::prepareImageRenderer));
gtk_combo_box_set_row_separator_func(GTK_COMBO_BOX(gobj()), MarkerComboBox::separator_cb, nullptr, nullptr);
- gtk_widget_set_name(GTK_WIDGET(gobj()), "markerCombo");
empty_image = sp_get_icon_image("no-marker", Gtk::ICON_SIZE_SMALL_TOOLBAR);
sandbox = ink_markers_preview_doc ();
@@ -62,6 +61,7 @@ MarkerComboBox::MarkerComboBox(gchar const *id, int l) :
modified_connection = doc->getDefs()->connectModified( sigc::hide(sigc::hide(sigc::bind(sigc::ptr_fun(&MarkerComboBox::handleDefsModified), this))) );
init_combo();
+ this->get_style_context()->add_class("combobright");
show();
}
diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp
index 3199e25ef..6e614f582 100644
--- a/src/widgets/toolbox.cpp
+++ b/src/widgets/toolbox.cpp
@@ -857,7 +857,7 @@ void ToolboxFactory::setOrientation(GtkWidget* toolbox, GtkOrientation orientati
void setup_tool_toolbox(GtkWidget *toolbox, SPDesktop *desktop)
{
setupToolboxCommon( toolbox, desktop,
- "tool-toolbar.ui",
+ "toolbar-tool.ui",
"/ui/ToolToolbar",
"/toolbox/tools/small");
}
@@ -905,12 +905,12 @@ void setup_aux_toolbox(GtkWidget *toolbox, SPDesktop *desktop)
Glib::RefPtr<Gtk::ActionGroup> mainActions = create_or_fetch_actions( desktop );
// The UI Manager creates widgets based on the definitions in the
- // "select-toolbar.ui" file. This is only used with the "prep"
+ // "toolbar-select.ui" file. This is only used with the "prep"
// method of toolbar-creation
GtkUIManager* mgr = gtk_ui_manager_new();
GError *err = nullptr;
gtk_ui_manager_insert_action_group( mgr, mainActions->gobj(), 0 );
- Glib::ustring filename = get_filename(UIS, "select-toolbar.ui");
+ Glib::ustring filename = get_filename(UIS, "toolbar-select.ui");
guint ret = gtk_ui_manager_add_ui_from_file(mgr, filename.c_str(), &err);
if(err) {
g_warning("Failed to load aux toolbar %s: %s", filename.c_str(), err->message);
@@ -1061,7 +1061,7 @@ void update_aux_toolbox(SPDesktop * /*desktop*/, ToolBase *eventcontext, GtkWidg
void setup_commands_toolbox(GtkWidget *toolbox, SPDesktop *desktop)
{
setupToolboxCommon( toolbox, desktop,
- "commands-toolbar.ui",
+ "toolbar-commands.ui",
"/ui/CommandsToolbar",
"/toolbox/small" );
}
@@ -1375,7 +1375,7 @@ void setup_snap_toolbox(GtkWidget *toolbox, SPDesktop *desktop)
}
setupToolboxCommon( toolbox, desktop,
- "snap-toolbar.ui",
+ "toolbar-snap.ui",
"/ui/SnapToolbar",
"/toolbox/secondary" );
}