lyx_mirror/src/frontends/qt
Juergen Spitzmueller d76cef70a0 Allow to hide formats from menus
Fixes: #11657
2019-09-11 10:29:50 +02:00
..
ui As observed on users list it's hard to guess where to setup external editor. 2019-08-16 23:01:34 +02:00
.gitignore
Action.cpp Add mechanism to change icons in RTL mode 2019-07-22 15:20:38 +02:00
Action.h
BulletsModule.cpp
BulletsModule.h
ButtonController.cpp
ButtonController.h
ButtonPolicy.cpp
ButtonPolicy.h
CategorizedCombo.cpp
CategorizedCombo.h
CMakeLists.txt
ColorCache.cpp
ColorCache.h
CustomizedWidgets.cpp
CustomizedWidgets.h
Dialog.cpp
Dialog.h
DialogView.cpp
DialogView.h
DockView.cpp
DockView.h
EmptyTable.cpp
EmptyTable.h
FancyLineEdit.cpp
FancyLineEdit.h
FileDialog.cpp
FileDialog.h
FindAndReplace.cpp
FindAndReplace.h
FloatPlacement.cpp
FloatPlacement.h
GuiAbout.cpp Implement commenting for CREDITS file 2019-08-14 22:09:42 -04:00
GuiAbout.h
GuiAlert.cpp
GuiApplication.cpp Add mechanism to change icons in RTL mode 2019-07-22 15:20:38 +02:00
GuiApplication.h
GuiBibitem.cpp
GuiBibitem.h
GuiBibtex.cpp
GuiBibtex.h
GuiBox.cpp
GuiBox.h
GuiBranch.cpp
GuiBranch.h
GuiBranches.cpp
GuiBranches.h
GuiChanges.cpp
GuiChanges.h
GuiCharacter.cpp
GuiCharacter.h
GuiCitation.cpp Allow for multiple use of same key in qualified citation lists 2019-08-07 13:00:29 +02:00
GuiCitation.h
GuiClickableLabel.cpp
GuiClickableLabel.h
GuiClipboard.cpp
GuiClipboard.h
GuiCommandBuffer.cpp
GuiCommandBuffer.h
GuiCommandEdit.cpp
GuiCommandEdit.h
GuiCompare.cpp
GuiCompare.h
GuiCompareHistory.cpp
GuiCompareHistory.h
GuiCompleter.cpp
GuiCompleter.h
GuiDelimiter.cpp
GuiDelimiter.h
GuiDialog.cpp
GuiDialog.h
GuiDocument.cpp
GuiDocument.h
GuiErrorList.cpp
GuiErrorList.h
GuiERT.cpp
GuiERT.h
GuiExternal.cpp
GuiExternal.h
GuiFontExample.cpp
GuiFontExample.h
GuiFontLoader.cpp
GuiFontLoader.h
GuiFontMetrics.cpp
GuiFontMetrics.h
GuiGraphics.cpp
GuiGraphics.h
GuiHSpace.cpp
GuiHSpace.h
GuiHyperlink.cpp
GuiHyperlink.h
GuiIdListModel.cpp
GuiIdListModel.h
GuiImage.cpp
GuiImage.h
GuiInclude.cpp
GuiInclude.h
GuiIndex.cpp
GuiIndex.h
GuiIndices.cpp
GuiIndices.h
GuiInfo.cpp
GuiInfo.h
GuiKeySymbol.cpp
GuiKeySymbol.h
GuiLabel.cpp
GuiLabel.h
GuiLine.cpp
GuiLine.h
GuiListings.cpp
GuiListings.h
GuiLog.cpp
GuiLog.h
GuiLyXFiles.cpp
GuiLyXFiles.h
GuiMathMatrix.cpp
GuiMathMatrix.h
GuiNomenclature.cpp
GuiNomenclature.h
GuiNote.cpp
GuiNote.h
GuiPainter.cpp
GuiPainter.h
GuiParagraph.cpp
GuiParagraph.h
GuiPhantom.cpp
GuiPhantom.h
GuiPrefs.cpp use validator rather than inputMask for line edit validation 2019-07-22 09:36:09 +02:00
GuiPrefs.h Localize the default decimal separator 2019-07-22 08:05:28 +02:00
GuiPrintindex.cpp
GuiPrintindex.h
GuiPrintNomencl.cpp
GuiPrintNomencl.h
GuiProgress.cpp
GuiProgress.h
GuiProgressView.cpp
GuiProgressView.h
GuiRef.cpp
GuiRef.h
GuiSearch.cpp
GuiSearch.h
GuiSelection.cpp
GuiSelection.h
GuiSelectionManager.cpp Allow multiple insertion of citation key with qualified citation lists 2019-07-23 10:34:33 +02:00
GuiSelectionManager.h Allow multiple insertion of citation key with qualified citation lists 2019-07-23 10:34:33 +02:00
GuiSendto.cpp
GuiSendto.h
GuiSetBorder.cpp GuiSetBorder: Fix drawing glitch with trimmed lines 2019-08-13 17:04:42 +02:00
GuiSetBorder.h GuiSetBorder: Fix drawing glitch with trimmed lines 2019-08-13 17:04:42 +02:00
GuiShowFile.cpp
GuiShowFile.h
GuiSpellchecker.cpp
GuiSpellchecker.h
GuiSymbols.cpp
GuiSymbols.h
GuiTabular.cpp use validator rather than inputMask for line edit validation (part 2) 2019-07-22 11:31:56 +02:00
GuiTabular.h Localize the default decimal separator 2019-07-22 08:05:28 +02:00
GuiTabularCreate.cpp
GuiTabularCreate.h
GuiTexinfo.cpp
GuiTexinfo.h
GuiThesaurus.cpp
GuiThesaurus.h
GuiToc.cpp
GuiToc.h
GuiToolbar.cpp Add mechanism to change icons in RTL mode 2019-07-22 15:20:38 +02:00
GuiToolbar.h
GuiView.cpp Fix forward search 2019-07-25 10:01:03 +02:00
GuiView.h
GuiViewSource.cpp
GuiViewSource.h
GuiVSpace.cpp
GuiVSpace.h
GuiWorkArea_Private.h
GuiWorkArea.cpp
GuiWorkArea.h
GuiWrap.cpp
GuiWrap.h
IconPalette.cpp
IconPalette.h
InGuiThread.cpp
InGuiThread.h
InsertTableWidget.cpp
InsertTableWidget.h
InsetParamsDialog.cpp
InsetParamsDialog.h
InsetParamsWidget.cpp
InsetParamsWidget.h
LaTeXHighlighter.cpp
LaTeXHighlighter.h
LayoutBox.cpp
LayoutBox.h
LengthCombo.cpp
LengthCombo.h
LyXFileDialog.cpp
LyXFileDialog.h
Makefile.am
Menus.cpp Allow to hide formats from menus 2019-09-11 10:29:50 +02:00
Menus.h
PanelStack.cpp
PanelStack.h
qt_helpers.cpp
qt_helpers.h
qt_i18n.h
README
TocModel.cpp
TocModel.h
TocWidget.cpp
TocWidget.h
Toolbars.cpp
Toolbars.h
ToolTipFormatter.cpp
ToolTipFormatter.h
Validator.cpp
Validator.h

This file contains some do's and dont's for the Qt 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.