-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheditheadlinedialog.cpp
More file actions
121 lines (96 loc) · 3.77 KB
/
editheadlinedialog.cpp
File metadata and controls
121 lines (96 loc) · 3.77 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
116
117
118
119
120
121
#include "editheadlinedialog.h"
#include "ui_editheadlinedialog.h"
EditHeadlineDialog::EditHeadlineDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::EditHeadlineDialog)
{
ui->setupUi(this);
connect(ui->edit_StyleName, &QLineEdit::textChanged, this, &EditHeadlineDialog::slot_update_ok);
connect(ui->plain_Stylesheet, &QPlainTextEdit::textChanged, this, &EditHeadlineDialog::slot_update_ok);
connect(ui->edit_StyleTriggers, &QLineEdit::textChanged, this, &EditHeadlineDialog::slot_update_ok);
connect(ui->button_ApplyStylesheet, &QPushButton::clicked, this, &EditHeadlineDialog::slot_apply_stylesheet);
auto buttonBox = findChild<QDialogButtonBox*>("buttonBox");
auto button = buttonBox->button(QDialogButtonBox::Ok);
button->setEnabled(false);
}
EditHeadlineDialog::~EditHeadlineDialog()
{
delete ui;
}
void EditHeadlineDialog::set_style_name(const QString& name)
{
ui->edit_StyleName->setText(name);
ui->edit_StyleName->setEnabled(name.compare("Default"));
ui->edit_StyleTriggers->setEnabled(name.compare("Default"));
slot_update_ok();
}
void EditHeadlineDialog::set_style_font(const QFont& font)
{
// QFont f = font;
// f.setPointSize(ui->combo_FontSize->itemText(ui->combo_FontSize->currentIndex()).toInt());
ui->label_Style->setFont(font);
// ui->combo_FontFamily->setCurrentFont(font);
// slot_update_font(font);
}
void EditHeadlineDialog::set_style_stylesheet(const QString& stylesheet)
{
ui->plain_Stylesheet->setPlainText(stylesheet);
slot_apply_stylesheet();
}
void EditHeadlineDialog::set_style_triggers(const QStringList& keywords)
{
ui->edit_StyleTriggers->setText(keywords.join(", "));
slot_update_ok();
}
QString EditHeadlineDialog::get_style_name() const
{
return ui->edit_StyleName->text();
}
//QFont EditHeadlineDialog::get_font()
//{
// QFont f = ui->combo_FontFamily->currentFont();
// f.setPointSize(ui->combo_FontSize->itemText(ui->combo_FontSize->currentIndex()).toInt());
// return f;
//}
QString EditHeadlineDialog::get_style_stylesheet() const
{
return ui->plain_Stylesheet->toPlainText();
}
QStringList EditHeadlineDialog::get_style_triggers() const
{
QStringList triggers;
foreach(const auto& trigger, ui->edit_StyleTriggers->text().split(","))
triggers << trigger.trimmed();
return triggers;
}
//// font selection changed
//void EditHeadlineDialog::slot_update_font(const QFont& font)
//{
// ui->combo_FontSize->clear();
// QFontDatabase font_db;
// foreach(int point, font_db.smoothSizes(font.family(), font.styleName()))
// ui->combo_FontSize->addItem(QString::number(point));
// ui->combo_FontSize->setCurrentIndex(ui->combo_FontSize->findText(QString::number(font.pointSize())));
// QFont f = font;
// f.setPointSize(ui->combo_FontSize->itemText(ui->combo_FontSize->currentIndex()).toInt());
// ui->label_Style->setFont(f);
//}
//// font size changed
//void EditHeadlineDialog::slot_update_font_size(int index)
//{
// QFont f = ui->combo_FontFamily->currentFont();
// f.setPointSize(ui->combo_FontSize->itemText(index).toInt());
// ui->label_Style->setFont(f);
//}
void EditHeadlineDialog::slot_apply_stylesheet()
{
ui->label_Style->setStyleSheet(ui->plain_Stylesheet->toPlainText());
}
void EditHeadlineDialog::slot_update_ok()
{
auto buttonBox = findChild<QDialogButtonBox*>("buttonBox");
auto button = buttonBox->button(QDialogButtonBox::Ok);
auto name = ui->edit_StyleName->text();
auto have_triggers = (!ui->edit_StyleTriggers->text().isEmpty() && !name.isEmpty() && name.compare("Default"));
button->setEnabled(have_triggers && !ui->plain_Stylesheet->toPlainText().isEmpty());
}