lyx_mirror/src/frontends/qt4
Edwin Leuven 9360481279 revert r33839 and r33840: does not work on MAC
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@33841 a592a061-630c-0410-9148-cb99ea01b6c8
2010-03-22 23:02:55 +00:00
..
ui revert r33839 and r33840: does not work on MAC 2010-03-22 23:02:55 +00:00
Action.cpp Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now 2010-02-09 16:11:13 +00:00
Action.h
BulletsModule.cpp Bullet's pref box glitch - looks like qt 4.5 changed some small finger paint and we need 2009-08-17 14:22:40 +00:00
BulletsModule.h
ButtonController.cpp
ButtonController.h Fix doxygen output for grouped items. Without the /name tag doxygen shows the group name as the name of the first item. Moreover, the comment styles are somewhat standardized. 2010-01-27 18:10:33 +00:00
ButtonPolicy.cpp
ButtonPolicy.h
ColorCache.cpp
ColorCache.h
CustomizedWidgets.cpp Patch from Ben M.: do not accept key events if we do not know what these keys 2009-07-06 16:14:20 +00:00
CustomizedWidgets.h
Dialog.cpp Attempt to simplify as much as possible Inset parameter dialog creation. We now just need an ui file and a class that inherits InsetParamsWidget and implement 4 methods. Then InsetParamsDialog will take care of the rest. InsetParamsDialog has 2 running mode: "immediate apply" and "Restore/OK/Close" which is the default; I hope this is enough to satisfy all users. The checkbox status might be saved later in session settings. 2010-02-15 23:17:45 +00:00
Dialog.h Attempt to simplify as much as possible Inset parameter dialog creation. We now just need an ui file and a class that inherits InsetParamsWidget and implement 4 methods. Then InsetParamsDialog will take care of the rest. InsetParamsDialog has 2 running mode: "immediate apply" and "Restore/OK/Close" which is the default; I hope this is enough to satisfy all users. The checkbox status might be saved later in session settings. 2010-02-15 23:17:45 +00:00
DialogView.h Fix doxygen output for grouped items. Without the /name tag doxygen shows the group name as the name of the first item. Moreover, the comment styles are somewhat standardized. 2010-01-27 18:10:33 +00:00
DockView.h Adjust the window settings for MacOSX. 2010-03-11 19:33:08 +00:00
EmptyTable.cpp
EmptyTable.h
FileDialog.cpp replace links to bugzilla with links to trac 2009-12-11 00:59:10 +00:00
FileDialog.h
FindAndReplace.cpp - make the advanced search/replace dialog play nice with size 2010-03-21 11:50:13 +00:00
FindAndReplace.h Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now 2010-02-09 16:11:13 +00:00
FloatPlacement.cpp Some cleanup for the Floating class. 2010-03-04 13:42:05 +00:00
FloatPlacement.h InsetParamsWidget(): fix method constness. 2010-02-18 07:56:38 +00:00
GuiAbout.cpp Add Qt version info to the About dialog in the DEVEL_VERSION. 2010-03-11 18:31:01 +00:00
GuiAbout.h About box: Migrate to DialogView. 2010-01-23 20:29:00 +00:00
GuiAlert.cpp Fix unsafe use of fixed width arrays. 2010-03-06 14:57:16 +00:00
GuiApplication.cpp Fix potential bug affecting export and preview with threads. 2010-03-18 12:42:34 +00:00
GuiApplication.h Application: get rid of 2 virtual interface. 2010-02-09 17:25:44 +00:00
GuiBibitem.cpp Migrate GuiBibitem to InsetParamsWidget. 2010-02-23 21:24:24 +00:00
GuiBibitem.h Migrate GuiBibitem to InsetParamsWidget. 2010-02-23 21:24:24 +00:00
GuiBibtex.cpp
GuiBibtex.h
GuiBox.cpp Attempt to simplify as much as possible Inset parameter dialog creation. We now just need an ui file and a class that inherits InsetParamsWidget and implement 4 methods. Then InsetParamsDialog will take care of the rest. InsetParamsDialog has 2 running mode: "immediate apply" and "Restore/OK/Close" which is the default; I hope this is enough to satisfy all users. The checkbox status might be saved later in session settings. 2010-02-15 23:17:45 +00:00
GuiBox.h InsetParamsWidget(): fix method constness. 2010-02-18 07:56:38 +00:00
GuiBranch.cpp Migrate Branch dialog to InsetParamsWidget 2010-02-19 20:57:25 +00:00
GuiBranch.h Migrate Branch dialog to InsetParamsWidget 2010-02-19 20:57:25 +00:00
GuiBranches.cpp Get rid off unneeded horiz scrollbar 2009-08-12 09:46:26 +00:00
GuiBranches.h * Add possibility to append active branch names to the output file name (#3105). 2009-07-13 14:30:08 +00:00
GuiChanges.cpp
GuiChanges.h
GuiCharacter.cpp
GuiCharacter.h Fix doxygen output for grouped items. Without the /name tag doxygen shows the group name as the name of the first item. Moreover, the comment styles are somewhat standardized. 2010-01-27 18:10:33 +00:00
GuiCitation.cpp GuiCitation.cpp: 2010-01-24 19:16:44 +00:00
GuiCitation.h
GuiClipboard.cpp
GuiClipboard.h
GuiCommandBuffer.cpp Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now 2010-02-09 16:11:13 +00:00
GuiCommandBuffer.h
GuiCommandEdit.cpp
GuiCommandEdit.h
GuiCompare.cpp Set the hourglass cursor for the dialog while running. However, the Cancel button can always be pressed, so this one gets a normal cursor. 2010-01-14 01:20:14 +00:00
GuiCompare.h Set the hourglass cursor for the dialog while running. However, the Cancel button can always be pressed, so this one gets a normal cursor. 2010-01-14 01:20:14 +00:00
GuiCompleter.cpp Fix bug #6552: Crash when inserting TeX-code in math mode and scrolling 2010-02-26 15:59:08 +00:00
GuiCompleter.h
GuiDelimiter.cpp
GuiDelimiter.h
GuiDialog.cpp fix ticket #6081 2009-07-14 16:01:55 +00:00
GuiDialog.h
GuiDocument.cpp fix bug #6513. 2010-03-19 13:35:32 +00:00
GuiDocument.h Attempt to simplify as much as possible Inset parameter dialog creation. We now just need an ui file and a class that inherits InsetParamsWidget and implement 4 methods. Then InsetParamsDialog will take care of the rest. InsetParamsDialog has 2 running mode: "immediate apply" and "Restore/OK/Close" which is the default; I hope this is enough to satisfy all users. The checkbox status might be saved later in session settings. 2010-02-15 23:17:45 +00:00
GuiErrorList.cpp Minor cleanup, and some const-ness. 2010-03-13 16:55:59 +00:00
GuiErrorList.h Fix bug #6462: Out-of-bounds index in GuiErrorList::goTo when new buffer is active. 2010-03-12 15:06:13 +00:00
GuiERT.cpp Attempt to simplify as much as possible Inset parameter dialog creation. We now just need an ui file and a class that inherits InsetParamsWidget and implement 4 methods. Then InsetParamsDialog will take care of the rest. InsetParamsDialog has 2 running mode: "immediate apply" and "Restore/OK/Close" which is the default; I hope this is enough to satisfy all users. The checkbox status might be saved later in session settings. 2010-02-15 23:17:45 +00:00
GuiERT.h InsetParamsWidget(): fix method constness. 2010-02-18 07:56:38 +00:00
GuiExternal.cpp * InsetExternal.cpp: 2009-10-09 12:40:34 +00:00
GuiExternal.h
GuiFontExample.cpp
GuiFontExample.h
GuiFontLoader.cpp replace links to bugzilla with links to trac 2009-12-11 00:59:10 +00:00
GuiFontLoader.h
GuiFontMetrics.cpp
GuiFontMetrics.h
GuiGraphics.cpp This is still needed for keyboard focus 2009-11-06 15:56:15 +00:00
GuiGraphics.h
GuiGraphicsUi.h
GuiHSpace.cpp Migrate GuiHSPace to InsetParamsDialog. 2010-02-21 09:28:33 +00:00
GuiHSpace.h Migrate GuiHSPace to InsetParamsDialog. 2010-02-21 09:28:33 +00:00
GuiHyperlink.cpp CMake: fix merged build, seems GCC could not handle the namespaces correctly 2010-01-30 11:34:28 +00:00
GuiHyperlink.h
GuiIdListModel.cpp
GuiIdListModel.h
GuiImage.cpp Adjust the work-around for bug #5957. 2009-08-14 14:58:52 +00:00
GuiImage.h
GuiInclude.cpp
GuiInclude.h
GuiIndex.cpp
GuiIndex.h
GuiIndices.cpp * GuiIndices.cpp: 2009-08-27 16:47:45 +00:00
GuiIndices.h * GuiBranches.cpp: 2009-07-11 06:29:57 +00:00
GuiInfo.cpp Attempt to simplify as much as possible Inset parameter dialog creation. We now just need an ui file and a class that inherits InsetParamsWidget and implement 4 methods. Then InsetParamsDialog will take care of the rest. InsetParamsDialog has 2 running mode: "immediate apply" and "Restore/OK/Close" which is the default; I hope this is enough to satisfy all users. The checkbox status might be saved later in session settings. 2010-02-15 23:17:45 +00:00
GuiInfo.h InsetParamsWidget(): fix method constness. 2010-02-18 07:56:38 +00:00
GuiKeySymbol.cpp Patch from Ben M.: do not accept key events if we do not know what these keys 2009-07-06 16:14:20 +00:00
GuiKeySymbol.h
GuiLabel.cpp Update the GuiLabel view when the document is read-only. Also disable the text field. 2009-12-31 16:47:36 +00:00
GuiLabel.h Update the GuiLabel view when the document is read-only. Also disable the text field. 2009-12-31 16:47:36 +00:00
GuiListings.cpp CMake: fix merged build, seems GCC could not handle the namespaces correctly 2010-01-30 11:34:28 +00:00
GuiListings.h
GuiLog.cpp * Include bibtex and makeindex logs to log file dialog. 2009-11-29 17:15:22 +00:00
GuiLog.h * Include bibtex and makeindex logs to log file dialog. 2009-11-29 17:15:22 +00:00
GuiMathMatrix.cpp Fix unsafe use of fixed width arrays. 2010-03-06 14:57:16 +00:00
GuiMathMatrix.h support for matrix decoration in the MathMatrix dialog; 2009-07-12 21:39:21 +00:00
GuiNomencl.cpp Fix also nomenclature dialog which was refered in #3852 2009-11-06 15:22:21 +00:00
GuiNomencl.h
GuiNote.cpp
GuiNote.h
GuiPainter.cpp little wiggles for on-the-fly spellcheck 2010-03-21 20:26:30 +00:00
GuiPainter.h
GuiParagraph.cpp Add support for number localization in the GUI (using Qt's locale facilities). 2009-07-12 15:44:26 +00:00
GuiParagraph.h
GuiPhantom.cpp
GuiPhantom.h
GuiPrefs.cpp Fix bug #5735: Modifying a keyboard shortcut function entry clashes with its own shortcut key combination definition. 2010-03-11 17:34:59 +00:00
GuiPrefs.h improve fontenc GUI. 2009-11-29 13:29:36 +00:00
GuiPrint.cpp
GuiPrint.h
GuiPrintindex.cpp
GuiPrintindex.h
GuiPrintNomencl.cpp
GuiPrintNomencl.h
GuiProgress.cpp no Q_EMIT in older Qt versions 2010-03-08 09:35:10 +00:00
GuiProgress.h Use one place to generate current time string, increase resolution to ms 2010-03-07 11:55:14 +00:00
GuiProgressView.cpp Adjust the window settings for MacOSX. 2010-03-11 19:33:08 +00:00
GuiProgressView.h Remove the no more necessary workaround for Qt < 4.4 2010-01-13 13:19:24 +00:00
GuiRef.cpp Use better include for 'struct QHeaderView' 2010-02-01 09:54:41 +00:00
GuiRef.h * GuiRef: improve filter UI 2010-01-30 11:19:48 +00:00
GuiSearch.cpp LFUN_WORD_REPLACE: Invert replacement and searched strings in the FuncRequest argument. This is to allow replacement of current word even if it is not selected. 2009-07-04 23:02:27 +00:00
GuiSearch.h
GuiSelection.cpp
GuiSelection.h
GuiSelectionManager.cpp cmake: fix merge build 2009-11-07 12:50:30 +00:00
GuiSelectionManager.h Move to QAbstractItemView 2009-08-14 20:37:12 +00:00
GuiSendto.cpp
GuiSendto.h
GuiSetBorder.cpp * GuiSetBorder.cpp: lighter colour for disabled borders (not used currently). 2010-01-31 13:15:26 +00:00
GuiSetBorder.h
GuiShowFile.cpp
GuiShowFile.h
GuiSpellchecker.cpp * GuiSpellchecker.cpp: 2010-03-15 10:03:02 +00:00
GuiSpellchecker.h Add language selector to the spell chekcer dialog (bug 2208). 2010-02-09 13:01:37 +00:00
GuiSymbols.cpp
GuiSymbols.h
GuiTabular.cpp Try to restore longtable dialog to a semi functional state. This Dialog is really horrible, disabling/enabling a checkbox depending on the cursor position is very unintuitive... We need some edit boxes to show which rows are header/footer/etc without having to move the cursor first. That would be my next step newt week. 2010-03-06 19:08:10 +00:00
GuiTabular.h InsetParamsDialog: don't update the inset widget if we are not un 2010-02-19 11:04:15 +00:00
GuiTabularCreate.cpp
GuiTabularCreate.h
GuiTexinfo.cpp
GuiTexinfo.h
GuiThesaurus.cpp * Spellchecker dialog: 2010-02-10 08:10:31 +00:00
GuiThesaurus.h
GuiToc.cpp Adjust the window settings for MacOSX. 2010-03-11 19:33:08 +00:00
GuiToc.h
GuiToolbar.cpp Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now 2010-02-09 16:11:13 +00:00
GuiToolbar.h Move layout from GuiToolbar to GuiView. Now, it is possible to use the popup also when the Toolbar has not been visible before. 2009-08-14 22:58:57 +00:00
GuiView.cpp No more auto math toolbars while in regexp mode (addressing #6471). 2010-03-17 13:37:15 +00:00
GuiView.h fix bug 6578, use tabs 2010-03-05 18:07:05 +00:00
GuiViewSource.cpp
GuiViewSource.h
GuiVSpace.cpp Attempt to simplify as much as possible Inset parameter dialog creation. We now just need an ui file and a class that inherits InsetParamsWidget and implement 4 methods. Then InsetParamsDialog will take care of the rest. InsetParamsDialog has 2 running mode: "immediate apply" and "Restore/OK/Close" which is the default; I hope this is enough to satisfy all users. The checkbox status might be saved later in session settings. 2010-02-15 23:17:45 +00:00
GuiVSpace.h InsetParamsWidget(): fix method constness. 2010-02-18 07:56:38 +00:00
GuiWorkArea.cpp - make the advanced search/replace dialog play nice with size 2010-03-21 11:50:13 +00:00
GuiWorkArea.h - make the advanced search/replace dialog play nice with size 2010-03-21 11:50:13 +00:00
GuiWrap.cpp
GuiWrap.h
IconPalette.cpp
IconPalette.h
InsertTableWidget.cpp Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now 2010-02-09 16:11:13 +00:00
InsertTableWidget.h
InsetParamsDialog.cpp Migrate GuiBibitem to InsetParamsWidget. 2010-02-23 21:24:24 +00:00
InsetParamsDialog.h Implement Vincent's suggestions: 2010-02-19 20:44:59 +00:00
InsetParamsWidget.cpp Attempt to simplify as much as possible Inset parameter dialog creation. We now just need an ui file and a class that inherits InsetParamsWidget and implement 4 methods. Then InsetParamsDialog will take care of the rest. InsetParamsDialog has 2 running mode: "immediate apply" and "Restore/OK/Close" which is the default; I hope this is enough to satisfy all users. The checkbox status might be saved later in session settings. 2010-02-15 23:17:45 +00:00
InsetParamsWidget.h Migrate GuiHSPace to InsetParamsDialog. 2010-02-21 09:28:33 +00:00
LaTeXHighlighter.cpp
LaTeXHighlighter.h
LayoutBox.cpp Transfer LyXfunc code to GuiApplication::dispatch() and getStatus(). Now 2010-02-09 16:11:13 +00:00
LayoutBox.h Remove GuiToolbar * member from the LayoutBox ctor: Why should we limit a LayoutBox to the Toolbar and it doesn't even have to know where it is. 2009-08-14 22:47:57 +00:00
LengthCombo.cpp According to André, QLatin1String is cheaper. 2010-02-01 01:07:32 +00:00
LengthCombo.h
LyXFileDialog.cpp
LyXFileDialog.h
Makefile.am Start preparations for alpha 2010-03-05 08:05:20 +00:00
Menus.cpp Some cleanup for the Floating class. 2010-03-04 13:42:05 +00:00
Menus.h
PanelStack.cpp * PanelStack.{cpp,h}: 2010-01-10 14:46:39 +00:00
PanelStack.h * PanelStack.{cpp,h}: 2010-01-10 14:46:39 +00:00
pch.h
qt_helpers.cpp Fix a bunch of assertions. 2009-08-15 20:47:46 +00:00
qt_helpers.h Add support for number localization in the GUI (using Qt's locale facilities). 2009-07-12 15:44:26 +00:00
qt_i18n.h
README
TocModel.cpp Code simplification. 2010-03-10 21:00:34 +00:00
TocModel.h Code simplification. 2010-03-10 21:00:34 +00:00
TocWidget.cpp This is worth having here anyway. 2010-03-10 18:43:10 +00:00
TocWidget.h This can just take a FuncCode. 2010-02-26 19:51:06 +00:00
Toolbars.cpp Introduce "samerow" toolbar tag and let View/Update toolbar to be in the 2010-01-27 17:19:14 +00:00
Toolbars.h Introduce "samerow" toolbar tag and let View/Update toolbar to be in the 2010-01-27 17:19:14 +00:00
Validator.cpp * Validator.{cpp, h}: 2009-07-19 16:53:50 +00:00
Validator.h * Validator.{cpp, h}: 2009-07-19 16:53:50 +00:00

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.