X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fui%2Fdialog%2Ffind.cpp;h=3ff79a0d3b2e8efdeb556c9d3b3a42c95bb2dd06;hb=ad2113df738be4dac5ccb58cedbedd74b045a0ab;hp=10f377ca86f88ea8e7896d5fcacee3efa6c6118a;hpb=14d72ef4f1da4bf8731db5656d83b73c9db7d039;p=inkscape.git diff --git a/src/ui/dialog/find.cpp b/src/ui/dialog/find.cpp index 10f377ca8..3ff79a0d3 100644 --- a/src/ui/dialog/find.cpp +++ b/src/ui/dialog/find.cpp @@ -35,6 +35,7 @@ #include "sp-flowtext.h" #include "text-editing.h" #include "sp-tspan.h" +#include "sp-tref.h" #include "selection-chemistry.h" #include "sp-defs.h" #include "sp-rect.h" @@ -55,8 +56,8 @@ namespace Inkscape { namespace UI { namespace Dialog { -Find::Find() - : Dialog ("dialogs.find", SP_VERB_DIALOG_FIND), +Find::Find() + : UI::Widget::Panel("", "dialogs.find", SP_VERB_DIALOG_FIND), _entry_text(_("_Text: "), _("Find objects by their text content (exact or partial match)")), _entry_id(_("_ID: "), _("Find objects by the value of the id attribute (exact or partial match)")), _entry_style(_("_Style: "), _("Find objects by the value of the style attribute (exact or partial match)")), @@ -82,35 +83,34 @@ Find::Find() _button_clear(_("_Clear"), _("Clear values")), _button_find(_("_Find"), _("Select objects matching all of the fields you filled in")) { - // Top level vbox - Gtk::VBox *vbox = get_vbox(); - vbox->set_spacing(4); + Gtk::Box *contents = _getContents(); + contents->set_spacing(4); - vbox->pack_start(_entry_text, true, true); - vbox->pack_start(_entry_id, true, true); - vbox->pack_start(_entry_style, true, true); - vbox->pack_start(_entry_attribute, true, true); - - vbox->pack_start(_check_all, true, true); - vbox->pack_start(_check_all_shapes, true, true); - vbox->pack_start(_check_rects, true, true); - vbox->pack_start(_check_ellipses, true, true); - vbox->pack_start(_check_stars, true, true); - vbox->pack_start(_check_spirals, true, true); - vbox->pack_start(_check_paths, true, true); - vbox->pack_start(_check_texts, true, true); - vbox->pack_start(_check_groups, true, true); - vbox->pack_start(_check_clones, true, true); - vbox->pack_start(_check_images, true, true); - vbox->pack_start(_check_offsets, true, true); - - vbox->pack_start(_check_search_selection, true, true); - vbox->pack_start(_check_search_layer, true, true); - vbox->pack_start(_check_include_hidden, true, true); - vbox->pack_start(_check_include_locked, true, true); - - vbox->pack_start(_button_clear, true, true); - vbox->pack_start(_button_find, true, true); + contents->pack_start(_entry_text, true, true); + contents->pack_start(_entry_id, true, true); + contents->pack_start(_entry_style, true, true); + contents->pack_start(_entry_attribute, true, true); + + contents->pack_start(_check_all, true, true); + contents->pack_start(_check_all_shapes, true, true); + contents->pack_start(_check_rects, true, true); + contents->pack_start(_check_ellipses, true, true); + contents->pack_start(_check_stars, true, true); + contents->pack_start(_check_spirals, true, true); + contents->pack_start(_check_paths, true, true); + contents->pack_start(_check_texts, true, true); + contents->pack_start(_check_groups, true, true); + contents->pack_start(_check_clones, true, true); + contents->pack_start(_check_images, true, true); + contents->pack_start(_check_offsets, true, true); + + contents->pack_start(_check_search_selection, true, true); + contents->pack_start(_check_search_layer, true, true); + contents->pack_start(_check_include_hidden, true, true); + contents->pack_start(_check_include_locked, true, true); + + contents->pack_start(_button_clear, true, true); + contents->pack_start(_button_find, true, true); // set signals to handle clicks _check_all.signal_clicked().connect(sigc::mem_fun(*this, &Find::onToggleAlltypes)); @@ -119,7 +119,7 @@ Find::Find() _button_find.signal_clicked().connect(sigc::mem_fun(*this, &Find::onFind)); _button_find.set_flags(Gtk::CAN_DEFAULT); - set_default (_button_find); // activatable by Enter + // set_default (_button_find); // activatable by Enter _entry_text.getEntry()->grab_focus(); show_all_children(); @@ -275,7 +275,7 @@ Find::filter_fields (GSList *l, bool exact) bool Find::item_type_match (SPItem *item) { - SPDesktop *desktop = SP_ACTIVE_DESKTOP; + SPDesktop *desktop = getDesktop(); if (SP_IS_RECT(item)) { return (_check_all_shapes.get_active() || _check_rects.get_active()); @@ -292,7 +292,7 @@ Find::item_type_match (SPItem *item) } else if (SP_IS_PATH(item) || SP_IS_LINE(item) || SP_IS_POLYLINE(item)) { return (_check_paths.get_active()); - } else if (SP_IS_TEXT(item) || SP_IS_TSPAN(item) || SP_IS_STRING(item)) { + } else if (SP_IS_TEXT(item) || SP_IS_TSPAN(item) || SP_IS_TREF(item) || SP_IS_STRING(item)) { return (_check_texts.get_active()); } else if (SP_IS_GROUP(item) && !desktop->isLayer(item) ) { // never select layers! @@ -337,7 +337,7 @@ Find::filter_list (GSList *l, bool exact) GSList * Find::all_items (SPObject *r, GSList *l, bool hidden, bool locked) { - SPDesktop *desktop = SP_ACTIVE_DESKTOP; + SPDesktop *desktop = getDesktop(); if (SP_IS_DEFS(r)) return l; // we're not interested in items in defs @@ -359,9 +359,9 @@ Find::all_items (SPObject *r, GSList *l, bool hidden, bool locked) GSList * Find::all_selection_items (Inkscape::Selection *s, GSList *l, SPObject *ancestor, bool hidden, bool locked) { - SPDesktop *desktop = SP_ACTIVE_DESKTOP; + SPDesktop *desktop = getDesktop(); - for (GSList *i = (GSList *) s->itemList(); i != NULL; i = i->next) { + for (GSList *i = (GSList *) s->itemList(); i != NULL; i = i->next) { if (SP_IS_ITEM (i->data) && !SP_OBJECT_IS_CLONED (i->data) && !desktop->isLayer(SP_ITEM(i->data))) { if (!ancestor || ancestor->isAncestorOf(SP_OBJECT (i->data))) { if ((hidden || !desktop->itemIsHidden(SP_ITEM(i->data))) && (locked || !SP_ITEM(i->data)->isLocked())) { @@ -398,7 +398,7 @@ Find::onClear() void Find::onFind() { - SPDesktop *desktop = SP_ACTIVE_DESKTOP; + SPDesktop *desktop = getDesktop(); bool hidden = _check_include_hidden.get_active(); bool locked = _check_include_locked.get_active();