#include "projectfilesystemwidgetplugin.h" #include "projectfilesystemwidget.h" #include #include #include #include #include ProjectFSWidgetFactory::ProjectFSWidgetFactory() { setDisplayName(tr("Project filesystem")); setId("project_filesystem"); } Core::NavigationView ProjectFSWidgetFactory::createWidget() { Core::NavigationView view; view.widget = new ProjectFilesystemWidget(); btn_reload = new QToolButton(); btn_reload->setIcon(Utils::Icons::RELOAD.icon()); btn_reload->setToolTip(tr("Reload tree")); view.dockToolBarWidgets << btn_reload; connect(btn_reload, SIGNAL(clicked()), view.widget, SLOT(projectsChanged())); btn_filters = new QToolButton(); btn_filters->setIcon(Utils::Icons::FILTER.icon()); btn_filters->setToolTip(tr("Setup filters ...")); view.dockToolBarWidgets << btn_filters; connect(btn_filters, SIGNAL(clicked()), view.widget, SLOT(filterClicked())); return view; } void ProjectFSWidgetFactory::saveSettings(Utils::QtcSettings * settings, int position, QWidget * widget) { //QMessageBox::information(0, "", QString::fromLatin1(widget->metaObject()->className())); ProjectFilesystemWidget * w = qobject_cast(widget); if (!w) return; settings->beginGroup("ProjectFilesystem"); settings->beginWriteArray("widget"); settings->setArrayIndex(position); settings->setValue("filters", w->currentFilters().toVariant()); settings->setValue("search", w->currentSearch()); settings->endArray(); settings->endGroup(); settings->sync(); } void ProjectFSWidgetFactory::restoreSettings(QSettings * settings, int position, QWidget * widget) { ProjectFilesystemWidget * w = qobject_cast(widget); if (!w) return; settings->beginGroup("ProjectFilesystem"); settings->beginReadArray("widget"); settings->setArrayIndex(position); w->setCurrentFilter(FilterDialog::Filter(settings->value("filters", FilterDialog::Filter().toVariant()))); w->setCurrentSearch(settings->value("search", QString()).toString()); settings->endArray(); settings->endGroup(); } /* void ProjectFSWidgetFactory::changeEvent(QEvent *e) { switch (e->type()) { case QEvent::LanguageChange: setDisplayName(tr("Project filesystem")); if (btn_reload) btn_reload->setToolTip(tr("Reload tree")); if (btn_filters) btn_filters->setToolTip(tr("Setup filters ...")); break; default: break; } } */