Static texts (PartText) gain an optional alignment, exposed via the
existing AlignmentTextDialog behind a new "Alignement" button in the
static text editor:
- The horizontal part aligns the lines of a multi-line text relative
to each other (centered block labels no longer need one hand-placed
text per line).
- The full alignment defines the anchor: when the content or font
changes later, the selected corner/center of the bounding rect keeps
its place instead of always growing right/down from the top-left
(same prepareAlignment/finishAlignment logic as DiagramTextItem).
Format: the <text> node takes the same optional Halignment/Valignment
attributes as dynamic_text, written only when they differ from the
historical top-left behaviour - existing .elmt files are untouched and
round-trip byte-identical. The saved x/y stay the baseline-left of the
text block in all cases; ElementPictureFactory only needs the line
alignment (the anchor is editor-side behaviour), so rendered elements
match the editor exactly.
German translations for the three new strings included (qet_de stays
complete, 2686/2686).
Verified headless: a project embedding a two-line text once with
Halignment=AlignHCenter and once without exports to SVG with the short
line centered under the long one (x 102.5 vs 126.5) in the aligned
block, and identical x for both lines in the legacy block. Editor-side
anchor behaviour follows the proven DiagramTextItem implementation but
was not manually exercised in the GUI yet.
When an item type is selected for the first time the properties dock
expands, causing the QGraphicsView viewport to shrink. Qt recalculates
scene coordinates and fires one or more synthetic mouseMoveEvents before
the user has actually moved the mouse.
The original code used a single-shot m_first_move flag in
CustomElementGraphicPart, which absorbed exactly one spurious event.
PartText and PartDynamicTextField had no protection at all.
Fix: compare screen-coordinate displacement against
QApplication::startDragDistance() (~4 px). Screen coordinates are
stable across viewport resizes, so the check correctly rejects
synthetic dock-expansion events while allowing genuine drags.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Maybe not (yet) perfect, but it looks pretty good to me!
Why am I doing this to myself?
All this crap with fonts and stuff!
It's been crap for as long as I can remember.
The font of the dynamic text field can be edited.
The font of the static text field can be edited.
The color of the static text field can be edited.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5775 bfdf4180-ca20-0410-9c96-a3a8aa849046
-Cette ligne, et les suivantes ci-dessous, seront ignorées--
M sources/aboutqet.cpp
M sources/bordertitleblock.cpp
M sources/conductorproperties.h
M sources/configdialog.cpp
M sources/configpages.cpp
M sources/configpages.h
M sources/createdxf.h
M sources/diagram.cpp
M sources/diagram.h
M sources/diagramcommands.cpp
M sources/diagramcommands.h
M sources/diagramprintdialog.cpp
M sources/diagramprintdialog.h
M sources/diagramschooser.cpp
M sources/diagramschooser.h
M sources/diagramview.cpp
M sources/diagramview.h
M sources/dvevent/dveventaddimage.cpp
M sources/dvevent/dveventaddshape.cpp
M sources/editor/arceditor.cpp
M sources/editor/arceditor.h
M sources/editor/editorcommands.cpp
M sources/editor/editorcommands.h
M sources/editor/elementitemeditor.h
M sources/editor/elementprimitivedecorator.cpp
M sources/editor/elementscene.cpp
M sources/editor/elementscene.h
M sources/editor/elementview.cpp
M sources/editor/ellipseeditor.cpp
M sources/editor/ellipseeditor.h
M sources/editor/esevent/eseventaddtext.cpp
M sources/editor/esevent/eseventaddtextfield.cpp
M sources/editor/esevent/eseventinterface.cpp
M sources/editor/graphicspart/customelementpart.h
M sources/editor/graphicspart/parttext.cpp
M sources/editor/graphicspart/parttext.h
M sources/editor/graphicspart/parttextfield.cpp
M sources/editor/graphicspart/parttextfield.h
M sources/editor/lineeditor.cpp
M sources/editor/lineeditor.h
M sources/editor/polygoneditor.cpp
M sources/editor/qetelementeditor.cpp
M sources/editor/qetelementeditor.h
M sources/editor/rectangleeditor.cpp
M sources/editor/rectangleeditor.h
M sources/editor/styleeditor.cpp
M sources/editor/styleeditor.h
M sources/editor/terminaleditor.cpp
M sources/editor/terminaleditor.h
M sources/editor/texteditor.cpp
M sources/editor/texteditor.h
M sources/editor/textfieldeditor.cpp
M sources/editor/textfieldeditor.h
M sources/editor/ui/elementpropertieseditorwidget.cpp
M sources/elementdefinition.cpp
M sources/elementdeleter.cpp
M sources/elementdeleter.h
M sources/elementdialog.cpp
M sources/elementscategorieslist.h
M sources/elementscategorieswidget.cpp
M sources/elementscategorieswidget.h
M sources/elementscategory.cpp
M sources/elementscategorydeleter.cpp
M sources/elementscategorydeleter.h
M sources/elementscategoryeditor.cpp
M sources/elementscategoryeditor.h
M sources/elementscollection.cpp
M sources/elementscollectioncache.cpp
M sources/elementspanel.cpp
M sources/elementspanel.h
M sources/elementspanelwidget.cpp
M sources/elementspanelwidget.h
M sources/elementtextsmover.h
M sources/exportdialog.cpp
M sources/exportdialog.h
M sources/exportproperties.cpp
M sources/exportpropertieswidget.cpp
M sources/exportpropertieswidget.h
M sources/genericpanel.cpp
M sources/integrationmoveelementshandler.cpp
M sources/integrationmoveelementshandler.h
M sources/interactivemoveelementshandler.cpp
M sources/nameslistwidget.cpp
M sources/nameslistwidget.h
M sources/newelementwizard.cpp
M sources/newelementwizard.h
M sources/nomenclature.cpp
M sources/nomenclature.h
M sources/projectconfigpages.cpp
M sources/projectview.cpp
M sources/projectview.h
M sources/qet.cpp
M sources/qetapp.cpp
M sources/qetapp.h
M sources/qetdiagrameditor.cpp
M sources/qetdiagrameditor.h
M sources/qetgraphicsitem/conductor.cpp
M sources/qetgraphicsitem/conductortextitem.cpp
M sources/qetgraphicsitem/customelement.cpp
M sources/qetgraphicsitem/diagramimageitem.cpp
M sources/qetgraphicsitem/diagramtextitem.cpp
M sources/qetgraphicsitem/diagramtextitem.h
M sources/qetgraphicsitem/element.cpp
M sources/qetgraphicsitem/ghostelement.cpp
M sources/qetgraphicsitem/qetshapeitem.cpp
M sources/qetgraphicsitem/terminal.cpp
M sources/qetgraphicsitem/terminal.h
M sources/qeticons.cpp
M sources/qeticons.h
M sources/qetmainwindow.cpp
M sources/qetmessagebox.cpp
M sources/qetmessagebox.h
M sources/qetprintpreviewdialog.cpp
M sources/qetprintpreviewdialog.h
M sources/qetproject.cpp
M sources/qetsingleapplication.cpp
M sources/qettabbar.h
M sources/qfilenameedit.cpp
M sources/qtextorientationspinboxwidget.cpp
M sources/qtextorientationspinboxwidget.h
M sources/qtextorientationwidget.cpp
M sources/qtextorientationwidget.h
M sources/richtext/richtexteditor.cpp
M sources/richtext/richtexteditor_p.h
M sources/richtext/ui_addlinkdialog.h
M sources/titleblock/dimensionwidget.h
M sources/titleblock/gridlayoutanimation.h
M sources/titleblock/helpercell.h
M sources/titleblock/integrationmovetemplateshandler.cpp
M sources/titleblock/integrationmovetemplateshandler.h
M sources/titleblock/qettemplateeditor.cpp
M sources/titleblock/qettemplateeditor.h
M sources/titleblock/templatecellsset.h
M sources/titleblock/templatecellwidget.cpp
M sources/titleblock/templatecellwidget.h
M sources/titleblock/templatecommands.cpp
M sources/titleblock/templatedeleter.cpp
M sources/titleblock/templatedeleter.h
M sources/titleblock/templatelocationchooser.cpp
M sources/titleblock/templatelocationchooser.h
M sources/titleblock/templatelocationsaver.cpp
M sources/titleblock/templatelocationsaver.h
M sources/titleblock/templatelogomanager.cpp
M sources/titleblock/templatelogomanager.h
M sources/titleblock/templateview.cpp
M sources/titleblock/templatevisualcell.h
M sources/titleblockcell.cpp
M sources/titleblocktemplate.cpp
M sources/treecoloranimation.h
M sources/ui/conductorpropertieswidget.cpp
M sources/ui/diagrampropertiesdialog.cpp
M sources/ui/diagramselection.cpp
M sources/ui/dialogautonum.cpp
M sources/ui/dialogwaiting.cpp
M sources/ui/elementpropertieswidget.cpp
M sources/ui/elementselectorwidget.cpp
M sources/ui/linksingleelementwidget.cpp
M sources/ui/masterpropertieswidget.cpp
M sources/ui/potentialtextsdialog.cpp
M sources/ui/projectpropertiesdialog.cpp
M sources/ui/selectautonumw.cpp
M sources/ui/titleblockpropertieswidget.cpp
M sources/ui/xrefpropertieswidget.cpp
M sources/undocommand/changeelementinformationcommand.cpp
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@3783 bfdf4180-ca20-0410-9c96-a3a8aa849046