mirror of
https://github.com/TES3MP/TES3MP.git
synced 2025-09-27 23:21:20 -04:00
jump to line in source text when clicking on an error in error table
This commit is contained in:
parent
100af80388
commit
0abd29a3b4
@ -77,10 +77,14 @@ CSVWorld::ScriptErrorTable::ScriptErrorTable (const CSMDoc::Document& document,
|
|||||||
horizontalHeader()->setStretchLastSection (true);
|
horizontalHeader()->setStretchLastSection (true);
|
||||||
verticalHeader()->hide();
|
verticalHeader()->hide();
|
||||||
|
|
||||||
|
setSelectionMode (QAbstractItemView::NoSelection);
|
||||||
|
|
||||||
Compiler::registerExtensions (mExtensions);
|
Compiler::registerExtensions (mExtensions);
|
||||||
mContext.setExtensions (&mExtensions);
|
mContext.setExtensions (&mExtensions);
|
||||||
|
|
||||||
setWarningsMode (CSMSettings::UserSettings::instance().settingValue ("script-editor/warnings"));
|
setWarningsMode (CSMSettings::UserSettings::instance().settingValue ("script-editor/warnings"));
|
||||||
|
|
||||||
|
connect (this, SIGNAL (cellClicked (int, int)), this, SLOT (cellClicked (int, int)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVWorld::ScriptErrorTable::updateUserSetting (const QString& name, const QStringList& value)
|
void CSVWorld::ScriptErrorTable::updateUserSetting (const QString& name, const QStringList& value)
|
||||||
@ -112,3 +116,9 @@ void CSVWorld::ScriptErrorTable::update (const std::string& source)
|
|||||||
addMessage (error.what(), CSMDoc::Message::Severity_SeriousError);
|
addMessage (error.what(), CSMDoc::Message::Severity_SeriousError);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSVWorld::ScriptErrorTable::cellClicked (int row, int column)
|
||||||
|
{
|
||||||
|
int line = item (row, 1)->data (Qt::DisplayRole).toInt();
|
||||||
|
emit highlightError (line-1);
|
||||||
|
}
|
||||||
|
@ -41,6 +41,14 @@ namespace CSVWorld
|
|||||||
void updateUserSetting (const QString& name, const QStringList& value);
|
void updateUserSetting (const QString& name, const QStringList& value);
|
||||||
|
|
||||||
void update (const std::string& source);
|
void update (const std::string& source);
|
||||||
|
|
||||||
|
private slots:
|
||||||
|
|
||||||
|
void cellClicked (int row, int column);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
|
||||||
|
void highlightError (int line);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,6 +98,8 @@ CSVWorld::ScriptSubView::ScriptSubView (const CSMWorld::UniversalId& id, CSMDoc:
|
|||||||
connect(mEditor, SIGNAL(cursorPositionChanged()), this, SLOT(updateStatusBar()));
|
connect(mEditor, SIGNAL(cursorPositionChanged()), this, SLOT(updateStatusBar()));
|
||||||
|
|
||||||
mErrors->update (source.toUtf8().constData());
|
mErrors->update (source.toUtf8().constData());
|
||||||
|
|
||||||
|
connect (mErrors, SIGNAL (highlightError (int)), this, SLOT (highlightError (int)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CSVWorld::ScriptSubView::updateUserSetting (const QString& name, const QStringList& value)
|
void CSVWorld::ScriptSubView::updateUserSetting (const QString& name, const QStringList& value)
|
||||||
@ -244,3 +246,17 @@ void CSVWorld::ScriptSubView::switchToId (const std::string& id)
|
|||||||
{
|
{
|
||||||
switchToRow (mModel->getModelIndex (id, 0).row());
|
switchToRow (mModel->getModelIndex (id, 0).row());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CSVWorld::ScriptSubView::highlightError (int line)
|
||||||
|
{
|
||||||
|
QTextCursor cursor = mEditor->textCursor();
|
||||||
|
|
||||||
|
cursor.movePosition (QTextCursor::Start);
|
||||||
|
if (cursor.movePosition (QTextCursor::Down, QTextCursor::MoveAnchor, line))
|
||||||
|
{
|
||||||
|
// cursor.movePosition (QTextCursor::Right, QTextCursor::MoveAnchor, column);
|
||||||
|
}
|
||||||
|
|
||||||
|
mEditor->setFocus();
|
||||||
|
mEditor->setTextCursor (cursor);
|
||||||
|
}
|
||||||
|
@ -75,6 +75,8 @@ namespace CSVWorld
|
|||||||
void switchToRow (int row);
|
void switchToRow (int row);
|
||||||
|
|
||||||
void switchToId (const std::string& id);
|
void switchToId (const std::string& id);
|
||||||
|
|
||||||
|
void highlightError (int line);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user