lyx_mirror/src/frontends/qt4
Jean-Marc Lasgouttes e170051909 typo
2019-03-21 18:45:46 +01:00
..
ui GuiLyXFiles: rework language selector 2019-03-21 09:13:09 +01:00
.gitignore
Action.cpp
Action.h
BulletsModule.cpp
BulletsModule.h
ButtonController.cpp Add forgotten initialization 2018-12-20 13:46:41 +01:00
ButtonController.h Maintain default status for all dialogs using ButtonController 2018-12-20 12:56:30 +01:00
ButtonPolicy.cpp Further BC fixes to GuiCharacter 2018-05-05 17:24:09 +02:00
ButtonPolicy.h
CategorizedCombo.cpp Use underline in (+ bold) for char match in layout 2018-10-22 21:16:56 -04:00
CategorizedCombo.h
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
DialogView.h
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 Fix #11505. Count and display number of replaced strings in FindAdv 2019-03-13 14:06:18 +01: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
GuiApplication.cpp Add Qt-internal string for translation 2019-03-20 18:37:34 +01:00
GuiApplication.h Add override statements to please clang 2019-01-02 18:49:23 +01:00
GuiBibitem.cpp
GuiBibitem.h
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
GuiBranch.cpp
GuiBranch.h
GuiBranches.cpp
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 Fix Text Properties dialog height 2018-12-24 16:18:54 +01:00
GuiCharacter.h Compile fix for Qt < 5.7 2018-12-21 13:37:07 +01:00
GuiCitation.cpp Dispay pre- and posttext widgets if non-empty also if unapplied 2018-10-30 17:23:08 +01: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 Completion popup menu did not respond to Esc. 2018-12-29 14:36:38 +01:00
GuiCompleter.h
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 GuiCharacter: Add "Reset" and "Restore Defaults" buttons 2018-12-17 12:59:40 +01:00
GuiDialog.h GuiCharacter: Add "Reset" and "Restore Defaults" buttons 2018-12-17 12:59:40 +01:00
GuiDocument.cpp Small formatting and comments update. 2019-03-16 12:59:34 +01: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
GuiExternal.cpp More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiExternal.h
GuiFontExample.cpp
GuiFontExample.h
GuiFontLoader.cpp Give textstyle-apply a history 2018-12-26 15:46:14 +01:00
GuiFontLoader.h
GuiFontMetrics.cpp Cache the value of GuiFontMetrics::lbearing(). 2019-03-20 11:14:43 +01:00
GuiFontMetrics.h typo 2019-03-21 18:45:46 +01:00
GuiGraphics.cpp More QDialogButtonBox transformation 2018-07-09 09:46:39 +02:00
GuiGraphics.h
GuiHSpace.cpp
GuiHSpace.h
GuiHyperlink.cpp Fix bug #10879. 2018-02-24 01:01:34 -05:00
GuiHyperlink.h
GuiIdListModel.cpp
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 Maintain default status for all dialogs using ButtonController 2018-12-20 12:56:30 +01: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
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 Do not use GUI language for shortcut info inset if no translation is available 2019-03-09 12:00:40 +01:00
GuiKeySymbol.h
GuiLabel.cpp Fix bug #10879. 2018-02-24 01:01:34 -05:00
GuiLabel.h
GuiLine.cpp
GuiLine.h
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
GuiLyXFiles.cpp Consider files only in lang subtrees 2019-03-21 14:39:33 +01:00
GuiLyXFiles.h GuiLyXFiles: fix icons and tooltips 2019-03-21 14:18:03 +01:00
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
GuiNote.cpp More QDialogButtonBox 2018-07-10 09:04:42 +02:00
GuiNote.h
GuiPainter.cpp Fix vertical offset of fonts like MinionPro 2019-01-03 12:19:47 +01:00
GuiPainter.h Followup to 9fe101e8: remove unused method. 2018-10-08 16:04:32 +02:00
GuiParagraph.cpp Fix height of paragraph dialog 2018-12-24 16:48:22 +01: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 Update screen as needed when preferences are changed 2019-02-26 16:53:14 +01:00
GuiPrefs.h Update screen as needed when preferences are changed 2019-02-26 16:53:14 +01: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 Use combo box data rather than looking up info from InsetRef. 2019-01-06 17:46:40 -05:00
GuiRef.h QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiSearch.cpp More alignment fixes 2018-12-25 18:20:02 +01:00
GuiSearch.h
GuiSelection.cpp
GuiSelection.h
GuiSelectionManager.cpp
GuiSelectionManager.h
GuiSendto.cpp QDialogButtonBox for the remaining dialogs. 2018-07-10 13:04:02 +02:00
GuiSendto.h
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
GuiThesaurus.cpp GuiThesaurus: maintain default state of Replace button 2018-12-21 12:56:02 +01:00
GuiThesaurus.h
GuiToc.cpp Fix bug #10879. 2018-02-24 01:01:34 -05:00
GuiToc.h
GuiToolbar.cpp Fix regression introduced in a65f1e54dc 2018-12-28 17:25:53 +01:00
GuiToolbar.h No need for an extra icon 2018-12-27 11:18:13 +01:00
GuiView.cpp Add new dialog for templates and examples 2019-03-19 06:59:24 +01:00
GuiView.h Add new dialog for templates and examples 2019-03-19 06:59:24 +01: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
GuiWorkArea_Private.h Use a backing store on macOS 2017-12-15 17:30:20 +01:00
GuiWorkArea.cpp Remove premature (and bad) optimization 2019-01-02 18:36:02 +01: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
IconPalette.h
InGuiThread.cpp
InGuiThread.h
InsertTableWidget.cpp Fix bug #10879. 2018-02-24 01:01:34 -05:00
InsertTableWidget.h
InsetParamsDialog.cpp Maintain default status for all dialogs using ButtonController 2018-12-20 12:56:30 +01:00
InsetParamsDialog.h More QDialogButtonBox 2018-07-10 09:04:42 +02:00
InsetParamsWidget.cpp
InsetParamsWidget.h
LaTeXHighlighter.cpp
LaTeXHighlighter.h
LayoutBox.cpp Use underline in (+ bold) for char match in layout 2018-10-22 21:16:56 -04:00
LayoutBox.h
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 Add new dialog for templates and examples 2019-03-19 06:59:24 +01: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
PanelStack.h
qt_helpers.cpp Avoid extra space in tooltips 2018-11-04 14:02:42 -10: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
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.