mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-10-02 16:44:16 +02:00
Add diagram background color picker with adaptive border/titleblock
Replace the white/grey toggle (m_grey_background) with a full color picker widget (DiagramBgColorToolButton) in the Affichage toolbar, matching the existing ConductorColorToolButton UX: - Preset colors: White, Off-white, Light grey, Grey, Dark grey, Black - Recently used colors section - "Autre couleur..." opens QColorDialog for any custom color - "Couleur système" restores the default dark-mode inverted background New features: - Diagram::m_custom_background_color flag: when the user picks a custom color, PaletteGraphicsView skips lightness inversion so the chosen color is displayed as-is - Border and titleblock text/lines automatically switch between black and white based on Diagram::background_color.lightness(), so a dark background always shows a visible light border and titleblock content - "Couleur système" restores Qt::white + re-enables inversion Files changed: - New: sources/ui/diagrambgcolorbutton.h/.cpp - sources/diagram.h/.cpp: added static m_custom_background_color flag - sources/palettegraphicsview.cpp: skip inversion when custom bg active - sources/bordertitleblock.cpp: adaptive border pen color - sources/titleblocktemplate.cpp: adaptive ink color for cell borders/text - sources/qetdiagrameditor.h/.cpp: replace toggle with new widget - cmake/qet_compilation_vars.cmake: register new source files
This commit is contained in:
@@ -51,6 +51,7 @@
|
||||
#include "shortcutmanager.h"
|
||||
#include "ui/bomexportdialog.h"
|
||||
#include "ui/conductorcolortoolbutton.h"
|
||||
#include "ui/diagrambgcolorbutton.h"
|
||||
#include "ui/jumptoelementdialog.h"
|
||||
#include "ui/diagrampropertieseditordockwidget.h"
|
||||
#include "ui/backupdialog.h"
|
||||
@@ -413,15 +414,8 @@ void QETDiagramEditor::setUpActions()
|
||||
pv->project()->setAutoBreakConductor(abc);
|
||||
});
|
||||
|
||||
//Switch background color
|
||||
m_grey_background = new QAction (QET::Icons::DiagramBg, tr("Couleur de fond blanc/gris","Tool tip of white/grey background button"), this);
|
||||
m_grey_background -> setStatusTip (tr("Affiche la couleur de fond du folio en blanc ou en gris", "Status tip of white/grey background button"));
|
||||
m_grey_background -> setCheckable (true);
|
||||
connect (m_grey_background, &QAction::triggered, [this](bool checked) {
|
||||
Diagram::background_color = checked ? Qt::darkGray : Qt::white;
|
||||
if (this->currentDiagramView() && this->currentDiagramView()->diagram())
|
||||
this->currentDiagramView()->diagram()->update();
|
||||
});
|
||||
//Diagram background color picker
|
||||
m_background_color_button = new DiagramBgColorToolButton(this, this);
|
||||
|
||||
//Draw or not the background grid
|
||||
m_draw_grid = new QAction ( QET::Icons::Grid, tr("Afficher la grille"), this);
|
||||
@@ -912,7 +906,7 @@ void QETDiagramEditor::setUpToolBar()
|
||||
view_tool_bar -> addSeparator();
|
||||
view_tool_bar -> addAction(m_draw_grid);
|
||||
view_tool_bar -> addAction(m_draw_guides);
|
||||
view_tool_bar -> addAction (m_grey_background);
|
||||
view_tool_bar -> addWidget(m_background_color_button);
|
||||
view_tool_bar -> addSeparator();
|
||||
view_tool_bar -> addActions(m_zoom_action_toolBar);
|
||||
|
||||
@@ -1063,7 +1057,7 @@ void QETDiagramEditor::setUpMenu()
|
||||
menu_affichage -> addSeparator();
|
||||
menu_affichage -> addAction(m_draw_grid);
|
||||
menu_affichage -> addAction(m_draw_guides);
|
||||
menu_affichage -> addAction(m_grey_background);
|
||||
menu_affichage -> addMenu(m_background_color_button->menu());
|
||||
menu_affichage -> addSeparator();
|
||||
menu_affichage -> addActions(m_zoom_actions_group.actions());
|
||||
|
||||
@@ -1880,7 +1874,7 @@ void QETDiagramEditor::slot_updateActions()
|
||||
m_select_actions_group. setEnabled(opened_diagram);
|
||||
m_add_item_actions_group. setEnabled(editable_project);
|
||||
m_row_column_actions_group. setEnabled(editable_project);
|
||||
m_grey_background-> setEnabled(opened_diagram);
|
||||
m_background_color_button-> setEnabled(opened_diagram);
|
||||
m_draw_grid-> setEnabled(opened_diagram);
|
||||
m_draw_guides-> setEnabled(opened_diagram);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user