X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fwidgets%2Fdesktop-widget.cpp;h=5396ecc24f6ba9155486811648ddad9d21e2fc3c;hb=396d5aa732c14fad8d67a143132eb232a45dd7f2;hp=b0bd3a260d6704caf7d4580514a83e0acb8f71b2;hpb=adf2a834bc87a6a22f3a99e8efb42a54dbfbb788;p=inkscape.git diff --git a/src/widgets/desktop-widget.cpp b/src/widgets/desktop-widget.cpp index b0bd3a260..5396ecc24 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::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; @@ -225,8 +226,7 @@ SPDesktopWidget::setMessage (Inkscape::MessageType type, const gchar *message) gdk_window_process_updates(GTK_WIDGET(sb)->window, TRUE); } - // FIXME: TODO: remove before displaying as tooltip - gtk_tooltips_set_tip (this->tt, this->select_status_eventbox, message ? message : "", NULL); + gtk_tooltips_set_tip (this->tt, this->select_status_eventbox, gtk_label_get_text (sb) , NULL); } NR::Point @@ -380,17 +380,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, - "swatches", - _("Adjust the display"), + "color_management", + 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 +409,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 +533,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 +754,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 +769,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*/) { @@ -853,7 +874,7 @@ SPDesktopWidget::shutdown() GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, _("The file \"%s\" was saved with a format (%s) that may cause data loss!\n\n" - "Do you want to save this file in another format?"), + "Do you want to save this file as an Inkscape SVG?"), SP_DOCUMENT_NAME(doc), Inkscape::Extension::db.get(sp_document_repr_root(doc)->attribute("inkscape:output_extension"))->get_name()); // fix for bug 1767940: @@ -862,10 +883,13 @@ SPDesktopWidget::shutdown() GtkWidget *close_button; close_button = gtk_button_new_with_mnemonic(_("Close _without saving")); gtk_widget_show(close_button); + GtkWidget *save_button; + save_button = gtk_button_new_with_mnemonic(_("_Save as SVG")); + gtk_widget_show(save_button); gtk_dialog_add_action_widget(GTK_DIALOG(dialog), close_button, GTK_RESPONSE_NO); gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL); - gtk_dialog_add_button(GTK_DIALOG(dialog), GTK_STOCK_SAVE, GTK_RESPONSE_YES); + gtk_dialog_add_action_widget(GTK_DIALOG(dialog), save_button, GTK_RESPONSE_YES); gtk_dialog_set_default_response(GTK_DIALOG(dialog), GTK_RESPONSE_YES); gint response;