summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJohn Smith <john.smith7545@yahoo.com>2012-05-21 01:57:19 +0000
committerJohn Smith <removethis.john.q.public@bigmail.com>2012-05-21 01:57:19 +0000
commit9d232179848d6872aadc6ec229b7b50ebef32c45 (patch)
tree1828b7fb0ebb3a0969ef075b942d14908bf278b2 /src
parentFix for 973195 : Limit width of color profile labels (diff)
downloadinkscape-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.cpp2
-rw-r--r--src/ui/widget/filter-effect-chooser.cpp2
-rw-r--r--src/ui/widget/filter-effect-chooser.h2
-rw-r--r--src/ui/widget/object-composite-settings.cpp2
-rw-r--r--src/ui/widget/object-composite-settings.h1
-rw-r--r--src/widgets/sp-color-icc-selector.cpp2
-rw-r--r--src/widgets/sp-color-notebook.cpp61
-rw-r--r--src/widgets/sp-color-notebook.h4
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;