mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2025-12-18 05:00:33 +01:00
Diagram editor, add two news feature:
1- QET create a backup file, use to restor the project when a crash occur 2- User can enable and edit autosave. git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@5374 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
@@ -225,223 +225,6 @@ void NewDiagramPage::loadSavedTbp(){
|
||||
applyConf();
|
||||
}
|
||||
|
||||
/**
|
||||
Constructeur
|
||||
@param parent QWidget parent
|
||||
*/
|
||||
GeneralConfigurationPage::GeneralConfigurationPage(QWidget *parent) : ConfigPage(parent)
|
||||
{
|
||||
//Conf of QElectroTech
|
||||
QSettings settings;
|
||||
bool use_system_colors = settings.value("usesystemcolors", "true").toBool();
|
||||
bool tabbed = settings.value("diagrameditor/viewmode", "tabbed") == "tabbed";
|
||||
bool zoom_out_folio = settings.value("diagrameditor/zoom-out-beyond-of-folio", false).toBool();
|
||||
bool use_trackpad = settings.value("diagramview/gestures", false).toBool();
|
||||
bool save_label_paste = settings.value("diagramcommands/erase-label-on-copy", true).toBool();
|
||||
bool panel_folio = settings.value("genericpanel/folio", true).toBool();
|
||||
bool highlight_integrated_elements = settings.value("diagrameditor/highlight-integrated-elements", true).toBool();
|
||||
bool terminal_exportlist = settings.value("nomenclature-exportlist", true).toBool();
|
||||
QString default_element_informations = settings.value("elementeditor/default-informations", "").toString();
|
||||
|
||||
appearance_ = new QGroupBox(tr("Apparence"), this);
|
||||
use_system_colors_ = new QCheckBox(tr("Utiliser les couleurs du système"), appearance_);
|
||||
projects_view_mode_ = new QGroupBox(tr("Projets"), this);
|
||||
windowed_mode_ = new QRadioButton(tr("Utiliser des fenêtres (appliqué au prochain lancement de QElectroTech)"), projects_view_mode_);
|
||||
tabbed_mode_ = new QRadioButton(tr("Utiliser des onglets (appliqué au prochain lancement de QElectroTech)"), projects_view_mode_);
|
||||
use_trackpad_ = new QCheckBox(tr("Utiliser les gestes du pavé tactile"), projects_view_mode_);
|
||||
save_label_paste_ = new QCheckBox(tr("Ne pas conserver les labels des éléments lors des copier coller"), projects_view_mode_);
|
||||
folio_panel_ = new QCheckBox(tr("Utiliser les labels de folio à la place de leurs ID"), projects_view_mode_);
|
||||
terminal_exportlist_ = new QCheckBox(tr("Exporter les bornes dans la nomenclature"), projects_view_mode_);
|
||||
m_zoom_out_beyond_folio = new QCheckBox(tr("Autoriser le dézoom au delà du folio"), this);
|
||||
|
||||
QString fontInfos = settings.value("diagramitemfont").toString() + " " +
|
||||
settings.value("diagramitemsize").toString() + " (" +
|
||||
settings.value("diagramitemstyle").toString() + ")";
|
||||
font_label = new QLabel(tr("Police des champs de texte"));
|
||||
fontButton = new QPushButton(fontInfos);
|
||||
fontButton->setMinimumHeight(28);
|
||||
|
||||
QString foliolistfontInfos = settings.value("foliolistfont").toString() + " " +
|
||||
settings.value("foliolistsize").toString() + " (" +
|
||||
settings.value("folioliststyle").toString() + ")";
|
||||
foliolist_font_label = new QLabel(tr("Police des champs textes des pages sommaires"));
|
||||
foliolist_fontButton = new QPushButton(foliolistfontInfos);
|
||||
foliolist_fontButton->setMinimumHeight(28);
|
||||
|
||||
elements_management_ = new QGroupBox(tr("Gestion des éléments"), this);
|
||||
highlight_integrated_elements_ = new QCheckBox(tr("Mettre en valeur dans le panel les éléments fraîchement intégrés", "configuration option"));
|
||||
default_element_infos_label_ = new QLabel(
|
||||
tr(
|
||||
"Chaque élément embarque des informations sur ses auteurs, sa licence, ou tout autre renseignement que vous jugerez utile dans un champ libre. "
|
||||
"Vous pouvez spécifier ici la valeur par défaut de ce champ pour les éléments que vous créerez :"
|
||||
)
|
||||
);
|
||||
default_element_infos_label_ -> setWordWrap(true);
|
||||
default_element_infos_textfield_ = new QTextEdit();
|
||||
default_element_infos_textfield_ -> setAcceptRichText(false);
|
||||
|
||||
use_system_colors_ -> setChecked(use_system_colors);
|
||||
|
||||
use_trackpad_ -> setChecked(use_trackpad);
|
||||
save_label_paste_ -> setChecked(save_label_paste);
|
||||
folio_panel_ ->setChecked(panel_folio);
|
||||
terminal_exportlist_ ->setChecked(terminal_exportlist);
|
||||
|
||||
if (tabbed) {
|
||||
tabbed_mode_ -> setChecked(true);
|
||||
} else {
|
||||
windowed_mode_ -> setChecked(true);
|
||||
}
|
||||
|
||||
m_zoom_out_beyond_folio -> setChecked(zoom_out_folio);
|
||||
|
||||
highlight_integrated_elements_ -> setChecked(highlight_integrated_elements);
|
||||
default_element_infos_textfield_ -> setPlainText(default_element_informations);
|
||||
|
||||
QVBoxLayout *appearance_layout = new QVBoxLayout();
|
||||
appearance_layout -> addWidget(use_system_colors_);
|
||||
appearance_ -> setLayout(appearance_layout);
|
||||
|
||||
QVBoxLayout *projects_view_mode_layout = new QVBoxLayout;
|
||||
QHBoxLayout *font_view_layout = new QHBoxLayout;
|
||||
QHBoxLayout *foliolist_font_view_layout = new QHBoxLayout;
|
||||
projects_view_mode_layout -> addWidget(windowed_mode_);
|
||||
projects_view_mode_layout -> addWidget(tabbed_mode_);
|
||||
projects_view_mode_layout -> addWidget(m_zoom_out_beyond_folio);
|
||||
projects_view_mode_layout -> addWidget(use_trackpad_);
|
||||
projects_view_mode_layout -> addWidget(save_label_paste_);
|
||||
projects_view_mode_layout -> addWidget(folio_panel_);
|
||||
projects_view_mode_layout -> addWidget(terminal_exportlist_);
|
||||
font_view_layout->addWidget(font_label, 1);
|
||||
font_view_layout->addWidget(fontButton, 0);
|
||||
foliolist_font_view_layout->addWidget(foliolist_font_label, 1);
|
||||
foliolist_font_view_layout->addWidget(foliolist_fontButton, 0);
|
||||
projects_view_mode_layout-> addLayout(font_view_layout);
|
||||
projects_view_mode_layout-> addLayout(foliolist_font_view_layout);
|
||||
projects_view_mode_ -> setLayout(projects_view_mode_layout);
|
||||
|
||||
|
||||
connect(fontButton, SIGNAL(clicked()), this, SLOT(setFont()));
|
||||
connect(foliolist_fontButton, SIGNAL(clicked()), this, SLOT(setFoliolistFont()));
|
||||
|
||||
|
||||
|
||||
QVBoxLayout *elements_management_layout = new QVBoxLayout();
|
||||
elements_management_layout -> addWidget(highlight_integrated_elements_);
|
||||
elements_management_layout -> addWidget(default_element_infos_label_);
|
||||
elements_management_layout -> addWidget(default_element_infos_textfield_);
|
||||
elements_management_ -> setLayout(elements_management_layout);
|
||||
|
||||
//setup lang combo box selection widget
|
||||
lang_group_box = new QGroupBox(tr("Langue"), this);
|
||||
QHBoxLayout *lang_layout = new QHBoxLayout(lang_group_box);
|
||||
lang_combo_box = new QComboBox();
|
||||
lang_label = new QLabel(tr("La nouvelle langue sera prise en compte au prochain lancement de QElectroTech."));
|
||||
lang_layout->addWidget(lang_combo_box);
|
||||
lang_layout->addWidget(lang_label);
|
||||
fillLang(settings);
|
||||
|
||||
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_);
|
||||
|
||||
vlayout1 -> addWidget(appearance_);
|
||||
vlayout1 -> addWidget(projects_view_mode_);
|
||||
vlayout1 -> addWidget(elements_management_);
|
||||
vlayout1 -> addWidget(lang_group_box);
|
||||
vlayout1 -> addStretch();
|
||||
|
||||
setLayout(vlayout1);
|
||||
}
|
||||
|
||||
/// Destructeur
|
||||
GeneralConfigurationPage::~GeneralConfigurationPage() {
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief GeneralConfigurationPage::applyConf
|
||||
* Write all configuration in settings file
|
||||
*/
|
||||
void GeneralConfigurationPage::applyConf()
|
||||
{
|
||||
QSettings 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);
|
||||
}
|
||||
|
||||
settings.setValue("lang", lang_combo_box->itemData(lang_combo_box->currentIndex()).toString());
|
||||
|
||||
QString view_mode = tabbed_mode_ -> isChecked() ? "tabbed" : "windowed";
|
||||
settings.setValue("diagrameditor/viewmode", view_mode) ;
|
||||
|
||||
settings.setValue("diagrameditor/highlight-integrated-elements", highlight_integrated_elements_ -> isChecked());
|
||||
settings.setValue("elementeditor/default-informations", default_element_infos_textfield_ -> toPlainText());
|
||||
settings.setValue("diagramview/gestures", use_trackpad_ -> isChecked());
|
||||
settings.setValue("diagramcommands/erase-label-on-copy", save_label_paste_ -> isChecked());
|
||||
settings.setValue("diagrameditor/zoom-out-beyond-of-folio", m_zoom_out_beyond_folio->isChecked());
|
||||
settings.setValue("genericpanel/folio",folio_panel_->isChecked());
|
||||
settings.setValue("nomenclature/terminal-exportlist",terminal_exportlist_->isChecked());
|
||||
}
|
||||
|
||||
/// @return l'icone de cette page
|
||||
QIcon GeneralConfigurationPage::icon() const {
|
||||
return(QET::Icons::Settings);
|
||||
}
|
||||
|
||||
/// @return le titre de cette page
|
||||
QString GeneralConfigurationPage::title() const {
|
||||
return(tr("Général", "configuration page title"));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief GeneralConfigurationPage::fillLang
|
||||
* fill all available lang in @lang_combo_box
|
||||
*/
|
||||
void GeneralConfigurationPage::fillLang(QSettings &settings) {
|
||||
lang_combo_box->addItem(QET::Icons::translation, tr("Système"), "system");
|
||||
lang_combo_box->insertSeparator(1);
|
||||
|
||||
// all lang available on lang directory
|
||||
lang_combo_box->addItem(QET::Icons::ar, tr("Arabe"), "ar");
|
||||
lang_combo_box->addItem(QET::Icons::br, tr("Brézilien"), "pt_br");
|
||||
lang_combo_box->addItem(QET::Icons::catalonia, tr("Catalan"), "ca");
|
||||
lang_combo_box->addItem(QET::Icons::cs, tr("Tchèque"), "cs");
|
||||
lang_combo_box->addItem(QET::Icons::de, tr("Allemand"), "de");
|
||||
lang_combo_box->addItem(QET::Icons::da, tr("Danois"), "da");
|
||||
lang_combo_box->addItem(QET::Icons::gr, tr("Grec"), "el");
|
||||
lang_combo_box->addItem(QET::Icons::en, tr("Anglais"), "en");
|
||||
lang_combo_box->addItem(QET::Icons::es, tr("Espagnol"), "es");
|
||||
lang_combo_box->addItem(QET::Icons::fr, tr("Français"), "fr");
|
||||
lang_combo_box->addItem(QET::Icons::hr, tr("Croate"), "hr");
|
||||
lang_combo_box->addItem(QET::Icons::it, tr("Italien"), "it");
|
||||
lang_combo_box->addItem(QET::Icons::pl, tr("Polonais"), "pl");
|
||||
lang_combo_box->addItem(QET::Icons::pt, tr("Portugais"), "pt");
|
||||
lang_combo_box->addItem(QET::Icons::ro, tr("Roumains"), "ro");
|
||||
lang_combo_box->addItem(QET::Icons::ru, tr("Russe"), "ru");
|
||||
lang_combo_box->addItem(QET::Icons::sl, tr("Slovène"), "sl");
|
||||
lang_combo_box->addItem(QET::Icons::nl, tr("Pays-Bas"), "nl");
|
||||
lang_combo_box->addItem(QET::Icons::be, tr("Belgique-Flemish"), "be");
|
||||
|
||||
//set current index to the lang found in setting file
|
||||
//if lang doesn't exist set to system
|
||||
for (int i=0; i<lang_combo_box->count(); i++) {
|
||||
if (lang_combo_box->itemData(i).toString() == settings.value("lang").toString()) {
|
||||
lang_combo_box->setCurrentIndex(i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
lang_combo_box->setCurrentIndex(0);
|
||||
}
|
||||
|
||||
/**
|
||||
Constructeur
|
||||
@param parent QWidget parent
|
||||
@@ -544,43 +327,4 @@ QIcon PrintConfigPage::icon() const {
|
||||
QString PrintConfigPage::title() const {
|
||||
return(tr("Impression", "configuration page title"));
|
||||
}
|
||||
/**
|
||||
* @brief GeneralConfigurationPage::setFont
|
||||
* Apply font to config
|
||||
*/
|
||||
void GeneralConfigurationPage::setFont()
|
||||
{
|
||||
bool ok;
|
||||
QSettings settings;
|
||||
QFont font = QFontDialog::getFont(&ok, QFont("Sans Serif", 9), this);
|
||||
if (ok) {
|
||||
settings.setValue("diagramitemfont", font.family());
|
||||
settings.setValue("diagramitemsize", font.pointSize());
|
||||
settings.setValue("diagramitemweight", font.weight());
|
||||
settings.setValue("diagramitemstyle", font.styleName());
|
||||
QString fontInfos = settings.value("diagramitemfont").toString() + " " +
|
||||
settings.value("diagramitemsize").toString() + " (" +
|
||||
settings.value("diagramitemstyle").toString() + ")";
|
||||
fontButton->setText(fontInfos);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @brief GeneralConfigurationPage::setFoliolistFont
|
||||
* * Apply font to summary pages
|
||||
*/
|
||||
void GeneralConfigurationPage::setFoliolistFont()
|
||||
{
|
||||
bool ok;
|
||||
QSettings settings;
|
||||
QFont font = QFontDialog::getFont(&ok, QFont("Sans Serif", 9), this);
|
||||
if (ok) {
|
||||
settings.setValue("foliolistfont", font.family());
|
||||
settings.setValue("foliolistsize", font.pointSize());
|
||||
settings.setValue("foliolistweight", font.weight());
|
||||
settings.setValue("folioliststyle", font.styleName());
|
||||
QString fontInfos = settings.value("foliolistfont").toString() + " " +
|
||||
settings.value("foliolistsize").toString() + " (" +
|
||||
settings.value("folioliststyle").toString() + ")";
|
||||
foliolist_fontButton->setText(fontInfos);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user