diff options
| author | John Smith <john.smith7545@yahoo.com> | 2012-05-21 01:57:19 +0000 |
|---|---|---|
| committer | John Smith <removethis.john.q.public@bigmail.com> | 2012-05-21 01:57:19 +0000 |
| commit | 9d232179848d6872aadc6ec229b7b50ebef32c45 (patch) | |
| tree | 1828b7fb0ebb3a0969ef075b942d14908bf278b2 /src | |
| parent | Fix for 973195 : Limit width of color profile labels (diff) | |
| download | inkscape-9d232179848d6872aadc6ec229b7b50ebef32c45.tar.gz inkscape-9d232179848d6872aadc6ec229b7b50ebef32c45.zip | |
Fix for 1000023 : Fill & Stroke dialog redesign
(bzr r11389)
Diffstat (limited to 'src')
| -rw-r--r-- | src/ui/dialog/fill-and-stroke.cpp | 2 | ||||
| -rw-r--r-- | src/ui/widget/filter-effect-chooser.cpp | 2 | ||||
| -rw-r--r-- | src/ui/widget/filter-effect-chooser.h | 2 | ||||
| -rw-r--r-- | src/ui/widget/object-composite-settings.cpp | 2 | ||||
| -rw-r--r-- | src/ui/widget/object-composite-settings.h | 1 | ||||
| -rw-r--r-- | src/widgets/sp-color-icc-selector.cpp | 2 | ||||
| -rw-r--r-- | src/widgets/sp-color-notebook.cpp | 61 | ||||
| -rw-r--r-- | src/widgets/sp-color-notebook.h | 4 |
8 files changed, 70 insertions, 6 deletions
diff --git a/src/ui/dialog/fill-and-stroke.cpp b/src/ui/dialog/fill-and-stroke.cpp index daf0eedbf..625b503f3 100644 --- a/src/ui/dialog/fill-and-stroke.cpp +++ b/src/ui/dialog/fill-and-stroke.cpp @@ -51,7 +51,7 @@ FillAndStroke::FillAndStroke() desktopChangeConn() { Gtk::Box *contents = _getContents(); - contents->set_spacing(0); + contents->set_spacing(2); contents->pack_start(_notebook, true, true); diff --git a/src/ui/widget/filter-effect-chooser.cpp b/src/ui/widget/filter-effect-chooser.cpp index cb9d3e7e0..81fe78f2e 100644 --- a/src/ui/widget/filter-effect-chooser.cpp +++ b/src/ui/widget/filter-effect-chooser.cpp @@ -25,6 +25,7 @@ SimpleFilterModifier::SimpleFilterModifier(int flags) : _hb_blur(false, 0), _lb_blend(_("Blend mode:")), _lb_blur(_("_Blur:")), + _lb_blur_unit(_("%")), _blend(BlendModeConverter, SP_ATTR_INVALID, false), _blur(0, 0, 100, 1, 0.01, 1) { @@ -44,6 +45,7 @@ SimpleFilterModifier::SimpleFilterModifier(int flags) #endif _hb_blur.pack_start(_lb_blur, false, false, 0); _hb_blur.pack_start(_blur, true, true, 0); + _hb_blur.pack_start(_lb_blur_unit, false, false, 3); } show_all_children(); diff --git a/src/ui/widget/filter-effect-chooser.h b/src/ui/widget/filter-effect-chooser.h index 2d5f04007..6afb6c180 100644 --- a/src/ui/widget/filter-effect-chooser.h +++ b/src/ui/widget/filter-effect-chooser.h @@ -52,7 +52,7 @@ private: int _flags; Gtk::HBox _hb_blend; Gtk::HBox _hb_blur; - Gtk::Label _lb_blend, _lb_blur; + Gtk::Label _lb_blend, _lb_blur, _lb_blur_unit; ComboBoxEnum<Inkscape::Filters::FilterBlendMode> _blend; SpinSlider _blur; diff --git a/src/ui/widget/object-composite-settings.cpp b/src/ui/widget/object-composite-settings.cpp index eb4790990..9e4e32229 100644 --- a/src/ui/widget/object-composite-settings.cpp +++ b/src/ui/widget/object-composite-settings.cpp @@ -63,6 +63,7 @@ ObjectCompositeSettings::ObjectCompositeSettings(unsigned int verb_code, char co _opacity_tag(Glib::ustring(history_prefix) + ":opacity"), _opacity_vbox(false, 0), _opacity_label(_("Opacity:")), + _opacity_label_unit(_("%")), #if WITH_GTKMM_3_0 _opacity_adjustment(Gtk::Adjustment::create(100.0, 0.0, 100.0, 1.0, 1.0, 0.0)), #else @@ -96,6 +97,7 @@ ObjectCompositeSettings::ObjectCompositeSettings(unsigned int verb_code, char co _opacity_vbox.pack_start(_opacity_hbox, false, false, 0); _opacity_hbox.pack_start(_opacity_hscale, true, true, 0); _opacity_hbox.pack_start(_opacity_spin_button, false, false, 0); + _opacity_hbox.pack_start(_opacity_label_unit, false, false, 3); _opacity_hscale.set_draw_value(false); #if WITH_GTKMM_3_0 _opacity_adjustment->signal_value_changed().connect(sigc::mem_fun(*this, &ObjectCompositeSettings::_opacityValueChanged)); diff --git a/src/ui/widget/object-composite-settings.h b/src/ui/widget/object-composite-settings.h index 9f9b336eb..32da626d6 100644 --- a/src/ui/widget/object-composite-settings.h +++ b/src/ui/widget/object-composite-settings.h @@ -47,6 +47,7 @@ private: Gtk::VBox _opacity_vbox; Gtk::HBox _opacity_hbox; Gtk::Label _opacity_label; + Gtk::Label _opacity_label_unit; #if WITH_GTKMM_3_0 Glib::RefPtr<Gtk::Adjustment> _opacity_adjustment; #else diff --git a/src/widgets/sp-color-icc-selector.cpp b/src/widgets/sp-color-icc-selector.cpp index 0f85d4d98..d04f17a30 100644 --- a/src/widgets/sp-color-icc-selector.cpp +++ b/src/widgets/sp-color-icc-selector.cpp @@ -280,7 +280,7 @@ void ColorICCSelector::init() t = gtk_table_new (5, 3, FALSE); gtk_widget_show (t); - gtk_box_pack_start (GTK_BOX (_csel), t, TRUE, TRUE, 0); + gtk_box_pack_start (GTK_BOX (_csel), t, TRUE, TRUE, 4); #if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2) //guint partCount = _cmsChannelsOf( icSigRgbData ); diff --git a/src/widgets/sp-color-notebook.cpp b/src/widgets/sp-color-notebook.cpp index 401693551..4bbe15224 100644 --- a/src/widgets/sp-color-notebook.cpp +++ b/src/widgets/sp-color-notebook.cpp @@ -220,6 +220,10 @@ void ColorNotebook::init() _book = gtk_notebook_new (); gtk_widget_show (_book); + // Dont show the notebook tabs, use radiobuttons instead + gtk_notebook_set_show_border (GTK_NOTEBOOK (_book), false); + gtk_notebook_set_show_tabs (GTK_NOTEBOOK (_book), false); + selector_types = g_type_children (SP_TYPE_COLOR_SELECTOR, &selector_type_count); for ( i = 0; i < selector_type_count; i++ ) @@ -252,6 +256,10 @@ void ColorNotebook::init() } } + _buttonbox = gtk_hbox_new (TRUE, 2); + gtk_widget_show (_buttonbox); + _buttons = new GtkWidget *[_trackerList->len]; + for ( i = 0; i < _trackerList->len; i++ ) { SPColorNotebookTracker *entry = @@ -267,14 +275,21 @@ void ColorNotebook::init() gtk_box_pack_start (GTK_BOX (_csel), table, TRUE, TRUE, 0); - gtk_table_attach (GTK_TABLE (table), _book, 0, 2, row, row + 1, + sp_set_font_size_smaller (_buttonbox); + gtk_table_attach (GTK_TABLE (table), _buttonbox, 0, 2, row, row + 1, static_cast<GtkAttachOptions>(GTK_EXPAND|GTK_FILL), static_cast<GtkAttachOptions>(GTK_EXPAND|GTK_FILL), XPAD, YPAD); + row++; + + gtk_table_attach (GTK_TABLE (table), _book, 0, 2, row, row + 1, + static_cast<GtkAttachOptions>(GTK_EXPAND|GTK_FILL), + static_cast<GtkAttachOptions>(GTK_EXPAND|GTK_FILL), + XPAD*2, YPAD); // restore the last active page Inkscape::Preferences *prefs = Inkscape::Preferences::get(); - gtk_notebook_set_current_page (GTK_NOTEBOOK (_book), prefs->getInt("/colorselector/page", 0)); + _setCurrentPage(prefs->getInt("/colorselector/page", 0)); { gboolean found = FALSE; @@ -412,6 +427,13 @@ ColorNotebook::~ColorNotebook() _switchId = 0; } } + + if ( _buttons ) + { + delete [] _buttons; + _buttons = 0; + } + } static void @@ -572,6 +594,27 @@ void ColorNotebook::_updateRgbaEntry( const SPColor& color, gfloat alpha ) } } +void ColorNotebook::_setCurrentPage(int i) +{ + gtk_notebook_set_current_page (GTK_NOTEBOOK (_book), i); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON(_buttons[i]), TRUE); +} + +void ColorNotebook::_buttonClicked(GtkWidget *widget, SPColorNotebook *colorbook) +{ + ColorNotebook* nb = (ColorNotebook*)(SP_COLOR_SELECTOR(colorbook)->base); + + if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget))) { + return; + } + + for(gint i = 0; i < gtk_notebook_get_n_pages (GTK_NOTEBOOK (nb->_book)); i++) { + if (nb->_buttons[i] == widget) { + gtk_notebook_set_current_page (GTK_NOTEBOOK (nb->_book), i); + } + } +} + void ColorNotebook::_entryGrabbed (SPColorSelector *, SPColorNotebook *colorbook) { ColorNotebook* nb = (ColorNotebook*)(SP_COLOR_SELECTOR(colorbook)->base); @@ -646,7 +689,19 @@ GtkWidget* ColorNotebook::addPage(GType page_type, guint submode) const gchar* str = _(SP_COLOR_SELECTOR_GET_CLASS (csel)->name[index]); // g_message( "Hitting up for tab for '%s'", str ); tab_label = gtk_label_new(_(str)); - gtk_notebook_append_page( GTK_NOTEBOOK (_book), page, tab_label ); + gint pageNum = gtk_notebook_append_page( GTK_NOTEBOOK (_book), page, tab_label ); + + // Add a button for each page + _buttons[pageNum] = gtk_radio_button_new_with_label(NULL, _(str)); + gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(_buttons[pageNum]), FALSE); + if (pageNum > 0) { + GSList *group = gtk_radio_button_get_group (GTK_RADIO_BUTTON(_buttons[0])); + gtk_radio_button_set_group (GTK_RADIO_BUTTON(_buttons[pageNum]), group); + } + gtk_widget_show (_buttons[pageNum]); + gtk_box_pack_start (GTK_BOX (_buttonbox), _buttons[pageNum], TRUE, TRUE, 0); + + g_signal_connect (G_OBJECT (_buttons[pageNum]), "clicked", G_CALLBACK (_buttonClicked), _csel); g_signal_connect (G_OBJECT (page), "grabbed", G_CALLBACK (_entryGrabbed), _csel); g_signal_connect (G_OBJECT (page), "dragged", G_CALLBACK (_entryDragged), _csel); g_signal_connect (G_OBJECT (page), "released", G_CALLBACK (_entryReleased), _csel); diff --git a/src/widgets/sp-color-notebook.h b/src/widgets/sp-color-notebook.h index 8ea8464a9..7532e1a6f 100644 --- a/src/widgets/sp-color-notebook.h +++ b/src/widgets/sp-color-notebook.h @@ -46,11 +46,13 @@ protected: static void _entryReleased( SPColorSelector *csel, SPColorNotebook *colorbook ); static void _entryChanged( SPColorSelector *csel, SPColorNotebook *colorbook ); static void _entryModified( SPColorSelector *csel, SPColorNotebook *colorbook ); + static void _buttonClicked(GtkWidget *widget, SPColorNotebook *colorbook); virtual void _colorChanged(); void _rgbaEntryChanged( GtkEntry* entry ); void _updateRgbaEntry( const SPColor& color, gfloat alpha ); + void _setCurrentPage(int i); gboolean _updating : 1; gboolean _updatingrgba : 1; @@ -58,6 +60,8 @@ protected: gulong _switchId; gulong _entryId; GtkWidget *_book; + GtkWidget *_buttonbox; + GtkWidget **_buttons; GtkWidget *_rgbal, *_rgbae; /* RGBA entry */ #if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2) GtkWidget *_box_outofgamut, *_box_colormanaged, *_box_toomuchink; |
