ExportCSV::ExportCSV(QWidget *parent) : QDialog(parent), ui(new Ui::ExportCSV) { ui->setupUi(this); ui->rb1_Summary->setChecked(true); ui->quickRangeCombo->setCurrentIndex(0); // Set Date controls locale to 4 digit years QLocale locale=QLocale::system(); QString shortformat=locale.dateFormat(QLocale::ShortFormat); if (!shortformat.toLower().contains("yyyy")) { shortformat.replace("yy","yyyy"); } ui->startDate->setDisplayFormat(shortformat); ui->endDate->setDisplayFormat(shortformat); // Stop both calendar drop downs highlighting weekends in red QTextCharFormat format = ui->startDate->calendarWidget()->weekdayTextFormat(Qt::Saturday); format.setForeground(QBrush(Qt::black, Qt::SolidPattern)); ui->startDate->calendarWidget()->setWeekdayTextFormat(Qt::Saturday, format); ui->startDate->calendarWidget()->setWeekdayTextFormat(Qt::Sunday, format); ui->endDate->calendarWidget()->setWeekdayTextFormat(Qt::Saturday, format); ui->endDate->calendarWidget()->setWeekdayTextFormat(Qt::Sunday, format); Qt::DayOfWeek dow=firstDayOfWeekFromLocale(); ui->startDate->calendarWidget()->setFirstDayOfWeek(dow); ui->endDate->calendarWidget()->setFirstDayOfWeek(dow); // Connect the signals to update which days have CPAP data when the month is changed connect(ui->startDate->calendarWidget(),SIGNAL(currentPageChanged(int,int)),SLOT(startDate_currentPageChanged(int,int))); connect(ui->endDate->calendarWidget(),SIGNAL(currentPageChanged(int,int)),SLOT(endDate_currentPageChanged(int,int))); on_quickRangeCombo_activated(tr("Most Recent Day")); ui->rb1_details->clearFocus(); ui->quickRangeCombo->setFocus(); ui->exportButton->setEnabled(false); }
Overview::Overview(QWidget *parent, gGraphView *shared) : QWidget(parent), ui(new Ui::Overview), m_shared(shared) { ui->setupUi(this); // Set Date controls locale to 4 digit years QLocale locale = QLocale::system(); QString shortformat = locale.dateFormat(QLocale::ShortFormat); if (!shortformat.toLower().contains("yyyy")) { shortformat.replace("yy", "yyyy"); } ui->dateStart->setDisplayFormat(shortformat); ui->dateEnd->setDisplayFormat(shortformat); Qt::DayOfWeek dow = firstDayOfWeekFromLocale(); ui->dateStart->calendarWidget()->setFirstDayOfWeek(dow); ui->dateEnd->calendarWidget()->setFirstDayOfWeek(dow); // Stop both calendar drop downs highlighting weekends in red QTextCharFormat format = ui->dateStart->calendarWidget()->weekdayTextFormat(Qt::Saturday); format.setForeground(QBrush(COLOR_Black, Qt::SolidPattern)); ui->dateStart->calendarWidget()->setWeekdayTextFormat(Qt::Saturday, format); ui->dateStart->calendarWidget()->setWeekdayTextFormat(Qt::Sunday, format); ui->dateEnd->calendarWidget()->setWeekdayTextFormat(Qt::Saturday, format); ui->dateEnd->calendarWidget()->setWeekdayTextFormat(Qt::Sunday, format); // Connect the signals to update which days have CPAP data when the month is changed connect(ui->dateStart->calendarWidget(), SIGNAL(currentPageChanged(int, int)), SLOT(dateStart_currentPageChanged(int, int))); connect(ui->dateEnd->calendarWidget(), SIGNAL(currentPageChanged(int, int)), SLOT(dateEnd_currentPageChanged(int, int))); QVBoxLayout *framelayout = new QVBoxLayout; ui->graphArea->setLayout(framelayout); QFrame *border = new QFrame(ui->graphArea); framelayout->setMargin(1); border->setFrameShape(QFrame::StyledPanel); framelayout->addWidget(border,1); // Create the horizontal layout to hold the GraphView object and it's scrollbar layout = new QHBoxLayout(border); layout->setSpacing(0); // remove the ugly margins/spacing layout->setMargin(0); layout->setContentsMargins(0, 0, 0, 0); border->setLayout(layout); border->setAutoFillBackground(false); // Create the GraphView Object GraphView = new gGraphView(ui->graphArea, m_shared); GraphView->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); GraphView->setEmptyText(STR_Empty_NoData); // Create the custom scrollbar and attach to GraphView scrollbar = new MyScrollBar(ui->graphArea); scrollbar->setOrientation(Qt::Vertical); scrollbar->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Expanding); scrollbar->setMaximumWidth(20); GraphView->setScrollBar(scrollbar); // Add the graphView and scrollbar to the layout. layout->addWidget(GraphView, 1); layout->addWidget(scrollbar, 0); layout->layout(); dateLabel = new MyLabel(this); dateLabel->setAlignment(Qt::AlignVCenter); dateLabel->setText("[Date Widget]"); QFont font = dateLabel->font(); font.setPointSizeF(font.pointSizeF()*1.3F); dateLabel->setFont(font); QPalette palette = dateLabel->palette(); palette.setColor(QPalette::Base, Qt::blue); dateLabel->setPalette(palette); ui->dateLayout->addWidget(dateLabel,1); // uc = new SummaryChart(STR_UNIT_Hours, GT_BAR); // uc->addSlice(NoChannel, COLOR_Green, ST_HOURS); // UC->AddLayer(uc); /* return; // TODO: Automate graph creation process float percentile = p_profile->general->prefCalcPercentile() / 100.0; int mididx = p_profile->general->prefCalcMiddle(); SummaryType ST_mid; if (mididx == 0) { ST_mid = ST_PERC; } if (mididx == 1) { ST_mid = ST_WAVG; } if (mididx == 2) { ST_mid = ST_AVG; } SummaryType ST_max = p_profile->general->prefCalcMax() ? ST_PERC : ST_MAX; const EventDataType maxperc = 0.995F; US = createGraph(STR_GRAPH_SessionTimes, tr("Session Times"), tr("Session Times\n(hours)"), YT_Time); SET = createGraph("Settings", STR_TR_Settings, STR_TR_Settings); TGMV = createGraph(schema::channel[CPAP_TgMV].code(), schema::channel[CPAP_TgMV].label(), tr("Target\nVentilation\n(L/min)")); PTB = createGraph(schema::channel[CPAP_PTB].code(), schema::channel[CPAP_PTB].label(), tr("Patient\nTriggered\nBreaths\n(%)")); SES = createGraph(STR_GRAPH_Sessions, STR_TR_Sessions, STR_TR_Sessions + tr("\n(count)")); ahihr = new SummaryChart(STR_UNIT_EventsPerHour, GT_POINTS); ahihr->addSlice(ahicode, COLOR_Blue, ST_MAX); ahihr->addSlice(ahicode, COLOR_Orange, ST_WAVG); AHIHR->AddLayer(ahihr); weight = new SummaryChart(STR_TR_Weight, GT_POINTS); weight->setMachineType(MT_JOURNAL); weight->addSlice(Journal_Weight, COLOR_Black, ST_SETAVG); WEIGHT->AddLayer(weight); bmi = new SummaryChart(STR_TR_BMI, GT_POINTS); bmi->setMachineType(MT_JOURNAL); bmi->addSlice(Journal_BMI, COLOR_DarkBlue, ST_SETAVG); BMI->AddLayer(bmi); zombie = new SummaryChart(tr("Zombie Meter"), GT_POINTS); zombie->setMachineType(MT_JOURNAL); zombie->addSlice(Journal_ZombieMeter, COLOR_DarkRed, ST_SETAVG); ZOMBIE->AddLayer(zombie); pulse = new SummaryChart(STR_TR_PulseRate, GT_POINTS); pulse->setMachineType(MT_OXIMETER); pulse->addSlice(OXI_Pulse, COLOR_Red, ST_mid, 0.5); pulse->addSlice(OXI_Pulse, COLOR_Pink, ST_MIN); pulse->addSlice(OXI_Pulse, COLOR_Orange, ST_MAX); PULSE->AddLayer(pulse); spo2 = new SummaryChart(STR_TR_SpO2, GT_POINTS); spo2->setMachineType(MT_OXIMETER); spo2->addSlice(OXI_SPO2, COLOR_Cyan, ST_mid, 0.5); spo2->addSlice(OXI_SPO2, COLOR_LightBlue, ST_PERC, percentile); spo2->addSlice(OXI_SPO2, COLOR_Blue, ST_MIN); SPO2->AddLayer(spo2); fl = new SummaryChart(STR_TR_FL, GT_POINTS); fl->addSlice(CPAP_FlowLimit, COLOR_Brown, ST_CPH); FL->AddLayer(fl); sa = new SummaryChart(STR_TR_SA, GT_POINTS); sa->addSlice(CPAP_SensAwake, COLOR_Brown, ST_CNT); SA->AddLayer(sa); us = new SummaryChart(STR_UNIT_Hours, GT_SESSIONS); us->addSlice(NoChannel, COLOR_DarkBlue, ST_HOURS); us->addSlice(NoChannel, COLOR_Blue, ST_SESSIONS); US->AddLayer(us); ses = new SummaryChart(STR_TR_Sessions, GT_POINTS); ses->addSlice(NoChannel, COLOR_Blue, ST_SESSIONS); SES->AddLayer(ses); if (ahicode == CPAP_RDI) { bc = new SummaryChart(STR_TR_RDI, GT_BAR); } else { bc = new SummaryChart(STR_TR_AHI, GT_BAR); } bc->addSlice(CPAP_ClearAirway, COLOR_ClearAirway, ST_CPH); bc->addSlice(CPAP_Obstructive, COLOR_Obstructive, ST_CPH); bc->addSlice(CPAP_Apnea, COLOR_Apnea, ST_CPH); bc->addSlice(CPAP_Hypopnea, COLOR_Hypopnea, ST_CPH); if (p_profile->general->calculateRDI()) { bc->addSlice(CPAP_RERA, COLOR_RERA, ST_CPH); } // bc->addSlice(CPAP_UserFlag1, COLOR_UserFlag1, ST_CPH); // bc->addSlice(CPAP_UserFlag2, COLOR_UserFlag2, ST_CPH); AHI->AddLayer(bc); set = new SummaryChart("", GT_POINTS); //set->addSlice(PRS1_SysOneResistSet,COLOR_Gray,ST_SETAVG); set->addSlice(CPAP_HumidSetting, COLOR_Blue, ST_SETWAVG); set->addSlice(CPAP_PresReliefLevel, COLOR_Red, ST_SETWAVG); set->addSlice(CPAP_PresReliefMode, COLOR_Red, ST_SETWAVG); // set->addSlice(RMS9_EPRLevel,COLOR_Green,ST_SETWAVG); //set->addSlice(INTP_SmartFlex,COLOR_Purple,ST_SETWAVG); SET->AddLayer(set); rr = new SummaryChart(tr("breaths/min"), GT_POINTS); rr->addSlice(CPAP_RespRate, COLOR_LightBlue, ST_MIN); rr->addSlice(CPAP_RespRate, COLOR_Blue, ST_mid, 0.5); rr->addSlice(CPAP_RespRate, COLOR_LightGreen, ST_PERC, percentile); rr->addSlice(CPAP_RespRate, COLOR_Green, ST_max, maxperc); // rr->addSlice(CPAP_RespRate,COLOR_Green,ST_MAX); RR->AddLayer(rr); tv = new SummaryChart(tr("L/b"), GT_POINTS); tv->addSlice(CPAP_TidalVolume, COLOR_LightBlue, ST_MIN); tv->addSlice(CPAP_TidalVolume, COLOR_Blue, ST_mid, 0.5); tv->addSlice(CPAP_TidalVolume, COLOR_LightGreen, ST_PERC, percentile); tv->addSlice(CPAP_TidalVolume, COLOR_Green, ST_max, maxperc); TV->AddLayer(tv); mv = new SummaryChart(STR_UNIT_LPM, GT_POINTS); mv->addSlice(CPAP_MinuteVent, COLOR_LightBlue, ST_MIN); mv->addSlice(CPAP_MinuteVent, COLOR_Blue, ST_mid, 0.5); mv->addSlice(CPAP_MinuteVent, COLOR_LightGreen, ST_PERC, percentile); mv->addSlice(CPAP_MinuteVent, COLOR_Green, ST_max, maxperc); MV->AddLayer(mv); // should merge... tgmv = new SummaryChart(STR_UNIT_LPM, GT_POINTS); tgmv->addSlice(CPAP_TgMV, COLOR_LightBlue, ST_MIN); tgmv->addSlice(CPAP_TgMV, COLOR_Blue, ST_mid, 0.5); tgmv->addSlice(CPAP_TgMV, COLOR_LightGreen, ST_PERC, percentile); tgmv->addSlice(CPAP_TgMV, COLOR_Green, ST_max, maxperc); TGMV->AddLayer(tgmv); ptb = new SummaryChart(tr("%PTB"), GT_POINTS); ptb->addSlice(CPAP_PTB, COLOR_Yellow, ST_MIN); ptb->addSlice(CPAP_PTB, COLOR_Blue, ST_mid, 0.5); ptb->addSlice(CPAP_PTB, COLOR_LightGray, ST_PERC, percentile); ptb->addSlice(CPAP_PTB, COLOR_Orange, ST_WAVG); PTB->AddLayer(ptb); pr = new SummaryChart(STR_TR_Pressure, GT_POINTS); // Added in summarychart.. Slightly annoying.. PR->AddLayer(pr); totlk = new SummaryChart(STR_TR_TotalLeaks, GT_POINTS); totlk->addSlice(CPAP_LeakTotal, COLOR_LightBlue, ST_mid, 0.5); totlk->addSlice(CPAP_LeakTotal, COLOR_DarkGray, ST_PERC, percentile); totlk->addSlice(CPAP_LeakTotal, COLOR_Gray, ST_max, maxperc); //tot->addSlice(CPAP_Leak, COLOR_DarkBlue, ST_WAVG); //tot->addSlice(CPAP_Leak, COLOR_DarkYellow); TOTLK->AddLayer(totlk); NLL->AddLayer(nll = new SummaryChart(tr("% %1").arg(schema::channel[CPAP_LargeLeak].fullname()), GT_POINTS)); nll->addSlice(CPAP_LargeLeak, schema::channel[CPAP_LargeLeak].defaultColor(), ST_SPH); // <--- The code to the previous marker is crap AHI->setPinned(false); SES->setRecMinY(1); SET->setRecMinY(0); //SET->setRecMaxY(5); */ RebuildGraphs(false); ui->rangeCombo->setCurrentIndex(p_profile->general->lastOverviewRange()); icon_on = new QIcon(":/icons/session-on.png"); icon_off = new QIcon(":/icons/session-off.png"); GraphView->resetLayout(); GraphView->LoadSettings("Overview"); //no trans GraphView->setEmptyImage(QPixmap(":/docs/sheep.png")); connect(GraphView, SIGNAL(updateCurrentTime(double)), this, SLOT(on_LineCursorUpdate(double))); connect(GraphView, SIGNAL(updateRange(double,double)), this, SLOT(on_RangeUpdate(double,double))); connect(GraphView, SIGNAL(GraphsChanged()), this, SLOT(updateGraphCombo())); }
PreferencesDialog::PreferencesDialog(QWidget *parent,Profile * _profile) : QDialog(parent), ui(new Ui::PreferencesDialog), profile(_profile) { ui->setupUi(this); ui->leakProfile->setRowCount(5); ui->leakProfile->setColumnCount(2); ui->leakProfile->horizontalHeader()->setStretchLastSection(true); ui->leakProfile->setColumnWidth(0,100); ui->maskTypeCombo->clear(); //ui->customEventGroupbox->setEnabled(false); QString masktype=tr("Nasal Pillows"); //masktype=PROFILEMaskType for (int i=0;i<num_masks;i++) { ui->maskTypeCombo->addItem(masks[i].name); /*if (masktype==masks[i].name) { ui->maskTypeCombo->setCurrentIndex(i); on_maskTypeCombo_activated(i); }*/ } QLocale locale=QLocale::system(); QString shortformat=locale.dateFormat(QLocale::ShortFormat); if (!shortformat.toLower().contains("yyyy")) { shortformat.replace("yy","yyyy"); } ui->startedUsingMask->setDisplayFormat(shortformat); Qt::DayOfWeek dow=firstDayOfWeekFromLocale(); ui->startedUsingMask->calendarWidget()->setFirstDayOfWeek(dow); ui->tabWidget->removeTab(ui->tabWidget->indexOf(ui->colourTab)); // Stop both calendar drop downs highlighting weekends in red QTextCharFormat format = ui->startedUsingMask->calendarWidget()->weekdayTextFormat(Qt::Saturday); format.setForeground(QBrush(Qt::black, Qt::SolidPattern)); ui->startedUsingMask->calendarWidget()->setWeekdayTextFormat(Qt::Saturday, format); ui->startedUsingMask->calendarWidget()->setWeekdayTextFormat(Qt::Sunday, format); //ui->leakProfile->setColumnWidth(1,ui->leakProfile->width()/2); { QString filename=PROFILE.Get("{DataFolder}/ImportLocations.txt"); QFile file(filename); file.open(QFile::ReadOnly); QTextStream textStream(&file); while (1) { QString line = textStream.readLine(); if (line.isNull()) break; else if (line.isEmpty()) continue; else { importLocations.append(line); } }; file.close(); } importModel=new QStringListModel(importLocations,this); ui->importListWidget->setModel(importModel); //ui->tabWidget->removeTab(3); Q_ASSERT(profile!=NULL); ui->tabWidget->setCurrentIndex(0); //i=ui->timeZoneCombo->findText((*profile)["TimeZone"].toString()); //ui->timeZoneCombo->setCurrentIndex(i); ui->spo2Drop->setValue(profile->oxi->spO2DropPercentage()); ui->spo2DropTime->setValue(profile->oxi->spO2DropDuration()); ui->pulseChange->setValue(profile->oxi->pulseChangeBPM()); ui->pulseChangeTime->setValue(profile->oxi->pulseChangeDuration()); ui->oxiDiscardThreshold->setValue(profile->oxi->oxiDiscardThreshold()); ui->AddRERAtoAHI->setChecked(profile->general->calculateRDI()); ui->timeEdit->setTime(profile->session->daySplitTime()); int val=profile->session->combineCloseSessions(); ui->combineSlider->setValue(val); if (val>0) { ui->combineLCD->display(val); } else ui->combineLCD->display(STR_GEN_Off); val=profile->session->ignoreShortSessions(); ui->IgnoreSlider->setValue(val); if (val>0) { ui->IgnoreLCD->display(val); } else ui->IgnoreLCD->display(STR_GEN_Off); ui->applicationFont->setCurrentFont(QApplication::font()); //ui->applicationFont->setFont(QApplication::font()); ui->applicationFontSize->setValue(QApplication::font().pointSize()); ui->applicationFontBold->setChecked(QApplication::font().weight()==QFont::Bold); ui->applicationFontItalic->setChecked(QApplication::font().italic()); ui->graphFont->setCurrentFont(*defaultfont); //ui->graphFont->setFont(*defaultfont); ui->graphFontSize->setValue(defaultfont->pointSize()); ui->graphFontBold->setChecked(defaultfont->weight()==QFont::Bold); ui->graphFontItalic->setChecked(defaultfont->italic()); ui->titleFont->setCurrentFont(*mediumfont); //ui->titleFont->setFont(*mediumfont); ui->titleFontSize->setValue(mediumfont->pointSize()); ui->titleFontBold->setChecked(mediumfont->weight()==QFont::Bold); ui->titleFontItalic->setChecked(mediumfont->italic()); ui->bigFont->setCurrentFont(*bigfont); //ui->bigFont->setFont(*bigfont); ui->bigFontSize->setValue(bigfont->pointSize()); ui->bigFontBold->setChecked(bigfont->weight()==QFont::Bold); ui->bigFontItalic->setChecked(bigfont->italic()); ui->startedUsingMask->setDate(profile->cpap->maskStartDate()); ui->leakModeCombo->setCurrentIndex(profile->cpap->leakMode()); int mt=(int)profile->cpap->maskType(); ui->maskTypeCombo->setCurrentIndex(mt); on_maskTypeCombo_activated(mt); ui->maskDescription->setText(profile->cpap->maskDescription()); ui->useAntiAliasing->setChecked(profile->appearance->antiAliasing()); ui->useSquareWavePlots->setChecked(profile->appearance->squareWavePlots()); ui->enableGraphSnapshots->setChecked(profile->appearance->graphSnapshots()); ui->skipLoginScreen->setChecked(PREF[STR_GEN_SkipLogin].toBool()); ui->allowEarlyUpdates->setChecked(PREF[STR_PREF_AllowEarlyUpdates].toBool()); ui->clockDrift->setValue(profile->cpap->clockDrift()); ui->skipEmptyDays->setChecked(profile->general->skipEmptyDays()); ui->enableMultithreading->setChecked(profile->session->multithreading()); ui->cacheSessionData->setChecked(profile->session->cacheSessions()); ui->animationsAndTransitionsCheckbox->setChecked(profile->appearance->animations()); ui->complianceGroupbox->setChecked(profile->cpap->showComplianceInfo()); ui->complianceHours->setValue(profile->cpap->complianceHours()); ui->prefCalcMiddle->setCurrentIndex(profile->general->prefCalcMiddle()); ui->prefCalcMax->setCurrentIndex(profile->general->prefCalcMax()); float f=profile->general->prefCalcPercentile(); ui->prefCalcPercentile->setValue(f); ui->tooltipTimeoutSlider->setValue(profile->general->tooltipTimeout()); bool bcd=profile->session->backupCardData(); ui->createSDBackups->setChecked(bcd); ui->compressSDBackups->setEnabled(bcd); ui->compressSDBackups->setChecked(profile->session->compressBackupData()); ui->compressSessionData->setChecked(profile->session->compressSessionData()); ui->graphHeight->setValue(profile->appearance->graphHeight()); if (!PREF.contains(STR_GEN_UpdatesAutoCheck)) PREF[STR_GEN_UpdatesAutoCheck]=true; ui->automaticallyCheckUpdates->setChecked(PREF[STR_GEN_UpdatesAutoCheck].toBool()); if (!PREF.contains(STR_GEN_UpdateCheckFrequency)) PREF[STR_GEN_UpdateCheckFrequency]=3; ui->updateCheckEvery->setValue(PREF[STR_GEN_UpdateCheckFrequency].toInt()); if (PREF.contains(STR_GEN_UpdatesLastChecked)) { RefreshLastChecked(); } else ui->updateLastChecked->setText("Never"); ui->overlayFlagsCombo->setCurrentIndex(profile->appearance->overlayType()); ui->oximetryGroupBox->setChecked(profile->oxi->oximetryEnabled()); ui->oximetrySync->setChecked(profile->oxi->syncOximetry()); int ot=ui->oximetryType->findText(profile->oxi->oximeterType(),Qt::MatchExactly); if (ot<0) ot=0; ui->oximetryType->setCurrentIndex(ot); ui->ahiGraphWindowSize->setEnabled(false); ui->ahiGraphWindowSize->setValue(profile->cpap->AHIWindow()); ui->ahiGraphZeroReset->setChecked(profile->cpap->AHIReset()); ui->customEventGroupbox->setChecked(profile->cpap->userEventFlagging()); ui->apneaDuration->setValue(profile->cpap->userEventDuration()); ui->apneaFlowRestriction->setValue(profile->cpap->userFlowRestriction()); ui->userEventDuplicates->setChecked(profile->cpap->userEventDuplicates()); ui->userEventDuplicates->setVisible(false); ui->eventTable->setColumnWidth(0,40); ui->eventTable->setColumnWidth(1,55); ui->eventTable->setColumnHidden(3,true); int row=0; QTableWidgetItem *item; QHash<QString, schema::Channel *>::iterator ci; for (ci=schema::channel.names.begin();ci!=schema::channel.names.end();ci++) { if (ci.value()->type()==schema::DATA) { ui->eventTable->insertRow(row); int id=ci.value()->id(); ui->eventTable->setItem(row,3,new QTableWidgetItem(QString::number(id))); item=new QTableWidgetItem(ci.value()->description()); ui->eventTable->setItem(row,2,item); QCheckBox *c=new QCheckBox(ui->eventTable); c->setChecked(true); QLabel *pb=new QLabel(ui->eventTable); pb->setText("foo"); ui->eventTable->setCellWidget(row,0,c); ui->eventTable->setCellWidget(row,1,pb); QColor a=ci.value()->defaultColor();//(rand() % 255, rand() % 255, rand() % 255, 255); QPalette p(a,a,a,a,a,a,a); pb->setPalette(p); pb->setAutoFillBackground(true); pb->setBackgroundRole(QPalette::Background); row++; } } /* QLocale locale=QLocale::system(); QString shortformat=locale.dateFormat(QLocale::ShortFormat); if (!shortformat.toLower().contains("yyyy")) { shortformat.replace("yy","yyyy"); }*/ graphFilterModel=new MySortFilterProxyModel(this); graphModel=new QStandardItemModel(this); graphFilterModel->setSourceModel(graphModel); graphFilterModel->setFilterCaseSensitivity(Qt::CaseInsensitive); graphFilterModel->setFilterKeyColumn(0); ui->graphView->setModel(graphFilterModel); resetGraphModel(); // tree->sortByColumn(0,Qt::AscendingOrder); }