mirror of
https://github.com/rizinorg/cutter.git
synced 2025-02-20 21:56:06 +00:00
restore the 'responsive' functionality (closes issue #97)
This commit is contained in:
parent
bee9d28683
commit
400f6be164
@ -51,7 +51,7 @@ SOURCES += \
|
||||
widgets/commentswidget.cpp \
|
||||
widgets/stringswidget.cpp \
|
||||
widgets/flagswidget.cpp \
|
||||
widgets/memwidget/memorywidget.cpp \
|
||||
widgets/memorywidget.cpp \
|
||||
qrdisasm.cpp \
|
||||
widgets/sdbdock.cpp \
|
||||
analthread.cpp \
|
||||
@ -86,7 +86,7 @@ HEADERS += \
|
||||
widgets/commentswidget.h \
|
||||
widgets/stringswidget.h \
|
||||
widgets/flagswidget.h \
|
||||
widgets/memwidget/memorywidget.h \
|
||||
widgets/memorywidget.h \
|
||||
qrdisasm.h \
|
||||
widgets/sdbdock.h \
|
||||
analthread.h \
|
||||
@ -114,7 +114,7 @@ FORMS += \
|
||||
widgets/commentswidget.ui \
|
||||
widgets/stringswidget.ui \
|
||||
widgets/flagswidget.ui \
|
||||
widgets/memwidget/memorywidget.ui \
|
||||
widgets/memorywidget.ui \
|
||||
widgets/sdbdock.ui \
|
||||
dialogs/commentsdialog.ui \
|
||||
widgets/sidebar.ui \
|
@ -15,7 +15,7 @@
|
||||
#include "helpers.h"
|
||||
#include "qrcore.h"
|
||||
|
||||
#include "widgets/memwidget/memorywidget.h"
|
||||
#include "widgets/memorywidget.h"
|
||||
#include "widgets/functionswidget.h"
|
||||
#include "widgets/sectionswidget.h"
|
||||
#include "widgets/commentswidget.h"
|
||||
|
@ -206,7 +206,7 @@ void OptionsDialog::on_okButton_clicked()
|
||||
// connect signal/slot
|
||||
|
||||
int level = 0;
|
||||
if (anal_level == true)
|
||||
if (anal_level)
|
||||
{
|
||||
level = ui->analSlider->value();
|
||||
}
|
||||
|
@ -26,9 +26,6 @@ CommentsWidget::CommentsWidget(MainWindow *main, QWidget *parent) :
|
||||
|
||||
// Hide the buttons frame
|
||||
ui->frame->hide();
|
||||
|
||||
// Resize eventfilter
|
||||
ui->commentsTreeWidget->viewport()->installEventFilter(this);
|
||||
}
|
||||
|
||||
CommentsWidget::~CommentsWidget()
|
||||
@ -126,27 +123,20 @@ void CommentsWidget::on_actionVertical_triggered()
|
||||
ui->tabWidget->setCurrentIndex(1);
|
||||
}
|
||||
|
||||
bool CommentsWidget::eventFilter(QObject *obj, QEvent *event)
|
||||
void CommentsWidget::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
if (this->main->responsive)
|
||||
if(main->responsive && isVisible())
|
||||
{
|
||||
if (event->type() == QEvent::Resize && obj == this && this->isVisible())
|
||||
if (event->size().width() >= event->size().height())
|
||||
{
|
||||
QResizeEvent *resizeEvent = static_cast<QResizeEvent *>(event);
|
||||
//qDebug("Dock Resized (New Size) - Width: %d Height: %d",
|
||||
// resizeEvent->size().width(),
|
||||
// resizeEvent->size().height());
|
||||
if (resizeEvent->size().width() >= resizeEvent->size().height())
|
||||
{
|
||||
// Set horizontal view (list)
|
||||
this->on_actionHorizontal_triggered();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Set vertical view (Tree)
|
||||
this->on_actionVertical_triggered();
|
||||
}
|
||||
// Set horizontal view (list)
|
||||
on_actionHorizontal_triggered();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Set vertical view (Tree)
|
||||
on_actionVertical_triggered();
|
||||
}
|
||||
}
|
||||
return QDockWidget::eventFilter(obj, event);
|
||||
QDockWidget::resizeEvent(event);
|
||||
}
|
||||
|
@ -24,6 +24,9 @@ public:
|
||||
QTreeWidget *nestedCommentsTreeWidget;
|
||||
void refreshTree();
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
|
||||
private slots:
|
||||
void on_commentsTreeWidget_itemDoubleClicked(QTreeWidgetItem *item, int column);
|
||||
|
||||
@ -37,8 +40,6 @@ private slots:
|
||||
|
||||
void on_actionVertical_triggered();
|
||||
|
||||
bool eventFilter(QObject *obj, QEvent *event) override;
|
||||
|
||||
private:
|
||||
Ui::CommentsWidget *ui;
|
||||
|
||||
|
@ -37,9 +37,6 @@ FunctionsWidget::FunctionsWidget(MainWindow *main, QWidget *parent) :
|
||||
this->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
connect(this, SIGNAL(customContextMenuRequested(const QPoint &)),
|
||||
this, SLOT(showTitleContextMenu(const QPoint &)));
|
||||
|
||||
// Resize eventfilter
|
||||
ui->functionsTreeWidget->viewport()->installEventFilter(this);
|
||||
}
|
||||
|
||||
FunctionsWidget::~FunctionsWidget()
|
||||
@ -395,27 +392,20 @@ void FunctionsWidget::on_nestedFunctionsTree_itemDoubleClicked(QTreeWidgetItem *
|
||||
this->main->memoryDock->raise();
|
||||
}
|
||||
|
||||
bool FunctionsWidget::eventFilter(QObject *obj, QEvent *event)
|
||||
void FunctionsWidget::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
if (this->main->responsive)
|
||||
if(main->responsive && isVisible())
|
||||
{
|
||||
if (event->type() == QEvent::Resize && obj == this && this->isVisible() == true)
|
||||
if (event->size().width() >= event->size().height())
|
||||
{
|
||||
QResizeEvent *resizeEvent = static_cast<QResizeEvent *>(event);
|
||||
//qDebug("Dock Resized (New Size) - Width: %d Height: %d",
|
||||
// resizeEvent->size().width(),
|
||||
// resizeEvent->size().height());
|
||||
if (resizeEvent->size().width() >= resizeEvent->size().height())
|
||||
{
|
||||
// Set horizontal view (list)
|
||||
this->on_actionHorizontal_triggered();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Set vertical view (Tree)
|
||||
this->on_actionVertical_triggered();
|
||||
}
|
||||
// Set horizontal view (list)
|
||||
on_actionHorizontal_triggered();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Set vertical view (Tree)
|
||||
on_actionVertical_triggered();
|
||||
}
|
||||
}
|
||||
return QDockWidget::eventFilter(obj, event);
|
||||
QDockWidget::resizeEvent(event);
|
||||
}
|
||||
|
@ -42,7 +42,8 @@ private slots:
|
||||
|
||||
void on_nestedFunctionsTree_itemDoubleClicked(QTreeWidgetItem *item, int column);
|
||||
|
||||
bool eventFilter(QObject *obj, QEvent *event) override;
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
|
||||
private:
|
||||
Ui::FunctionsWidget *ui;
|
||||
|
@ -106,7 +106,10 @@ MemoryWidget::MemoryWidget(MainWindow *main) :
|
||||
ui->actionSeparate_bytes->setDisabled(true);
|
||||
ui->actionRight_align_bytes->setDisabled(true);
|
||||
|
||||
// Resize eventfilter
|
||||
// Event filter to intercept double clicks in the textbox (TODO: this does not work!)
|
||||
ui->disasTextEdit_2->setMouseTracking(true);
|
||||
ui->disasTextEdit_2->viewport()->setMouseTracking(true);
|
||||
ui->disasTextEdit_2->installEventFilter(this);
|
||||
ui->disasTextEdit_2->viewport()->installEventFilter(this);
|
||||
|
||||
// Set Splitter stretch factor
|
||||
@ -1729,46 +1732,49 @@ void MemoryWidget::on_previewToolButton_2_clicked()
|
||||
}
|
||||
}
|
||||
|
||||
bool MemoryWidget::eventFilter(QObject *obj, QEvent *event)
|
||||
void MemoryWidget::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
if (event->type() == QEvent::Resize && obj == this && this->isVisible())
|
||||
if(main->responsive && isVisible())
|
||||
{
|
||||
if (this->main->responsive)
|
||||
if (event->size().width() <= 1150)
|
||||
{
|
||||
QResizeEvent *resizeEvent = static_cast<QResizeEvent *>(event);
|
||||
//qDebug("Dock Resized (New Size) - Width: %d Height: %d",
|
||||
// resizeEvent->size().width(),
|
||||
// resizeEvent->size().height());
|
||||
if (resizeEvent->size().width() <= 1150)
|
||||
ui->frame_3->setVisible(false);
|
||||
ui->memPreviewTab->setVisible(false);
|
||||
ui->previewToolButton_2->setChecked(false);
|
||||
if (event->size().width() <= 950)
|
||||
{
|
||||
ui->frame_3->setVisible(false);
|
||||
ui->memPreviewTab->setVisible(false);
|
||||
ui->previewToolButton_2->setChecked(false);
|
||||
if (resizeEvent->size().width() <= 950)
|
||||
{
|
||||
ui->memSideTabWidget_2->hide();
|
||||
ui->hexSideTab_2->hide();
|
||||
ui->memSideToolButton->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->memSideTabWidget_2->show();
|
||||
ui->hexSideTab_2->show();
|
||||
ui->memSideToolButton->setChecked(false);
|
||||
}
|
||||
ui->memSideTabWidget_2->hide();
|
||||
ui->hexSideTab_2->hide();
|
||||
ui->memSideToolButton->setChecked(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->frame_3->setVisible(true);
|
||||
ui->memPreviewTab->setVisible(true);
|
||||
ui->previewToolButton_2->setChecked(true);
|
||||
ui->memSideTabWidget_2->show();
|
||||
ui->hexSideTab_2->show();
|
||||
ui->memSideToolButton->setChecked(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->frame_3->setVisible(true);
|
||||
ui->memPreviewTab->setVisible(true);
|
||||
ui->previewToolButton_2->setChecked(true);
|
||||
}
|
||||
}
|
||||
else if ((obj == ui->disasTextEdit_2 || obj == ui->disasTextEdit_2->viewport()) && event->type() == QEvent::MouseButtonDblClick)
|
||||
QDockWidget::resizeEvent(event);
|
||||
}
|
||||
|
||||
bool MemoryWidget::eventFilter(QObject *obj, QEvent *event)
|
||||
{
|
||||
if(event->type() == QEvent::MouseButtonDblClick || event->type() == QEvent::MouseButtonPress)
|
||||
QMessageBox::information(this, "double", "double");
|
||||
qDebug() << "MemoryWidget::eventFilter";
|
||||
qDebug() << obj;
|
||||
qDebug() << event;
|
||||
if ((obj == ui->disasTextEdit_2 || obj == ui->disasTextEdit_2->viewport()) && event->type() == QEvent::MouseButtonDblClick)
|
||||
{
|
||||
QMouseEvent *mouseEvent = static_cast<QMouseEvent *>(event);
|
||||
//qDebug()<<QString("Click location: (%1,%2)").arg(mouseEvent->x()).arg(mouseEvent->y());
|
||||
qDebug()<<QString("Click location: (%1,%2)").arg(mouseEvent->x()).arg(mouseEvent->y());
|
||||
QTextCursor cursor = ui->disasTextEdit_2->cursorForPosition(QPoint(mouseEvent->x(), mouseEvent->y()));
|
||||
cursor.select(QTextCursor::LineUnderCursor);
|
||||
QString lastline = cursor.selectedText();
|
@ -88,6 +88,7 @@ public slots:
|
||||
void frameLoadFinished(bool ok);
|
||||
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
bool eventFilter(QObject *obj, QEvent *event) override;
|
||||
|
||||
private:
|
@ -120,7 +120,7 @@ QToolTip {
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../resources.qrc">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/new/prefix1/img/icons/disas_light.png</normaloff>
|
||||
<activeon>:/new/prefix1/img/icons/disas_white.png</activeon>:/new/prefix1/img/icons/disas_light.png</iconset>
|
||||
</property>
|
||||
@ -180,7 +180,7 @@ QToolTip {
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../resources.qrc">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/new/prefix1/img/icons/graph_light.png</normaloff>
|
||||
<activeon>:/new/prefix1/img/icons/graph_white.png</activeon>:/new/prefix1/img/icons/graph_light.png</iconset>
|
||||
</property>
|
||||
@ -237,7 +237,7 @@ QToolTip {
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../resources.qrc">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/new/prefix1/img/icons/hexdump_light.png</normaloff>
|
||||
<activeon>:/new/prefix1/img/icons/hexdump_white.png</activeon>:/new/prefix1/img/icons/hexdump_light.png</iconset>
|
||||
</property>
|
||||
@ -313,7 +313,7 @@ QToolTip {
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../resources.qrc">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/new/prefix1/img/icons/eye.png</normaloff>
|
||||
<activeon>:/new/prefix1/img/icons/eye_white.png</activeon>:/new/prefix1/img/icons/eye.png</iconset>
|
||||
</property>
|
||||
@ -373,7 +373,7 @@ QToolTip {
|
||||
<string notr="true"/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../resources.qrc">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/new/prefix1/img/icons/right.png</normaloff>:/new/prefix1/img/icons/right.png</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
@ -424,7 +424,7 @@ QToolTip {
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../resources.qrc">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/new/prefix1/img/icons/cog_light.png</normaloff>:/new/prefix1/img/icons/cog_light.png</iconset>
|
||||
</property>
|
||||
<property name="popupMode">
|
||||
@ -1499,7 +1499,7 @@ QToolTip {
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../resources.qrc">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/new/prefix1/img/icons/radar.png</normaloff>
|
||||
<activeon>:/new/prefix1/img/icons/radar_white.png</activeon>:/new/prefix1/img/icons/radar.png</iconset>
|
||||
</property>
|
||||
@ -1560,7 +1560,7 @@ QToolTip {
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../resources.qrc">
|
||||
<iconset resource="../resources.qrc">
|
||||
<normaloff>:/new/prefix1/img/icons/polar.png</normaloff>
|
||||
<activeon>:/new/prefix1/img/icons/polar_white.png</activeon>:/new/prefix1/img/icons/polar.png</iconset>
|
||||
</property>
|
||||
@ -3042,7 +3042,7 @@ QToolTip {
|
||||
</customwidget>
|
||||
</customwidgets>
|
||||
<resources>
|
||||
<include location="../../resources.qrc"/>
|
||||
<include location="../resources.qrc"/>
|
||||
</resources>
|
||||
<connections/>
|
||||
<buttongroups>
|
@ -98,27 +98,20 @@ void SectionsWidget::adjustColumns()
|
||||
}
|
||||
}
|
||||
|
||||
bool SectionsWidget::eventFilter(QObject *obj, QEvent *event)
|
||||
void SectionsWidget::resizeEvent(QResizeEvent *event)
|
||||
{
|
||||
if (this->main->responsive)
|
||||
if(main->responsive && isVisible())
|
||||
{
|
||||
if (event->type() == QEvent::Resize && obj == this && this->isVisible())
|
||||
if (event->size().width() >= event->size().height())
|
||||
{
|
||||
QResizeEvent *resizeEvent = static_cast<QResizeEvent *>(event);
|
||||
//qDebug("Dock Resized (New Size) - Width: %d Height: %d",
|
||||
// resizeEvent->size().width(),
|
||||
// resizeEvent->size().height());
|
||||
if (resizeEvent->size().width() >= resizeEvent->size().height())
|
||||
{
|
||||
// Set horizontal view (list)
|
||||
this->main->on_actionSectionsHorizontal_triggered();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Set vertical view (Tree)
|
||||
this->main->on_actionSectionsVertical_triggered();
|
||||
}
|
||||
// Set horizontal view (list)
|
||||
main->on_actionSectionsHorizontal_triggered();
|
||||
}
|
||||
else
|
||||
{
|
||||
// Set vertical view (Tree)
|
||||
main->on_actionSectionsVertical_triggered();
|
||||
}
|
||||
}
|
||||
return QSplitter::eventFilter(obj, event);
|
||||
QWidget::resizeEvent(event);
|
||||
}
|
||||
|
@ -30,7 +30,8 @@ public:
|
||||
void adjustColumns();
|
||||
QTreeWidget *tree;
|
||||
|
||||
private slots:
|
||||
protected:
|
||||
void resizeEvent(QResizeEvent *event) override;
|
||||
|
||||
private:
|
||||
//void setupModel();
|
||||
@ -40,7 +41,6 @@ private:
|
||||
QAbstractItemView *pieChart;
|
||||
QItemSelectionModel *selectionModel;
|
||||
MainWindow *main;
|
||||
bool eventFilter(QObject *obj, QEvent *event) override;
|
||||
};
|
||||
|
||||
#endif // SECTIONSWIDGET_H
|
||||
|
Loading…
Reference in New Issue
Block a user