62 void initleft(QVBoxLayout *layout);
63 void initright(QVBoxLayout *layout);
66 void initWaterMarkui();
67 void initWaterSettings();
68 void marginsLayout(
bool adapted);
70 void initconnections();
71 void setfrmaeback(
DFrame *frame);
72 void showadvancesetting();
74 void setScaling(
int index);
75 void judgeSupportedAttributes(
const QString &lastPaperSize);
76 void setMininumMargins();
77 void marginsUpdate(
bool isPrinterChanged);
79 void themeTypeChange(DGuiApplicationHelper::ColorType themeType);
80 void setPageIsLegal(
bool islegal);
81 void tipSelected(TipsNum tipNum);
82 QVector<int> checkDuplication(QVector<int> data);
84 void updateSubControlSettings(DPrintPreviewSettingInfo::SettingType setting);
85 void updateAllControlSettings();
86 void updateAllContentSettings_impl();
87 void updateAllControlStatus();
89 void setEnable(
const int &value,
DComboBox *combox);
90 void setTurnPageBtnStatus();
91 void watermarkTypeChoosed(
int index);
92 void customPictureWatermarkChoosed(
const QString &filename);
93 void waterMarkBtnClicked(
bool checked);
94 void disablePrintSettings();
95 void setPageLayoutEnable(
const bool &checked);
96 void matchFitablePageSize();
97 bool isActualPrinter(
const QString &name);
98 QStringList availablePrinterNames();
99 void fetchPrinterInfo();
100 void discardPrinterInfoRequest();
101 void applyPrinterInfo();
102 QString getColorModeConfig(
const QString &printer);
103 void saveColorModeConfig(
const QString &printer,
const QString &colorMode);
105 void _q_printerChanged(
int index);
106 void _q_pageRangeChanged(
int index);
107 void _q_pageMarginChanged(
int index);
108 void _q_ColorModeChange(
int index);
109 void _q_startPrint(
bool clicked);
110 void _q_orientationChanged(
int index);
111 void _q_customPagesFinished();
112 void _q_marginspinChanged(
double);
113 void _q_marginEditFinished();
114 void _q_currentPageSpinChanged(
int value);
115 void _q_checkStateChanged(
int state);
116 void _q_textWaterMarkModeChanged(
int index);
117 void _q_customTextWatermarkFinished();
118 void _q_colorButtonCliked(
bool cliked);
119 void _q_selectColorButton(QColor color);
120 void _q_pagePersheetComboIndexChanged(
int index);
121 void _q_printOrderComboIndexChanged(
int index);
122 void _q_spinboxValueEmptyChecked(
const QString &);
124 void pageRangeError(TipsNum tipNum);
128 QSharedPointer<DPrinter> printerOwner;
129 QString pendingDocName;
130 QList<QSharedPointer<DPrintPreviewSettingInfo>> pendingSettings;
132 bool fontSizeMore =
false;
133 QString lastPageRange =
"";
134 bool supportedDuplexFlag =
false;
135 bool supportedColorMode =
false;
136 bool isInited =
false;
138 bool isOnFocus =
false;
139 QString lastCusWatermarkText =
"";
140 bool isChecked =
false;
141 bool isEventHide =
false;
142 bool isInitBtnColor =
false;
145 int directChoice = 0;
150 DWidget *basicsettingwdg =
nullptr;
151 DWidget *advancesettingwdg =
nullptr;
152 DWidget *watermarksettingwdg =
nullptr;
153 DWidget *textWatermarkWdg =
nullptr;
154 DWidget *picWatermarkWdg =
nullptr;
158 DLabel *totalPageLabel =
nullptr;
159 DLabel *originTotalPageLabel =
nullptr;
162 DPushButton *cancelBtn =
nullptr;
164 DPushButton *advanceBtn =
nullptr;
165 DScrollArea *scrollarea =
nullptr;
167 DSpinBox *copycountspinbox =
nullptr;
170 QButtonGroup *orientationgroup =
nullptr;
177 QButtonGroup *scaleGroup =
nullptr;
180 DCheckBox *duplexCheckBox =
nullptr;
183 DCheckBox *sidebysideCheckBox =
nullptr;
184 QButtonGroup *directGroup =
nullptr;
185 QButtonGroup *printOrderGroup =
nullptr;
193 QButtonGroup *waterTypeGroup =
nullptr;
196 DSlider *waterSizeSlider =
nullptr;
198 DSlider *wmOpaSlider =
nullptr;
200 QVector<qreal> marginOldValue;
201 QList<qreal> minnumMargins;
202 QStringList printerNames;
203 bool printerInfoReady =
false;
204 bool pageIsLegal =
true;
205 QPointer<QFutureWatcher<QStringList>> printerNamesWatcher;
208 QSharedPointer<DPrinter> printer;
210 QPointer<QFutureWatcher<DefaultPrinterInfo>> defaultPrinterWatcher;
211 QSpacerItem *spacer =
nullptr;
212 QSpacerItem *wmSpacer =
nullptr;
214 DRadioButton *printInOrderRadio =
nullptr;
215 DWidget *inorderwdg =
nullptr;
217 QHash<QWidget *, QString> spinboxTextCaches;
219 QBasicTimer settingUpdateTimer;
229 void setSubControlVisible(DPrintPreviewSettingInterface::SettingSubControl subControlType,
bool visible);
230 void setSubControlEnabled(DPrintPreviewSettingInterface::SettingSubControl subControlType,
bool enabled);
233 void updateSettingStatus(DPrintPreviewSettingInterface::SettingSubControl subControlType);
235 static void loadPlugin();
236 static void setPluginMimeData(
const QVariant &data);
237 static QVariant pluginMimeData();
239 static QString currentPlugin();
240 static bool setCurrentPlugin(
const QString &pluginName);
242 static QStringList availablePlugins();
244 void doUpdateStatus(QWidget *source, DPrintPreviewSettingInterface::SettingSubControl subControlType,
bool visible,
bool enabled);
245 QWidgetList subControl(DPrintPreviewSettingInterface::SettingSubControl subControlType)
const;
246 static QString pluginPath();
250 static QVariant m_printSettingData;
252 static QList<DPrintPreviewSettingInterface *> m_availablePlugins;