forked from qt-creator/qt-creator
Export the navigation widget and expose activation of subwidgets.
Reviewed-by: hjk
This commit is contained in:
@@ -60,6 +60,7 @@ class MessageManager;
|
|||||||
class MimeDatabase;
|
class MimeDatabase;
|
||||||
class ModeManager;
|
class ModeManager;
|
||||||
class ProgressManager;
|
class ProgressManager;
|
||||||
|
class NavigationWidget;
|
||||||
class RightPaneWidget;
|
class RightPaneWidget;
|
||||||
class ScriptManager;
|
class ScriptManager;
|
||||||
class SettingsDatabase;
|
class SettingsDatabase;
|
||||||
@@ -73,7 +74,6 @@ class ActionManagerPrivate;
|
|||||||
class CoreImpl;
|
class CoreImpl;
|
||||||
class FancyTabWidget;
|
class FancyTabWidget;
|
||||||
class GeneralSettings;
|
class GeneralSettings;
|
||||||
class NavigationWidget;
|
|
||||||
class ProgressManagerPrivate;
|
class ProgressManagerPrivate;
|
||||||
class ShortcutSettings;
|
class ShortcutSettings;
|
||||||
class StatusBarManager;
|
class StatusBarManager;
|
||||||
|
@@ -233,18 +233,22 @@ NavigationSubWidget *NavigationWidget::insertSubItem(int position,int index)
|
|||||||
|
|
||||||
void NavigationWidget::activateSubWidget()
|
void NavigationWidget::activateSubWidget()
|
||||||
{
|
{
|
||||||
setShown(true);
|
|
||||||
QShortcut *original = qobject_cast<QShortcut *>(sender());
|
QShortcut *original = qobject_cast<QShortcut *>(sender());
|
||||||
QString id = m_shortcutMap[original];
|
QString id = m_shortcutMap[original];
|
||||||
|
activateSubWidget(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
void NavigationWidget::activateSubWidget(const QString &factoryId)
|
||||||
|
{
|
||||||
|
setShown(true);
|
||||||
foreach (NavigationSubWidget *subWidget, m_subWidgets) {
|
foreach (NavigationSubWidget *subWidget, m_subWidgets) {
|
||||||
if (subWidget->factory()->id() == id) {
|
if (subWidget->factory()->id() == factoryId) {
|
||||||
subWidget->setFocusWidget();
|
subWidget->setFocusWidget();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int index = factoryIndex(id);
|
int index = factoryIndex(factoryId);
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
m_subWidgets.first()->setFactoryIndex(index);
|
m_subWidgets.first()->setFactoryIndex(index);
|
||||||
m_subWidgets.first()->setFocusWidget();
|
m_subWidgets.first()->setFocusWidget();
|
||||||
|
@@ -49,14 +49,11 @@ namespace Core {
|
|||||||
class INavigationWidgetFactory;
|
class INavigationWidgetFactory;
|
||||||
class IMode;
|
class IMode;
|
||||||
class Command;
|
class Command;
|
||||||
|
|
||||||
namespace Internal {
|
|
||||||
class NavigationWidget;
|
class NavigationWidget;
|
||||||
}
|
|
||||||
|
|
||||||
class CORE_EXPORT NavigationWidgetPlaceHolder : public QWidget
|
class CORE_EXPORT NavigationWidgetPlaceHolder : public QWidget
|
||||||
{
|
{
|
||||||
friend class Core::Internal::NavigationWidget;
|
friend class Core::NavigationWidget;
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
NavigationWidgetPlaceHolder(Core::IMode *mode, QWidget *parent = 0);
|
NavigationWidgetPlaceHolder(Core::IMode *mode, QWidget *parent = 0);
|
||||||
@@ -71,10 +68,10 @@ private:
|
|||||||
};
|
};
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
class NavigationSubWidget;
|
class NavigationSubWidget;
|
||||||
|
}
|
||||||
|
|
||||||
class NavigationWidget : public MiniSplitter
|
class CORE_EXPORT NavigationWidget : public MiniSplitter
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
@@ -92,6 +89,7 @@ public:
|
|||||||
void saveSettings(QSettings *settings);
|
void saveSettings(QSettings *settings);
|
||||||
void restoreSettings(QSettings *settings);
|
void restoreSettings(QSettings *settings);
|
||||||
|
|
||||||
|
void activateSubWidget(const QString &factoryId);
|
||||||
void closeSubWidgets();
|
void closeSubWidgets();
|
||||||
|
|
||||||
bool isShown() const;
|
bool isShown() const;
|
||||||
@@ -120,10 +118,10 @@ private slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void updateToggleText();
|
void updateToggleText();
|
||||||
NavigationSubWidget *insertSubItem(int position, int index);
|
Internal::NavigationSubWidget *insertSubItem(int position, int index);
|
||||||
int factoryIndex(const QString &id);
|
int factoryIndex(const QString &id);
|
||||||
|
|
||||||
QList<NavigationSubWidget *> m_subWidgets;
|
QList<Internal::NavigationSubWidget *> m_subWidgets;
|
||||||
QHash<QShortcut *, QString> m_shortcutMap;
|
QHash<QShortcut *, QString> m_shortcutMap;
|
||||||
QHash<QString, Core::Command*> m_commandMap;
|
QHash<QString, Core::Command*> m_commandMap;
|
||||||
QStandardItemModel *m_factoryModel;
|
QStandardItemModel *m_factoryModel;
|
||||||
@@ -135,6 +133,8 @@ private:
|
|||||||
QAction *m_toggleSideBarAction;
|
QAction *m_toggleSideBarAction;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
namespace Internal {
|
||||||
|
|
||||||
class NavigationSubWidget : public QWidget
|
class NavigationSubWidget : public QWidget
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
Reference in New Issue
Block a user