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]
|
||||
usesystemcolors=true
|
||||
|
||||
[diagrameditor]
|
||||
defaultauthor=
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
[General]
|
||||
usesystemcolors=true
|
||||
|
||||
[diagrameditor]
|
||||
defaultauthor=
|
||||
|
||||
@@ -101,9 +101,13 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
||||
|
||||
// acces a la configuration de QElectroTech
|
||||
QSettings &settings = QETApp::settings();
|
||||
bool use_system_colors = settings.value("usesystemcolors", "true").toBool();
|
||||
bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed";
|
||||
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);
|
||||
windowed_mode_ = new QRadioButton(tr("Utiliser des fen\352tres"), 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);
|
||||
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) {
|
||||
tabbed_mode_ -> setChecked(true);
|
||||
} else {
|
||||
@@ -120,6 +126,10 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
||||
|
||||
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();
|
||||
projects_view_mode_layout -> addWidget(windowed_mode_);
|
||||
projects_view_mode_layout -> addWidget(tabbed_mode_);
|
||||
@@ -139,6 +149,7 @@ GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage
|
||||
horiz_line_ -> setFrameShape(QFrame::HLine);
|
||||
vlayout1 -> addWidget(horiz_line_);
|
||||
|
||||
vlayout1 -> addWidget(appearance_);
|
||||
vlayout1 -> addWidget(projects_view_mode_);
|
||||
vlayout1 -> addWidget(elements_management_);
|
||||
vlayout1 -> addStretch();
|
||||
@@ -156,6 +167,13 @@ GeneralConfigurationPage::~GeneralConfigurationPage() {
|
||||
void GeneralConfigurationPage::applyConf() {
|
||||
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";
|
||||
settings.setValue("diagrameditor/viewmode", view_mode) ;
|
||||
|
||||
|
||||
@@ -90,6 +90,8 @@ class GeneralConfigurationPage : public ConfigPage {
|
||||
public:
|
||||
QLabel *title_label_;
|
||||
QFrame *horiz_line_;
|
||||
QGroupBox *appearance_;
|
||||
QCheckBox *use_system_colors_;
|
||||
QGroupBox *projects_view_mode_;
|
||||
QRadioButton *windowed_mode_;
|
||||
QRadioButton *tabbed_mode_;
|
||||
|
||||
@@ -50,8 +50,9 @@ QETApp::QETApp(int &argc, char **argv) :
|
||||
{
|
||||
parseArguments();
|
||||
initLanguage();
|
||||
initStyle();
|
||||
QET::Icons::initIcons();
|
||||
initConfiguration();
|
||||
initStyle();
|
||||
|
||||
if (!non_interactive_execution_ && isRunning()) {
|
||||
// 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());
|
||||
}
|
||||
|
||||
/**
|
||||
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,
|
||||
l'application quitte
|
||||
@@ -807,13 +830,15 @@ void QETApp::initLanguage() {
|
||||
Met en place tout ce qui concerne le style graphique de l'application
|
||||
*/
|
||||
void QETApp::initStyle() {
|
||||
// initialise les icones
|
||||
QET::Icons::initIcons();
|
||||
initial_palette_ = palette();
|
||||
|
||||
// lorsque le style Plastique est active, on le remplace par une version amelioree
|
||||
if (qobject_cast<QPlastiqueStyle *>(style())) {
|
||||
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);
|
||||
|
||||
// fichiers recents
|
||||
// note : les icones doivent etre initialisees avant ces instructions (qui creent des menus en interne)
|
||||
projects_recent_files_ = new RecentFiles("projects");
|
||||
elements_recent_files_ = new RecentFiles("elements");
|
||||
}
|
||||
|
||||
@@ -128,6 +128,7 @@ class QETApp : public QETSingleApplication {
|
||||
QSettings *qet_settings;
|
||||
QETArguments qet_arguments_; ///< Analyseur d'arguments
|
||||
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 *custom_collection;
|
||||
@@ -135,7 +136,7 @@ class QETApp : public QETSingleApplication {
|
||||
static uint next_project_id;
|
||||
static RecentFiles *projects_recent_files_;
|
||||
static RecentFiles *elements_recent_files_;
|
||||
|
||||
|
||||
public slots:
|
||||
void systray(QSystemTrayIcon::ActivationReason);
|
||||
void reduceEveryEditor();
|
||||
@@ -149,6 +150,7 @@ class QETApp : public QETSingleApplication {
|
||||
bool closeEveryEditor();
|
||||
void setMainWindowVisible(QMainWindow *, bool);
|
||||
void invertMainWindowVisibility(QWidget *);
|
||||
void useSystemPalette(bool);
|
||||
void quitQET();
|
||||
void checkRemainingWindows();
|
||||
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
|
||||
setCentralWidget(&workspace);
|
||||
|
||||
// nomme l'objet afin qu'il soit reperable par les feuilles de style
|
||||
workspace.setBackground(QBrush(Qt::NoBrush));
|
||||
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
|
||||
connect(&windowMapper, SIGNAL(mapped(QWidget *)), this, SLOT(activateWidget(QWidget *)));
|
||||
|
||||
Reference in New Issue
Block a user