void FolderNavigationWidgetFactory::restoreSettings(int position, QWidget *widget) { auto fnw = qobject_cast<FolderNavigationWidget *>(widget); QTC_ASSERT(fnw, return); QSettings *settings = Core::ICore::settings(); const QString baseKey = QLatin1String("FolderNavigationWidget.") + QString::number(position); fnw->setHiddenFilesFilter(settings->value(baseKey + QLatin1String(".HiddenFilesFilter"), false).toBool()); fnw->setAutoSynchronization(settings->value(baseKey + QLatin1String(".SyncWithEditor"), true).toBool()); }
/*! /class FolderNavigationWidget Shows a file system folder */ FolderNavigationWidget::FolderNavigationWidget(QWidget *parent) : QWidget(parent), m_listView(new QListView(this)), m_fileSystemModel(new FolderNavigationModel(this)), m_filterModel(new FolderNavigationRemovalFilter(this)), m_title(new QLabel(this)), m_autoSync(false) { m_fileSystemModel->setResolveSymlinks(false); m_fileSystemModel->setIconProvider(Core::FileIconProvider::instance()); QDir::Filters filters = QDir::AllDirs | QDir::Files | QDir::Drives | QDir::Readable| QDir::Writable | QDir::Executable | QDir::Hidden; #ifdef Q_OS_WIN // Symlinked directories can cause file watcher warnings on Win32. filters |= QDir::NoSymLinks; #endif m_fileSystemModel->setFilter(filters); m_filterModel->setSourceModel(m_fileSystemModel); m_listView->setIconSize(QSize(16,16)); m_listView->setModel(m_filterModel); m_listView->setFrameStyle(QFrame::NoFrame); m_listView->setAttribute(Qt::WA_MacShowFocusRect, false); setFocusProxy(m_listView); QVBoxLayout *layout = new QVBoxLayout(); layout->addWidget(m_title); layout->addWidget(m_listView); m_title->setMargin(5); layout->setSpacing(0); layout->setContentsMargins(0, 0, 0, 0); setLayout(layout); // connections connect(m_listView, SIGNAL(activated(QModelIndex)), this, SLOT(slotOpenItem(QModelIndex))); setAutoSynchronization(true); }
void FolderNavigationWidget::toggleAutoSynchronization() { setAutoSynchronization(!m_autoSync); }