diff options
| author | Jon A. Cruz <jon@joncruz.org> | 2007-12-02 08:33:16 +0000 |
|---|---|---|
| committer | joncruz <joncruz@users.sourceforge.net> | 2007-12-02 08:33:16 +0000 |
| commit | eba4e37a28c51e7769900e99891889cea0859927 (patch) | |
| tree | 2e8e154aa4a13a37910ba44682a6b56728c4cfb6 /src/widgets/desktop-widget.cpp | |
| parent | color value overwrite bug fixed (diff) | |
| download | inkscape-eba4e37a28c51e7769900e99891889cea0859927.tar.gz inkscape-eba4e37a28c51e7769900e99891889cea0859927.zip | |
UI tweaks for CMS view toggle
(bzr r4152)
Diffstat (limited to 'src/widgets/desktop-widget.cpp')
| -rw-r--r-- | src/widgets/desktop-widget.cpp | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index 463cfe883..18045f0b6 100644 --- a/src/widgets/desktop-widget.cpp +++ b/src/widgets/desktop-widget.cpp @@ -93,6 +93,7 @@ static gint sp_desktop_widget_event (GtkWidget *widget, GdkEvent *event, SPDeskt static void sp_dtw_color_profile_event(EgeColorProfTracker *widget, SPDesktopWidget *dtw); static void cms_adjust_toggled( GtkWidget *button, gpointer data ); +static void cms_adjust_set_sensitive( SPDesktopWidget *dtw, bool enabled ); static void sp_desktop_widget_adjustment_value_changed (GtkAdjustment *adj, SPDesktopWidget *dtw); static void sp_desktop_widget_namedview_modified (SPObject *obj, guint flags, SPDesktopWidget *dtw); @@ -190,7 +191,7 @@ void PrefWatcher::notifyAttributeChanged( Node &node, GQuark name, for ( std::list<SPDesktopWidget*>::iterator it = dtws.begin(); it != dtws.end(); ++it ) { SPDesktopWidget* dtw = *it; if ( GTK_WIDGET_SENSITIVE( dtw->cms_adjust ) != enabled ) { - gtk_widget_set_sensitive( dtw->cms_adjust, enabled ); + cms_adjust_set_sensitive( dtw, enabled ); } } refresh = true; @@ -380,17 +381,26 @@ sp_desktop_widget_init (SPDesktopWidget *dtw) gtk_box_pack_start (GTK_BOX (dtw->vscrollbar_box), dtw->vscrollbar, TRUE, TRUE, 0); gtk_table_attach (GTK_TABLE (canvas_tbl), dtw->vscrollbar_box, 2, 3, 0, 2, (GtkAttachOptions)(GTK_SHRINK), (GtkAttachOptions)(GTK_FILL), 0, 0); + + gchar const* tip = ""; + Inkscape::Verb* verb = Inkscape::Verb::get( SP_VERB_VIEW_CMS_TOGGLE ); + if ( verb ) { + SPAction *act = verb->get_action( dtw->viewwidget.view ); + if ( act && act->tip ) { + tip = act->tip; + } + } dtw->cms_adjust = sp_button_new_from_data( Inkscape::ICON_SIZE_DECORATION, SP_BUTTON_TYPE_TOGGLE, NULL, "color_management", - _("Adjust the display"), + tip, dtw->tt ); #if ENABLE_LCMS { Glib::ustring current = prefs_get_string_attribute( "options.displayprofile", "uri" ); bool enabled = current.length() > 0; - gtk_widget_set_sensitive( dtw->cms_adjust, enabled ); + cms_adjust_set_sensitive( dtw, enabled ); if ( enabled ) { long long int active = prefs_get_int_attribute_limited( "options.displayprofile", "enable", 0, 0, 1 ); if ( active ) { @@ -400,7 +410,7 @@ sp_desktop_widget_init (SPDesktopWidget *dtw) } g_signal_connect_after( G_OBJECT(dtw->cms_adjust), "clicked", G_CALLBACK(cms_adjust_toggled), dtw ); #else - gtk_widget_set_sensitive(dtw->cms_adjust, FALSE); + cms_adjust_set_sensitive(dtw, FALSE); #endif // ENABLE_LCMS gtk_table_attach( GTK_TABLE(canvas_tbl), dtw->cms_adjust, 2, 3, 2, 3, (GtkAttachOptions)(GTK_SHRINK), (GtkAttachOptions)(GTK_SHRINK), 0, 0); { @@ -524,7 +534,7 @@ sp_desktop_widget_init (SPDesktopWidget *dtw) *(dtw->canvas->cms_key) = id; enabled = !dtw->canvas->cms_key->empty(); } - gtk_widget_set_sensitive( dtw->cms_adjust, enabled ); + cms_adjust_set_sensitive( dtw, enabled ); } g_signal_connect( G_OBJECT(dtw->_tracker), "changed", G_CALLBACK(sp_dtw_color_profile_event), dtw ); @@ -745,7 +755,7 @@ void sp_dtw_color_profile_event(EgeColorProfTracker */*tracker*/, SPDesktopWidge dtw->requestCanvasUpdate(); enabled = !dtw->canvas->cms_key->empty(); } - gtk_widget_set_sensitive( dtw->cms_adjust, enabled ); + cms_adjust_set_sensitive( dtw, enabled ); } void cms_adjust_toggled( GtkWidget */*button*/, gpointer data ) @@ -760,6 +770,18 @@ void cms_adjust_toggled( GtkWidget */*button*/, gpointer data ) } } +void cms_adjust_set_sensitive( SPDesktopWidget *dtw, bool enabled ) +{ + Inkscape::Verb* verb = Inkscape::Verb::get( SP_VERB_VIEW_CMS_TOGGLE ); + if ( verb ) { + SPAction *act = verb->get_action( dtw->viewwidget.view ); + if ( act ) { + sp_action_set_sensitive( act, enabled ); + } + } + gtk_widget_set_sensitive( dtw->cms_adjust, enabled ); +} + void sp_dtw_desktop_activate (SPDesktopWidget */*dtw*/) { |
