- Auslisten aller im Projekt definierten Funktionen
- Suche nach toten Funktionen im Projekt - Doppelklick auf Funktion öffnet die Datei mit der Deklaration
This commit is contained in:
@@ -3,6 +3,9 @@
|
||||
#include "CodeEditor.h"
|
||||
#include "SearchPanel.h"
|
||||
#include "FileSearchPanel.h"
|
||||
#include "FunctionListDialog.h"
|
||||
#include "DeadCodeDialog.h"
|
||||
#include "FunctionIndex.h"
|
||||
|
||||
#include <QFileInfo>
|
||||
#include <QFile>
|
||||
@@ -32,6 +35,9 @@ void EditorPanel::setupUi()
|
||||
|
||||
m_searchPanel = new SearchPanel(this);
|
||||
m_fileSearch = new FileSearchPanel(this);
|
||||
m_funcDialog = new FunctionListDialog(window());
|
||||
m_deadCode = new DeadCodeDialog(window());
|
||||
m_funcIndex = new FunctionIndex(this);
|
||||
|
||||
m_layout->addWidget(m_tabWidget, 1);
|
||||
m_layout->addWidget(m_searchPanel, 0);
|
||||
@@ -45,6 +51,12 @@ void EditorPanel::setupUi()
|
||||
|
||||
connect(m_fileSearch, &FileSearchPanel::fileLineRequested,
|
||||
this, &EditorPanel::goToLine);
|
||||
|
||||
connect(m_funcDialog, &FunctionListDialog::fileLineRequested,
|
||||
this, &EditorPanel::goToLine);
|
||||
|
||||
connect(m_deadCode, &DeadCodeDialog::fileLineRequested,
|
||||
this, &EditorPanel::goToLine);
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
@@ -79,6 +91,13 @@ void EditorPanel::openFile(const QString &filePath)
|
||||
m_tabWidget->setTabToolTip(index, filePath);
|
||||
m_openTabs.insert(filePath, tab);
|
||||
|
||||
// FunctionIndex dem Editor mitgeben für Doppelklick-Navigation
|
||||
tab->editor()->setFunctionIndex(m_funcIndex);
|
||||
|
||||
// Doppelklick auf Funktion → zur Definition springen
|
||||
connect(tab->editor(), &CodeEditor::navigateToRequested,
|
||||
this, &EditorPanel::goToLine);
|
||||
|
||||
// Änderungsindikator im Tab-Titel (● = ungespeichert)
|
||||
connect(tab->editor()->document(), &QTextDocument::modificationChanged,
|
||||
this, [this, tab](bool modified)
|
||||
@@ -102,6 +121,13 @@ void EditorPanel::openFile(const QString &filePath)
|
||||
m_tabWidget->setTabToolTip(idx, savedPath);
|
||||
}
|
||||
emit currentFileSaved(savedPath);
|
||||
|
||||
// Index und Funktionsliste aktualisieren
|
||||
m_funcIndex->refresh();
|
||||
if (m_funcDialog->isVisible())
|
||||
{
|
||||
m_funcDialog->refresh();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -145,9 +171,26 @@ void EditorPanel::showFileSearchPanel()
|
||||
m_fileSearch->activate();
|
||||
}
|
||||
|
||||
void EditorPanel::showFunctionList()
|
||||
{
|
||||
m_funcDialog->show();
|
||||
m_funcDialog->raise();
|
||||
m_funcDialog->activateWindow();
|
||||
}
|
||||
|
||||
void EditorPanel::showDeadCode()
|
||||
{
|
||||
m_deadCode->show();
|
||||
m_deadCode->raise();
|
||||
m_deadCode->activateWindow();
|
||||
}
|
||||
|
||||
void EditorPanel::setSearchRoot(const QString &path)
|
||||
{
|
||||
m_fileSearch->setSearchRoot(path);
|
||||
m_funcDialog->setProjectRoot(path);
|
||||
m_deadCode->setProjectRoot(path);
|
||||
m_funcIndex->setProjectRoot(path);
|
||||
}
|
||||
|
||||
void EditorPanel::goToLine(const QString &filePath, int line)
|
||||
|
||||
Reference in New Issue
Block a user