From 9276cb875f7104a5fd23d3ed51c6e45312eea129 Mon Sep 17 00:00:00 2001 From: baldurk Date: Thu, 9 Jul 2015 16:13:01 +0200 Subject: [PATCH] Hook up the jump/find bars --- qrenderdoc/Widgets/CustomPaintWidget.h | 5 +--- qrenderdoc/Widgets/LineEditFocusWidget.cpp | 22 +++++++++++++++++ qrenderdoc/Widgets/LineEditFocusWidget.h | 20 ++++++++++++++++ qrenderdoc/Windows/EventBrowser.cpp | 27 +++++++++++++++++++++ qrenderdoc/Windows/EventBrowser.h | 6 +++++ qrenderdoc/Windows/EventBrowser.ui | 28 ++++++++++++++++++++-- qrenderdoc/qrenderdoc.pro | 6 +++-- 7 files changed, 106 insertions(+), 8 deletions(-) create mode 100644 qrenderdoc/Widgets/LineEditFocusWidget.cpp create mode 100644 qrenderdoc/Widgets/LineEditFocusWidget.h diff --git a/qrenderdoc/Widgets/CustomPaintWidget.h b/qrenderdoc/Widgets/CustomPaintWidget.h index 5304c2074..ea195399a 100644 --- a/qrenderdoc/Widgets/CustomPaintWidget.h +++ b/qrenderdoc/Widgets/CustomPaintWidget.h @@ -1,5 +1,4 @@ -#ifndef CUSTOMPAINTWIDGET_H -#define CUSTOMPAINTWIDGET_H +#pragma once #include @@ -24,5 +23,3 @@ class CustomPaintWidget : public QWidget IReplayOutput *m_Output; }; - -#endif // CUSTOMPAINTWIDGET_H diff --git a/qrenderdoc/Widgets/LineEditFocusWidget.cpp b/qrenderdoc/Widgets/LineEditFocusWidget.cpp new file mode 100644 index 000000000..7e182023a --- /dev/null +++ b/qrenderdoc/Widgets/LineEditFocusWidget.cpp @@ -0,0 +1,22 @@ +#include "LineEditFocusWidget.h" + +LineEditFocusWidget::LineEditFocusWidget(QWidget *parent) : QLineEdit(parent) +{ +} + +LineEditFocusWidget::~LineEditFocusWidget() +{ + +} + +void LineEditFocusWidget::focusInEvent(QFocusEvent *e) +{ + QLineEdit::focusInEvent(e); + emit(enter()); +} + +void LineEditFocusWidget::focusOutEvent(QFocusEvent *e) +{ + QLineEdit::focusOutEvent(e); + emit(leave()); +} diff --git a/qrenderdoc/Widgets/LineEditFocusWidget.h b/qrenderdoc/Widgets/LineEditFocusWidget.h new file mode 100644 index 000000000..046e8c245 --- /dev/null +++ b/qrenderdoc/Widgets/LineEditFocusWidget.h @@ -0,0 +1,20 @@ +#pragma once +#include + +class LineEditFocusWidget : public QLineEdit +{ + Q_OBJECT + public: + explicit LineEditFocusWidget(QWidget *parent = 0); + ~LineEditFocusWidget(); + + signals: + void enter(); + void leave(); + + public slots: + + protected: + void focusInEvent(QFocusEvent *e); + void focusOutEvent(QFocusEvent *e); +}; diff --git a/qrenderdoc/Windows/EventBrowser.cpp b/qrenderdoc/Windows/EventBrowser.cpp index 8548a937a..d6e6e916b 100644 --- a/qrenderdoc/Windows/EventBrowser.cpp +++ b/qrenderdoc/Windows/EventBrowser.cpp @@ -47,6 +47,10 @@ EventBrowser::EventBrowser(Core *core, QWidget *parent) : // becomes quickly infuriating to rearrange, just disable until that can be fixed. ui->events->header()->setSectionsMovable(false); + QObject::connect(ui->closeFind, &QToolButton::clicked, this, &EventBrowser::hideFindJump); + QObject::connect(ui->closeJump, &QToolButton::clicked, this, &EventBrowser::hideFindJump); + QObject::connect(ui->jumpToEID, &LineEditFocusWidget::leave, this, &EventBrowser::hideFindJump); + QObject::connect(ui->findEvent, &LineEditFocusWidget::leave, this, &EventBrowser::hideFindJump); ui->jumpStrip->hide(); ui->findStrip->hide(); ui->bookmarkStrip->hide(); @@ -88,6 +92,7 @@ void EventBrowser::on_find_clicked() ui->jumpStrip->hide(); ui->findStrip->show(); ui->bookmarkStrip->hide(); + ui->findEvent->setFocus(); } void EventBrowser::on_gotoEID_clicked() @@ -95,6 +100,7 @@ void EventBrowser::on_gotoEID_clicked() ui->jumpStrip->show(); ui->findStrip->hide(); ui->bookmarkStrip->hide(); + ui->jumpToEID->setFocus(); } void EventBrowser::on_toolButton_clicked() @@ -168,3 +174,24 @@ void EventBrowser::on_events_itemSelectionChanged() m_Core->SetEventID(this, 0, EID); } + +void EventBrowser::hideFindJump() +{ + ui->jumpStrip->hide(); + ui->findStrip->hide(); +} + +void EventBrowser::on_jumpToEID_returnPressed() +{ + bool ok = false; + uint eid = ui->findEvent->text().toUInt(&ok); + if(ok) + { + //SelectEvent(0, eid); + } +} + +void EventBrowser::on_findEvent_returnPressed() +{ + +} diff --git a/qrenderdoc/Windows/EventBrowser.h b/qrenderdoc/Windows/EventBrowser.h index 3257c063a..3fdb7445b 100644 --- a/qrenderdoc/Windows/EventBrowser.h +++ b/qrenderdoc/Windows/EventBrowser.h @@ -32,6 +32,12 @@ class EventBrowser : public QFrame, public ILogViewerForm void on_toolButton_clicked(); + void hideFindJump(); + + void on_jumpToEID_returnPressed(); + + void on_findEvent_returnPressed(); + private: Ui::EventBrowser *ui; Core *m_Core; diff --git a/qrenderdoc/Windows/EventBrowser.ui b/qrenderdoc/Windows/EventBrowser.ui index ee487c31e..cb68cde43 100644 --- a/qrenderdoc/Windows/EventBrowser.ui +++ b/qrenderdoc/Windows/EventBrowser.ui @@ -236,7 +236,7 @@ 0 - + 0 @@ -260,6 +260,23 @@ + + + + + + + + :/Resources/cross.png:/Resources/cross.png + + + Esc + + + true + + + @@ -332,7 +349,7 @@ 0 - + 0 @@ -540,6 +557,13 @@ + + + LineEditFocusWidget + QLineEdit +
Widgets/LineEditFocusWidget.h
+
+
diff --git a/qrenderdoc/qrenderdoc.pro b/qrenderdoc/qrenderdoc.pro index 72c958a32..bb4aa7523 100644 --- a/qrenderdoc/qrenderdoc.pro +++ b/qrenderdoc/qrenderdoc.pro @@ -63,7 +63,8 @@ SOURCES += Code/main.cpp \ 3rdparty/toolwindowmanager/ToolWindowManagerArea.cpp \ 3rdparty/toolwindowmanager/ToolWindowManagerWrapper.cpp \ Code/RenderManager.cpp \ - Code/Core.cpp + Code/Core.cpp \ + Widgets/LineEditFocusWidget.cpp HEADERS += Windows/MainWindow.h \ Windows/EventBrowser.h \ @@ -73,7 +74,8 @@ HEADERS += Windows/MainWindow.h \ 3rdparty/toolwindowmanager/ToolWindowManagerArea.h \ 3rdparty/toolwindowmanager/ToolWindowManagerWrapper.h \ Code/Core.h \ - Code/RenderManager.h + Code/RenderManager.h \ + Widgets/LineEditFocusWidget.h FORMS += Windows/MainWindow.ui \ Windows/EventBrowser.ui \