-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathgroupimportform.cpp
More file actions
116 lines (87 loc) · 3.27 KB
/
groupimportform.cpp
File metadata and controls
116 lines (87 loc) · 3.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/*
** Copyright 2007-2013, 2017-2018 Sólyom Zoltán
** This file is part of zkanji, a free software released under the terms of the
** GNU General Public License version 3. See the file LICENSE for details.
**/
#include "groupimportform.h"
#include "ui_groupimportform.h"
#include "words.h"
#include "groups.h"
#include "zgrouptreemodel.h"
#include "globalui.h"
#include "formstates.h"
//-------------------------------------------------------------
GroupImportForm::GroupImportForm(QWidget *parent) : base(parent), ui(new Ui::GroupImportForm)
{
ui->setupUi(this);
gUI->scaleWidget(this);
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(false);
connect(ui->buttonBox->button(QDialogButtonBox::Ok), &QPushButton::clicked, this, &GroupImportForm::closeOk);
connect(ui->buttonBox->button(QDialogButtonBox::Cancel), &QPushButton::clicked, this, &GroupImportForm::closeCancel);
ui->kanjiWidget->setMode(GroupWidget::Kanji);
ui->wordsWidget->setMode(GroupWidget::Words);
ui->kanjiWidget->showOnlyCategories();
ui->wordsWidget->showOnlyCategories();
ui->kanjiWidget->setMultiSelect(false);
ui->wordsWidget->setMultiSelect(false);
translateTexts();
FormStates::restoreDialogSize("GroupImport", this, true);
}
GroupImportForm::~GroupImportForm()
{
delete ui;
}
bool GroupImportForm::exec(Dictionary *dict)
{
ui->dictCBox->setCurrentIndex(ZKanji::dictionaryOrder(ZKanji::dictionaryIndex(dict)));
on_dictCBox_currentIndexChanged(ui->dictCBox->currentIndex());
showModal();
return modalResult() == ModalResult::Ok;
}
Dictionary* GroupImportForm::dictionary() const
{
return ZKanji::dictionary(ZKanji::dictionaryPosition(ui->dictCBox->currentIndex()));
}
KanjiGroupCategory* GroupImportForm::kanjiCategory() const
{
return ui->kanjiGroupsBox->isChecked() ? (KanjiGroupCategory*)ui->kanjiWidget->current() : nullptr;
}
WordGroupCategory* GroupImportForm::wordsCategory() const
{
return ui->wordGroupsBox->isChecked() ? (WordGroupCategory*)ui->wordsWidget->current() : nullptr;
}
bool GroupImportForm::importKanjiExamples() const
{
return ui->kanjiBox->isChecked();
}
bool GroupImportForm::importWordMeanings() const
{
return ui->wordsBox->isChecked();
}
void GroupImportForm::selectionChanged()
{
bool sel = ui->kanjiWidget->current() != nullptr && ui->wordsWidget->current() != nullptr;
ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(sel);
}
void GroupImportForm::on_dictCBox_currentIndexChanged(int ix)
{
ui->kanjiWidget->setDictionary(ZKanji::dictionary(ZKanji::dictionaryPosition(ix)));
ui->wordsWidget->setDictionary(ZKanji::dictionary(ZKanji::dictionaryPosition(ix)));
selectionChanged();
}
void GroupImportForm::on_kanjiGroupsBox_toggled(bool checked)
{
ui->kanjiLabel->setEnabled(checked);
ui->kanjiWidget->setEnabled(checked);
}
void GroupImportForm::on_wordGroupsBox_toggled(bool checked)
{
ui->wordsLabel->setEnabled(checked);
ui->wordsWidget->setEnabled(checked);
}
void GroupImportForm::translateTexts()
{
ui->buttonBox->button(QDialogButtonBox::Ok)->setText(qApp->translate("ButtonBox", "Import"));
ui->buttonBox->button(QDialogButtonBox::Cancel)->setText(qApp->translate("ButtonBox", "Cancel"));
}
//-------------------------------------------------------------