summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorMoritz Eberl <moritz@semiodesk.com>2016-04-13 10:22:31 +0000
committerMoritz Eberl <moritz@semiodesk.com>2016-04-13 10:22:31 +0000
commit9dc9b855edf5f891856ad1c9a63eae2266bb9cfa (patch)
tree45c8c6d192dbf72c2e543f6e4b5716999c3bb3af /src/widgets
parentModified the windows build to integrate gmodule-2.0 and loader.cpp/.h (diff)
parentFixed FIXMEs in Cmake build (set flags when needed) (diff)
downloadinkscape-9dc9b855edf5f891856ad1c9a63eae2266bb9cfa.tar.gz
inkscape-9dc9b855edf5f891856ad1c9a63eae2266bb9cfa.zip
Merge
(bzr r14761.1.4)
Diffstat (limited to 'src/widgets')
-rw-r--r--src/widgets/button.cpp20
-rw-r--r--src/widgets/desktop-widget.cpp16
-rw-r--r--src/widgets/eek-preview.cpp34
-rw-r--r--src/widgets/icon.cpp8
-rw-r--r--src/widgets/ruler.cpp19
-rw-r--r--src/widgets/toolbox.cpp3
6 files changed, 67 insertions, 33 deletions
diff --git a/src/widgets/button.cpp b/src/widgets/button.cpp
index 1776e28c4..54f073c01 100644
--- a/src/widgets/button.cpp
+++ b/src/widgets/button.cpp
@@ -96,7 +96,6 @@ static void sp_button_dispose(GObject *object)
static void sp_button_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width)
{
GtkWidget *child = gtk_bin_get_child(GTK_BIN(widget));
- GtkStyle *style = gtk_widget_get_style(widget);
if (child) {
gtk_widget_get_preferred_width(GTK_WIDGET(child), minimal_width, natural_width);
@@ -105,14 +104,18 @@ static void sp_button_get_preferred_width(GtkWidget *widget, gint *minimal_width
*natural_width = 0;
}
- *minimal_width += 2 + 2 * MAX(2, style->xthickness);
- *natural_width += 2 + 2 * MAX(2, style->xthickness);
+ GtkStyleContext *context = gtk_widget_get_style_context (widget);
+ GtkBorder padding;
+
+ gtk_style_context_get_border(context, static_cast<GtkStateFlags>(0), &padding);
+
+ *minimal_width += 2 + 2 * MAX(2, padding.left + padding.right);
+ *natural_width += 2 + 2 * MAX(2, padding.left + padding.right);
}
static void sp_button_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height)
{
GtkWidget *child = gtk_bin_get_child(GTK_BIN(widget));
- GtkStyle *style = gtk_widget_get_style(widget);
if (child) {
gtk_widget_get_preferred_height(GTK_WIDGET(child), minimal_height, natural_height);
@@ -121,8 +124,13 @@ static void sp_button_get_preferred_height(GtkWidget *widget, gint *minimal_heig
*natural_height = 0;
}
- *minimal_height += 2 + 2 * MAX(2, style->ythickness);
- *natural_height += 2 + 2 * MAX(2, style->ythickness);
+ GtkStyleContext *context = gtk_widget_get_style_context (widget);
+ GtkBorder padding;
+
+ gtk_style_context_get_border(context, static_cast<GtkStateFlags>(0), &padding);
+
+ *minimal_height += 2 + 2 * MAX(2, padding.top + padding.bottom);
+ *natural_height += 2 + 2 * MAX(2, padding.top + padding.bottom);
}
#else
static void sp_button_size_request(GtkWidget *widget, GtkRequisition *requisition)
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp
index 1fdd3ca6d..3fa607820 100644
--- a/src/widgets/desktop-widget.cpp
+++ b/src/widgets/desktop-widget.cpp
@@ -564,7 +564,7 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw )
/* Canvas */
dtw->canvas = SP_CANVAS(SPCanvas::createAA());
#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- dtw->canvas->enable_cms_display_adj = prefs->getBool("/options/displayprofile/enable");
+ dtw->canvas->_enable_cms_display_adj = prefs->getBool("/options/displayprofile/enable");
#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
gtk_widget_set_can_focus (GTK_WIDGET (dtw->canvas), TRUE);
@@ -746,8 +746,8 @@ void SPDesktopWidget::init( SPDesktopWidget *dtw )
Glib::ustring id = Inkscape::CMSSystem::getDisplayId( 0, 0 );
bool enabled = false;
- dtw->canvas->cms_key = id;
- enabled = !dtw->canvas->cms_key.empty();
+ dtw->canvas->_cms_key = id;
+ enabled = !dtw->canvas->_cms_key.empty();
cms_adjust_set_sensitive( dtw, enabled );
}
#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
@@ -1035,7 +1035,7 @@ sp_desktop_widget_event (GtkWidget *widget, GdkEvent *event, SPDesktopWidget *dt
// current item on the canvas, because item events and all mouse events are caught
// and passed on by the canvas acetate (I think). --bb
if ((event->type == GDK_KEY_PRESS || event->type == GDK_KEY_RELEASE)
- && !dtw->canvas->current_item) {
+ && !dtw->canvas->_current_item) {
return sp_desktop_root_handler (NULL, event, dtw->desktop);
}
}
@@ -1054,9 +1054,9 @@ void sp_dtw_color_profile_event(EgeColorProfTracker */*tracker*/, SPDesktopWidge
gint monitor = gdk_screen_get_monitor_at_window(screen, window);
Glib::ustring id = Inkscape::CMSSystem::getDisplayId( screenNum, monitor );
bool enabled = false;
- dtw->canvas->cms_key = id;
+ dtw->canvas->_cms_key = id;
dtw->requestCanvasUpdate();
- enabled = !dtw->canvas->cms_key.empty();
+ enabled = !dtw->canvas->_cms_key.empty();
cms_adjust_set_sensitive( dtw, enabled );
}
#else
@@ -1092,8 +1092,8 @@ void cms_adjust_toggled( GtkWidget */*button*/, gpointer data )
SPDesktopWidget *dtw = SP_DESKTOP_WIDGET(data);
bool down = SP_BUTTON_IS_DOWN(dtw->cms_adjust);
- if ( down != dtw->canvas->enable_cms_display_adj ) {
- dtw->canvas->enable_cms_display_adj = down;
+ if ( down != dtw->canvas->_enable_cms_display_adj ) {
+ dtw->canvas->_enable_cms_display_adj = down;
dtw->requestCanvasUpdate();
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
prefs->setBool("/options/displayprofile/enable", down);
diff --git a/src/widgets/eek-preview.cpp b/src/widgets/eek-preview.cpp
index 19dbb04ab..9951a8957 100644
--- a/src/widgets/eek-preview.cpp
+++ b/src/widgets/eek-preview.cpp
@@ -239,7 +239,7 @@ static
gboolean eek_preview_draw(GtkWidget *widget,
cairo_t *cr)
{
- GtkStyle *style = gtk_widget_get_style(widget);
+
EekPreview *preview = EEK_PREVIEW(widget);
EekPreviewPrivate *priv = EEK_PREVIEW_GET_PRIVATE(preview);
@@ -284,7 +284,8 @@ gboolean eek_preview_draw(GtkWidget *widget,
0, 0,
allocation.width, allocation.height);
#else
- GdkWindow* window = gtk_widget_get_window(widget);
+ GtkStyle *style = gtk_widget_get_style(widget);
+ GdkWindow *window = gtk_widget_get_window(widget);
gtk_paint_flat_box( style,
window,
@@ -495,14 +496,11 @@ gboolean eek_preview_draw(GtkWidget *widget,
otherArea.y = possible.y + (possible.height - otherArea.height) / 2;
}
#if GTK_CHECK_VERSION(3,0,0)
- gtk_paint_diamond( style,
- cr,
- gtk_widget_get_state (widget),
- GTK_SHADOW_ETCHED_OUT,
- widget,
- NULL,
- otherArea.x, otherArea.y,
- otherArea.width, otherArea.height );
+ // This should be a diamond too?
+ gtk_render_check(context,
+ cr,
+ otherArea.x, otherArea.y,
+ otherArea.width, otherArea.height );
#else
gtk_paint_diamond( style,
window,
@@ -549,7 +547,11 @@ static gboolean eek_preview_enter_cb( GtkWidget* widget, GdkEventCrossing* event
EekPreviewPrivate *priv = EEK_PREVIEW_GET_PRIVATE(preview);
priv->within = TRUE;
+#if GTK_CHECK_VERSION(3,0,0)
+ gtk_widget_set_state_flags( widget, priv->hot ? GTK_STATE_FLAG_ACTIVE : GTK_STATE_FLAG_PRELIGHT, false );
+#else
gtk_widget_set_state( widget, priv->hot ? GTK_STATE_ACTIVE : GTK_STATE_PRELIGHT );
+#endif
}
return FALSE;
@@ -562,7 +564,11 @@ static gboolean eek_preview_leave_cb( GtkWidget* widget, GdkEventCrossing* event
EekPreviewPrivate *priv = EEK_PREVIEW_GET_PRIVATE(preview);
priv->within = FALSE;
+#if GTK_CHECK_VERSION(3,0,0)
+ gtk_widget_set_state_flags( widget, GTK_STATE_FLAG_NORMAL, false );
+#else
gtk_widget_set_state( widget, GTK_STATE_NORMAL );
+#endif
}
return FALSE;
@@ -587,7 +593,11 @@ static gboolean eek_preview_button_press_cb( GtkWidget* widget, GdkEventButton*
if ( priv->within )
{
+#if GTK_CHECK_VERSION(3,0,0)
+ gtk_widget_set_state_flags( widget, GTK_STATE_FLAG_ACTIVE, false );
+#else
gtk_widget_set_state( widget, GTK_STATE_ACTIVE );
+#endif
}
}
}
@@ -602,7 +612,11 @@ static gboolean eek_preview_button_release_cb( GtkWidget* widget, GdkEventButton
EekPreviewPrivate *priv = EEK_PREVIEW_GET_PRIVATE(preview);
priv->hot = FALSE;
+#if GTK_CHECK_VERSION(3,0,0)
+ gtk_widget_set_state_flags( widget, GTK_STATE_FLAG_NORMAL, false );
+#else
gtk_widget_set_state( widget, GTK_STATE_NORMAL );
+#endif
if ( priv->within &&
(event->button == PRIME_BUTTON_MAGIC_NUMBER ||
diff --git a/src/widgets/icon.cpp b/src/widgets/icon.cpp
index 542d16797..f998cd66d 100644
--- a/src/widgets/icon.cpp
+++ b/src/widgets/icon.cpp
@@ -257,6 +257,14 @@ gboolean IconImpl::draw(GtkWidget *widget, cairo_t* cr)
image = gtk_render_icon_pixbuf(gtk_widget_get_style_context(widget),
source,
(GtkIconSize)-1);
+
+ // gtk_render_icon_pixbuf deprecated, replaced by:
+ // GtkIconTheme *icon_theme = gtk_icon_theme_get_default();
+ // image = gtk_icon_theme_load_icon (icon_theme,
+ // name,
+ // 32,
+ // 0,
+ // NULL);
#else
image = gtk_style_render_icon(gtk_widget_get_style(widget), source,
gtk_widget_get_direction(widget),
diff --git a/src/widgets/ruler.cpp b/src/widgets/ruler.cpp
index 3a5e76277..fe851d592 100644
--- a/src/widgets/ruler.cpp
+++ b/src/widgets/ruler.cpp
@@ -284,17 +284,10 @@ sp_ruler_init (SPRuler *ruler)
priv->font_scale = DEFAULT_RULER_FONT_SCALE;
#if GTK_CHECK_VERSION(3,0,0)
- #if GTK_CHECK_VERSION(3,8,0)
- const gchar *str =
- "SPRuler {\n"
- " background-color: @theme_bg_color;\n"
- "}\n";
- #else
const gchar *str =
"SPRuler {\n"
" background-color: @bg_color;\n"
"}\n";
- #endif
GtkCssProvider *css = gtk_css_provider_new ();
gtk_css_provider_load_from_data (css, str, -1, NULL);
gtk_style_context_add_provider (gtk_widget_get_style_context (GTK_WIDGET (ruler)),
@@ -1425,7 +1418,6 @@ sp_ruler_get_pos_rect (SPRuler *ruler,
gdouble position)
{
GtkWidget *widget = GTK_WIDGET (ruler);
- GtkStyle *style = gtk_widget_get_style (widget);
SPRulerPrivate *priv = SP_RULER_GET_PRIVATE (ruler);
GtkAllocation allocation;
gint width, height;
@@ -1440,8 +1432,19 @@ sp_ruler_get_pos_rect (SPRuler *ruler,
gtk_widget_get_allocation (widget, &allocation);
+#if GTK_CHECK_VERSION(3,0,0)
+ GtkStyleContext *context = gtk_widget_get_style_context (widget);
+ GtkBorder padding;
+
+ gtk_style_context_get_border(context, static_cast<GtkStateFlags>(0), &padding);
+
+ xthickness = padding.left + padding.right;
+ ythickness = padding.top + padding.bottom;
+#else
+ GtkStyle *style = gtk_widget_get_style (widget);
xthickness = style->xthickness;
ythickness = style->ythickness;
+#endif
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)
{
diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp
index 3389f82f9..0697ff0fb 100644
--- a/src/widgets/toolbox.cpp
+++ b/src/widgets/toolbox.cpp
@@ -127,7 +127,8 @@ Inkscape::IconSize ToolboxFactory::prefToSize( Glib::ustring const &path, int ba
static Inkscape::IconSize sizeChoices[] = {
Inkscape::ICON_SIZE_LARGE_TOOLBAR,
Inkscape::ICON_SIZE_SMALL_TOOLBAR,
- Inkscape::ICON_SIZE_MENU
+ Inkscape::ICON_SIZE_MENU,
+ Inkscape::ICON_SIZE_DIALOG
};
Inkscape::Preferences *prefs = Inkscape::Preferences::get();
int index = prefs->getIntLimited( path, base, 0, G_N_ELEMENTS(sizeChoices) );