forked from qt-creator/qt-creator
Show useful root directory when opening File System view
Show the active project's root directory. Fixes: QTCREATORBUG-26297 Change-Id: Id66131582484e6d8d58ee67226bc1123609e5a7c Reviewed-by: Cristian Adam <cristian.adam@qt.io>
This commit is contained in:
@@ -98,6 +98,7 @@ static FolderNavigationWidgetFactory *m_instance = nullptr;
|
||||
QVector<FolderNavigationWidgetFactory::RootDirectory>
|
||||
FolderNavigationWidgetFactory::m_rootDirectories;
|
||||
|
||||
Utils::FilePath FolderNavigationWidgetFactory::m_fallbackSyncFilePath;
|
||||
|
||||
static QWidget *createHLine()
|
||||
{
|
||||
@@ -893,6 +894,8 @@ Core::NavigationView FolderNavigationWidgetFactory::createWidget()
|
||||
&FolderNavigationWidgetFactory::rootDirectoryRemoved,
|
||||
fnw,
|
||||
&FolderNavigationWidget::removeRootDirectory);
|
||||
if (!Core::EditorManager::currentDocument() && !m_fallbackSyncFilePath.isEmpty())
|
||||
fnw->syncWithFilePath(m_fallbackSyncFilePath);
|
||||
|
||||
Core::NavigationView n;
|
||||
n.widget = fnw;
|
||||
@@ -965,6 +968,11 @@ void FolderNavigationWidgetFactory::removeRootDirectory(const QString &id)
|
||||
emit m_instance->rootDirectoryRemoved(id);
|
||||
}
|
||||
|
||||
void FolderNavigationWidgetFactory::setFallbackSyncFilePath(const FilePath &filePath)
|
||||
{
|
||||
m_fallbackSyncFilePath = filePath;
|
||||
}
|
||||
|
||||
int FolderNavigationWidgetFactory::rootIndex(const QString &id)
|
||||
{
|
||||
return Utils::indexOf(m_rootDirectories,
|
||||
|
@@ -77,6 +77,10 @@ public:
|
||||
static void insertRootDirectory(const RootDirectory &directory);
|
||||
static void removeRootDirectory(const QString &id);
|
||||
|
||||
static void setFallbackSyncFilePath(const Utils::FilePath &filePath);
|
||||
|
||||
static const Utils::FilePath &fallbackSyncFilePath();
|
||||
|
||||
signals:
|
||||
void rootDirectoryAdded(const RootDirectory &directory);
|
||||
void rootDirectoryRemoved(const QString &id);
|
||||
@@ -87,6 +91,7 @@ private:
|
||||
void registerActions();
|
||||
|
||||
static QVector<RootDirectory> m_rootDirectories;
|
||||
static Utils::FilePath m_fallbackSyncFilePath;
|
||||
};
|
||||
|
||||
class FolderNavigationWidget : public QWidget
|
||||
|
@@ -386,6 +386,8 @@ void SessionManager::setStartupProject(Project *startupProject)
|
||||
ModeManager::activateMode(Constants::MODE_SESSION);
|
||||
ModeManager::setFocusToCurrentMode();
|
||||
}
|
||||
FolderNavigationWidgetFactory::setFallbackSyncFilePath(
|
||||
startupProject ? startupProject->projectFilePath().parentDir() : FilePath());
|
||||
emit m_instance->startupProjectChanged(startupProject);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user