diff options
Diffstat (limited to 'Swift/QtUI/QtHighlightEditor.cpp')
-rw-r--r-- | Swift/QtUI/QtHighlightEditor.cpp | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/Swift/QtUI/QtHighlightEditor.cpp b/Swift/QtUI/QtHighlightEditor.cpp new file mode 100644 index 0000000..191b239 --- /dev/null +++ b/Swift/QtUI/QtHighlightEditor.cpp @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2012 Maciej Niedzielski + * Licensed under the simplified BSD license. + * See Documentation/Licenses/BSD-simplified.txt for more information. + */ + +#include <cassert> + +#include <Swift/QtUI/QtHighlightEditorWidget.h> +#include <Swift/QtUI/QtHighlightRulesItemModel.h> + +namespace Swift { + +QtHighlightEditor::QtHighlightEditor(QtSettingsProvider* settings, QWidget* parent) + : QWidget(parent), settings_(settings) +{ + ui_.setupUi(this); + + //itemModel_ = new QtHighlightRulesItemModel(this); + //ui_.treeView->setModel(itemModel_); + //ui_.ruleWidget->setModel(itemModel_); +// + //for (int i = 0; i < QtHighlightRulesItemModel::NumberOfColumns; ++i) { + //switch (i) { + //case QtHighlightRulesItemModel::ApplyTo: + //case QtHighlightRulesItemModel::Sender: + //case QtHighlightRulesItemModel::Keyword: + //case QtHighlightRulesItemModel::Action: + //ui_.treeView->showColumn(i); + //break; + //default: + //ui_.treeView->hideColumn(i); + //break; + //} + //} +// + //setHighlightManager(NULL); // setup buttons for empty rules list +// + //connect(ui_.treeView->selectionModel(), SIGNAL(currentRowChanged(QModelIndex,QModelIndex)), SLOT(onCurrentRowChanged(QModelIndex))); +// + //connect(ui_.newButton, SIGNAL(clicked()), SLOT(onNewButtonClicked())); + //connect(ui_.deleteButton, SIGNAL(clicked()), SLOT(onDeleteButtonClicked())); +// + //connect(ui_.moveUpButton, SIGNAL(clicked()), SLOT(onMoveUpButtonClicked())); + //connect(ui_.moveDownButton, SIGNAL(clicked()), SLOT(onMoveDownButtonClicked())); +// + //connect(ui_.closeButton, SIGNAL(clicked()), SLOT(close())); + + setWindowTitle(tr("Highlight Rules")); +} + +QtHighlightEditor::~QtHighlightEditor() +{ +} + +void QtHighlightEditor::show() +{ + //if (itemModel_->rowCount(QModelIndex())) { + //selectRow(0); + //} + QWidget::show(); + QWidget::activateWindow(); +} + +void QtHighlightEditor::setHighlightManager(HighlightManager* highlightManager) +{ + //itemModel_->setHighlightManager(highlightManager); + //ui_.newButton->setEnabled(highlightManager != NULL); +// + //ui_.ruleWidget->setEnabled(false); + //ui_.deleteButton->setEnabled(false); + //ui_.moveUpButton->setEnabled(false); + //ui_.moveDownButton->setEnabled(false); +} + +void QtHighlightEditor::closeEvent(QCloseEvent* event) { + //ui_.ruleWidget->save(); + //event->accept(); +} + +void QtHighlightEditor::onNewButtonClicked() +{ + //int row = getSelectedRow() + 1; + //itemModel_->insertRow(row, QModelIndex()); + //selectRow(row); +} + +void QtHighlightEditor::onDeleteButtonClicked() +{ + //int row = getSelectedRow(); + //assert(row >= 0); +// + //itemModel_->removeRow(row, QModelIndex()); + //if (row == itemModel_->rowCount(QModelIndex())) { + //--row; + //} + //selectRow(row); +} + +void QtHighlightEditor::onMoveUpButtonClicked() +{ + //int row = getSelectedRow(); + //assert(row > 0); +// + //ui_.ruleWidget->save(); + //ui_.ruleWidget->setActiveIndex(QModelIndex()); + //itemModel_->swapRows(row, row - 1); + //selectRow(row - 1); +} + +void QtHighlightEditor::onMoveDownButtonClicked() +{ + //int row = getSelectedRow(); + //assert(row < itemModel_->rowCount(QModelIndex()) - 1); +// + //ui_.ruleWidget->save(); + //ui_.ruleWidget->setActiveIndex(QModelIndex()); + //if (itemModel_->swapRows(row, row + 1)) { + //selectRow(row + 1); + //} +} + +void QtHighlightEditor::onCurrentRowChanged(const QModelIndex& index) +{ + //ui_.ruleWidget->save(); + //ui_.ruleWidget->setActiveIndex(index); +// + //ui_.ruleWidget->setEnabled(index.isValid()); +// + //ui_.deleteButton->setEnabled(index.isValid()); +// + //ui_.moveUpButton->setEnabled(index.isValid() && index.row() != 0); + //ui_.moveDownButton->setEnabled(index.isValid() && index.row() != itemModel_->rowCount(QModelIndex()) - 1); +} + +void QtHighlightEditor::selectRow(int row) +{ + //QModelIndex index = itemModel_->index(row, 0, QModelIndex()); + //ui_.treeView->selectionModel()->setCurrentIndex(index, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows); +} + +/** Return index of selected row or -1 if none is selected */ +int QtHighlightEditor::getSelectedRow() const +{ + //QModelIndexList rows = ui_.treeView->selectionModel()->selectedRows(); + //return rows.isEmpty() ? -1 : rows[0].row(); + return 0; +} + +} |