mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 13:30:34 +01:00
Ajout d'une option permettant d'utiliser ou non les couleurs systeme.
git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@680 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
[General]
|
[General]
|
||||||
|
usesystemcolors=true
|
||||||
|
|
||||||
[diagrameditor]
|
[diagrameditor]
|
||||||
defaultauthor=
|
defaultauthor=
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
[General]
|
[General]
|
||||||
|
usesystemcolors=true
|
||||||
|
|
||||||
[diagrameditor]
|
[diagrameditor]
|
||||||
defaultauthor=
|
defaultauthor=
|
||||||
|
|||||||
@@ -101,9 +101,13 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
|||||||
|
|
||||||
// acces a la configuration de QElectroTech
|
// acces a la configuration de QElectroTech
|
||||||
QSettings &settings = QETApp::settings();
|
QSettings &settings = QETApp::settings();
|
||||||
|
bool use_system_colors = settings.value("usesystemcolors", "true").toBool();
|
||||||
bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed";
|
bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed";
|
||||||
bool integrate_elements = settings.value("diagrameditor/integrate-elements", true).toBool();
|
bool integrate_elements = settings.value("diagrameditor/integrate-elements", true).toBool();
|
||||||
|
|
||||||
|
appearance_ = new QGroupBox(tr("Apparence"), this);
|
||||||
|
use_system_colors_ = new QCheckBox(tr("Utiliser les couleurs du syst\350me"), appearance_);
|
||||||
|
|
||||||
projects_view_mode_ = new QGroupBox(tr("Projets"), this);
|
projects_view_mode_ = new QGroupBox(tr("Projets"), this);
|
||||||
windowed_mode_ = new QRadioButton(tr("Utiliser des fen\352tres"), projects_view_mode_);
|
windowed_mode_ = new QRadioButton(tr("Utiliser des fen\352tres"), projects_view_mode_);
|
||||||
tabbed_mode_ = new QRadioButton(tr("Utiliser des onglets"), projects_view_mode_);
|
tabbed_mode_ = new QRadioButton(tr("Utiliser des onglets"), projects_view_mode_);
|
||||||
@@ -112,6 +116,8 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
|||||||
elements_management_ = new QGroupBox(tr("Gestion des \351l\351ments"), this);
|
elements_management_ = new QGroupBox(tr("Gestion des \351l\351ments"), this);
|
||||||
integrate_elements_ = new QCheckBox(tr("Int\351grer automatiquement les \351l\351ments dans les projets (recommand\351)"), elements_management_);
|
integrate_elements_ = new QCheckBox(tr("Int\351grer automatiquement les \351l\351ments dans les projets (recommand\351)"), elements_management_);
|
||||||
|
|
||||||
|
use_system_colors_ -> setChecked(use_system_colors);
|
||||||
|
|
||||||
if (tabbed) {
|
if (tabbed) {
|
||||||
tabbed_mode_ -> setChecked(true);
|
tabbed_mode_ -> setChecked(true);
|
||||||
} else {
|
} else {
|
||||||
@@ -120,6 +126,10 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
|||||||
|
|
||||||
integrate_elements_ -> setChecked(integrate_elements);
|
integrate_elements_ -> setChecked(integrate_elements);
|
||||||
|
|
||||||
|
QVBoxLayout *appearance_layout = new QVBoxLayout();
|
||||||
|
appearance_layout -> addWidget(use_system_colors_);
|
||||||
|
appearance_ -> setLayout(appearance_layout);
|
||||||
|
|
||||||
QVBoxLayout *projects_view_mode_layout = new QVBoxLayout();
|
QVBoxLayout *projects_view_mode_layout = new QVBoxLayout();
|
||||||
projects_view_mode_layout -> addWidget(windowed_mode_);
|
projects_view_mode_layout -> addWidget(windowed_mode_);
|
||||||
projects_view_mode_layout -> addWidget(tabbed_mode_);
|
projects_view_mode_layout -> addWidget(tabbed_mode_);
|
||||||
@@ -139,6 +149,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
|||||||
horiz_line_ -> setFrameShape(QFrame::HLine);
|
horiz_line_ -> setFrameShape(QFrame::HLine);
|
||||||
vlayout1 -> addWidget(horiz_line_);
|
vlayout1 -> addWidget(horiz_line_);
|
||||||
|
|
||||||
|
vlayout1 -> addWidget(appearance_);
|
||||||
vlayout1 -> addWidget(projects_view_mode_);
|
vlayout1 -> addWidget(projects_view_mode_);
|
||||||
vlayout1 -> addWidget(elements_management_);
|
vlayout1 -> addWidget(elements_management_);
|
||||||
vlayout1 -> addStretch();
|
vlayout1 -> addStretch();
|
||||||
@@ -156,6 +167,13 @@ GeneralConfigurationPage::~GeneralConfigurationPage() {
|
|||||||
void GeneralConfigurationPage::applyConf() {
|
void GeneralConfigurationPage::applyConf() {
|
||||||
QSettings &settings = QETApp::settings();
|
QSettings &settings = QETApp::settings();
|
||||||
|
|
||||||
|
bool was_using_system_colors = settings.value("usesystemcolors", "true").toBool();
|
||||||
|
bool must_use_system_colors = use_system_colors_ -> isChecked();
|
||||||
|
settings.setValue("usesystemcolors", must_use_system_colors);
|
||||||
|
if (was_using_system_colors != must_use_system_colors) {
|
||||||
|
QETApp::instance() -> useSystemPalette(must_use_system_colors);
|
||||||
|
}
|
||||||
|
|
||||||
QString view_mode = tabbed_mode_ -> isChecked() ? "tabbed" : "windowed";
|
QString view_mode = tabbed_mode_ -> isChecked() ? "tabbed" : "windowed";
|
||||||
settings.setValue("diagrameditor/viewmode", view_mode) ;
|
settings.setValue("diagrameditor/viewmode", view_mode) ;
|
||||||
|
|
||||||
|
|||||||
@@ -90,6 +90,8 @@ class GeneralConfigurationPage : public ConfigPage {
|
|||||||
public:
|
public:
|
||||||
QLabel *title_label_;
|
QLabel *title_label_;
|
||||||
QFrame *horiz_line_;
|
QFrame *horiz_line_;
|
||||||
|
QGroupBox *appearance_;
|
||||||
|
QCheckBox *use_system_colors_;
|
||||||
QGroupBox *projects_view_mode_;
|
QGroupBox *projects_view_mode_;
|
||||||
QRadioButton *windowed_mode_;
|
QRadioButton *windowed_mode_;
|
||||||
QRadioButton *tabbed_mode_;
|
QRadioButton *tabbed_mode_;
|
||||||
|
|||||||
@@ -50,8 +50,9 @@ QETApp::QETApp(int &argc, char **argv) :
|
|||||||
{
|
{
|
||||||
parseArguments();
|
parseArguments();
|
||||||
initLanguage();
|
initLanguage();
|
||||||
initStyle();
|
QET::Icons::initIcons();
|
||||||
initConfiguration();
|
initConfiguration();
|
||||||
|
initStyle();
|
||||||
|
|
||||||
if (!non_interactive_execution_ && isRunning()) {
|
if (!non_interactive_execution_ && isRunning()) {
|
||||||
// envoie les arguments a l'instance deja existante
|
// envoie les arguments a l'instance deja existante
|
||||||
@@ -596,6 +597,28 @@ void QETApp::invertMainWindowVisibility(QWidget *window) {
|
|||||||
if (QMainWindow *w = qobject_cast<QMainWindow *>(window)) setMainWindowVisible(w, !w -> isVisible());
|
if (QMainWindow *w = qobject_cast<QMainWindow *>(window)) setMainWindowVisible(w, !w -> isVisible());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Change la palette de l'application
|
||||||
|
@param use true pour utiliser les couleurs du systeme, false pour utiliser celles du theme en cours
|
||||||
|
*/
|
||||||
|
void QETApp::useSystemPalette(bool use) {
|
||||||
|
if (use) {
|
||||||
|
setPalette(initial_palette_);
|
||||||
|
} else {
|
||||||
|
setPalette(style() -> standardPalette());
|
||||||
|
}
|
||||||
|
|
||||||
|
// reapplique les feuilles de style
|
||||||
|
setStyleSheet(
|
||||||
|
"QAbstractScrollArea#mdiarea {"
|
||||||
|
" background-color:white;"
|
||||||
|
" background-image: url(':/ico/mdiarea_bg.png');"
|
||||||
|
" background-repeat: no-repeat;"
|
||||||
|
" background-position: center middle;"
|
||||||
|
"}"
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Demande la fermeture de toutes les fenetres ; si l'utilisateur les accepte,
|
Demande la fermeture de toutes les fenetres ; si l'utilisateur les accepte,
|
||||||
l'application quitte
|
l'application quitte
|
||||||
@@ -807,13 +830,15 @@ void QETApp::initLanguage() {
|
|||||||
Met en place tout ce qui concerne le style graphique de l'application
|
Met en place tout ce qui concerne le style graphique de l'application
|
||||||
*/
|
*/
|
||||||
void QETApp::initStyle() {
|
void QETApp::initStyle() {
|
||||||
// initialise les icones
|
initial_palette_ = palette();
|
||||||
QET::Icons::initIcons();
|
|
||||||
|
|
||||||
// lorsque le style Plastique est active, on le remplace par une version amelioree
|
// lorsque le style Plastique est active, on le remplace par une version amelioree
|
||||||
if (qobject_cast<QPlastiqueStyle *>(style())) {
|
if (qobject_cast<QPlastiqueStyle *>(style())) {
|
||||||
setStyle(new QETStyle());
|
setStyle(new QETStyle());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// applique ou non les couleurs de l'environnement
|
||||||
|
useSystemPalette(settings().value("usesystemcolors", true).toBool());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -834,6 +859,7 @@ void QETApp::initConfiguration() {
|
|||||||
qet_settings = new QSettings(configDir() + "qelectrotech.conf", QSettings::IniFormat, this);
|
qet_settings = new QSettings(configDir() + "qelectrotech.conf", QSettings::IniFormat, this);
|
||||||
|
|
||||||
// fichiers recents
|
// fichiers recents
|
||||||
|
// note : les icones doivent etre initialisees avant ces instructions (qui creent des menus en interne)
|
||||||
projects_recent_files_ = new RecentFiles("projects");
|
projects_recent_files_ = new RecentFiles("projects");
|
||||||
elements_recent_files_ = new RecentFiles("elements");
|
elements_recent_files_ = new RecentFiles("elements");
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ class QETApp : public QETSingleApplication {
|
|||||||
QSettings *qet_settings;
|
QSettings *qet_settings;
|
||||||
QETArguments qet_arguments_; ///< Analyseur d'arguments
|
QETArguments qet_arguments_; ///< Analyseur d'arguments
|
||||||
bool non_interactive_execution_; ///< booleen indiquant si l'application va se terminer immediatement apres un court traitement
|
bool non_interactive_execution_; ///< booleen indiquant si l'application va se terminer immediatement apres un court traitement
|
||||||
|
QPalette initial_palette_; ///< Palette des couleurs systeme
|
||||||
|
|
||||||
static FileElementsCollection *common_collection;
|
static FileElementsCollection *common_collection;
|
||||||
static FileElementsCollection *custom_collection;
|
static FileElementsCollection *custom_collection;
|
||||||
@@ -135,7 +136,7 @@ class QETApp : public QETSingleApplication {
|
|||||||
static uint next_project_id;
|
static uint next_project_id;
|
||||||
static RecentFiles *projects_recent_files_;
|
static RecentFiles *projects_recent_files_;
|
||||||
static RecentFiles *elements_recent_files_;
|
static RecentFiles *elements_recent_files_;
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void systray(QSystemTrayIcon::ActivationReason);
|
void systray(QSystemTrayIcon::ActivationReason);
|
||||||
void reduceEveryEditor();
|
void reduceEveryEditor();
|
||||||
@@ -149,6 +150,7 @@ class QETApp : public QETSingleApplication {
|
|||||||
bool closeEveryEditor();
|
bool closeEveryEditor();
|
||||||
void setMainWindowVisible(QMainWindow *, bool);
|
void setMainWindowVisible(QMainWindow *, bool);
|
||||||
void invertMainWindowVisibility(QWidget *);
|
void invertMainWindowVisibility(QWidget *);
|
||||||
|
void useSystemPalette(bool);
|
||||||
void quitQET();
|
void quitQET();
|
||||||
void checkRemainingWindows();
|
void checkRemainingWindows();
|
||||||
void messageReceived(const QString &);
|
void messageReceived(const QString &);
|
||||||
|
|||||||
@@ -40,16 +40,10 @@ QETDiagramEditor::QETDiagramEditor(const QStringList &files, QWidget *parent) :
|
|||||||
{
|
{
|
||||||
// mise en place de l'interface MDI au centre de l'application
|
// mise en place de l'interface MDI au centre de l'application
|
||||||
setCentralWidget(&workspace);
|
setCentralWidget(&workspace);
|
||||||
|
|
||||||
|
// nomme l'objet afin qu'il soit reperable par les feuilles de style
|
||||||
workspace.setBackground(QBrush(Qt::NoBrush));
|
workspace.setBackground(QBrush(Qt::NoBrush));
|
||||||
workspace.setObjectName("mdiarea");
|
workspace.setObjectName("mdiarea");
|
||||||
workspace.setStyleSheet(
|
|
||||||
"QAbstractScrollArea#mdiarea {"
|
|
||||||
" background-color:white;"
|
|
||||||
" background-image: url(':/ico/mdiarea_bg.png');"
|
|
||||||
" background-repeat: no-repeat;"
|
|
||||||
" background-position: center middle;"
|
|
||||||
"}"
|
|
||||||
);
|
|
||||||
|
|
||||||
// mise en place du signalmapper
|
// mise en place du signalmapper
|
||||||
connect(&windowMapper, SIGNAL(mapped(QWidget *)), this, SLOT(activateWidget(QWidget *)));
|
connect(&windowMapper, SIGNAL(mapped(QWidget *)), this, SLOT(activateWidget(QWidget *)));
|
||||||
|
|||||||
Reference in New Issue
Block a user