summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swift/QtUI/QtHighlightEditor.cpp')
-rw-r--r--Swift/QtUI/QtHighlightEditor.cpp67
1 files changed, 66 insertions, 1 deletions
diff --git a/Swift/QtUI/QtHighlightEditor.cpp b/Swift/QtUI/QtHighlightEditor.cpp
index f4ec78f..bc07158 100644
--- a/Swift/QtUI/QtHighlightEditor.cpp
+++ b/Swift/QtUI/QtHighlightEditor.cpp
@@ -14,9 +14,11 @@
#include <boost/lexical_cast.hpp>
+#include <Swift/QtUI/UserSearch/QtSuggestingJIDInput.h>
#include <Swift/Controllers/HighlightManager.cpp>
#include <Swift/QtUI/QtHighlightEditor.h>
#include <Swift/QtUI/QtSwiftUtil.h>
+#include <Swift/QtUI/QtSettingsProvider.h>
#include <QTreeWidgetItem>
@@ -58,6 +60,9 @@ QtHighlightEditor::QtHighlightEditor(QtSettingsProvider* settings, QWidget* pare
connect(ui_.buttonBox->button(QDialogButtonBox::Cancel), SIGNAL(clicked()), SLOT(onCancelButtonClick()));
connect(ui_.buttonBox->button(QDialogButtonBox::Ok), SIGNAL(clicked()), SLOT(onOkButtonClick()));
+ ui_.lineEdit->setVisible(false);
+ ui_.horizontalLayout_2->addWidget(new QtSuggestingJIDInput(this, settings));
+
setWindowTitle(tr("Highlight Rules"));
}
@@ -145,7 +150,6 @@ void QtHighlightEditor::onCurrentRowChanged(int currentRow)
//ui_.ruleWidget->setEnabled(index.isValid());
ui_.deleteButton->setEnabled(currentRow != -1);
-
ui_.moveUpButton->setEnabled(currentRow != -1 && currentRow != 0);
ui_.moveDownButton->setEnabled(currentRow != -1 && currentRow != (ui_.listWidget->count()-1));
}
@@ -184,4 +188,65 @@ int QtHighlightEditor::getSelectedRow() const
return -1;
}
+HighlightRule QtHighlightEditor::ruleFromDialog()
+{
+ HighlightRule rule;
+
+ return rule;
+}
+
+void QtHighlightEditor::ruleToDialog(const HighlightRule& rule)
+{
+ ui_.checkBox->setChecked(rule.getMatchChat());
+ ui_.checkBox_2->setChecked(rule.getMatchMUC());
+
+ std::vector<std::string> senders = rule.getSenders();
+ if (senders.empty()) {
+ ui_.checkBox_3->setChecked(false);
+ ui_.lineEdit->setEnabled(false);
+ ui_.lineEdit->setText("");
+ } else {
+ ui_.checkBox_3->setChecked(true);
+ ui_.lineEdit->setEnabled(true);
+ ui_.lineEdit->setText(P2QSTRING(senders[0]));
+ }
+
+ std::vector<std::string> keywords = rule.getKeywords();
+ if (keywords.empty()) {
+ ui_.checkBox_4->setChecked(false);
+ ui_.lineEdit_2->setEnabled(false);
+ ui_.lineEdit_2->setText("");
+ } else {
+ ui_.checkBox_4->setChecked(true);
+ ui_.lineEdit_2->setEnabled(true);
+ ui_.lineEdit_2->setText(P2QSTRING(keywords[0]));
+ }
+
+ ui_.nickIsKeyword->setChecked(rule.getNickIsKeyword());
+ ui_.matchWholeWords_2->setChecked(rule.getMatchWholeWords());
+ ui_.matchCase_2->setChecked(rule.getMatchCase());
+
+ const HighlightAction &action = rule.getAction();
+
+ if (action.highlightText()) {
+ if (action.getTextColor().empty() && action.getTextBackground().empty()) {
+ ui_.radioButton_2->setChecked(true);
+ } else {
+ ui_.radioButton_7->setChecked(true);
+ }
+ } else {
+ ui_.radioButton->setChecked(true);
+ }
+
+ if (action.playSound()) {
+ if (action.getSoundFile().empty()) {
+ ui_.radioButton_5->setChecked(true);
+ } else {
+ ui_.radioButton_6->setChecked(true);
+ }
+ } else {
+ ui_.radioButton_4->setChecked(true);
+ }
+}
+
}