mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-04-15 04:49:58 +02:00
macOs : add command key for fix mouse scroll
This commit is contained in:
@@ -20,22 +20,17 @@
|
|||||||
|
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QtWidgets>
|
#include <QtWidgets>
|
||||||
|
#include <QTabBar>
|
||||||
|
|
||||||
#include "templatelocation.h"
|
#include "templatelocation.h"
|
||||||
#include "qetresult.h"
|
#include "qetresult.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef Q_OS_MACOS
|
#ifdef Q_OS_MACOS
|
||||||
|
|
||||||
class WheelEnabledTabBar : public QTabWidget
|
class WheelEnabledTabBar : public QTabWidget
|
||||||
{
|
{
|
||||||
|
|
||||||
// It works on Mac using arrows keys, button arrows and mouse
|
|
||||||
// Maybe it needs to use only scroll right-left, not up-down
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
WheelEnabledTabBar(QWidget *parent = nullptr)
|
WheelEnabledTabBar(QWidget *parent = nullptr)
|
||||||
// : QTabBar(parent)
|
|
||||||
: QTabWidget(parent)
|
: QTabWidget(parent)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
@@ -46,24 +41,26 @@ public:
|
|||||||
int index = currentIndex();
|
int index = currentIndex();
|
||||||
double delta = 0;
|
double delta = 0;
|
||||||
double scale_factor = 0.005; // Decrease or increase speed of mouse wheel (0.04 = decrease)
|
double scale_factor = 0.005; // Decrease or increase speed of mouse wheel (0.04 = decrease)
|
||||||
|
if (event->modifiers() & Qt::ControlModifier) {
|
||||||
|
if (index != -1) {
|
||||||
|
delta = event->delta() * scale_factor; // Read and scale the scroll value
|
||||||
|
if (delta > 0 && (temp_index > -1)) temp_index = temp_index - abs(delta);
|
||||||
|
if (delta < 0 && (temp_index < count())) temp_index = temp_index + abs(delta);
|
||||||
|
|
||||||
if ((index != -1) && (event->orientation() == Qt::Horizontal)) {
|
index = int (temp_index);
|
||||||
delta = event->delta() * scale_factor; // Read and scale the scroll value
|
qDebug() << "index" << index << "temp_index" << temp_index << " " << event->delta() << delta;
|
||||||
if (delta > 0 && (temp_index > -1)) temp_index = temp_index - abs(delta);
|
|
||||||
if (delta < 0 && (temp_index < count())) temp_index = temp_index + abs(delta);
|
|
||||||
|
|
||||||
index = int (temp_index);
|
if (index >= 0 && index < count())
|
||||||
qDebug() << "index" << index << "temp_index" << temp_index << " " << event->delta() << delta;
|
setCurrentIndex(index);
|
||||||
|
|
||||||
if (index >= 0 && index < count())
|
// qDebug() << currentIndex();
|
||||||
setCurrentIndex(index);
|
}
|
||||||
|
}
|
||||||
// qDebug() << currentIndex();
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
class QETProject;
|
class QETProject;
|
||||||
class DiagramView;
|
class DiagramView;
|
||||||
class Diagram;
|
class Diagram;
|
||||||
|
|||||||
Reference in New Issue
Block a user