/* * Copyright (c) 2012 Maciej Niedzielski * Licensed under the simplified BSD license. * See Documentation/Licenses/BSD-simplified.txt for more information. */ #include #include #include 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; } }