Commit Graph

71 Commits

Author SHA1 Message Date
Guillaume Munch
0cb85e9206 Disable edition when external modifications are detected
Introduce a distinction between being read-only and having the read-only flag. A
buffer is read-only if either it has been externally modified or if it has the
read-only flag.
2017-03-11 00:50:57 +01:00
Jean-Marc Lasgouttes
85bcf0d93f Fix indentation
Thanks to Juergen and gcc 6.2.
2016-10-19 14:10:47 +02:00
Jean-Marc Lasgouttes
6cb05ce8bb Do some caching of window title and related UI
This should avoid performance problems related to the window update machinery.
Moreover this fixes a crash introduced by 82808fea when closing a file.

Note that GuiWorkArea::Private already had a read_only_ member, but it
was unused.

Also rename LyXVC::vcname() to LyXVC::vcstatus() since it now contains
directly the UI string to be shown.
2016-10-19 11:59:47 +02:00
Jean-Marc Lasgouttes
82808fea04 Set window title according to platform UI
The window title is built from the current file name and its
mofidication state. We use our own code instead of the automatic title
bar provided when windowFileName() is set because

1/ Qt does not keep the full path name
2/ Qt does not yield a nice application name

The "read only" and "version control" status are shown in the status bar:

* for read only we use the tab read only emblem (with the right size)
* for version control, we show the name of the backend (using a new
  vcname() method of the backend).

The iconText() of the view is not updated anymore, since this is
deprecated in Qt5.
2016-09-08 15:59:44 +02:00
Guillaume Munch
ca8709aaf5 Replace boost::scoped_ptr with unique_ptr 2016-06-09 15:21:39 +01:00
Stephan Witt
89985bebf9 #9940 VCS now toggles buffer read-only state if locking is not active and it is enabled by VC backend 2016-02-20 07:32:56 +01:00
Georg Baum
f09a9fe2e6 Remove unsafe method FileName::tempName()
FileName::tempName() created a new temp file name by using qt to create a
temporary file with a unique name, and then deleting that file and returning
the name. This was unsafe, since other processes or even other threads of the
running LyX could create files with the same name between deletion and then
using the temp name.
This is fixed by using the TempFile class instead. As a side effect, a few
cases where the temp files were not deleted after usage were fixed as well.
The only place that is still unsafe is createTmpDir().
2014-06-09 13:05:50 +02:00
Georg Baum
ceb2303e2b Remove partial support for non-buffer files in VCS
This reverts a small part of 0526eb9d and gets rid of the double calls of
SVN::findFile() and GIT::findFile(). Please note that git detection does
currently not work because of 26dd4d0c.
2013-04-10 22:31:38 +02:00
Vincent van Ravesteijn
41843646b7 Fix monolithic build 2013-03-18 20:42:28 +01:00
Georg Baum
2f9ef2b98a Implement very basic git support
Only the local index is considered, no remote repo. Also getting the revision
(aka commit hash) is missing. How push and pull could be integrated with the
LyX VCS interface needs to be discussed, but the implemented functionality was
quite straight forward.
2013-02-06 22:07:31 +01:00
Georg Baum
a3e6c7830c Fix copy-paste error 2013-02-06 20:38:54 +01:00
Georg Baum
0526eb9d47 Implement VCS copy and rename
The advantage of having this in LyX is the intelligent file name handling
of included files. Implementation as discussed on the list, but ensure also
that an attempt to use locked files fails.
2013-02-06 20:38:54 +01:00
Georg Baum
d33450a592 Fix inconsistent VCS checkin return values
It is not possible to transport the different error/abort/success conditions
of a VCS checkin through a simple empty or nonempty string. Therefore it was
no wonder that the return values were used inconsistently for different VCS.
Now the log and return status are decoupled, and all VCS are handled
consistently. This is a prerequisite for proper locking detection of the
upcoming rename command.
2013-02-04 22:01:59 +01:00
Georg Baum
1a48d5a967 Dot not swallow log messages 2013-02-03 19:55:44 +01:00
Georg Baum
e82cc5d498 Fix typos 2013-02-03 19:55:44 +01:00
Georg Baum
89c60f388a guard against dereferencing null pointers 2012-11-25 19:07:57 +01:00
Georg Baum
9d99d3dbea Implement extractFromVC() for CVS and SVN.
Both cvs and svn are able to retrieve non-existing files from repository,
but this was only implemented for rcs. This is a prerequisite for the
planned move and copy VCV operations. I also improved error schecking and
used extractFromVC() also for files specified on the command line if they
do not exist (in GUI mode, it was already the case in non-GUI mode).
2012-11-15 22:01:19 +01:00
Georg Baum
56e3d2153f Get rid of redundant CVS/SVN file_ member
It did always point to the buffer's file name, so it is not needed and it was
not used in most cases anyway. Instead, ensure that owner_ is always set and
cannot be changed later.
2012-11-13 21:44:36 +01:00
Pavel Sanda
02dbb905ee Fix bug #7338
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@37866 a592a061-630c-0410-9148-cb99ea01b6c8
2011-03-07 00:37:26 +00:00
Stephan Witt
ba00acbd65 check for user cancel or errors on vcs revert before reload of buffer in LFUN_VC_REVERT
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@36160 a592a061-630c-0410-9148-cb99ea01b6c8
2010-11-06 11:54:08 +00:00
Stephan Witt
c6d4080694 #6396 no dialog when no doc changes were done and check-in or revert is done
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35828 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-25 13:27:48 +00:00
Stephan Witt
6749b1fa0a invalidate vcs data if user cancelled the registrer operation, otherwise the registrer cannot be called again
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35798 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-24 13:26:00 +00:00
Stephan Witt
b2137a65de validate version control status after buffer save or save-as
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35796 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-23 18:35:13 +00:00
Stephan Witt
de5aab29d4 add missing implementation of the check method for repo-update availability
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35572 a592a061-630c-0410-9148-cb99ea01b6c8
2010-10-08 05:26:12 +00:00
Pavel Sanda
b2512f44d6 These things need to be updated for each dialog opening
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35308 a592a061-630c-0410-9148-cb99ea01b6c8
2010-09-07 11:29:05 +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
Vincent van Ravesteijn
ab76cb0bc9 Typo and style.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33717 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-11 19:40:11 +00:00
Pavel Sanda
3309cdca59 Allow revision to be string.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33474 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-15 07:10:59 +00:00
Pavel Sanda
7929cad343 We need public API
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33446 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 12:16:34 +00:00
Pavel Sanda
f26f990076 Kill locker() API in VCS
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33438 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 07:21:11 +00:00
Pavel Sanda
495daad277 unused code
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33437 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 06:45:52 +00:00
Pavel Sanda
4c5ba07a7a Spots from Abdel
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33428 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 01:44:13 +00:00
Pavel Sanda
7b227d6899 VCS: Extended API for revision info
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33425 a592a061-630c-0410-9148-cb99ea01b6c8
2010-02-12 01:43:59 +00:00
Pavel Sanda
ddfb49a4f0 Part of r32942. We want to avoid reload flickering when
user canceled commiting dialog.
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg156936.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32956 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-10 21:18:41 +00:00
Vincent van Ravesteijn
e0a6a7a542 Move some code from Buffer::loadLyXFile to LyXVC::file_not_found_hook. Accoring to the description of the latter, this should already be the case.
Furthermore, make sure that the read-only flag is always set to both true and false, since now the buffer can be read-only during a reload.

