7 #include "CmdMediator.h"
8 #include "DocumentSerialize.h"
9 #include "GraphicsPoint.h"
10 #include "GridLineLimiter.h"
11 #include "ImportCroppingUtilBase.h"
13 #include "MainWindowModel.h"
14 #include "PdfResolution.h"
17 #include <QTextStream>
18 #include "QtToString.h"
19 #include <QXmlStreamWriter>
21 #include "ZoomFactorInitial.h"
24 const QLocale::NumberOption HIDE_GROUP_SEPARATOR = QLocale::OmitGroupSeparator;
26 bool DEFAULT_DRAG_DROP_EXPORT =
false;
27 int DEFAULT_SIGNIFICANT_DIGITS = 7;
28 bool DEFAULT_SMALL_DIALOGS =
false;
29 bool DEFAULT_IMAGE_REPLACE_RENAMES_DOCUMENT =
true;
32 m_zoomControl (ZOOM_CONTROL_MENU_WHEEL_PLUSMINUS),
33 m_zoomFactorInitial (DEFAULT_ZOOM_FACTOR_INITIAL),
34 m_mainTitleBarFormat (MAIN_TITLE_BAR_FORMAT_PATH),
35 m_pdfResolution (DEFAULT_IMPORT_PDF_RESOLUTION),
36 m_importCropping (DEFAULT_IMPORT_CROPPING),
37 m_maximumGridLines (DEFAULT_MAXIMUM_GRID_LINES),
38 m_highlightOpacity (DEFAULT_HIGHLIGHT_OPACITY),
39 m_smallDialogs (DEFAULT_SMALL_DIALOGS),
40 m_dragDropExport (DEFAULT_DRAG_DROP_EXPORT),
41 m_significantDigits (DEFAULT_SIGNIFICANT_DIGITS),
42 m_imageReplaceRenamesDocument (DEFAULT_IMAGE_REPLACE_RENAMES_DOCUMENT)
48 m_locale (other.locale()),
49 m_zoomControl (other.zoomControl()),
50 m_zoomFactorInitial (other.zoomFactorInitial()),
51 m_mainTitleBarFormat (other.mainTitleBarFormat()),
52 m_pdfResolution (other.pdfResolution()),
53 m_importCropping (other.importCropping()),
54 m_maximumGridLines (other.maximumGridLines()),
55 m_highlightOpacity (other.highlightOpacity()),
56 m_smallDialogs (other.smallDialogs()),
57 m_dragDropExport (other.dragDropExport()),
58 m_significantDigits (other.significantDigits()),
59 m_imageReplaceRenamesDocument (other.imageReplaceRenamesDocument())
83 return m_dragDropExport;
88 return m_highlightOpacity;
93 return m_imageReplaceRenamesDocument;
98 return m_importCropping;
103 LOG4CPP_INFO_S ((*mainCat)) <<
"MainWindowModel::loadXml";
108 while ((reader.tokenType() != QXmlStreamReader::EndElement) ||
109 (reader.name() != DOCUMENT_SERIALIZE_MAIN_WINDOW)){
110 loadNextFromReader(reader);
111 if (reader.atEnd()) {
118 reader.raiseError (QObject::tr (
"Cannot read main window data"));
129 return m_mainTitleBarFormat;
134 return m_maximumGridLines;
139 return m_pdfResolution;
143 QTextStream &str)
const
145 str << indentation <<
"MainWindowModel\n";
147 indentation += INDENTATION_DELTA;
149 str << indentation <<
"locale=" << m_locale.name() <<
"\n";
150 str << indentation <<
"zoomControl=" << m_zoomControl <<
"\n";
151 str << indentation <<
"zoomFactorInitial=" << m_zoomFactorInitial <<
"\n";
152 str << indentation <<
"mainWindowTitleBarFormat=" << (m_mainTitleBarFormat == MAIN_TITLE_BAR_FORMAT_NO_PATH ?
155 str << indentation <<
"pdfResolution=" << m_pdfResolution <<
"\n";
157 str << indentation <<
"maximumGridLines=" << m_maximumGridLines <<
"\n";
158 str << indentation <<
"highlightOpacity=" << m_highlightOpacity <<
"\n";
159 str << indentation <<
"smallDialogs=" << (m_smallDialogs ?
"yes" :
"no") <<
"\n";
160 str << indentation <<
"dragDropExport=" << (m_dragDropExport ?
"yes" :
"no") <<
"\n";
161 str << indentation <<
"significantDigits=" << m_significantDigits <<
"\n";
162 str << indentation <<
"imageReplaceRenamesDocument=" << (m_imageReplaceRenamesDocument ?
"yes" :
"no") <<
"\n";
167 LOG4CPP_INFO_S ((*mainCat)) <<
"MainWindowModel::saveXml";
169 writer.writeStartElement(DOCUMENT_SERIALIZE_MAIN_WINDOW);
170 writer.writeEndElement();
194 QLocale::Country country)
198 locale.setNumberOptions(HIDE_GROUP_SEPARATOR);
206 m_locale.setNumberOptions(HIDE_GROUP_SEPARATOR);
221 m_pdfResolution = resolution;
246 return m_significantDigits;
251 return m_smallDialogs;
256 return m_zoomControl;
261 return m_zoomFactorInitial;
static QString importCroppingToString(ImportCropping importCropping)
Option as string for display to user.
MainWindowModel & operator=(const MainWindowModel &other)
Assignment constructor.
bool imageReplaceRenamesDocument() const
Get method for image replaces renames document.
void setDragDropExport(bool dragDropExport)
Set method for drag and drop export.
virtual void saveXml(QXmlStreamWriter &writer) const
Save entire model as xml into stream.
void setSignificantDigits(int significantDigits)
Set method for significant digits.
MainTitleBarFormat mainTitleBarFormat() const
Get method for MainWindow titlebar filename format.
void setHighlightOpacity(double highlightOpacity)
Set method for highlight opacity.
void setLocale(QLocale::Language language, QLocale::Country country)
Set method for locale given attributes.
int maximumGridLines() const
Maximum number of grid lines.
MainWindowModel()
Default constructor.
bool dragDropExport() const
Get method for drag and drop export.
bool smallDialogs() const
Get method for small dialogs flag.
virtual void loadXml(QXmlStreamReader &reader)
Load model from serialized xml.
int significantDigits() const
Get method for significant digits.
ZoomControl zoomControl() const
Get method for zoom control.
Model for DlgSettingsMainWindow.
void printStream(QString indentation, QTextStream &str) const
Debugging method that supports print method of this class and printStream method of some other class(...
void setMaximumGridLines(int maximumGridLines)
Set method for maximum number of grid lines.
double highlightOpacity() const
Get method for highlight opacity.
int pdfResolution() const
Get method for resolution of imported PDF files, in dots per inch.
void setZoomControl(ZoomControl zoomControl)
Set method for zoom control.
void setMainTitleBarFormat(MainTitleBarFormat mainTitleBarFormat)
Set method for MainWindow titlebar filename format.
void setZoomFactorInitial(ZoomFactorInitial zoomFactorInitial)
Set method for initial zoom factor.
void setImageReplaceRenamesDocument(bool imageReplaceRenamesDocument)
Set method for image replace renames document.
ZoomFactorInitial zoomFactorInitial() const
Get method for initial zoom factor.
void setSmallDialogs(bool smallDialogs)
Set method for small dialogs flag.
ImportCropping importCropping() const
Get method for import cropping.
QLocale locale() const
Get method for locale.
void setPdfResolution(int resolution)
Set method for resolution of imported PDF files, in dots per inch.
void setImportCropping(ImportCropping importCropping)
Set method for import cropping.