void PathParam::on_link_button_click() { Inkscape::UI::ClipboardManager *cm = Inkscape::UI::ClipboardManager::get(); Glib::ustring pathid = cm->getShapeOrTextObjectId(SP_ACTIVE_DESKTOP); if (pathid == "") { return; } // add '#' at start to make it an uri. pathid.insert(pathid.begin(), '#'); if ( href && strcmp(pathid.c_str(), href) == 0 ) { // no change, do nothing return; } else { // TODO: // check if id really exists in document, or only in clipboard document: if only in clipboard then invalid // check if linking to object to which LPE is applied (maybe delegated to PathReference param_write_to_repr(pathid.c_str()); DocumentUndo::done(param_effect->getSPDoc(), SP_VERB_DIALOG_LIVE_PATH_EFFECT, _("Link path parameter to path")); } }