Last, set the buffer clean after a successful reload.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32896 a592a061-630c-0410-9148-cb99ea01b6c8
2010-01-08 18:48:36 +00:00
Vincent van Ravesteijn
defc7ebac5 Constify some functions and correct a typo.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@32688 a592a061-630c-0410-9148-cb99ea01b6c8
2009-12-31 14:40:02 +00:00
Pavel Sanda
4257aa5e7f Make updating less dangerous, see comments in #6255.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31615 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-14 19:18:06 +00:00
Pavel Sanda
4f0957c819 Bug #6255 - Update linked files with version control
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@31546 a592a061-630c-0410-9148-cb99ea01b6c8
2009-10-06 23:20:52 +00:00
Pavel Sanda
7355a53a73 Guify setting of svn locking property
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@30255 a592a061-630c-0410-9148-cb99ea01b6c8
2009-06-25 14:48:11 +00:00
Pavel Sanda
77d824af42 more robust version
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28316 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-01 23:46:41 +00:00
Pavel Sanda
1f5c703bae Squash warning
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28315 a592a061-630c-0410-9148-cb99ea01b6c8
2009-02-01 23:27:58 +00:00
Vincent van Ravesteijn
c53082b6c3 Improved UI for version control:
* the menu-item should also be enabled when the buffer is still unnamed (it will be saved anyway), and
* no buffer-reload after user cancel.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@28028 a592a061-630c-0410-9148-cb99ea01b6c8
2009-01-08 00:14:55 +00:00
André Pönitz
f1cba8ff64 more latin1..utf8 schanges. all of src/* should be utf8 now
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27425 a592a061-630c-0410-9148-cb99ea01b6c8
2008-11-14 15:58:50 +00:00
Pavel Sanda
de7c7ea360 Fix http://bugzilla.lyx.org/show_bug.cgi?id=5430 .
http://www.mail-archive.com/lyx-devel@lists.lyx.org/msg145723.html


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27197 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-30 13:47:41 +00:00
Pavel Sanda
c697f9f6b9 Small glitch in RCS registering procedure, useless parse of wrong file (part of 5389).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@27144 a592a061-630c-0410-9148-cb99ea01b6c8
2008-10-27 01:06:24 +00:00
Pavel Sanda
aaa4169ece VCS: Towards statusbar info.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25976 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-29 13:14:51 +00:00
Pavel Sanda
6a9c45b50b Change strings
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25794 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 10:16:30 +00:00
Pavel Sanda
d4b9c97555 ReadOnly mode only for RCS
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25793 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 10:16:12 +00:00
Pavel Sanda
38edfeb537 toggleReadOnly belongs only to RCS, not CVS.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25787 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 09:00:05 +00:00
Pavel Sanda
0129d2fad1 Comments forthe current state.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@25786 a592a061-630c-0410-9148-cb99ea01b6c8
2008-07-22 08:59:47 +00:00