[qet] [760] Les options d'impression sont desormais configurables.

[ Thread Index | Date Index | More lists.tuxfamily.org/qet Archives ]


Revision: 760
Author:   xavier
Date:     2009-10-04 04:04:42 +0200 (Sun, 04 Oct 2009)
Log Message:
-----------
Les options d'impression sont desormais configurables.

Modified Paths:
--------------
    trunk/qelectrotech.qrc
    trunk/sources/configdialog.cpp
    trunk/sources/configpages.cpp
    trunk/sources/configpages.h
    trunk/sources/qetdiagrameditor.cpp
    trunk/sources/qetdiagrameditor.h
    trunk/sources/qeticons.cpp
    trunk/sources/qetprintpreviewdialog.cpp

Added Paths:
-----------
    trunk/ico/128x128/printer.png

Added: trunk/ico/128x128/printer.png
===================================================================
(Binary files differ)


Property changes on: trunk/ico/128x128/printer.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: trunk/qelectrotech.qrc
===================================================================
--- trunk/qelectrotech.qrc	2009-10-04 01:32:45 UTC (rev 759)
+++ trunk/qelectrotech.qrc	2009-10-04 02:04:42 UTC (rev 760)
@@ -3,6 +3,7 @@
 	<file>ico/128x128/diagram.png</file>
 	<file>ico/128x128/settings.png</file>
 	<file>ico/128x128/document-export.png</file>
+	<file>ico/128x128/printer.png</file>
 	<file>ico/16x16/add_col.png</file>
 	<file>ico/16x16/add_row.png</file>
 	<file>ico/16x16/application-exit.png</file>

Modified: trunk/sources/configdialog.cpp
===================================================================
--- trunk/sources/configdialog.cpp	2009-10-04 01:32:45 UTC (rev 759)
+++ trunk/sources/configdialog.cpp	2009-10-04 02:04:42 UTC (rev 760)
@@ -31,8 +31,8 @@
 	pages_list -> setViewMode(QListView::IconMode);
 	pages_list -> setIconSize(QSize(110, 110));
 	pages_list -> setMovement(QListView::Static);
-	pages_list -> setMinimumWidth(135);
-	pages_list -> setMaximumWidth(135);
+	pages_list -> setMinimumWidth(150);
+	pages_list -> setMaximumWidth(150);
 	pages_list -> setSpacing(4);
 	
 	// pages
@@ -40,6 +40,7 @@
 	addPage(new GeneralConfigurationPage());
 	addPage(new NewDiagramPage());
 	addPage(new ExportConfigPage());
+	addPage(new PrintConfigPage());
 	buildPagesList();
 	
 	// boutons

Modified: trunk/sources/configpages.cpp
===================================================================
--- trunk/sources/configpages.cpp	2009-10-04 01:32:45 UTC (rev 759)
+++ trunk/sources/configpages.cpp	2009-10-04 02:04:42 UTC (rev 760)
@@ -191,7 +191,6 @@
 	return(tr("G\351n\351ral", "configuration page title"));
 }
 
-
 /**
 	Constructeur
 	@param parent QWidget parent
@@ -238,3 +237,56 @@
 	return(tr("Export", "configuration page title"));
 }
 
+/**
+	Constructeur
+	@param parent QWidget parent
+*/
+PrintConfigPage::PrintConfigPage(QWidget *parent) : ConfigPage(parent) {
+	// epw contient les options d'export
+	epw = new ExportPropertiesWidget(QETDiagramEditor::defaultPrintProperties());
+	epw -> setPrintingMode(true);
+	
+	// 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);
+	vlayout1 -> addStretch();
+
+	// activation du layout
+	setLayout(vlayout1);
+}
+
+/// Destructeur
+PrintConfigPage::~PrintConfigPage() {
+}
+
+/**
+	Applique la configuration de cette page
+*/
+void PrintConfigPage::applyConf() {
+	QString prefix = "print/default";
+	
+	QSettings &settings = QETApp::settings();
+	epw -> exportProperties().toSettings(settings, prefix);
+	
+	// annule l'enregistrement de certaines proprietes non pertinentes
+	settings.remove(prefix + "path");
+	settings.remove(prefix + "format");
+	settings.remove(prefix + "area");
+}
+
+/// @return l'icone de cette page
+QIcon PrintConfigPage::icon() const {
+	return(QET::Icons::Printer);
+}
+
+/// @return le titre de cette page
+QString PrintConfigPage::title() const {
+	return(tr("Impression", "configuration page title"));
+}

