lyx_mirror/src/frontends/qt4
Jean-Marc Lasgouttes 9fe101e890 Remove support for pixmap cache
This code has issues and there is no evidence that it improves performance.

Remove LyXRC variable \use_pixmap_cache and update rc format to 29.

Now the global pixmap cache is only used by GuiCompleter. Therefore
there is no need to reset it when fonts change.
2018-10-07 14:56:55 +02:00
..
ui Remove support for pixmap cache 2018-10-07 14:56:55 +02:00
.gitignore
Action.cpp Action.cpp: replace a reference with a shared_ptr 2016-08-28 22:49:21 +01:00
Action.h Action.cpp: replace a reference with a shared_ptr 2016-08-28 22:49:21 +01:00
BulletsModule.cpp
BulletsModule.h
ButtonController.cpp
ButtonController.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
ButtonPolicy.cpp Further BC fixes to GuiCharacter 2018-05-05 17:24:09 +02:00
ButtonPolicy.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
CategorizedCombo.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
CategorizedCombo.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
CMakeLists.txt Cmake build: Add option to use native file dialog also for linux 2017-11-26 18:50:53 +01:00
ColorCache.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
ColorCache.h
CustomizedWidgets.cpp
CustomizedWidgets.h
Dialog.cpp Speed up exit time 2017-10-18 13:12:20 +02:00
Dialog.h Speed up exit time 2017-10-18 13:12:20 +02:00
DialogView.cpp Fix warning during runtime with qt4 2016-11-09 23:37:35 +01:00
DialogView.h Fix warning during runtime with qt4 2016-11-09 23:37:35 +01:00
DockView.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
DockView.h Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
EmptyTable.cpp
EmptyTable.h
FancyLineEdit.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
FancyLineEdit.h Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
FileDialog.cpp Make it possible to select (not)native file dialogs at run time 2018-03-19 11:17:33 +01:00
FileDialog.h
FindAndReplace.cpp Update the Advanced F&R document class when switching buffers. 2018-10-04 20:30:01 -04:00
FindAndReplace.h Update the Advanced F&R document class when switching buffers. 2018-10-04 20:30:01 -04:00
FloatPlacement.cpp Align some strings 2018-05-11 12:59:26 +02:00
FloatPlacement.h Add support for global float alignment 2018-05-10 20:15:11 +02:00
GuiAbout.cpp Start using QDialogButtonGroup rather than manual OK etc. buttons 2018-07-08 16:35:38 +02:00
GuiAbout.h Start using QDialogButtonGroup rather than manual OK etc. buttons 2018-07-08 16:35:38 +02:00
GuiAlert.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
GuiApplication.cpp Remove support for pixmap cache 2018-10-07 14:56:55 +02:00
GuiApplication.h Extend list of accessible menu info 2018-08-08 15:05:58 +02:00
GuiBibitem.cpp Extend LATEXIFY command param handling and add literal param. 2017-01-30 07:44:55 +01:00
GuiBibitem.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiBibtex.cpp Remove inclusion of obsolete header 2018-08-12 08:29:16 +02:00
GuiBibtex.h Remove inclusion of obsolete header 2018-08-12 08:29:16 +02:00
GuiBox.cpp Use proper localization chain for Box special width/height 2018-01-27 12:26:01 +01:00
GuiBox.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiBranch.cpp
GuiBranch.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiBranches.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
GuiBranches.h
GuiChanges.cpp Start using QDialogButtonGroup rather than manual OK etc. buttons 2018-07-08 16:35:38 +02:00
GuiChanges.h
GuiCharacter.cpp Start using QDialogButtonGroup rather than manual OK etc. buttons 2018-07-08 16:35:38 +02:00
GuiCharacter.h Add \nospellcheck font property 2018-05-06 19:48:21 +02:00
GuiCitation.cpp Amend cab46ff9d1 2018-09-29 10:29:02 +02:00
GuiCitation.h Start using QDialogButtonGroup rather than manual OK etc. buttons 2018-07-08 16:35:38 +02:00
GuiClipboard.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
GuiClipboard.h
GuiCommandBuffer.cpp Make "devel mode" configurable at run time 2017-07-24 22:00:44 +02:00
GuiCommandBuffer.h Make "devel mode" configurable at run time 2017-07-24 22:00:44 +02:00
GuiCommandEdit.cpp
GuiCommandEdit.h
GuiCompare.cpp Start using QDialogButtonGroup rather than manual OK etc. buttons 2018-07-08 16:35:38 +02:00
GuiCompare.h Start using QDialogButtonGroup rather than manual OK etc. buttons 2018-07-08 16:35:38 +02:00
GuiCompareHistory.cpp Amend 0570d16a3b 2018-07-08 16:48:58 +02:00
GuiCompareHistory.h Amend 0570d16a3b 2018-07-08 16:48:58 +02:00
GuiCompleter.cpp Unbreak completion in text mode 2018-06-08 10:32:47 +02:00
GuiCompleter.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
GuiDelimiter.cpp More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiDelimiter.h More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiDialog.cpp More QDialogButtonBox 2018-07-10 09:04:42 +02:00
GuiDialog.h Start using QDialogButtonGroup rather than manual OK etc. buttons 2018-07-08 16:35:38 +02:00
GuiDocument.cpp Fix bug #11275. 2018-10-04 14:02:01 -04:00
GuiDocument.h More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiErrorList.cpp More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiErrorList.h
GuiERT.cpp Collapsable -> Collapsible (part 2) 2017-10-16 10:12:21 +02:00
GuiERT.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiExternal.cpp More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiExternal.h
GuiFontExample.cpp
GuiFontExample.h
GuiFontLoader.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
GuiFontLoader.h
GuiFontMetrics.cpp Introduce FontMetrics::xHeight 2018-07-19 22:16:40 +02:00
GuiFontMetrics.h Introduce FontMetrics::xHeight 2018-07-19 22:16:40 +02:00
GuiGraphics.cpp More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiGraphics.h Revert "Create new graphics from within LyX choosing a sample file to copy from." 2017-05-06 09:21:50 +02:00
GuiGraphicsUi.h
GuiHSpace.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
GuiHSpace.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiHyperlink.cpp Fix bug #10879. 2018-02-24 01:01:34 -05:00
GuiHyperlink.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiIdListModel.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
GuiIdListModel.h Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
GuiImage.cpp Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
GuiImage.h
GuiInclude.cpp More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiInclude.h Fix #10874 compiler warnings. 2017-12-16 00:46:16 -05:00
GuiIndex.cpp More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiIndex.h
GuiIndices.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
GuiIndices.h
GuiInfo.cpp New info-inset type l7n 2018-08-13 17:18:44 +02:00
GuiInfo.h Fix small UI glitch 2018-08-07 14:48:51 +02:00
GuiKeySymbol.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
GuiKeySymbol.h
GuiLabel.cpp Fix bug #10879. 2018-02-24 01:01:34 -05:00
GuiLabel.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiLine.cpp
GuiLine.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiListings.cpp Fix bug #11203 2018-07-22 22:22:13 +02:00
GuiListings.h
GuiLog.cpp More QDialogButtonBox 2018-07-10 09:04:42 +02:00
GuiLog.h
GuiMathMatrix.cpp More QDialogButtonBox 2018-07-10 09:04:42 +02:00
GuiMathMatrix.h More QDialogButtonBox 2018-07-10 09:04:42 +02:00
GuiNomenclature.cpp Fix bug #10879. 2018-02-24 01:01:34 -05:00
GuiNomenclature.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiNote.cpp More QDialogButtonBox 2018-07-10 09:04:42 +02:00
GuiNote.h
GuiPainter.cpp Remove support for pixmap cache 2018-10-07 14:56:55 +02:00
GuiPainter.h Remove support for pixmap cache 2018-10-07 14:56:55 +02:00
GuiParagraph.cpp Amend change b5c5083c6c. 2018-07-20 07:33:09 +02:00
GuiParagraph.h More QDialogButtonBox 2018-07-10 09:04:42 +02:00
GuiPhantom.cpp More QDialogButtonBox 2018-07-10 09:04:42 +02:00
GuiPhantom.h
GuiPrefs.cpp Remove support for pixmap cache 2018-10-07 14:56:55 +02:00
GuiPrefs.h So long, date-insert! 2018-08-20 09:25:22 +02:00
GuiPrintindex.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiPrintindex.h
GuiPrintNomencl.cpp
GuiPrintNomencl.h Fix creationCode() of GuiPrintNomencl 2018-07-10 11:01:49 +02:00
GuiProgress.cpp Use QMessageBox for toggleWarning if possible 2018-07-10 15:00:25 +02:00
GuiProgress.h
GuiProgressView.cpp Fix bug #10881. 2018-02-22 00:17:46 -05:00
GuiProgressView.h Speed up exit time 2017-10-18 13:12:20 +02:00
GuiRef.cpp Fix bug 9798. 2018-10-04 14:04:48 -04:00
GuiRef.h QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiSearch.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiSearch.h Move wrap check for simple search/replace to lyxfind 2016-09-14 10:23:39 +02:00
GuiSelection.cpp
GuiSelection.h
GuiSelectionManager.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
GuiSelectionManager.h Fix 18 memory leaks 2017-02-26 22:16:10 +01:00
GuiSendto.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiSendto.h There is no need now to cache format information in the SendTo 2016-10-20 23:07:13 -04:00
GuiSetBorder.cpp Implement tri-state in GuiSetBorder 2018-07-24 13:49:27 +02:00
GuiSetBorder.h Implement tri-state in GuiSetBorder 2018-07-24 13:49:27 +02:00
GuiShowFile.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiShowFile.h
GuiSpellchecker.cpp Fix #10884 compiler warnings. 2017-12-16 00:48:34 -05:00
GuiSpellchecker.h Fix #10884 compiler warnings. 2017-12-16 00:48:34 -05:00
GuiSymbols.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiSymbols.h QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiTabular.cpp Implement tri-state in GuiSetBorder 2018-07-24 13:49:27 +02:00
GuiTabular.h Implement tri-state in GuiSetBorder 2018-07-24 13:49:27 +02:00
GuiTabularCreate.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiTabularCreate.h
GuiTexinfo.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiTexinfo.h Show Biblatex files in the TeXInfo dialog 2017-01-01 11:34:35 +01:00
GuiThesaurus.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiThesaurus.h
GuiToc.cpp Fix bug #10879. 2018-02-24 01:01:34 -05:00
GuiToc.h Remove a redundant deletion of a QObject 2016-12-31 15:16:15 +01:00
GuiToolbar.cpp Add toolbar menus for custom insets and character styles. 2018-05-02 20:31:24 -04:00
GuiToolbar.h Add toolbar menus for custom insets and character styles. 2018-05-02 20:31:24 -04:00
GuiView.cpp Remove support for pixmap cache 2018-10-07 14:56:55 +02:00
GuiView.h Refactor code showing error dialogs 2018-04-14 13:45:31 -04:00
GuiViewSource.cpp Speed up exit time 2017-10-18 13:12:20 +02:00
GuiViewSource.h Speed up exit time 2017-10-18 13:12:20 +02:00
GuiVSpace.cpp
GuiVSpace.h Implement proper dialog titles in InsetParamsDialogs 2016-08-26 11:35:12 +02:00
GuiWorkArea_Private.h Use a backing store on macOS 2017-12-15 17:30:20 +01:00
GuiWorkArea.cpp Make tab movement visible (#10733) 2018-10-04 19:52:21 -04:00
GuiWorkArea.h Make tab movement visible (#10733) 2018-10-04 19:52:21 -04:00
GuiWrap.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiWrap.h
IconPalette.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
IconPalette.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InGuiThread.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
InGuiThread.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
InsertTableWidget.cpp Fix bug #10879. 2018-02-24 01:01:34 -05:00
InsertTableWidget.h
InsetParamsDialog.cpp Disable Immediate Apply if no inset is modified. 2018-08-08 10:34:57 +02:00
InsetParamsDialog.h More QDialogButtonBox 2018-07-10 09:04:42 +02:00
InsetParamsWidget.cpp
InsetParamsWidget.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
LaTeXHighlighter.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
LaTeXHighlighter.h Trivial clean-up 2016-08-28 02:34:54 +01:00
LayoutBox.cpp Fix trailing whitespace in cpp files. 2017-07-03 13:53:14 -04:00
LayoutBox.h Fix whitespace at EOL. 2017-07-03 13:46:30 -04:00
LengthCombo.cpp
LengthCombo.h Bulk cleanup/fix incorrect annotation at the end of namespaces. 2017-07-23 13:11:54 +02:00
LyXFileDialog.cpp Get rid of idiosyncratic accelerator syntax 2017-12-20 11:37:13 +01:00
LyXFileDialog.h
Makefile.am Get rid of monolithic build support for autoconf 2018-08-30 11:35:37 +02:00
Menus.cpp Revert that part 2018-08-08 15:14:26 +02:00
Menus.h Extend list of accessible menu info 2018-08-08 15:05:58 +02:00
PanelStack.cpp Fix minor whitespace error. 2017-07-17 22:23:17 +02:00
PanelStack.h
qt_helpers.cpp Fix bug #10893. 2018-02-22 00:34:52 -05:00
qt_helpers.h Sort external templates locale-aware 2017-08-09 16:09:50 +02:00
qt_i18n.h
README
TocModel.cpp Fix Undocked Outliner & multiple window crashes (#11004). 2018-03-12 14:34:24 +01:00
TocModel.h Fix Undocked Outliner & multiple window crashes (#11004). 2018-03-12 14:34:24 +01:00
TocWidget.cpp Fix Undocked Outliner & multiple window crashes (#11004). 2018-03-12 14:34:24 +01:00
TocWidget.h Fix Undocked Outliner & multiple window crashes (#11004). 2018-03-12 14:34:24 +01:00
Toolbars.cpp Add toolbar menus for custom insets and character styles. 2018-05-02 20:31:24 -04:00
Toolbars.h Add toolbar menus for custom insets and character styles. 2018-05-02 20:31:24 -04:00
ToolTipFormatter.cpp Check the validity of an item before querying its tooltip 2016-12-03 23:35:15 +01:00
ToolTipFormatter.h
Validator.cpp Fix bug #10892. 2018-02-22 00:33:28 -05:00
Validator.h

This file contains some do's and dont's for the Qt4 frontend.

General rules
-------------

Every editable field that affects the state of the dialog contents
from LyX's point of view should connect its xxxChanged() signal to
a the dialog's changed_adaptor() slot, which in turn should call
changed(). If you are using a more complicated thing anyway,
then remember to call changed() at the end (if it has changed!)

Every non-trivial widget should have a tooltip. If you don't know
what to write, write "FIXME", and it can fixed later. Don't be afraid
to use QWhatsThis too, but this must be done in the derived class's
constructor, and use _("..."). Non-trivial means that things like "OK"
/must not/ have a tooltip.

moc needs a fully qualified "std::string" for .connect() statements
to work. Be very, very careful.

Remember to check tab order on a dialog (third icon, with blue bars in
designer).

Remember to check sensible resizing behaviour on a dialog. This is
usually done by adding a top-level layout to the dialog in Designer.

Remember to use Edit->Check Accelerators

If necessary, you should override Qt2Base::isValid() for determining the
validity of the current dialog's contents.

OK/Apply/Restore/Close should be connected in the derived class's
constructor to call slotOK() etc. Refer to close/cancel as close in the
source.

Override update_contents() to update the dialog, not update().  Only
these functions may change dialog widgets that may emit changed() during
initialisation, to prevent the button controller from changing its
state.

Never call buttoncontroller functions directly from dialogs. In general,
you should use Qt2Base::changed() in all circumstances. However, if you
must call the buttoncontroller, make sure to respect Qt2Base::updating_

Naming conventions
------------------

QFoo.{cpp,h}     The file that interacts with the controller _and_
the implementation of the dialog, derived from the generated files
ui/FooDialog.ui  The designer file
ui_FooDialog.h   Generated files from FooDialog.ui

slots should be named e.g. slotFooClicked(), slotFooSelected(), where
foo is the name of the widget.

Widgets should be named like "fooXX", where XX is one of the following
widget types :

CB - check box
CO - combo box
ED - line edit
GB - group box
LA - label
LC - LengthCombo
LV - QListView
ML - QTextBrowser
PB - push button
RB - radio button
SB - spin box
SL - slider
TE - text edit
TW - tree widget (FIXME: also TV in some files)


Qt, Unicode, and LyX
--------------------

LyX uses a different encoding (UCS4) than Qt (UTF16), therefore there are a
number of conversion functions in qt_helpers.{cpp,h}. Read the doxygen
documentation for details when to use which function.

Additionally, you should follow these simple rules :

o Use qt_() not _() in code
o Use the conversion functions of qt_helpers.h, NOT .latin1() / .c_str() etc.