summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog
diff options
context:
space:
mode:
authorsu_v <suv-sf@users.sourceforge.net>2012-11-01 12:05:13 +0000
committer~suv <suv-sf@users.sourceforge.net>2012-11-01 12:05:13 +0000
commit811fe8472f8ef1aa36eb5957baa45bfc916e16f1 (patch)
tree823a9e6c54a5924edeffe3b71d5389e253c86ad4 /src/ui/dialog
parentchanges_2012_10_31b.patch (diff)
parentFix for 1006816 : Newly applied filter doesn't show in Filters Editor (diff)
downloadinkscape-811fe8472f8ef1aa36eb5957baa45bfc916e16f1.tar.gz
inkscape-811fe8472f8ef1aa36eb5957baa45bfc916e16f1.zip
merge from trunk (r11858)
(bzr r11668.1.38)
Diffstat (limited to 'src/ui/dialog')
-rw-r--r--src/ui/dialog/color-item.cpp19
-rw-r--r--src/ui/dialog/color-item.h1
-rw-r--r--src/ui/dialog/document-properties.cpp2
-rw-r--r--src/ui/dialog/export.cpp12
-rw-r--r--src/ui/dialog/export.h5
-rw-r--r--src/ui/dialog/filedialogimpl-gtkmm.cpp11
-rw-r--r--src/ui/dialog/filedialogimpl-gtkmm.h2
-rw-r--r--src/ui/dialog/filter-effects-dialog.cpp11
-rw-r--r--src/ui/dialog/filter-effects-dialog.h6
9 files changed, 53 insertions, 16 deletions
diff --git a/src/ui/dialog/color-item.cpp b/src/ui/dialog/color-item.cpp
index 969aac7ab..97f6cc07f 100644
--- a/src/ui/dialog/color-item.cpp
+++ b/src/ui/dialog/color-item.cpp
@@ -35,6 +35,7 @@
#include "xml/node.h"
#include "xml/repr.h"
#include "verbs.h"
+#include "widgets/gradient-vector.h"
#include "color.h" // for SP_RGBA32_U_COMPOSE
@@ -355,6 +356,23 @@ void ColorItem::setGradient(SPGradient *grad)
_grad = grad;
// TODO regen and push to listeners
}
+
+ setName( gr_prepare_label(_grad) );
+}
+
+void ColorItem::setName(const Glib::ustring name)
+{
+ //def.descr = name;
+
+ for ( std::vector<Gtk::Widget*>::iterator it = _previews.begin(); it != _previews.end(); ++it ) {
+ Gtk::Widget* widget = *it;
+ if ( IS_EEK_PREVIEW(widget->gobj()) ) {
+ gtk_widget_set_tooltip_text(GTK_WIDGET(widget->gobj()), name.c_str());
+ }
+ else if ( GTK_IS_LABEL(widget->gobj()) ) {
+ gtk_label_set_text(GTK_LABEL(widget->gobj()), name.c_str());
+ }
+ }
}
void ColorItem::setPattern(cairo_pattern_t *pattern)
@@ -366,6 +384,7 @@ void ColorItem::setPattern(cairo_pattern_t *pattern)
cairo_pattern_destroy(_pattern);
}
_pattern = pattern;
+
_updatePreviews();
}
diff --git a/src/ui/dialog/color-item.h b/src/ui/dialog/color-item.h
index f54586192..3a0b33193 100644
--- a/src/ui/dialog/color-item.h
+++ b/src/ui/dialog/color-item.h
@@ -60,6 +60,7 @@ public:
void setGradient(SPGradient *grad);
SPGradient * getGradient() const { return _grad; }
void setPattern(cairo_pattern_t *pattern);
+ void setName(const Glib::ustring name);
void setState( bool fill, bool stroke );
bool isFill() { return _isFill; }
diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp
index 7bd1b81c0..4a6429fc5 100644
--- a/src/ui/dialog/document-properties.cpp
+++ b/src/ui/dialog/document-properties.cpp
@@ -150,6 +150,7 @@ DocumentProperties::DocumentProperties()
_notebook.append_page(_page_metadata1, _("Metadata"));
_notebook.append_page(_page_metadata2, _("License"));
+ _wr.setUpdating (true);
build_page();
build_guides();
build_gridspage();
@@ -159,6 +160,7 @@ DocumentProperties::DocumentProperties()
#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
build_scripting();
build_metadata();
+ _wr.setUpdating (false);
_grids_button_new.signal_clicked().connect(sigc::mem_fun(*this, &DocumentProperties::onNewGrid));
_grids_button_remove.signal_clicked().connect(sigc::mem_fun(*this, &DocumentProperties::onRemoveGrid));
diff --git a/src/ui/dialog/export.cpp b/src/ui/dialog/export.cpp
index 62dd93126..e6c8ca107 100644
--- a/src/ui/dialog/export.cpp
+++ b/src/ui/dialog/export.cpp
@@ -296,7 +296,7 @@ Export::Export (void) :
batch_box.pack_start(batch_export, false, false);
hide_export.set_sensitive(true);
- hide_export.set_active (true);
+ hide_export.set_active (prefs->getBool("/dialogs/export/hideexceptselected/value", false));
hide_box.pack_start(hide_export, false, false);
@@ -328,6 +328,7 @@ Export::Export (void) :
browse_button.signal_clicked().connect(sigc::mem_fun(*this, &Export::onBrowse));
batch_export.signal_clicked().connect(sigc::mem_fun(*this, &Export::onBatchClicked));
export_button.signal_clicked().connect(sigc::mem_fun(*this, &Export::onExport));
+ hide_export.signal_clicked().connect(sigc::mem_fun(*this, &Export::onHideExceptSelected));
desktopChangeConn = deskTrack.connectDesktopChanged( sigc::mem_fun(*this, &Export::setTargetDesktop) );
deskTrack.connect(GTK_WIDGET(gobj()));
@@ -547,7 +548,7 @@ void Export::updateCheckbuttons ()
batch_export.set_sensitive(false);
}
- hide_export.set_sensitive (num > 0 && current_key == SELECTION_SELECTION);
+ //hide_export.set_sensitive (num > 0);
}
inline void Export::findDefaultSelection()
@@ -786,8 +787,6 @@ void Export::onAreaToggled ()
}
}
- hide_export.set_sensitive (key == SELECTION_SELECTION);
-
return;
} // end of sp_export_area_toggled()
@@ -919,6 +918,11 @@ Glib::ustring Export::absolutize_path_from_document_location (SPDocument *doc, c
return path;
}
+void Export::onHideExceptSelected ()
+{
+ prefs->setBool("/dialogs/export/hideexceptselected/value", hide_export.get_active());
+}
+
/// Called when export button is clicked
void Export::onExport ()
{
diff --git a/src/ui/dialog/export.h b/src/ui/dialog/export.h
index e899009a7..c8376cdcb 100644
--- a/src/ui/dialog/export.h
+++ b/src/ui/dialog/export.h
@@ -178,6 +178,11 @@ private:
#endif
/**
+ * Hide except selected callback
+ */
+ void onHideExceptSelected ();
+
+ /**
* Area width value changed callback
*/
void onAreaWidthChange ();
diff --git a/src/ui/dialog/filedialogimpl-gtkmm.cpp b/src/ui/dialog/filedialogimpl-gtkmm.cpp
index 1663eb0b6..8c2a7e056 100644
--- a/src/ui/dialog/filedialogimpl-gtkmm.cpp
+++ b/src/ui/dialog/filedialogimpl-gtkmm.cpp
@@ -141,13 +141,12 @@ bool SVGPreview::setDocument(SPDocument *doc)
//This should remove it from the box, and free resources
if (viewerGtk)
- gtk_widget_destroy(viewerGtk);
-
- viewerGtk = sp_svg_view_widget_new(doc);
- GtkWidget *vbox = (GtkWidget *)gobj();
- gtk_box_pack_start(GTK_BOX(vbox), viewerGtk, TRUE, TRUE, 0);
- gtk_widget_show(viewerGtk);
+ Gtk::Container::remove(*viewerGtk);
+ viewerGtk = Glib::wrap(sp_svg_view_widget_new(doc));
+ Gtk::VBox *vbox = Glib::wrap(gobj());
+ vbox->pack_start(*viewerGtk, TRUE, TRUE, 0);
+ viewerGtk->show();
return true;
}
diff --git a/src/ui/dialog/filedialogimpl-gtkmm.h b/src/ui/dialog/filedialogimpl-gtkmm.h
index 2c22e7367..02841a082 100644
--- a/src/ui/dialog/filedialogimpl-gtkmm.h
+++ b/src/ui/dialog/filedialogimpl-gtkmm.h
@@ -121,7 +121,7 @@ private:
/**
* The sp_svg_view widget
*/
- GtkWidget *viewerGtk;
+ Gtk::Widget *viewerGtk;
/**
* are we currently showing the "no preview" image?
diff --git a/src/ui/dialog/filter-effects-dialog.cpp b/src/ui/dialog/filter-effects-dialog.cpp
index a755cfccd..6fab4c504 100644
--- a/src/ui/dialog/filter-effects-dialog.cpp
+++ b/src/ui/dialog/filter-effects-dialog.cpp
@@ -1193,6 +1193,17 @@ void FilterEffectsDialog::FilterModifier::setTargetDesktop(SPDesktop *desktop)
}
}
+// When the document changes, update connection to resources
+void FilterEffectsDialog::FilterModifier::on_document_replaced(SPDesktop *desktop, SPDocument *document)
+{
+ if (_resource_changed) {
+ _resource_changed.disconnect();
+ }
+ _resource_changed = document->connectResourcesChanged("filter",sigc::mem_fun(*this, &FilterModifier::update_filters));
+
+ update_filters();
+}
+
// When the selection changes, show the active filter(s) in the dialog
void FilterEffectsDialog::FilterModifier::on_change_selection()
{
diff --git a/src/ui/dialog/filter-effects-dialog.h b/src/ui/dialog/filter-effects-dialog.h
index acdeecb71..1652a314f 100644
--- a/src/ui/dialog/filter-effects-dialog.h
+++ b/src/ui/dialog/filter-effects-dialog.h
@@ -77,12 +77,8 @@ private:
};
void setTargetDesktop(SPDesktop *desktop);
-
- void on_document_replaced(SPDesktop*, SPDocument*)
- {
- update_filters();
- }
+ void on_document_replaced(SPDesktop *desktop, SPDocument *document);
void on_change_selection();
void on_modified_selection( guint flags );