Skip to content

Commit

Permalink
quickopen hide and clear
Browse files Browse the repository at this point in the history
  • Loading branch information
visualfc committed Jul 4, 2016
1 parent f0ca3d7 commit e43ebd1
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 4 deletions.
26 changes: 22 additions & 4 deletions liteidex/src/plugins/quickopen/quickopenmanager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -62,26 +62,36 @@ bool QuickOpenManager::initWithApp(IApplication *app)

connect(m_widget,SIGNAL(filterChanged(QString)),this,SLOT(filterChanged(QString)));
connect(m_widget,SIGNAL(selected()),this,SLOT(selected()));
connect(m_widget,SIGNAL(hidePopup()),this,SLOT(hideQuickOpen()));

m_quickOpenFiles = new QuickOpenFiles(app,this);

//setCurrentFilter(m_quickOpenFiles);
m_filterMap.insert("",m_quickOpenFiles);
m_filterMap.insert("~",new QuickOpenEditor(m_liteApp,this));

this->registerQuickOpenSymbol("@");
m_quickOpenAct = new QAction(tr("Quick Open"),this);
m_quickOpenAct->setData("");

m_quickOpenEditAct = new QAction(tr("Quick Open Editor"),this);
m_quickOpenEditAct->setData("~");

m_quickOpenSymbolAct = new QAction(tr("Quick Open Symbol"),this);
m_quickOpenSymbolAct->setData("@");

LiteApi::IActionContext *context = m_liteApp->actionManager()->getActionContext(m_liteApp,"App");
context->regAction(m_quickOpenAct,"QuickOpen","CTRL+P");
context->regAction(m_quickOpenEditAct,"QuickOpenEditor","CTRL+ALT+P");
context->regAction(m_quickOpenSymbolAct,"QuickOpenSymbol","CTRL+ALT+O");

m_liteApp->actionManager()->insertViewMenu(LiteApi::ViewMenuBrowserPos,m_quickOpenAct);
m_liteApp->actionManager()->insertViewMenu(LiteApi::ViewMenuBrowserPos,m_quickOpenEditAct);
m_liteApp->actionManager()->insertViewMenu(LiteApi::ViewMenuBrowserPos,m_quickOpenSymbolAct);

connect(m_quickOpenAct,SIGNAL(triggered(bool)),this,SLOT(quickOpen()));
connect(m_quickOpenEditAct,SIGNAL(triggered(bool)),this,SLOT(quickOpenEditor()));
connect(m_quickOpenEditAct,SIGNAL(triggered(bool)),this,SLOT(quickOpen()));
connect(m_quickOpenSymbolAct,SIGNAL(triggered(bool)),this,SLOT(quickOpen()));

return true;
}
Expand Down Expand Up @@ -122,12 +132,14 @@ QMap<QString, IQuickOpen *> QuickOpenManager::filterMap() const

void QuickOpenManager::setCurrentFilter(IQuickOpen *filter)
{
if (filter) {
filter->activate();
}
if (m_currentFilter == filter) {
return;
}
m_currentFilter = filter;
if (m_currentFilter) {
m_currentFilter->activate();
m_sym = m_filterMap.key(filter);
m_widget->setModel(m_currentFilter->model());
}
Expand Down Expand Up @@ -209,8 +221,12 @@ IQuickOpenSymbol *QuickOpenManager::registerQuickOpenSymbol(const QString &sym)
void QuickOpenManager::quickOpen()
{
m_updateMap.clear();
setCurrentFilter(m_quickOpenFiles);
showQuickOpen();
QString sym;
QAction *act = (QAction*)sender();
if (act) {
sym = act->data().toString();
}
showBySymbol(sym);
}

void QuickOpenManager::quickOpenEditor()
Expand Down Expand Up @@ -242,6 +258,8 @@ void QuickOpenManager::hideQuickOpen()
{
m_widget->close();
m_updateMap.clear();
m_currentFilter = 0;
m_sym.clear();
}

void QuickOpenManager::filterChanged(const QString &text)
Expand Down
1 change: 1 addition & 0 deletions liteidex/src/plugins/quickopen/quickopenmanager.h
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ public slots:
QuickOpenWidget *m_widget;
QAction *m_quickOpenAct;
QAction *m_quickOpenEditAct;
QAction *m_quickOpenSymbolAct;
QMap<QString,IQuickOpen*> m_filterMap;
QMap<IQuickOpen*,bool> m_updateMap;
QMap<QString,IQuickOpenSymbol*> m_quickOpenSymbolMap;
Expand Down
6 changes: 6 additions & 0 deletions liteidex/src/plugins/quickopen/quickopenwidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,12 @@ QTreeView *QuickOpenWidget::view()
return m_view;
}

void QuickOpenWidget::hideEvent(QHideEvent *e)
{
emit hidePopup();
QWidget::hideEvent(e);
}

void QuickOpenWidget::showPopup()
{
QToolBar *toolBar = m_liteApp->actionManager()->loadToolBar("toolbar/std");
Expand Down
2 changes: 2 additions & 0 deletions liteidex/src/plugins/quickopen/quickopenwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,9 +37,11 @@ class QuickOpenWidget : public QWidget
void setModel(QAbstractItemModel *model);
QLineEdit *editor();
QTreeView *view();
virtual void hideEvent(QHideEvent *e);
signals:
void filterChanged(QString);
void selected();
void hidePopup();
public slots:
void showPopup();
protected:
Expand Down

0 comments on commit e43ebd1

Please sign in to comment.