2
2
#include "myparams.h"
3
3
#include "pathutils.h"
4
4
5
+ #include "mixupkeydialog.h"
6
+ #include "xsheetpreviewarea.h"
7
+
5
8
#include <QComboBox>
6
9
#include <QLineEdit>
7
10
#include <QPushButton>
19
22
#include <QDir>
20
23
#include <QPainter>
21
24
#include <QTextEdit>
22
- #include <QMessageBox>
23
25
24
26
namespace {
25
27
void frame2SecKoma(int frame, int& sec, int& koma) {
@@ -43,9 +45,10 @@ SettingsDialog::SettingsDialog(QWidget* parent)
43
45
m_exportAreaCombo = new QComboBox(this);
44
46
m_pageInfoLbl = new QLabel(this);
45
47
m_skippedLevelNamesEdit = new QLineEdit(this);
46
- m_expandColumnsCB = new QCheckBox(tr("Adaptively Expand Columns "), this);
47
- m_mixUpColumnsCB = new QCheckBox(tr("Mix-up Columns "), this);
48
- m_withDenpyoCB = new QCheckBox(tr("Attach Composite Voucher"), this);
48
+ m_expandColumnsCB = new QCheckBox(tr("Adaptively Expand Columns "), this);
49
+ m_mixUpColumnsCombo = new QComboBox(this);
50
+ m_mixupKeyBtn = new QPushButton(tr("Edit Mix-up Keys"), this);
51
+ m_withDenpyoCB = new QCheckBox(tr("Attach Composite Voucher"), this);
49
52
m_backsideImgPathField = new QLineEdit(this);
50
53
m_scannedGengaSheetGB = new QGroupBox(
51
54
tr("Scanned Genga Sheet Mode ( Hide Genga && Camera Area Lines )"));
@@ -72,6 +75,12 @@ SettingsDialog::SettingsDialog(QWidget* parent)
72
75
m_exportAreaCombo->addItem(tr("ACTIONS"), Area_Actions);
73
76
m_exportAreaCombo->addItem(tr("CELLS"), Area_Cells);
74
77
78
+ m_mixUpColumnsCombo->addItem(tr("Manually Specify Mix-up Keys"),
79
+ Mixup_Manual);
80
+ m_mixUpColumnsCombo->addItem(tr("Automatically Detect from Data"),
81
+ Mixup_Auto);
82
+ m_mixupKeyBtn->setFocusPolicy(Qt::NoFocus);
83
+
75
84
m_scannedGengaSheetGB->setCheckable(true);
76
85
QIntValidator* validator = new QIntValidator();
77
86
validator->setBottom(0);
@@ -108,8 +117,12 @@ SettingsDialog::SettingsDialog(QWidget* parent)
108
117
formatLay->addWidget(m_expandColumnsCB, 1, 0, 1, 3,
109
118
Qt::AlignLeft | Qt::AlignVCenter);
110
119
111
- formatLay->addWidget(m_mixUpColumnsCB, 2, 0, 1, 3,
120
+ formatLay->addWidget(new QLabel(tr("Mix-up Columns:"), this), 2, 0,
121
+ Qt::AlignRight | Qt::AlignVCenter);
122
+ formatLay->addWidget(m_mixUpColumnsCombo, 2, 1,
112
123
Qt::AlignLeft | Qt::AlignVCenter);
124
+ formatLay->addWidget(m_mixupKeyBtn, 2, 3,
125
+ Qt::AlignRight | Qt::AlignVCenter);
113
126
114
127
formatLay->addWidget(new QLabel(tr("Logo Image:"), this), 3, 0,
115
128
Qt::AlignRight | Qt::AlignVCenter);
@@ -209,8 +222,9 @@ SettingsDialog::SettingsDialog(QWidget* parent)
209
222
SLOT(onTemplateSwitched(int)));
210
223
connect(m_expandColumnsCB, SIGNAL(clicked(bool)), this,
211
224
SLOT(onExpandColumnsSwitched()));
212
- connect(m_mixUpColumnsCB, SIGNAL(clicked(bool)), this,
213
- SLOT(onMixUpSwitched()));
225
+ connect(m_mixUpColumnsCombo, SIGNAL(activated(int)), this,
226
+ SLOT(onMixUpActivated()));
227
+ connect(m_mixupKeyBtn, SIGNAL(clicked()), this, SLOT(openMixupKeyDialog()));
214
228
connect(m_logoImgPathField, SIGNAL(editingFinished()), this,
215
229
SLOT(onFormatSettingsChanged()));
216
230
connect(browseButton, SIGNAL(clicked()), this,
@@ -250,7 +264,11 @@ void SettingsDialog::syncUIs() {
250
264
MyParams* p = MyParams::instance();
251
265
m_templateCombo->setCurrentText(p->templateName());
252
266
m_expandColumnsCB->setChecked(p->isExpandColumns());
253
- m_mixUpColumnsCB->setChecked(p->isMixUpColumns());
267
+
268
+ m_mixUpColumnsCombo->setCurrentIndex(
269
+ m_mixUpColumnsCombo->findData(p->mixUpColumnsType()));
270
+ m_mixupKeyBtn->setEnabled(p->mixUpColumnsType() == Mixup_Manual);
271
+
254
272
m_logoImgPathField->setText(p->logoPath(true));
255
273
m_withDenpyoCB->setChecked(p->withDenpyo());
256
274
m_backsideImgPathField->setText(p->backsideImgPath(true));
@@ -287,12 +305,26 @@ void SettingsDialog::onExpandColumnsSwitched() {
287
305
MyParams::instance()->setFormatDirty(true);
288
306
}
289
307
290
- void SettingsDialog::onMixUpSwitched() {
291
- MyParams::instance()->setMixUpColumns(m_mixUpColumnsCB->isChecked());
308
+ void SettingsDialog::onMixUpActivated() {
309
+ MixupColumnsType currentType =
310
+ (MixupColumnsType)m_mixUpColumnsCombo->currentData().toInt();
311
+ MyParams::instance()->setMixUpColumns(currentType == Mixup_Auto);
312
+ m_mixupKeyBtn->setEnabled(currentType == Mixup_Manual);
292
313
MyParams::instance()->notifyTemplateSwitched();
293
314
MyParams::instance()->setFormatDirty(true);
294
315
}
295
316
317
+ void SettingsDialog::openMixupKeyDialog() {
318
+ QMap<ExportArea, ColumnsData> columns =
319
+ MyParams::instance()->currentTemplate()->columns();
320
+ if (columns.isEmpty()) {
321
+ QMessageBox::warning(this, tr("Warning"), tr("No columns found!"));
322
+ return;
323
+ }
324
+ MixupKeyDialog dialog;
325
+ dialog.exec();
326
+ }
327
+
296
328
void SettingsDialog::onDougaColumnOffsetEdited() {
297
329
MyParams::instance()->setDougaColumnOffset(
298
330
m_dougaColumnOffsetEdit->text().toInt());
0 commit comments