mirror of
https://gitlab.com/pholy/OSCAR-code.git
synced 2025-04-07 19:50:45 +00:00
changed zooming to events from event tab be be the same as a shift click on a graph
This commit is contained in:
parent
731e40b74b
commit
d1504bb644
@ -177,7 +177,7 @@ void gFlagsGroup::paint(QPainter &painter, gGraph &g, const QRegion ®ion)
|
|||||||
qint64 minx,maxx,dur;
|
qint64 minx,maxx,dur;
|
||||||
g.graphView()->GetXBounds(minx,maxx);
|
g.graphView()->GetXBounds(minx,maxx);
|
||||||
dur = maxx - minx;
|
dur = maxx - minx;
|
||||||
#if 0
|
#if BAR_TITLE_BAR_DEBUG
|
||||||
// debug for minimum size for event flags. adding required height for enabled events , number eventTypes , height of an event bar
|
// debug for minimum size for event flags. adding required height for enabled events , number eventTypes , height of an event bar
|
||||||
QString text= QString("%1 -> %2 %3: %4 H:%5 Vis:%6 barH:%7").
|
QString text= QString("%1 -> %2 %3: %4 H:%5 Vis:%6 barH:%7").
|
||||||
arg(QDateTime::fromMSecsSinceEpoch(minx).time().toString()).
|
arg(QDateTime::fromMSecsSinceEpoch(minx).time().toString()).
|
||||||
|
@ -145,7 +145,6 @@ class gFlagsGroup: public LayerGroup
|
|||||||
QList<ChannelID> availableChans;
|
QList<ChannelID> availableChans;
|
||||||
|
|
||||||
QVector<gFlagsLine *> lvisible;
|
QVector<gFlagsLine *> lvisible;
|
||||||
QVector<gFlagsLine *> visflags;
|
|
||||||
float m_barh;
|
float m_barh;
|
||||||
bool m_empty;
|
bool m_empty;
|
||||||
bool m_rebuild_cpap;
|
bool m_rebuild_cpap;
|
||||||
|
@ -1116,12 +1116,12 @@ void gGraph::mouseReleaseEvent(QMouseEvent *event)
|
|||||||
if ((m_graphview->horizTravel() < mouse_movement_threshold) && (x > left && x < w + left
|
if ((m_graphview->horizTravel() < mouse_movement_threshold) && (x > left && x < w + left
|
||||||
&& y > top && y < h)) {
|
&& y > top && y < h)) {
|
||||||
if ((event->modifiers() & Qt::ShiftModifier) != 0) {
|
if ((event->modifiers() & Qt::ShiftModifier) != 0) {
|
||||||
qint64 zz = (qint64)screenToTime(x);
|
qint64 time = (qint64)screenToTime(x);
|
||||||
qint64 zz_min,zz_max;
|
qint64 period =qint64(p_profile->general->eventWindowSize())*60000L; // eventwindowsize units minutes
|
||||||
// set range 3 before and 20 second after.
|
qint64 small =period/10;
|
||||||
zz_min = zz - 180000; // before ms
|
qint64 start = time - period;
|
||||||
zz_max = zz + 20000; // after ms
|
qint64 end = time + small;
|
||||||
m_graphview->SetXBounds(zz_min, zz_max, m_group);
|
m_graphview->SetXBounds(start, end);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// normal click in main area
|
// normal click in main area
|
||||||
|
@ -752,7 +752,7 @@ class UserSettings : public PrefSettings
|
|||||||
: PrefSettings(profile)
|
: PrefSettings(profile)
|
||||||
{
|
{
|
||||||
initPref(STR_US_UnitSystem, US_Metric);
|
initPref(STR_US_UnitSystem, US_Metric);
|
||||||
initPref(STR_US_EventWindowSize, 4.0);
|
setPref(STR_US_EventWindowSize, 3.0);
|
||||||
m_skipEmptyDays = initPref(STR_US_SkipEmptyDays, true).toBool();
|
m_skipEmptyDays = initPref(STR_US_SkipEmptyDays, true).toBool();
|
||||||
initPref(STR_US_RebuildCache, false); // FIXME: jedimark: can't remember...
|
initPref(STR_US_RebuildCache, false); // FIXME: jedimark: can't remember...
|
||||||
m_calculateRDI = initPref(STR_US_CalculateRDI, false).toBool();
|
m_calculateRDI = initPref(STR_US_CalculateRDI, false).toBool();
|
||||||
|
@ -832,8 +832,8 @@ void Daily::UpdateEventsTree(QTreeWidget *tree,Day *day)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (day->hasMachine(MT_CPAP) || day->hasMachine(MT_OXIMETER) || day->hasMachine(MT_POSITION)) {
|
if (day->hasMachine(MT_CPAP) || day->hasMachine(MT_OXIMETER) || day->hasMachine(MT_POSITION)) {
|
||||||
QTreeWidgetItem * start = new QTreeWidgetItem(QStringList(tr("Session Start Times")));
|
QTreeWidgetItem * start = new QTreeWidgetItem(QStringList(tr("Session Start Times")),eventTypeStart);
|
||||||
QTreeWidgetItem * end = new QTreeWidgetItem(QStringList(tr("Session End Times")));
|
QTreeWidgetItem * end = new QTreeWidgetItem(QStringList(tr("Session End Times")),eventTypeEnd);
|
||||||
tree->insertTopLevelItem(cnt++ , start);
|
tree->insertTopLevelItem(cnt++ , start);
|
||||||
tree->insertTopLevelItem(cnt++ , end);
|
tree->insertTopLevelItem(cnt++ , end);
|
||||||
for (QList<Session *>::iterator s=day->begin(); s!=day->end(); ++s) {
|
for (QList<Session *>::iterator s=day->begin(); s!=day->end(); ++s) {
|
||||||
@ -2225,28 +2225,35 @@ void Daily::on_RangeUpdate(double minx, double /*maxx*/)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void Daily::on_treeWidget_itemClicked(QTreeWidgetItem *item, int column)
|
void Daily::on_treeWidget_itemClicked(QTreeWidgetItem *item, int )
|
||||||
{
|
{
|
||||||
Q_UNUSED(column);
|
if (!item) return;
|
||||||
QDateTime d;
|
QTreeWidgetItem* parent = item->parent();
|
||||||
if (!item->data(0,Qt::UserRole).isNull()) {
|
if (!parent) return;
|
||||||
qint64 winsize=qint64(p_profile->general->eventWindowSize())*60000L;
|
|
||||||
qint64 t=item->data(0,Qt::UserRole).toLongLong();
|
|
||||||
|
|
||||||
double st=t-(winsize/2);
|
|
||||||
double et=t+(winsize/2);
|
|
||||||
|
|
||||||
gGraph *g=GraphView->findGraph(STR_GRAPH_SleepFlags);
|
gGraph *g=GraphView->findGraph(STR_GRAPH_SleepFlags);
|
||||||
if (!g) return;
|
if (!g) return;
|
||||||
if (st<g->rmin_x) {
|
QDateTime d;
|
||||||
st=g->rmin_x;
|
if (!item->data(0,Qt::UserRole).isNull()) {
|
||||||
et=st+winsize;
|
int eventType = parent->type();
|
||||||
|
qint64 time = item->data(0,Qt::UserRole).toLongLong();
|
||||||
|
|
||||||
|
// for events display 3 minutes before and 20 seconds after
|
||||||
|
// for start time skip abit before graph
|
||||||
|
// for end time skip abut after graph
|
||||||
|
|
||||||
|
qint64 period = qint64(p_profile->general->eventWindowSize())*60000L; // eventwindowsize units minutes
|
||||||
|
qint64 small = period/10;
|
||||||
|
|
||||||
|
qint64 start,end;
|
||||||
|
if (eventType == eventTypeStart ) {
|
||||||
|
start = time - small;
|
||||||
|
end = time + period;
|
||||||
|
} else {
|
||||||
|
start = time - period;
|
||||||
|
end = time + small;
|
||||||
}
|
}
|
||||||
if (et>g->rmax_x) {
|
|
||||||
et=g->rmax_x;
|
GraphView->SetXBounds(start,end);
|
||||||
st=et-winsize;
|
|
||||||
}
|
|
||||||
GraphView->SetXBounds(st,et);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,6 +369,9 @@ private:
|
|||||||
|
|
||||||
gLineChart *leakchart;
|
gLineChart *leakchart;
|
||||||
|
|
||||||
|
const int eventTypeStart = QTreeWidgetItem::UserType+1;
|
||||||
|
const int eventTypeEnd = QTreeWidgetItem::UserType+2;
|
||||||
|
|
||||||
#ifndef REMOVE_FITNESS
|
#ifndef REMOVE_FITNESS
|
||||||
bool ZombieMeterMoved;
|
bool ZombieMeterMoved;
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user