Modified: trunk/sources/configpages.h
===================================================================
--- trunk/sources/configpages.h	2009-10-04 01:32:45 UTC (rev 759)
+++ trunk/sources/configpages.h	2009-10-04 02:04:42 UTC (rev 760)
@@ -123,4 +123,27 @@
 	public:
 	ExportPropertiesWidget *epw;
 };
+
+/**
+	Cette classe represente la page de configuration du dialogue d'impression
+*/
+class PrintConfigPage : public ConfigPage {
+	Q_OBJECT
+	// constructeurs, destructeur
+	public:
+	PrintConfigPage(QWidget * = 0);
+	virtual ~PrintConfigPage();
+	private:
+	PrintConfigPage(const PrintConfigPage &);
+	
+	// methodes
+	public:
+	void applyConf();
+	QString title() const;
+	QIcon icon() const;
+	
+	// attributs
+	public:
+	ExportPropertiesWidget *epw;
+};
 #endif

Modified: trunk/sources/qetdiagrameditor.cpp
===================================================================
--- trunk/sources/qetdiagrameditor.cpp	2009-10-04 01:32:45 UTC (rev 759)
+++ trunk/sources/qetdiagrameditor.cpp	2009-10-04 02:04:42 UTC (rev 760)
@@ -1777,3 +1777,17 @@
 	
 	return(def);
 }
+
+/**
+	@return Les parametres d'impression par defaut pour un schema
+*/
+ExportProperties QETDiagramEditor::defaultPrintProperties() {
+	// accede a la configuration de l'application
+	QSettings &settings = QETApp::settings();
+	
+	ExportProperties def;
+	// lit les caracteristiques des conducteurs par defaut dans la configuration
+	def.fromSettings(settings, "print/default");
+	
+	return(def);
+}

Modified: trunk/sources/qetdiagrameditor.h
===================================================================
--- trunk/sources/qetdiagrameditor.h	2009-10-04 01:32:45 UTC (rev 759)
+++ trunk/sources/qetdiagrameditor.h	2009-10-04 02:04:42 UTC (rev 760)
@@ -60,6 +60,7 @@
 	static BorderProperties    defaultBorderProperties();
 	static ConductorProperties defaultConductorProperties();
 	static ExportProperties    defaultExportProperties();
+	static ExportProperties    defaultPrintProperties();
 	
 	protected:
 	void actions();

Modified: trunk/sources/qeticons.cpp
===================================================================
--- trunk/sources/qeticons.cpp	2009-10-04 01:32:45 UTC (rev 759)
+++ trunk/sources/qeticons.cpp	2009-10-04 02:04:42 UTC (rev 760)
@@ -262,6 +262,7 @@
 	Phase               .addFile(":/ico/16x16/phase.png");
 	PrintAllPages       .addFile(":/ico/22x22/all_pages.png");
 	Printer             .addFile(":/ico/32x32/printer.png");
+	Printer             .addFile(":/ico/128x128/printer.png");
 	PrintLandscape      .addFile(":/ico/22x22/landscape.png");
 	PrintPortrait       .addFile(":/ico/22x22/portrait.png");
 	PrintTwoPages       .addFile(":/ico/22x22/two_pages.png");

Modified: trunk/sources/qetprintpreviewdialog.cpp
===================================================================
--- trunk/sources/qetprintpreviewdialog.cpp	2009-10-04 01:32:45 UTC (rev 759)
+++ trunk/sources/qetprintpreviewdialog.cpp	2009-10-04 02:04:42 UTC (rev 760)
@@ -19,6 +19,7 @@
 #include "diagramschooser.h"
 #include "exportproperties.h"
 #include "exportpropertieswidget.h"
+#include "qetdiagrameditor.h"
 #include "qeticons.h"
 
 /**
@@ -231,7 +232,10 @@
 	fit_diagram_to_page_label_ -> setContentsMargins(20, 0, 0, 0);
 	fit_diagram_to_page_ -> setChecked(true);
 	
-	render_properties_ = new ExportPropertiesWidget();
+	// recupere les parametres d'export definis dans la configuration de l'application
+	ExportProperties default_print_properties = QETDiagramEditor::defaultPrintProperties();
+	
+	render_properties_ = new ExportPropertiesWidget(default_print_properties);
 	render_properties_ -> setPrintingMode(true);
 	
 	buttons_ = new QDialogButtonBox();


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