Georg Baum
db0ba3a3c6
Add class for threadsafe temp file handling
...
FileName::tempName() is not thread safe, since the QTemporaryFile object is
immediately deleted after creating it. Therefore, another thread could create
the same temporary file in the time span before the user of FileName::tempName()
recreates it. This is not as theoretical as it may look: I observed that
repeated creation and deletion of QTemporaryFile objects always use the same
name.
This problem is solved by the new class TempFile which should be used like
QTemporaryFile itself.
2013-04-14 18:22:42 +02:00
Vincent van Ravesteijn
5e4e4b674c
Always require a mask to get a temporary filename
...
If no mask is supplied or the mask is attached to the end of the filename, we end up with unexpected names like
<system-temp-dir>\lyx_tmpdir.qHp780.vcr780_<mask>
instead of a temporary file in the lyx temporary directory like
<system-temp-dir>\lyx_tmpdir.qHp780\<mask>.vcr780.
2012-05-03 16:14:37 +02:00
Stephan Witt
8be18455fd
#7855 subversion 1.7.x support: use svn info to check if a file is under version control; this works for 1.6.x too; to avoid excessive forks of child processes check for the existence of a .svn directory in current dir and parent directories
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40911 a592a061-630c-0410-9148-cb99ea01b6c8
2012-03-11 11:12:12 +00:00
Georg Baum
de6e4a2937
Make guessFormatFromContents() a bit more private, since it is not supposed
...
to be used in new code.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40790 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-21 20:46:37 +00:00
Georg Baum
26e5f1a8ec
Use libmagic for file format detection if available.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40789 a592a061-630c-0410-9148-cb99ea01b6c8
2012-02-21 20:29:44 +00:00
Georg Baum
a6f843aacb
get rid of dead code and silly function
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@40605 a592a061-630c-0410-9148-cb99ea01b6c8
2012-01-12 19:48:08 +00:00
Peter Kümmel
c09d33120d
UNDO: enc
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34943 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 16:09:26 +00:00
Peter Kümmel
56a7a67783
add first version of .lyx file encryption. It's disabled by default and could out-of-the-box only by compiled on Linux with cmake and with openssl-devel packeges.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34931 a592a061-630c-0410-9148-cb99ea01b6c8
2010-07-17 12:26:11 +00:00
Pavel Sanda
266ad9501d
DocFileName::unzippedFilename -> DocFileName::unzippedFileName
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34239 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:26 +00:00
Pavel Sanda
9d43d32240
DocFileName.outputFilename -> DocFileName.outputFileName
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34238 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:25 +00:00
Pavel Sanda
b6a764eef3
FileName.mangledFilename -> FileName.mangledFileName
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34236 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:22 +00:00
Pavel Sanda
e5fc2cbdc6
Filename.relFilename -> Filename.relFileName
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34235 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:20 +00:00
Pavel Sanda
62ca7f3ae5
Proper camel case for FileName.absFilename
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@34234 a592a061-630c-0410-9148-cb99ea01b6c8
2010-04-21 01:19:09 +00:00
Enrico Forestieri
10f1370464
On windows, allow saving a document whose pathname contains unicode chars.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33539 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-22 19:34:25 +00:00
Enrico Forestieri
37974532f6
Fix bug #5238 : LyX 1.6 fails with non-ascii chars in path (on Windows)
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33524 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-21 04:51:27 +00:00
Vincent van Ravesteijn
0acff0aa75
Add a FileName::refresh function and replace one call to lastModified which was just meant to refresh the file info.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32354 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-05 02:50:34 +00:00
Richard Heck
969a919a0d
More comments.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30415 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-08 19:55:03 +00:00
Richard Heck
3a41879cb4
Add and update some comments.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30405 a592a061-630c-0410-9148-cb99ea01b6c8
2009-07-07 15:29:33 +00:00
Enrico Forestieri
ccc77c73da
Speed up FileName operator== (Georg's solution).
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29498 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-02 17:12:31 +00:00
Enrico Forestieri
b0936fac4c
When performing a reverse DVI search and the tmpdir is a symlink, the
...
DVI viewer passes back the resolved path, such that the search fails,
as internally LyX uses the unresolved path.
This patch fixes this bug by using the new method FileName::realPath
which resolves a path by getting rid of any '.', '..', or symlink
path components.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@29476 a592a061-630c-0410-9148-cb99ea01b6c8
2009-05-01 15:18:11 +00:00
Pavel Sanda
80e87042b4
typo
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28296 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-30 21:01:32 +00:00
Peter Kümmel
cab745d661
Fix bug 2235: jpeg capital letters (.JPG) does not work with pdflatex
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26744 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-05 11:51:18 +00:00
Abdelrazak Younes
c0aeb567ce
add FileName::extension() method.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@26494 a592a061-630c-0410-9148-cb99ea01b6c8
2008-09-22 09:44:44 +00:00
Abdelrazak Younes
07719210df
Partially fix http://bugzilla.lyx.org/show_bug.cgi?id=2771
...
We need to solve these warnings from documentations:
* This will not compare two different symbolic links pointing to the same file.
* Long and short file names that refer to the same file on Windows are treated as if they referred to different files.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25960 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-29 09:07:37 +00:00
Abdelrazak Younes
72d9237817
Add new FileName::set() method.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25954 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-29 07:47:16 +00:00
Abdelrazak Younes
d79ee740b3
Introduce a new tempName() method with base directory.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25830 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-23 09:23:23 +00:00
Abdelrazak Younes
734e22c4d3
tentatively fix http://bugzilla.lyx.org/show_bug.cgi?id=4693
...
The problem stems I guess from the use of from_local8bit().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25809 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 17:45:40 +00:00
Pavel Sanda
19b6a34be3
This comment is wrong and causes bug in revision control.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25739 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-20 21:27:20 +00:00
Stefan Schimanski
48999ee671
* Some more clever elide mode for the LyX buffer tabs. In trunk
...
currently the whole path is (possibly with some unmotivated ... in
the middle) used which is usually far too long.
The algorithm implemented here will start with absolute paths. From
left to right path segments are added to the display string if they
help to make the display strings more unique. Otherwise nothing is
added, or if some middle path segments are omitted otherwise, three
dots ... are used.
The result is that we get just the base filename without extension if
they are unique in the tabbar.
The patch is open for discussion. If there is demand we can create
yet another preference option to get back the old behaviour.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@24555 a592a061-630c-0410-9148-cb99ea01b6c8
2008-04-29 15:44:07 +00:00
Bo Peng
c81fd7337d
Embedding: add embedding support for InsetInclude. (params["embed"] is added)
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22441 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-08 16:35:43 +00:00
Bo Peng
c9a7e8c416
Embedding: After another round of EmbeddedFiles changes, embedded figures should more or less work now.
...
* src/insets/InsetExternal.cpp: fix compiling. (Does not work yet)
* src/insets/InsetGraphics.cpp: use latexFilename to produce output.
* src/insets/InsetGraphicsParams.cpp: use availableFile to show preview.
* src/EmbeddedFiles.h|cpp: More things are moved from EmbeddedFiles to EmbeddedFile
* src/frontends/qt4/GuiGraphics.cpp: remove embeddable-related operations.
* src/support/FileName.h: make isReadableFile virtual
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22410 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-07 03:34:21 +00:00
Bo Peng
56a1dfe65f
Embedding: adjust how InsetGraphics interacts with EmbeddedFiles, the ?th overhaul of the EmbeddedFile class :-(
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22377 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-05 05:28:39 +00:00
Abdelrazak Younes
96ee270933
transfer os::is_absolute_path() to FileName::isAbsolute().
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22187 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-17 15:15:37 +00:00
Abdelrazak Younes
c66e214724
Transfer getcwd() implementation to FileName.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22164 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-16 10:18:00 +00:00
Abdelrazak Younes
86506a80eb
Simplify FileName::tempName().
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22163 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-16 09:52:36 +00:00
Abdelrazak Younes
1948c5812c
Change semantics of FileName::copyTo(): we now overwrite the target file unconditionally.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22159 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-15 08:25:53 +00:00
Abdelrazak Younes
0caa103581
* get rid of lyxlib.h:mkdir() and makedir()
...
* Introduce FileName::createPath()
* Fix file copying in EmbeddedFile.cpp.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22155 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-14 22:43:39 +00:00
Abdelrazak Younes
d1574fec83
The rename() function removed in rev had in fact move() functionality. So we replace all uses of renameTo() with the new FileName::moveTo() method.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22149 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-14 18:16:25 +00:00
Abdelrazak Younes
ec49fff94d
Fix comments.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22128 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-13 11:40:41 +00:00
Abdelrazak Younes
9302bd119f
compile fix following undo/redo mixup. Sorry.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22124 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-13 10:43:29 +00:00
Abdelrazak Younes
4e364577e3
Introduce FileName::changePermission() and fix ConverterCache.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22123 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-13 10:38:31 +00:00
Abdelrazak Younes
15fe6b3c53
add FileName::renameTo() method.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22117 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-13 07:36:47 +00:00
Abdelrazak Younes
e017570aa8
Introducing FileNameList, cleanup some headers and put back dirList() into FileName.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21965 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-05 10:32:49 +00:00
Abdelrazak Younes
b1db731a98
* FileName::fileContents(): new argument to define the file encoding.
...
* BufferView:
- insertPlaintextString(): now accept a FileName.
- contentsOfPlaintextFile(): ditto and use FileName::fileContents().
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21915 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-02 11:55:25 +00:00
Peter Kümmel
aef7e129e7
move funtion with std::vector to filetools
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21903 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-02 09:19:43 +00:00
Peter Kümmel
4ff95a154d
fix memory leak, cleanup FileName interface
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21896 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-01 10:23:16 +00:00
André Pönitz
63d19999eb
move chdir to FileName
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21890 a592a061-630c-0410-9148-cb99ea01b6c8
2007-12-01 00:06:50 +00:00
André Pönitz
5c4a20fe04
I'll find a solution for the 'dirList problem', Abdel.
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21884 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-30 20:57:53 +00:00
Abdelrazak Younes
377ae30bd8
lyxlib.h:sum -> FileName::checksum()
...
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21874 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-30 09:23:44 +00:00
André Pönitz
9d0ea8aeff
Move debug.{cpp,h}, Messages.{cpp,h} and gettext.{cpp,h} to support/.
...
Now support/* should have no dependencies on src/* anymore.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@21851 a592a061-630c-0410-9148-cb99ea01b6c8
2007-11-29 07:04:28 +00:00