2007-12-01 10:47:15 +00:00
|
|
|
/*
|
2009-04-03 19:30:25 +00:00
|
|
|
Copyright 2006-2009 Xavier Guerrin
|
2007-12-01 10:47:15 +00:00
|
|
|
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/>.
|
|
|
|
*/
|
2007-11-18 00:22:19 +00:00
|
|
|
#include "configpages.h"
|
2008-08-14 22:51:08 +00:00
|
|
|
#include "borderpropertieswidget.h"
|
2008-07-30 12:44:57 +00:00
|
|
|
#include "conductorpropertieswidget.h"
|
|
|
|
#include "insetpropertieswidget.h"
|
2007-11-18 00:22:19 +00:00
|
|
|
#include "qetapp.h"
|
2008-07-30 12:44:57 +00:00
|
|
|
#include "qetdiagrameditor.h"
|
2008-08-10 15:07:59 +00:00
|
|
|
#include "borderinset.h"
|
2009-05-01 14:41:33 +00:00
|
|
|
#include "qeticons.h"
|
2009-08-09 12:51:02 +00:00
|
|
|
#include "exportpropertieswidget.h"
|
2007-11-18 00:22:19 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Constructeur
|
|
|
|
@param parent QWidget parent
|
|
|
|
*/
|
|
|
|
NewDiagramPage::NewDiagramPage(QWidget *parent) : ConfigPage(parent) {
|
2008-08-14 22:51:08 +00:00
|
|
|
// dimensions par defaut d'un schema
|
|
|
|
bpw = new BorderPropertiesWidget(QETDiagramEditor::defaultBorderProperties());
|
|
|
|
|
|
|
|
// proprietes par defaut d'un cartouche
|
|
|
|
ipw = new InsetPropertiesWidget(QETDiagramEditor::defaultInsetProperties(), true);
|
|
|
|
|
|
|
|
// proprietes par defaut des conducteurs
|
2009-04-03 19:30:25 +00:00
|
|
|
cpw = new ConductorPropertiesWidget(QETDiagramEditor::defaultConductorProperties());
|
2008-08-14 22:51:08 +00:00
|
|
|
cpw -> setContentsMargins(0, 0, 0, 0);
|
2007-11-18 00:22:19 +00:00
|
|
|
|
|
|
|
QVBoxLayout *vlayout1 = new QVBoxLayout();
|
|
|
|
|
2009-04-03 19:30:25 +00:00
|
|
|
QLabel *title = new QLabel(this -> title());
|
2007-11-18 00:22:19 +00:00
|
|
|
vlayout1 -> addWidget(title);
|
|
|
|
|
|
|
|
QFrame *horiz_line = new QFrame();
|
|
|
|
horiz_line -> setFrameShape(QFrame::HLine);
|
|
|
|
vlayout1 -> addWidget(horiz_line);
|
|
|
|
|
|
|
|
QHBoxLayout *hlayout1 = new QHBoxLayout();
|
|
|
|
QVBoxLayout *vlayout2 = new QVBoxLayout();
|
|
|
|
|
2008-08-14 22:51:08 +00:00
|
|
|
vlayout2 -> addWidget(bpw);
|
2007-12-01 10:29:03 +00:00
|
|
|
vlayout2 -> addWidget(ipw);
|
2008-08-14 22:51:08 +00:00
|
|
|
vlayout2 -> setSpacing(5);
|
2007-11-18 00:22:19 +00:00
|
|
|
hlayout1 -> addLayout(vlayout2);
|
|
|
|
hlayout1 -> addWidget(cpw);
|
|
|
|
vlayout1 -> addLayout(hlayout1);
|
|
|
|
vlayout1 -> addStretch(1);
|
|
|
|
hlayout1 -> setAlignment(cpw, Qt::AlignTop);
|
|
|
|
setLayout(vlayout1);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Destructeur
|
|
|
|
NewDiagramPage::~NewDiagramPage() {
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
Applique la configuration de cette page
|
|
|
|
*/
|
|
|
|
void NewDiagramPage::applyConf() {
|
|
|
|
QSettings &settings = QETApp::settings();
|
|
|
|
|
|
|
|
// dimensions des nouveaux schemas
|
2009-04-03 19:30:25 +00:00
|
|
|
bpw -> borderProperties().toSettings(settings, "diagrameditor/default");
|
2007-11-18 00:22:19 +00:00
|
|
|
|
|
|
|
// proprietes du cartouche
|
2009-04-03 19:30:25 +00:00
|
|
|
ipw-> insetProperties().toSettings(settings, "diagrameditor/default");
|
2007-11-18 00:22:19 +00:00
|
|
|
|
|
|
|
// proprietes par defaut des conducteurs
|
|
|
|
cpw -> conductorProperties().toSettings(settings, "diagrameditor/defaultconductor");
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @return l'icone de cette page
|
|
|
|
QIcon NewDiagramPage::icon() const {
|
2009-05-01 14:41:33 +00:00
|
|
|
return(QET::Icons::NewDiagram);
|
2007-11-18 00:22:19 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/// @return le titre de cette page
|
|
|
|
QString NewDiagramPage::title() const {
|
2009-04-03 19:30:25 +00:00
|
|
|
return(tr("Nouveau sch\351ma", "configuration page title"));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
Constructeur
|
|
|
|
@param parent QWidget parent
|
|
|
|
*/
|
|
|
|
GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage(parent) {
|
|
|
|
|
|
|
|
// acces a la configuration de QElectroTech
|
|
|
|
QSettings &settings = QETApp::settings();
|
2009-05-24 17:46:44 +00:00
|
|
|
bool use_system_colors = settings.value("usesystemcolors", "true").toBool();
|
2009-04-05 12:33:20 +00:00
|
|
|
bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed";
|
2009-04-03 19:30:25 +00:00
|
|
|
bool integrate_elements = settings.value("diagrameditor/integrate-elements", true).toBool();
|
|
|
|
|
2009-05-24 17:46:44 +00:00
|
|
|
appearance_ = new QGroupBox(tr("Apparence"), this);
|
|
|
|
use_system_colors_ = new QCheckBox(tr("Utiliser les couleurs du syst\350me"), appearance_);
|
|
|
|
|
2009-04-03 19:30:25 +00:00
|
|
|
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_);
|
|
|
|
warning_view_mode_ = new QLabel(tr("Ces param\350tres s'appliqueront d\350s la prochaine ouverture d'un \351diteur de sch\351mas."));
|
|
|
|
|
|
|
|
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_);
|
|
|
|
|
2009-05-24 17:46:44 +00:00
|
|
|
use_system_colors_ -> setChecked(use_system_colors);
|
|
|
|
|
2009-04-03 19:30:25 +00:00
|
|
|
if (tabbed) {
|
|
|
|
tabbed_mode_ -> setChecked(true);
|
|
|
|
} else {
|
|
|
|
windowed_mode_ -> setChecked(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
integrate_elements_ -> setChecked(integrate_elements);
|
|
|
|
|
2009-05-24 17:46:44 +00:00
|
|
|
QVBoxLayout *appearance_layout = new QVBoxLayout();
|
|
|
|
appearance_layout -> addWidget(use_system_colors_);
|
|
|
|
appearance_ -> setLayout(appearance_layout);
|
|
|
|
|
2009-04-03 19:30:25 +00:00
|
|
|
QVBoxLayout *projects_view_mode_layout = new QVBoxLayout();
|
|
|
|
projects_view_mode_layout -> addWidget(windowed_mode_);
|
|
|
|
projects_view_mode_layout -> addWidget(tabbed_mode_);
|
|
|
|
projects_view_mode_layout -> addWidget(warning_view_mode_);
|
|
|
|
projects_view_mode_ -> setLayout(projects_view_mode_layout);
|
|
|
|
|
|
|
|
QVBoxLayout *elements_management_layout = new QVBoxLayout();
|
|
|
|
elements_management_layout -> addWidget(integrate_elements_);
|
|
|
|
elements_management_ -> setLayout(elements_management_layout);
|
|
|
|
|
|
|
|
QVBoxLayout *vlayout1 = new QVBoxLayout();
|
|
|
|
|
|
|
|
QLabel *title_label_ = new QLabel(title());
|
|
|
|
vlayout1 -> addWidget(title_label_);
|
|
|
|
|
|
|
|
QFrame *horiz_line_ = new QFrame();
|
|
|
|
horiz_line_ -> setFrameShape(QFrame::HLine);
|
|
|
|
vlayout1 -> addWidget(horiz_line_);
|
|
|
|
|
2009-05-24 17:46:44 +00:00
|
|
|
vlayout1 -> addWidget(appearance_);
|
2009-04-03 19:30:25 +00:00
|
|
|
vlayout1 -> addWidget(projects_view_mode_);
|
|
|
|
vlayout1 -> addWidget(elements_management_);
|
|
|
|
vlayout1 -> addStretch();
|
|
|
|
|
|
|
|
setLayout(vlayout1);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Destructeur
|
|
|
|
GeneralConfigurationPage::~GeneralConfigurationPage() {
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
Applique la configuration de cette page
|
|
|
|
*/
|
|
|
|
void GeneralConfigurationPage::applyConf() {
|
|
|
|
QSettings &settings = QETApp::settings();
|
|
|
|
|
2009-05-24 17:46:44 +00:00
|
|
|
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);
|
|
|
|
}
|
|
|
|
|
2009-04-03 19:30:25 +00:00
|
|
|
QString view_mode = tabbed_mode_ -> isChecked() ? "tabbed" : "windowed";
|
|
|
|
settings.setValue("diagrameditor/viewmode", view_mode) ;
|
|
|
|
|
|
|
|
settings.setValue("diagrameditor/integrate-elements", integrate_elements_ -> isChecked());
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @return l'icone de cette page
|
|
|
|
QIcon GeneralConfigurationPage::icon() const {
|
2009-05-01 14:41:33 +00:00
|
|
|
return(QET::Icons::Settings);
|
2009-04-03 19:30:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/// @return le titre de cette page
|
|
|
|
QString GeneralConfigurationPage::title() const {
|
|
|
|
return(tr("G\351n\351ral", "configuration page title"));
|
2007-11-18 00:22:19 +00:00
|
|
|
}
|
2009-08-09 12:51:02 +00:00
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
Constructeur
|
|
|
|
@param parent QWidget parent
|
|
|
|
*/
|
|
|
|
ExportConfigPage::ExportConfigPage(QWidget *parent) : ConfigPage(parent) {
|
|
|
|
// epw contient les options d'export
|
|
|
|
epw = new ExportPropertiesWidget(QETDiagramEditor::defaultExportProperties());
|
|
|
|
|
|
|
|
// layout vertical contenant le titre, une ligne horizontale et epw
|
|
|
|
QVBoxLayout *vlayout1 = new QVBoxLayout();
|
|
|
|
|
|
|
|
QLabel *title = new QLabel(this -> title());
|
|
|
|
vlayout1 -> addWidget(title);
|
|
|
|
|
|
|
|
QFrame *horiz_line = new QFrame();
|
|
|
|
horiz_line -> setFrameShape(QFrame::HLine);
|
|
|
|
vlayout1 -> addWidget(horiz_line);
|
|
|
|
vlayout1 -> addWidget(epw);
|
|
|
|
|
|
|
|
// activation du layout
|
|
|
|
setLayout(vlayout1);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// Destructeur
|
|
|
|
ExportConfigPage::~ExportConfigPage() {
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
Applique la configuration de cette page
|
|
|
|
*/
|
|
|
|
void ExportConfigPage::applyConf() {
|
|
|
|
QSettings &settings = QETApp::settings();
|
|
|
|
epw -> exportProperties().toSettings(settings, "export/default");
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @return l'icone de cette page
|
|
|
|
QIcon ExportConfigPage::icon() const {
|
|
|
|
return(QET::Icons::DocumentExport);
|
|
|
|
}
|
|
|
|
|
|
|
|
/// @return le titre de cette page
|
|
|
|
QString ExportConfigPage::title() const {
|
|
|
|
return(tr("Export", "configuration page title"));
|
|
|
|
}
|
|
|
|
|