forked from qt-creator/qt-creator
Navigation widgets need separate id and display name.
Such that the layout of the left hand sidebar can be restored even if the display language is changed.
This commit is contained in:
@@ -774,12 +774,17 @@ BookmarkViewFactory::BookmarkViewFactory(BookmarkManager *bm)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QString BookmarkViewFactory::displayName()
|
QString BookmarkViewFactory::displayName() const
|
||||||
{
|
{
|
||||||
return BookmarkView::tr("Bookmarks");
|
return BookmarkView::tr("Bookmarks");
|
||||||
}
|
}
|
||||||
|
|
||||||
QKeySequence BookmarkViewFactory::activationSequence()
|
QString BookmarkViewFactory::id() const
|
||||||
|
{
|
||||||
|
return QLatin1String("Bookmarks");
|
||||||
|
}
|
||||||
|
|
||||||
|
QKeySequence BookmarkViewFactory::activationSequence() const
|
||||||
{
|
{
|
||||||
return QKeySequence(Qt::ALT + Qt::Key_M);
|
return QKeySequence(Qt::ALT + Qt::Key_M);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -169,9 +169,10 @@ class BookmarkViewFactory : public Core::INavigationWidgetFactory
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
BookmarkViewFactory(BookmarkManager *bm);
|
BookmarkViewFactory(BookmarkManager *bm);
|
||||||
virtual QString displayName();
|
QString displayName() const;
|
||||||
virtual QKeySequence activationSequence();
|
QString id() const;
|
||||||
virtual Core::NavigationView createWidget();
|
QKeySequence activationSequence() const;
|
||||||
|
Core::NavigationView createWidget();
|
||||||
private:
|
private:
|
||||||
BookmarkManager *m_manager;
|
BookmarkManager *m_manager;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -242,12 +242,17 @@ NavigationView OpenEditorsViewFactory::createWidget()
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
QString OpenEditorsViewFactory::displayName()
|
QString OpenEditorsViewFactory::displayName() const
|
||||||
{
|
{
|
||||||
return OpenEditorsWidget::tr("Open Documents");
|
return OpenEditorsWidget::tr("Open Documents");
|
||||||
}
|
}
|
||||||
|
|
||||||
QKeySequence OpenEditorsViewFactory::activationSequence()
|
QString OpenEditorsViewFactory::id() const
|
||||||
|
{
|
||||||
|
return QLatin1String("Open Documents");
|
||||||
|
}
|
||||||
|
|
||||||
|
QKeySequence OpenEditorsViewFactory::activationSequence() const
|
||||||
{
|
{
|
||||||
return QKeySequence(Qt::ALT + Qt::Key_O);
|
return QKeySequence(Qt::ALT + Qt::Key_O);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,9 +88,10 @@ class OpenEditorsViewFactory : public Core::INavigationWidgetFactory
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
OpenEditorsViewFactory();
|
OpenEditorsViewFactory();
|
||||||
virtual ~OpenEditorsViewFactory();
|
~OpenEditorsViewFactory();
|
||||||
QString displayName();
|
QString displayName() const;
|
||||||
virtual QKeySequence activationSequence();
|
QString id() const;
|
||||||
|
QKeySequence activationSequence() const;
|
||||||
Core::NavigationView createWidget();
|
Core::NavigationView createWidget();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ INavigationWidgetFactory::~INavigationWidgetFactory()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
QKeySequence INavigationWidgetFactory::activationSequence()
|
QKeySequence INavigationWidgetFactory::activationSequence() const
|
||||||
{
|
{
|
||||||
return QKeySequence();
|
return QKeySequence();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -55,8 +55,9 @@ public:
|
|||||||
INavigationWidgetFactory();
|
INavigationWidgetFactory();
|
||||||
virtual ~INavigationWidgetFactory();
|
virtual ~INavigationWidgetFactory();
|
||||||
|
|
||||||
virtual QString displayName() = 0;
|
virtual QString displayName() const = 0;
|
||||||
virtual QKeySequence activationSequence();
|
virtual QString id() const = 0;
|
||||||
|
virtual QKeySequence activationSequence() const;
|
||||||
// This design is not optimal, think about it again once we need to extend it
|
// This design is not optimal, think about it again once we need to extend it
|
||||||
// It could be implemented as returning an object which has both the widget
|
// It could be implemented as returning an object which has both the widget
|
||||||
// and the docktoolbar widgets
|
// and the docktoolbar widgets
|
||||||
|
|||||||
@@ -199,15 +199,15 @@ void NavigationWidget::activateSubWidget()
|
|||||||
{
|
{
|
||||||
setShown(true);
|
setShown(true);
|
||||||
QShortcut *original = qobject_cast<QShortcut *>(sender());
|
QShortcut *original = qobject_cast<QShortcut *>(sender());
|
||||||
QString title = m_shortcutMap[original];
|
QString id = m_shortcutMap[original];
|
||||||
|
|
||||||
foreach (NavigationSubWidget *subWidget, m_subWidgets)
|
foreach (NavigationSubWidget *subWidget, m_subWidgets)
|
||||||
if (subWidget->factory()->displayName() == title) {
|
if (subWidget->factory()->id() == id) {
|
||||||
subWidget->setFocusWidget();
|
subWidget->setFocusWidget();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_subWidgets.first()->setFactory(title);
|
m_subWidgets.first()->setFactory(id);
|
||||||
m_subWidgets.first()->setFocusWidget();
|
m_subWidgets.first()->setFocusWidget();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -237,7 +237,7 @@ void NavigationWidget::saveSettings(QSettings *settings)
|
|||||||
{
|
{
|
||||||
QStringList views;
|
QStringList views;
|
||||||
for (int i=0; i<m_subWidgets.count(); ++i) {
|
for (int i=0; i<m_subWidgets.count(); ++i) {
|
||||||
views.append(m_subWidgets.at(i)->factory()->displayName());
|
views.append(m_subWidgets.at(i)->factory()->id());
|
||||||
}
|
}
|
||||||
settings->setValue("Navigation/Views", views);
|
settings->setValue("Navigation/Views", views);
|
||||||
settings->setValue("Navigation/Visible", isShown());
|
settings->setValue("Navigation/Visible", isShown());
|
||||||
@@ -349,16 +349,16 @@ void NavigationWidget::objectAdded(QObject * obj)
|
|||||||
QList<int> navicontext = QList<int>() << core->uniqueIDManager()->
|
QList<int> navicontext = QList<int>() << core->uniqueIDManager()->
|
||||||
uniqueIdentifier(Core::Constants::C_NAVIGATION_PANE);
|
uniqueIdentifier(Core::Constants::C_NAVIGATION_PANE);
|
||||||
|
|
||||||
QString displayName = factory->displayName();
|
QString id = factory->id();
|
||||||
QShortcut *shortcut = new QShortcut(this);
|
QShortcut *shortcut = new QShortcut(this);
|
||||||
shortcut->setWhatsThis(tr("Activate %1 Pane").arg(displayName));
|
shortcut->setWhatsThis(tr("Activate %1 Pane").arg(factory->displayName()));
|
||||||
Core::Command *cmd = am->registerShortcut(shortcut,
|
Core::Command *cmd = am->registerShortcut(shortcut,
|
||||||
QLatin1String("QtCreator.Sidebar.") + displayName, navicontext);
|
QLatin1String("QtCreator.Sidebar.") + id, navicontext);
|
||||||
cmd->setDefaultKeySequence(factory->activationSequence());
|
cmd->setDefaultKeySequence(factory->activationSequence());
|
||||||
connect(shortcut, SIGNAL(activated()), this, SLOT(activateSubWidget()));
|
connect(shortcut, SIGNAL(activated()), this, SLOT(activateSubWidget()));
|
||||||
|
|
||||||
m_shortcutMap.insert(shortcut, displayName);
|
m_shortcutMap.insert(shortcut, id);
|
||||||
m_commandMap.insert(displayName, cmd);
|
m_commandMap.insert(id, cmd);
|
||||||
}
|
}
|
||||||
|
|
||||||
////
|
////
|
||||||
@@ -486,12 +486,12 @@ void NavigationSubWidget::setFactory(INavigationWidgetFactory *factory)
|
|||||||
m_navigationComboBox->setCurrentIndex(index);
|
m_navigationComboBox->setCurrentIndex(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NavigationSubWidget::setFactory(const QString &name)
|
void NavigationSubWidget::setFactory(const QString &id)
|
||||||
{
|
{
|
||||||
for (int i = 0; i < m_navigationComboBox->count(); ++i) {
|
for (int i = 0; i < m_navigationComboBox->count(); ++i) {
|
||||||
INavigationWidgetFactory *factory =
|
INavigationWidgetFactory *factory =
|
||||||
m_navigationComboBox->itemData(i).value<INavigationWidgetFactory *>();
|
m_navigationComboBox->itemData(i).value<INavigationWidgetFactory *>();
|
||||||
if (factory->displayName() == name)
|
if (factory->id() == id)
|
||||||
m_navigationComboBox->setCurrentIndex(i);
|
m_navigationComboBox->setCurrentIndex(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,7 +128,7 @@ public:
|
|||||||
|
|
||||||
INavigationWidgetFactory *factory();
|
INavigationWidgetFactory *factory();
|
||||||
void setFactory(INavigationWidgetFactory *factory);
|
void setFactory(INavigationWidgetFactory *factory);
|
||||||
void setFactory(const QString &name);
|
void setFactory(const QString &id);
|
||||||
void setFocusWidget();
|
void setFocusWidget();
|
||||||
|
|
||||||
void saveSettings(int position);
|
void saveSettings(int position);
|
||||||
|
|||||||
@@ -309,6 +309,7 @@ void OutputPaneManager::init()
|
|||||||
#else
|
#else
|
||||||
cmd->setDefaultKeySequence(QKeySequence("Alt+9"));
|
cmd->setDefaultKeySequence(QKeySequence("Alt+9"));
|
||||||
#endif
|
#endif
|
||||||
|
cmd->setAttribute(Command::CA_UpdateText);
|
||||||
mpanes->addAction(cmd, "Coreplugin.OutputPane.ActionsGroup");
|
mpanes->addAction(cmd, "Coreplugin.OutputPane.ActionsGroup");
|
||||||
m_minMaxButton->setDefaultAction(cmd->action());
|
m_minMaxButton->setDefaultAction(cmd->action());
|
||||||
connect(m_minMaxAction, SIGNAL(triggered()), this, SLOT(slotMinMax()));
|
connect(m_minMaxAction, SIGNAL(triggered()), this, SLOT(slotMinMax()));
|
||||||
|
|||||||
@@ -413,12 +413,17 @@ FolderNavigationWidgetFactory::~FolderNavigationWidgetFactory()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
QString FolderNavigationWidgetFactory::displayName()
|
QString FolderNavigationWidgetFactory::displayName() const
|
||||||
{
|
{
|
||||||
return tr("File System");
|
return tr("File System");
|
||||||
}
|
}
|
||||||
|
|
||||||
QKeySequence FolderNavigationWidgetFactory::activationSequence()
|
QString FolderNavigationWidgetFactory::id() const
|
||||||
|
{
|
||||||
|
return QLatin1String("File System");
|
||||||
|
}
|
||||||
|
|
||||||
|
QKeySequence FolderNavigationWidgetFactory::activationSequence() const
|
||||||
{
|
{
|
||||||
return QKeySequence(Qt::ALT + Qt::Key_Y);
|
return QKeySequence(Qt::ALT + Qt::Key_Y);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -97,11 +97,12 @@ class FolderNavigationWidgetFactory : public Core::INavigationWidgetFactory
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
FolderNavigationWidgetFactory();
|
FolderNavigationWidgetFactory();
|
||||||
virtual ~FolderNavigationWidgetFactory();
|
~FolderNavigationWidgetFactory();
|
||||||
|
|
||||||
virtual QString displayName();
|
QString displayName() const;
|
||||||
virtual QKeySequence activationSequence();
|
QString id() const;
|
||||||
virtual Core::NavigationView createWidget();
|
QKeySequence activationSequence() const;
|
||||||
|
Core::NavigationView createWidget();
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -365,12 +365,17 @@ ProjectTreeWidgetFactory::~ProjectTreeWidgetFactory()
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ProjectTreeWidgetFactory::displayName()
|
QString ProjectTreeWidgetFactory::displayName() const
|
||||||
{
|
{
|
||||||
return tr("Projects");
|
return tr("Projects");
|
||||||
}
|
}
|
||||||
|
|
||||||
QKeySequence ProjectTreeWidgetFactory::activationSequence()
|
QString ProjectTreeWidgetFactory::id() const
|
||||||
|
{
|
||||||
|
return QLatin1String("Projects");
|
||||||
|
}
|
||||||
|
|
||||||
|
QKeySequence ProjectTreeWidgetFactory::activationSequence() const
|
||||||
{
|
{
|
||||||
return QKeySequence(Qt::ALT + Qt::Key_X);
|
return QKeySequence(Qt::ALT + Qt::Key_X);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,10 +98,11 @@ class ProjectTreeWidgetFactory : public Core::INavigationWidgetFactory
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
ProjectTreeWidgetFactory();
|
ProjectTreeWidgetFactory();
|
||||||
virtual ~ProjectTreeWidgetFactory();
|
~ProjectTreeWidgetFactory();
|
||||||
virtual QString displayName();
|
QString displayName() const;
|
||||||
virtual QKeySequence activationSequence();
|
QString id() const;
|
||||||
virtual Core::NavigationView createWidget();
|
QKeySequence activationSequence() const;
|
||||||
|
Core::NavigationView createWidget();
|
||||||
void restoreSettings(int position, QWidget *widget);
|
void restoreSettings(int position, QWidget *widget);
|
||||||
void saveSettings(int position, QWidget *widget);
|
void saveSettings(int position, QWidget *widget);
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user