[qet] qet/qet: [4872] Add new QCheckBox in QET settings for Keep projects in read-only, their |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/qet Archives
]
Revision: 4872
Author: scorpio810
Date: 2017-01-25 17:53:09 +0100 (Wed, 25 Jan 2017)
Log Message:
-----------
Add new QCheckBox in QET settings for Keep projects in read-only, their
files will cannot be over written
Modified Paths:
--------------
trunk/sources/configpages.cpp
trunk/sources/configpages.h
trunk/sources/qetproject.cpp
Modified: trunk/sources/configpages.cpp
===================================================================
--- trunk/sources/configpages.cpp 2017-01-25 11:08:21 UTC (rev 4871)
+++ trunk/sources/configpages.cpp 2017-01-25 16:53:09 UTC (rev 4872)
@@ -238,6 +238,7 @@
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();
+ bool readonly = settings.value("qetproject/readonly", false).toBool();
appearance_ = new QGroupBox(tr("Apparence"), this);
use_system_colors_ = new QCheckBox(tr("Utiliser les couleurs du système"), appearance_);
@@ -249,6 +250,7 @@
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);
+ readonly_ = new QCheckBox(tr("Keep projects in read-only, their files will cannot be over written"), this);
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"));
@@ -268,6 +270,7 @@
save_label_paste_ -> setChecked(save_label_paste);
folio_panel_ ->setChecked(panel_folio);
terminal_exportlist_ ->setChecked(terminal_exportlist);
+ readonly_ ->setChecked(readonly);
if (tabbed) {
tabbed_mode_ -> setChecked(true);
@@ -292,6 +295,7 @@
projects_view_mode_layout -> addWidget(save_label_paste_);
projects_view_mode_layout -> addWidget(folio_panel_);
projects_view_mode_layout -> addWidget(terminal_exportlist_);
+ projects_view_mode_layout -> addWidget(readonly_);
projects_view_mode_ -> setLayout(projects_view_mode_layout);
@@ -359,6 +363,7 @@
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());
+ settings.setValue("qetproject/readonly",readonly_->isChecked());
}
/// @return l'icone de cette page
Modified: trunk/sources/configpages.h
===================================================================
--- trunk/sources/configpages.h 2017-01-25 11:08:21 UTC (rev 4871)
+++ trunk/sources/configpages.h 2017-01-25 16:53:09 UTC (rev 4872)
@@ -100,6 +100,7 @@
QCheckBox *save_label_paste_;
QCheckBox *folio_panel_;
QCheckBox *terminal_exportlist_;
+ QCheckBox *readonly_;
QGroupBox *projects_view_mode_;
QRadioButton *windowed_mode_;
QRadioButton *tabbed_mode_;
Modified: trunk/sources/qetproject.cpp
===================================================================
--- trunk/sources/qetproject.cpp 2017-01-25 11:08:21 UTC (rev 4871)
+++ trunk/sources/qetproject.cpp 2017-01-25 16:53:09 UTC (rev 4872)
@@ -83,6 +83,7 @@
m_auto_conductor (true ),
m_elements_collection (nullptr)
{
+ QSettings settings;
//Open the file
QFile project_file(path);
if (!project_file.open(QIODevice::ReadOnly | QIODevice::Text))
@@ -798,6 +799,10 @@
// if the project was opened read-only and the file is still non-writable, do not save the project
if (isReadOnly() && !QFileInfo(file_path_).isWritable())
return(QString("the file %1 was opened read-only and thus will not be written").arg(file_path_));
+
+ if (settings.value("qetproject/readonly", true).toBool()){
+ return(QString("the file %1 was opened read-only and thus will not be written").arg(file_path_));
+ }
//Get the project in xml
QDomDocument xml_project;