X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FMover.h;h=4bf525e8d94f72d9a4bdf8050f118ebffcc4c98e;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=3f4585bb53217d13047fdf8e7b1f1d18b5ce260a;hpb=01865146313ef24a9d36ee39d1212655bfed637b;p=lyx.git diff --git a/src/Mover.h b/src/Mover.h index 3f4585bb53..4bf525e8d9 100644 --- a/src/Mover.h +++ b/src/Mover.h @@ -28,11 +28,16 @@ class Mover { public: virtual ~Mover() {} + Mover(Mover &&) = default; + Mover & operator=(Mover &&) = default; + Mover(Mover const &) = default; + Mover & operator=(Mover const &) = default; + + Mover() = default; /** Copy file @c from to @c to. * This version should be used to copy files from the original - * location to the temporary directory, since @c to and @c latex - * would be equal in this case. + * location to the temporary directory. * \returns true if successful. */ bool @@ -45,6 +50,11 @@ public: * directory to the export location, since @c to and @c latex may * not be equal in this case. * \returns true if successful. + * NOTE: Although this routine simply calls do_copy() and + * Mover::do_copy() does not itself make any use of the @c latex argument, + * SpecialisedMover overrides do_copy(), so SpecialisedMover::copy(), which + * is just Mover::copy(), calls SpecialisedMover::do_copy(), and the @c latex + * argument IS in that case used. */ bool copy(support::FileName const & from, support::FileName const & to, @@ -55,8 +65,7 @@ public: /** Rename file @c from as @c to. * This version should be used to move files from the original - * location to the temporary directory, since @c to and @c latex - * would be equal in this case. + * location to the temporary directory. * \returns true if successful. */ bool @@ -95,14 +104,18 @@ protected: * For example, an Xfig .fig file can contain references to external * picture files. If such a reference has a relative path, then the * copied .fig file will require a transformation of the picture file - * reference if it is to be found by Xfig. + * reference if it is to be found by Xfig. + * + * So, in this case, we need three arguments: + * (i) @c from the location of the file to be moved + * (ii) @c to the location to which it should be moved + * (iii) @c latex the identifier that should be used in the sort of + * transformation just mentioned. */ class SpecialisedMover : public Mover { public: - SpecialisedMover() {} - - virtual ~SpecialisedMover() {} + SpecialisedMover() = default; /** @c command should be of the form * @@ -111,14 +124,11 @@ public: * where $$s is a placeholder for the lyx support directory, * $$i is a placeholder for the name of the file to be moved, * $$o is a placeholder for the name of the file after moving, - * $$l is a placeholder for the name of the file after moving, - * suitable as argument to a latex include command. This is - * either an absolute filename or relative to the master - * document. - * $$o and $$l can only differ if the file is copied from the - * temporary directory to the export location. If it is copied - * from the original location to the temporary directory, they - * are the same, so $$l may be ommitted in this case. + * $$l is a placeholder for the latex argument, as explained above. + * $$o and $$l can only differ if the file is copied from the temporary + * directory to the export location. If it is copied from the original + * location to the temporary directory, they are the same, so $$l may be + * ignored in this case, as it is in the Mover baseclass. */ SpecialisedMover(std::string const & command) : command_(command) {}