mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-23 10:30:53 +01:00
Ajout d'un panneau de configuration avec une premiere page pour parametrer les nouveaux schemas
Amelioration de la gestion de la date du cartouche Mise a jour du --help Mise a jour des traductions git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@215 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
164
configpages.cpp
Normal file
164
configpages.cpp
Normal file
@@ -0,0 +1,164 @@
|
||||
#include "configpages.h"
|
||||
#include "qetapp.h"
|
||||
|
||||
/**
|
||||
Constructeur
|
||||
@param parent QWidget parent
|
||||
*/
|
||||
NewDiagramPage::NewDiagramPage(QWidget *parent) : ConfigPage(parent) {
|
||||
|
||||
// acces a la configuration de QElectroTech
|
||||
QSettings &settings = QETApp::settings();
|
||||
|
||||
// recupere les dimensions du schema
|
||||
int columns_count_value = settings.value("diagrameditor/defaultcols", 15).toInt();
|
||||
int columns_width_value = qRound(settings.value("diagrameditor/defaultcolsize", 50.0).toDouble());
|
||||
int columns_height_value = qRound(settings.value("diagrameditor/defaultheight", 500.0).toDouble());
|
||||
|
||||
QVBoxLayout *vlayout1 = new QVBoxLayout();
|
||||
|
||||
QLabel *title = new QLabel(tr("Nouveau sch\351ma"));
|
||||
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();
|
||||
|
||||
QGroupBox *diagram_size_box = new QGroupBox(tr("Dimensions du sch\351ma"));
|
||||
diagram_size_box -> setMinimumWidth(300);
|
||||
QGridLayout *diagram_size_box_layout = new QGridLayout(diagram_size_box);
|
||||
|
||||
QLabel *ds1 = new QLabel(tr("Colonnes :"));
|
||||
|
||||
columns_count = new QSpinBox(diagram_size_box);
|
||||
columns_count -> setMinimum(3); /// @todo methode statique pour recuperer ca
|
||||
columns_count -> setValue(columns_count_value);
|
||||
|
||||
columns_width = new QSpinBox(diagram_size_box);
|
||||
columns_width -> setMinimum(1);
|
||||
columns_width -> setSingleStep(10);
|
||||
columns_width -> setValue(columns_width_value);
|
||||
columns_width -> setPrefix(tr("\327"));
|
||||
columns_width -> setSuffix(tr("px"));
|
||||
|
||||
QLabel *ds2 = new QLabel(tr("Hauteur :"));
|
||||
|
||||
columns_height = new QSpinBox(diagram_size_box);
|
||||
columns_height -> setRange(80, 10000); /// @todo methode statique pour recuperer ca
|
||||
columns_height -> setSingleStep(80);
|
||||
columns_height -> setValue(columns_height_value);
|
||||
|
||||
diagram_size_box_layout -> addWidget(ds1, 0, 0);
|
||||
diagram_size_box_layout -> addWidget(columns_count, 0, 1);
|
||||
diagram_size_box_layout -> addWidget(columns_width, 0, 2);
|
||||
diagram_size_box_layout -> addWidget(ds2, 1, 0);
|
||||
diagram_size_box_layout -> addWidget(columns_height, 1, 1);
|
||||
|
||||
QGroupBox *inset_infos = new QGroupBox(tr("Informations du cartouche"), this);
|
||||
inset_infos -> setMinimumWidth(300);
|
||||
|
||||
inset_title = new QLineEdit(settings.value("diagrameditor/defaulttitle").toString(), this);
|
||||
inset_author = new QLineEdit(settings.value("diagrameditor/defaultauthor").toString(), this);
|
||||
|
||||
QButtonGroup *date_policy_group = new QButtonGroup(this);
|
||||
inset_no_date = new QRadioButton(tr("Pas de date"), this);
|
||||
inset_current_date = new QRadioButton(tr("Date courante"), this);
|
||||
inset_fixed_date = new QRadioButton(tr("Date fixe : "), this);
|
||||
date_policy_group -> addButton(inset_no_date);
|
||||
date_policy_group -> addButton(inset_current_date);
|
||||
date_policy_group -> addButton(inset_fixed_date);
|
||||
QString settings_date = settings.value("diagrameditor/defaultdate").toString();
|
||||
QDate date_diagram;
|
||||
if (settings_date == "now") {
|
||||
date_diagram = QDate::currentDate();
|
||||
inset_current_date -> setChecked(true);
|
||||
} else if (settings_date.isEmpty() || settings_date == "null") {
|
||||
date_diagram = QDate();
|
||||
inset_no_date -> setChecked(true);
|
||||
} else {
|
||||
date_diagram = QDate::fromString(settings_date, "yyyyMMdd");
|
||||
inset_fixed_date -> setChecked(true);
|
||||
}
|
||||
inset_date = new QDateEdit(date_diagram, this);
|
||||
inset_date -> setEnabled(inset_fixed_date -> isChecked());
|
||||
connect(inset_fixed_date, SIGNAL(toggled(bool)), inset_date, SLOT(setEnabled(bool)));
|
||||
inset_date -> setCalendarPopup(true);
|
||||
|
||||
QGridLayout *layout_date = new QGridLayout();
|
||||
layout_date -> addWidget(inset_no_date, 0, 0);
|
||||
layout_date -> addWidget(inset_current_date, 1, 0);
|
||||
layout_date -> addWidget(inset_fixed_date, 2, 0);
|
||||
layout_date -> addWidget(inset_date, 2, 1);
|
||||
|
||||
inset_filename = new QLineEdit(settings.value("diagrameditor/defaultfilename").toString(), this);
|
||||
inset_folio = new QLineEdit(settings.value("diagrameditor/defaultfolio").toString(), this);
|
||||
QGridLayout *layout_champs = new QGridLayout(inset_infos);
|
||||
|
||||
layout_champs -> addWidget(new QLabel(tr("Titre : ")), 0, 0);
|
||||
layout_champs -> addWidget(inset_title, 0, 1);
|
||||
layout_champs -> addWidget(new QLabel(tr("Auteur : ")), 1, 0);
|
||||
layout_champs -> addWidget(inset_author, 1, 1);
|
||||
layout_champs -> addWidget(new QLabel(tr("Date : ")), 2, 0);
|
||||
layout_champs -> addLayout(layout_date, 3, 1);
|
||||
layout_champs -> addWidget(new QLabel(tr("Fichier : ")), 4, 0);
|
||||
layout_champs -> addWidget(inset_filename, 4, 1);
|
||||
layout_champs -> addWidget(new QLabel(tr("Folio : ")), 5, 0);
|
||||
layout_champs -> addWidget(inset_folio, 5, 1);
|
||||
|
||||
// proprietes par defaut des conducteurs
|
||||
ConductorProperties cp;
|
||||
cp.fromSettings(settings, "diagrameditor/defaultconductor");
|
||||
cpw = new ConductorPropertiesWidget(cp);
|
||||
|
||||
vlayout2 -> addWidget(diagram_size_box);
|
||||
vlayout2 -> addWidget(inset_infos);
|
||||
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
|
||||
settings.setValue("diagrameditor/defaultcols", columns_count -> value());
|
||||
settings.setValue("diagrameditor/defaultcolsize", columns_width -> value());
|
||||
settings.setValue("diagrameditor/defaultheight", columns_height -> value());
|
||||
|
||||
// proprietes du cartouche
|
||||
settings.setValue("diagrameditor/defaulttitle", inset_title -> text());
|
||||
settings.setValue("diagrameditor/defaultauthor", inset_author -> text());
|
||||
settings.setValue("diagrameditor/defaultfilename", inset_filename -> text());
|
||||
settings.setValue("diagrameditor/defaultfolio", inset_folio -> text());
|
||||
QString date_setting_value;
|
||||
if (inset_no_date -> isChecked()) date_setting_value = "null";
|
||||
else if (inset_current_date -> isChecked()) date_setting_value = "now";
|
||||
else date_setting_value = inset_date -> date().toString("yyyyMMdd");
|
||||
settings.setValue("diagrameditor/defaultdate", date_setting_value);
|
||||
|
||||
// proprietes par defaut des conducteurs
|
||||
cpw -> conductorProperties().toSettings(settings, "diagrameditor/defaultconductor");
|
||||
}
|
||||
|
||||
/// @return l'icone de cette page
|
||||
QIcon NewDiagramPage::icon() const {
|
||||
return(QIcon(":/ico/conf_new_diagram.png"));
|
||||
}
|
||||
|
||||
/// @return le titre de cette page
|
||||
QString NewDiagramPage::title() const {
|
||||
return(tr("Nouveau sch\351ma"));
|
||||
}
|
||||
Reference in New Issue
Block a user