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>
|
QVector<FolderNavigationWidgetFactory::RootDirectory>
|
||||||
FolderNavigationWidgetFactory::m_rootDirectories;
|
FolderNavigationWidgetFactory::m_rootDirectories;
|
||||||
|
|
||||||
|
Utils::FilePath FolderNavigationWidgetFactory::m_fallbackSyncFilePath;
|
||||||
|
|
||||||
static QWidget *createHLine()
|
static QWidget *createHLine()
|
||||||
{
|
{
|
||||||
@@ -893,6 +894,8 @@ Core::NavigationView FolderNavigationWidgetFactory::createWidget()
|
|||||||
&FolderNavigationWidgetFactory::rootDirectoryRemoved,
|
&FolderNavigationWidgetFactory::rootDirectoryRemoved,
|
||||||
fnw,
|
fnw,
|
||||||
&FolderNavigationWidget::removeRootDirectory);
|
&FolderNavigationWidget::removeRootDirectory);
|
||||||
|
if (!Core::EditorManager::currentDocument() && !m_fallbackSyncFilePath.isEmpty())
|
||||||
|
fnw->syncWithFilePath(m_fallbackSyncFilePath);
|
||||||
|
|
||||||
Core::NavigationView n;
|
Core::NavigationView n;
|
||||||
n.widget = fnw;
|
n.widget = fnw;
|
||||||
@@ -965,6 +968,11 @@ void FolderNavigationWidgetFactory::removeRootDirectory(const QString &id)
|
|||||||
emit m_instance->rootDirectoryRemoved(id);
|
emit m_instance->rootDirectoryRemoved(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FolderNavigationWidgetFactory::setFallbackSyncFilePath(const FilePath &filePath)
|
||||||
|
{
|
||||||
|
m_fallbackSyncFilePath = filePath;
|
||||||
|
}
|
||||||
|
|
||||||
int FolderNavigationWidgetFactory::rootIndex(const QString &id)
|
int FolderNavigationWidgetFactory::rootIndex(const QString &id)
|
||||||
{
|
{
|
||||||
return Utils::indexOf(m_rootDirectories,
|
return Utils::indexOf(m_rootDirectories,
|
||||||
|
@@ -77,6 +77,10 @@ public:
|
|||||||
static void insertRootDirectory(const RootDirectory &directory);
|
static void insertRootDirectory(const RootDirectory &directory);
|
||||||
static void removeRootDirectory(const QString &id);
|
static void removeRootDirectory(const QString &id);
|
||||||
|
|
||||||
|
static void setFallbackSyncFilePath(const Utils::FilePath &filePath);
|
||||||
|
|
||||||
|
static const Utils::FilePath &fallbackSyncFilePath();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void rootDirectoryAdded(const RootDirectory &directory);
|
void rootDirectoryAdded(const RootDirectory &directory);
|
||||||
void rootDirectoryRemoved(const QString &id);
|
void rootDirectoryRemoved(const QString &id);
|
||||||
@@ -87,6 +91,7 @@ private:
|
|||||||
void registerActions();
|
void registerActions();
|
||||||
|
|
||||||
static QVector<RootDirectory> m_rootDirectories;
|
static QVector<RootDirectory> m_rootDirectories;
|
||||||
|
static Utils::FilePath m_fallbackSyncFilePath;
|
||||||
};
|
};
|
||||||
|
|
||||||
class FolderNavigationWidget : public QWidget
|
class FolderNavigationWidget : public QWidget
|
||||||
|
@@ -386,6 +386,8 @@ void SessionManager::setStartupProject(Project *startupProject)
|
|||||||
ModeManager::activateMode(Constants::MODE_SESSION);
|
ModeManager::activateMode(Constants::MODE_SESSION);
|
||||||
ModeManager::setFocusToCurrentMode();
|
ModeManager::setFocusToCurrentMode();
|
||||||
}
|
}
|
||||||
|
FolderNavigationWidgetFactory::setFallbackSyncFilePath(
|
||||||
|
startupProject ? startupProject->projectFilePath().parentDir() : FilePath());
|
||||||
emit m_instance->startupProjectChanged(startupProject);
|
emit m_instance->startupProjectChanged(startupProject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user