[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;


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/