Commit Graph

4668 Commits

Author SHA1 Message Date
Stefan Schimanski
5b46cbef1a * On Mac it's common to have tool windows which are always in the
foreground and are hidden when the main window is not
  focused. Moreover they are normally "auto applying".

  This patch implements this for the character and the paragraph
  dialog. These text propertied are implemented in major application like Apple
  Pages, OmniGraffle and others via inspectors or toolbars. Our "auto
  apply"-mode resembles these very well. So why not activate it and
  make LyX a bit more Mac-like.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22673 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-25 22:31:33 +00:00
Stefan Schimanski
8e212b98b4 * optional old-style editing mode for macros with a parameter list.
* combobox in the preferences dialog to choose the macro editing mode of choice.

The reason for the three choices (inline box, inline without box,
list) is that it seems that there are at least these three groups of
people, and each of them is very strong about their opinion what that
the best mode is. So here there are all of them, pick your favourite.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22670 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-25 22:02:38 +00:00
Stefan Schimanski
0a701fb254 * Option to make macro editing less "noisy" by hiding the grey box with the
macro name when the cursor is inside. The downside of the coin is that
you have to look into the statusbar to see which macro is used. But
some people prefer that than having the slight size change of macros
when the cursor enters.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22650 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-22 21:23:41 +00:00
Pavel Sanda
75a5c1c7a1 Correct toolbar environment sorting for other locales.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22634 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-19 23:46:03 +00:00
Pavel Sanda
c0414bef66 Environment toolbar is not updated after selection by mouse.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22633 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-19 23:36:03 +00:00
André Pönitz
c151549004 cosmetics
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22632 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-19 12:33:01 +00:00
Abdelrazak Younes
33b1ab9a9a Fix buffer-next/previous when called with Ctrl-Tab.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22621 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-18 08:26:38 +00:00
Jürgen Spitzmüller
7d16a9c7ea * src/frontends/GuiView.cpp:
- fix bug 4496 ("Retry" and "Cancel" buttons were swapped in the error dialog)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22616 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-17 19:01:01 +00:00
Abdelrazak Younes
29918a2292 Scrolling works:
* enable ScrollBarAsNeeded.
* small cleanups.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22615 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-17 17:47:01 +00:00
Abdelrazak Younes
ae0667c112 More scrolling work. Now the scrollbar parameters are normalized against the screen geometry and coordinates. This simplifies the logic and the code significantly.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22614 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-17 17:06:55 +00:00
Abdelrazak Younes
689d5c2b99 add some const.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22611 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-17 09:19:52 +00:00
Abdelrazak Younes
ff588411af Delay IconPalette construction.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22610 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-17 08:42:28 +00:00
Abdelrazak Younes
139802b193 string optimizations.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22609 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-17 08:32:48 +00:00
Abdelrazak Younes
0aead96461 Introduce class MenuButton in order to delay the math menu button initialisation up until it is first shown. This improve the inital loading time by half a second on windows.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22608 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-17 08:20:22 +00:00
Edwin Leuven
4559120e8a don't update parent and make sure the icon sizes on the palette are correct
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22606 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 20:51:00 +00:00
Edwin Leuven
9a0570de4a initialize iconpalettes only when the user asks for them
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22605 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 20:36:45 +00:00
Abdelrazak Younes
95fe0e16a7 Introduce class PaletteButton in order to delay the icon palette initialisation up until it is first shown. This improve the inital loading time by 2.3 seconds on windows!
I think the same thing should be done for POPUPMENU.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22603 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 18:27:24 +00:00
Abdelrazak Younes
c2f57f8cfe Fix delay when applying changed Preferences. The reason was that the "math-panels" initialisation takes too long (hence the FIXME).
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22602 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 17:26:40 +00:00
Abdelrazak Younes
47f929d48d Fix mac menubar only modifying the Prefs.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22601 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 16:50:10 +00:00
Abdelrazak Younes
9b06f2fbd5 Allow use of Tab keys when no document's open.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22597 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 08:04:49 +00:00
Abdelrazak Younes
5a2231d17b Fix bug 4351 at least on Windows and X11.
http://bugzilla.lyx.org/show_bug.cgi?id=4351

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22596 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-16 07:47:53 +00:00
Richard Heck
1741c87a4e Fix bug 4463. The crash was due to a call to X from inside a child process.
The main change is to support/ForkedCalls.{h,cpp}. We introduce a static variable IAmAChild and a corresponding accessor. This is set to true in a new fork() method, in the branch taken by the child. (Note: fork() is safe cross-platform, as it just returns -1 if we don't have fork().) This ForkedProcess::iAmAChild() method is then used to protect GuiView::message().

As Abdel has pointed out, there may be other such calls to be protected, e.g., the emission of the Buffer::changed() signal. Those are not addressed here.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22587 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-15 18:26:53 +00:00
Jürgen Spitzmüller
1acedf11da * src/frontends/GuiDocument.{cpp,h}:
- do not update dialog when clicking in the main window without buffer change
	  (bug 4302).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22583 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-15 10:38:19 +00:00
Abdelrazak Younes
537481ebe5 header cleanup
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22573 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-14 23:18:52 +00:00
Richard Heck
f03329a19c I18n for modules. This would seem to complete the module implementation. Test away.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22558 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-14 21:44:06 +00:00
Peter Kümmel
421fa672a7 remove duplicated code, (fix cmake merge)
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22557 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-14 19:52:16 +00:00
Enrico Forestieri
58a0626e80 Use the currentItemChanged() signal instead of itemSelectionChanged()
because in Qt 4.2 the current item has not been updated yet when
itemSelectionChanged() is emitted.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22544 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-13 21:35:48 +00:00
Abdelrazak Younes
cf2656e026 fix warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22536 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-13 10:48:10 +00:00
Abdelrazak Younes
0ea17620dc fix warning.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22535 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-13 10:44:16 +00:00
Richard Heck
a60b6d90d9 Help from Andre.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22524 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 16:11:55 +00:00
Jürgen Spitzmüller
e3699e1a47 * GuiBibtex.cpp:
- some more tweaks.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22522 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 15:41:40 +00:00
Jürgen Spitzmüller
445bf425a1 * GuiBibtex.cpp:
- nor _really_: yet another tweak to button enabling.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22516 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 12:00:11 +00:00
Jürgen Spitzmüller
709960ff66 * GuiBibtex.cpp:
- yet another tweak to button enabling.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22512 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 11:49:49 +00:00
Jürgen Spitzmüller
e94d6b3958 * GuiBibtex.cpp:
- addition to rev. 22507: handle ReadOnly of new buttons.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22510 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 11:22:20 +00:00
Jürgen Spitzmüller
fcf47395c5 * src/frontends/qt4/GuiBibtex.{cpp,h}:
* src/frontends/qt4/ui/BibtexUi.ui:
	- add buttons to move databases up and down.
	  Patch from Horst Schirmeier (permission: http://marc.info/?l=lyx-devel&m=120009631506298&w=2)

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22507 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 09:30:21 +00:00
Richard Heck
d5d665482e This commit changes the way individual LyXModule's are represented, both internally and in the .lyx files. The earlier version represented them by their `descriptive name', e.g., "Endnote" or "Theorems (AMS)", these being the same names used in the UI. This was a mistake, as becomes readily apparent when one starts to think about translating these strings. The modules ought to be represented by their filename, without the extension, just as TextClass's are.
The changes that accomplish this part are in ModuleList.{h,cpp}, configure.py, and the *.module files themselves. This is a format change, and the lyx2lyx is in those files.

By itself, that change would not be major, except for the fact that we do not want the module to be represented in the UI by its filename---e.g., theorems-std---but rather by a descriptive name, such as "Theorems". But that change turns out to be wholly non-trivial. The mechanism for choosing modules was the same as---indeed, was borrowed from---that in GuiCitation: You get a list of modules, and choosing them involves moving strings from one QListView to another. The models underlying these views are just QStringListModels, which means that, when you want to know what modules have been selected, you see what strings are in the "selected" QListView. But these are just the descriptive names, and we can't look up a module by its descriptive name if it's been translated. That, indeed, was the whole point of the change to the new representation.

So, we need a more complicated model underlying the QListView, one that will pair an identifying string---the filename minus the extension, in this case---with each item. This turns out not to be terribly difficult, though it took rather a while for me to understand why it's not difficult. There are two parts:
(i)  GuiSelectionManger gets re-written to use any QAbstractListModel, not just a QStringListModel. This actually seems to improve the code, independently.
(ii) We then subclass QAbstractListModel to get the associated ID string, using the Qt::UserRole slot associated with each item to store its ID. This would be almost completely trivial if QAbstractListItem::itemData() included the QVariant associated with this role, but it doesn't, so there are some additional hoops through which to jump.

The new model, a GuiIdListModel, is defined in the files by that name. The changes in GuiSelectionManger.{h,cpp} make it more abstract; the changes in GuiDocument.{h,cpp} adapt it to the new framework. 

I've also updated the module documenation to accord with this change.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22501 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 04:28:12 +00:00
Richard Heck
471cf26b11 New files, anticipating a later commit.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22500 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-12 02:31:32 +00:00
Jürgen Spitzmüller
4b799833e7 *** Support for generic sideways floats ***
* src/Buffer.cpp:
	- format is up to 312.
* src/LaTeXFeatures.cpp:
	- add rotfloat.
* src/Insets/InsetFloat.cpp:
	- handle starred and generic sideways floats.
* src/frontends/qt4/FloatPlacement.{cpp,h}:
	- adjust GUI to the new features.
* lib/chkconfig.ltx:
	- add rotfloat
* lib/lyx2lyx/LyX.py:
* lib/lyx2lyx/lyx_1_6.py:
	- add reversion methods for new floats
* lib/lyx2lyx/lyx_1_4.py:
	- add proper reversion method for sideways floats (this was missing).

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22495 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-11 18:56:53 +00:00
Pavel Sanda
60c53dcd1e Renaming leftovers
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22491 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-11 12:40:26 +00:00
Bo Peng
f52b73747f Embedding: saving inzip name to .lyx file so that embedded files can always be found under different operating systems (even lyx versions). yet to be tested under windows
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22486 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 23:39:58 +00:00
Abdelrazak Younes
a84fa1ce00 Transfer Tab and Shift-Tab keys special handling from GuiView::event() to GuiWorkArea::event(). Add some comments.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22477 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 09:04:30 +00:00
Abdelrazak Younes
50b994b08f * GuiWorkArea::event():
- case ToolTip: don't forget to accept the event!
- Clean up the method in order to extend to other events.



git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22473 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 08:19:54 +00:00
Richard Heck
5f91f39309 We do not need to update just because the class has been changed.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22466 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 06:22:42 +00:00
Richard Heck
5faad9ca68 Additional UI logic related to module requires and excludes.
The logic here is really kind of a mess. If anyone can make it
simpler, I'd be thrilled.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22458 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-10 01:33:24 +00:00
Richard Heck
78cc57cd5a Fix copy-paste errors.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22457 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-09 23:06:16 +00:00
Richard Heck
7c28905b17 This commit adds some new functionality to the modules stuff. In particular, it introduces the concept of "required" and "excluded" modules: A given module may require one of some list of modules, or it may be incompatible with some other modules. (Complex Boolean combinations are not supported!!) These facts can be noted in the module file, and the UI responds appropriately: Required and excluded modules are noted in the description, and the "Add" button is enabled only if at least one of the required modules has already been selected and no excluded module is selected. Getting this to work involved a fair bit of cleanup of the existing code---including ways Angus, I think, had already pointed out were required---and also involved changing the syntax of the headers of the module files, but in ways that are probably best anyway.
None of the extant modules require any other modules, but the Theorem modules all exclude one another. (See the screenshot.) When I modularize the AMS classes---that is the next task---we'll have requires.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22456 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-09 18:51:02 +00:00
Abdelrazak Younes
a82d158e0c Remove archaeological work around scrollbar insanity.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22452 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-09 09:54:39 +00:00
Richard Heck
85ac3f0dc4 More whitespace.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22451 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-09 07:19:26 +00:00
Richard Heck
b84e210719 What happened to the whitespace?
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22450 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-09 07:18:41 +00:00
Bo Peng
b5153b3d26 Embedding: merge lyx::EmbeddedFiles to lyx::support::EmbeddedFileList
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@22448 a592a061-630c-0410-9148-cb99ea01b6c8
2008-01-08 18:55:34 +00:00