void MainWindow::create_actions(){ quit_action = new QAction("Выход", this); quit_action->setStatusTip("Выход из программы"); connect(quit_action, SIGNAL(activated()), this, SLOT(send_exit())); settings_action = new QAction("Настройки", this); quit_action->setStatusTip("Открыть окно настроек"); connect(settings_action, SIGNAL(activated()), this, SLOT(send_settings())); }
void handle_settings() { if (state != StateConnected) { send_error(ErrorDisconnect, message.sequence); return; } if (message.data_size < 2) { send_error(ErrorParser, message.sequence); return; } const uint8_t type = message.data[0]; const uint8_t key = message.data[1]; if (message.data_size == 2) // no value = request to read back setting { send_ack(message.sequence); send_settings(type, key, message.sequence); return; } switch (type) { case SettingsByte: if (message.data_size != 3) { send_error(ErrorParser, message.sequence); return; } settings_set_byte(key, message.data[2]); break; case SettingsWord: if (message.data_size != 4) { send_error(ErrorParser, message.sequence); return; } settings_set_word(key, (uint16_t)(message.data[2] << 8) | (uint16_t)message.data[3]); break; case SettingsArray: settings_set_array(key, message.data_size - 2, &message.data[2]); break; default: send_error(ErrorUnhandled, message.sequence); return; } send_ack(message.sequence); }