Files
qelectrotech-source-mirror/sources/utils/qetsettings.h
T
Kellermorph 86563850f8 Move the terminal labelling setting into the project
The review asked for it, and it is the right place: the same file must
draw the same way on every machine which opens it, so how a terminal
writes its label belongs to the project, not to the application's own
settings.

The choice lives with the other display options of the sheets, in the
project properties (General page), and is saved in the project as
<terminal_labelling split="true"/> -- written only when on, so a
project with it off saves byte for byte as before. Reading it is a
member of the project now: no QSettings built per text refresh any
more, and switching it redraws the labels of the drawings already open.

The application setting (QetSettings, the General configuration page)
is gone with it, and the test reads the project's own value.
2026-10-22 18:40:19 +02:00

82 lines
2.7 KiB
C++

/*
Copyright 2006-2026 The QElectroTech Team
This file is part of QElectroTech.
QElectroTech is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.
QElectroTech is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
*/
#ifndef QETSETTINGS_H
#define QETSETTINGS_H
#include <Qt>
#include <QColor>
#include <QStringList>
/**
*Interface to use QSettings in QElectroTech
*Prefer use this namespace instead of directly QSettings
*It's notably useful when some QSettings value are used in
*different part of QElectroTech source code
*/
namespace QetSettings
{
void setHdpiScaleFactorRoundingPolicy(const QString &policy_str);
void setHdpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy policy);
Qt::HighDpiScaleFactorRoundingPolicy hdpiScaleFactorRoundingPolicy(
Qt::HighDpiScaleFactorRoundingPolicy default_policy = Qt::HighDpiScaleFactorRoundingPolicy::PassThrough);
bool scriptingEnabled();
void setScriptingEnabled(bool enabled);
bool scriptingForcedByEnvironment();
bool liveAssistantEnabled();
void setLiveAssistantEnabled(bool enabled);
bool liveSkipStartWarning();
void setLiveSkipStartWarning(bool skip);
bool liveAskFirst();
void setLiveAskFirst(bool ask);
/**
@brief Free-text drawing conventions for this installation (grid,
flow direction, routing, tagging, grouping, ...), written once by
the user and read by every AI assistant that connects -- live or
headless -- through qet-assistant.json and qet.houseStyle().
Empty when never set.
*/
QString houseStyle();
void setHouseStyle(const QString &text);
/**
@brief The sheet (folio) background the diagram editors draw.
Both halves are needed, not just the colour: with custom == false
the sheet follows the system ("Couleur systeme") and the views are
free to invert the lightness on a dark palette, while the very same
#ffffff with custom == true is an explicit "always white" that
must not be inverted. Storing only the colour would collapse the
two on the next start.
*/
struct SheetBackground
{
QColor color;
bool custom = false;
};
SheetBackground sheetBackground();
void setSheetBackground(const SheetBackground &background);
QStringList sheetBackgroundRecentColors();
void setSheetBackgroundRecentColors(const QStringList &colors);
}
#endif // QETSETTINGS_H