Exemplo n.º 1
0
void MainWindow::triggerWarningAlarm() {
    clearAlarm();
    m_belowAlarmTime = true;

    if (m_useLED) {
        qDebug() << "alarm time";
#ifdef IS_MAEMO
        QDBusMessage reply;

        // set the LED pattern
        reply = m_dbusInterface->call(MCE_ACTIVATE_LED_PATTERN, "PatternError");
        if (reply.type() == QDBusMessage::ErrorMessage)
            qDebug() << reply.errorMessage();

        // turn on the display too
        reply = m_dbusInterface->call(MCE_DISPLAY_ON_REQ, 1);
        if (reply.type() == QDBusMessage::ErrorMessage)
            qDebug() << reply.errorMessage();
#endif
    }

    if (m_useSounds) {
        qDebug() << "playing sound";

        m_warningFile.setFileName(DATADIR "/agenda/sounds/KDE_NotifySm.wav");
        m_warningFile.open(QIODevice::ReadOnly);

        m_audioOut->reset();
        m_audioOut->start(&m_warningFile);
    }
}
Exemplo n.º 2
0
bool RTC_DS3231::setAlarm(uint8_t alarm) {
   clearAlarm(alarm);
   uint8_t ctrl = read_i2c_register(DS3231_ADDRESS, DS3231_CONTROL);
   ctrl |= 0x04;  // turn on INTCN
   ctrl |= alarm;  // set bit alarm
   write_i2c_register(DS3231_ADDRESS, DS3231_CONTROL, ctrl);
   return true;
}
Exemplo n.º 3
0
void MainWindow::startOrStop() {
    if (m_timer.isActive()) {
        m_timer.stop();
        clearAlarm();
        ui->start->setText("Start");
    } else {
        m_timer.start(1000);
        ui->start->setText("Pause");
    }
}
Exemplo n.º 4
0
void MainWindow::switchToTopic(int number) {
    if (number > m_topics.count() || number < 1)
        return;

    m_currentTopic = number;
    AgendaTopic *topic = m_topics[number-1];
    ui->topic->setText(topic->topicName());

    if (number < m_topics.count()) {
        ui->nextTopic->setText(m_topics[number]->topicName());
    } else {
        ui->nextTopic->setText("");
    }

    clearAlarm();
    calculateTotalTimes();
    updateScreenTimers();
}
Exemplo n.º 5
0
void MainWindow::updateScreenTimers() {
    QString timerText;

    // Display the current agenda's time left
    if (m_topics[m_currentTopic-1]->timeSpent() > m_topics[m_currentTopic-1]->timeNeeded()) {
        timerText = "<font color=\"red\">";
    } else {
        timerText = "<font color=\"green\">";
    }
    ui->timeLeft->setText(timerText + m_topics[m_currentTopic-1]->timeSpentStr() + QString(" / ") + m_topics[m_currentTopic-1]->timeNeededStr() + "</font>");

    // Maybe trigger the alarm
    QTime curTime = m_topics[m_currentTopic-1]->timeSpent().addSecs(m_alarmTime);
    qDebug() << "checking: " << m_belowAlarmTime << " - " << curTime << " - " <<  m_topics[m_currentTopic-1]->timeNeeded();
    if (!m_belowAlarmTime && curTime > m_topics[m_currentTopic-1]->timeNeeded()) {
        triggerWarningAlarm();
    } else if (m_belowAlarmTime && curTime <= m_topics[m_currentTopic-1]->timeNeeded()) {
        clearAlarm();
    }

    if (!m_belowEndTime && m_topics[m_currentTopic-1]->timeSpent() > m_topics[m_currentTopic-1]->timeNeeded()) {
        triggerEndAlarm();
    }

    // Display th e total quantity of time left
    if (m_spentTime > m_totalNeededTime) {
        timerText = "<font color=\"red\">";
    } else {
        timerText = "<font color=\"green\">";
    }
    ui->totalTime->setText(timerText + m_topics[m_currentTopic-1]->formatTime(m_spentTime) + QString(" / ") + m_topics[m_currentTopic-1]->formatTime(m_totalNeededTime) + "</font>");

    if (m_deltaIsNegative) {
        timerText = "<font color=\"red\"> -";
    } else {
        timerText = "<font color=\"green\"> +";
    }
    ui->delta->setText(timerText + m_deltaTime.toString("mm:ss") + "</font>");
}
Exemplo n.º 6
0
/******************************************************************************************
* @brief	checkAlarm
*
* purpose:	check to see if an alarm(s) is set on device and clear if so
*
******************************************************************************************/
void ServerMonitor::checkAlarm(string alarmItem, ALARMS alarmID)
{
	Oam oam;

	// get current server name
	string moduleName;
	oamModuleInfo_t st;
	try {
		st = oam.getModuleInfo();
		moduleName = boost::get<0>(st);
	}
	catch (...) {
		moduleName = "Unknown Server";
	}

	switch (alarmID) {
		case NO_ALARM: 	// clear all alarms set if any found
			if ( oam.checkActiveAlarm(HARDWARE_HIGH, moduleName, alarmItem) )
				//  alarm set, clear it
				clearAlarm(alarmItem, HARDWARE_HIGH);
			if ( oam.checkActiveAlarm(HARDWARE_MED, moduleName, alarmItem) )
				//  alarm set, clear it
				clearAlarm(alarmItem, HARDWARE_MED);
			if ( oam.checkActiveAlarm(HARDWARE_LOW, moduleName, alarmItem) )
				//  alarm set, clear it
				clearAlarm(alarmItem, HARDWARE_LOW);
			break;
		case HARDWARE_LOW: 	// clear high and medium alarms set if any found
			if ( oam.checkActiveAlarm(HARDWARE_HIGH, moduleName, alarmItem) )
				//  alarm set, clear it
				clearAlarm(alarmItem, HARDWARE_HIGH);
			if ( oam.checkActiveAlarm(HARDWARE_MED, moduleName, alarmItem) )
				//  alarm set, clear it
				clearAlarm(alarmItem, HARDWARE_MED);
			break;
		case HARDWARE_MED: 	// clear high alarms set if any found
			if ( oam.checkActiveAlarm(HARDWARE_HIGH, moduleName, alarmItem) )
				//  alarm set, clear it
				clearAlarm(alarmItem, HARDWARE_HIGH);
			break;
		default:			// none to clear
			break;
		} // end of switch
	return;
}
Exemplo n.º 7
0
MainWindow::~MainWindow()
{
    clearAlarm();
    delete ui;
}
Exemplo n.º 8
0
void MainWindow::setUseLED(bool value) {
    m_useLED = value;
    if (!m_useLED)
        clearAlarm();
}