X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FMover.h;h=4bf525e8d94f72d9a4bdf8050f118ebffcc4c98e;hb=28be7d552f62cc02fa86d7f79201d089bfb2d7b5;hp=7c0c5021f0e869443b145dc43a68957449a90f41;hpb=897436efbb9bd641b61467d185a2dfae9839e575;p=lyx.git diff --git a/src/Mover.h b/src/Mover.h index 7c0c5021f0..4bf525e8d9 100644 --- a/src/Mover.h +++ b/src/Mover.h @@ -28,16 +28,20 @@ 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 - copy(support::FileName const & from, support::FileName const & to, - unsigned long int mode = (unsigned long int)-1) const; + copy(support::FileName const & from, support::FileName const & to) const; /** Copy file @c from to @c to. * \see SpecialisedMover::SpecialisedMover() for an explanation of @@ -46,19 +50,22 @@ 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, - std::string const & latex, - unsigned long int mode = (unsigned long int)-1) const + std::string const & latex) const { - return do_copy(from, to, latex, mode); + return do_copy(from, to, latex); } /** 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 @@ -82,7 +89,7 @@ public: protected: virtual bool do_copy(support::FileName const & from, support::FileName const & to, - std::string const &, unsigned long int mode) const; + std::string const &) const; virtual bool do_rename(support::FileName const & from, support::FileName const & to, @@ -97,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 * @@ -113,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) {} @@ -131,7 +139,7 @@ public: private: virtual bool do_copy(support::FileName const & from, support::FileName const & to, - std::string const & latex, unsigned long int mode) const; + std::string const & latex) const; virtual bool do_rename(support::FileName const & from, support::FileName const & to,