MCPcopy Create free account
hub / github.com/Artikash/Textractor / Window

Method Window

extensions/translatewrapper.cpp:69–134  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

67{
68public:
69 Window() : QDialog(nullptr, Qt::WindowMinMaxButtonsHint)
70 {
71 display = new QFormLayout(this);
72
73 settings.beginGroup(TRANSLATION_PROVIDER);
74
75 auto translateToCombo = new QComboBox(this);
76 translateToCombo->addItems(languagesTo);
77 int i = -1;
78 if (settings.contains(TRANSLATE_TO)) i = translateToCombo->findText(settings.value(TRANSLATE_TO).toString());
79 if (i < 0) i = translateToCombo->findText(NATIVE_LANGUAGE, Qt::MatchStartsWith);
80 if (i < 0) i = translateToCombo->findText("English", Qt::MatchStartsWith);
81 translateToCombo->setCurrentIndex(i);
82 SaveTranslateTo(translateToCombo->currentText());
83 display->addRow(TRANSLATE_TO, translateToCombo);
84 connect(translateToCombo, &QComboBox::currentTextChanged, this, &Window::SaveTranslateTo);
85 auto translateFromCombo = new QComboBox(this);
86 translateFromCombo->addItem("?");
87 translateFromCombo->addItems(languagesFrom);
88 i = -1;
89 if (settings.contains(TRANSLATE_FROM)) i = translateFromCombo->findText(settings.value(TRANSLATE_FROM).toString());
90 if (i < 0) i = 0;
91 translateFromCombo->setCurrentIndex(i);
92 SaveTranslateFrom(translateFromCombo->currentText());
93 display->addRow(TRANSLATE_FROM, translateFromCombo);
94 connect(translateFromCombo, &QComboBox::currentTextChanged, this, &Window::SaveTranslateFrom);
95 for (auto [value, label] : Array<bool&, const char*>{
96 { translateSelectedOnly, TRANSLATE_SELECTED_THREAD_ONLY },
97 { useRateLimiter, RATE_LIMIT_ALL_THREADS },
98 { rateLimitSelected, RATE_LIMIT_SELECTED_THREAD },
99 { useCache, USE_TRANS_CACHE },
100 { useFilter, FILTER_GARBAGE }
101 })
102 {
103 value = settings.value(label, value).toBool();
104 auto checkBox = new QCheckBox(this);
105 checkBox->setChecked(value);
106 display->addRow(label, checkBox);
107 connect(checkBox, &QCheckBox::clicked, [label, &value](bool checked) { settings.setValue(label, value = checked); });
108 }
109 for (auto [value, label] : Array<int&, const char*>{
110 { tokenCount, MAX_TRANSLATIONS_IN_TIMESPAN },
111 { rateLimitTimespan, TIMESPAN },
112 { maxSentenceSize, MAX_SENTENCE_SIZE },
113 })
114 {
115 value = settings.value(label, value).toInt();
116 auto spinBox = new QSpinBox(this);
117 spinBox->setRange(0, INT_MAX);
118 spinBox->setValue(value);
119 display->addRow(label, spinBox);
120 connect(spinBox, qOverload<int>(&QSpinBox::valueChanged), [label, &value](int newValue) { settings.setValue(label, value = newValue); });
121 }
122 if (GET_API_KEY_FROM)
123 {
124 auto keyEdit = new QLineEdit(settings.value(API_KEY).toString(), this);
125 tlp->authKey = S(keyEdit->text());
126 QObject::connect(keyEdit, &QLineEdit::textChanged, [](QString key) { settings.setValue(API_KEY, S(tlp->authKey = S(key))); });

Callers

nothing calls this directly

Calls 1

SFunction · 0.85

Tested by

no test coverage detected