UI style improvements with improved keyboard (#2710)

* fix spaces and make spacebar dynamically sized

* some spaces and a comment

* more spaces

* const

Co-authored-by: Comma Device <device@comma.ai>
pull/2718/head
grekiki 2020-12-08 12:00:51 +01:00 committed by GitHub
parent 9803d3fcdc
commit 3e466aa528
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 125 additions and 122 deletions

View File

@ -25,7 +25,7 @@ std::string getenv_default(const char* env_var, const char * suffix, const char*
const char* env_val = getenv(env_var);
if (env_val != NULL){
return std::string(env_val) + std::string(suffix);
} else{
} else {
return std::string(default_val);
}
}

View File

@ -134,7 +134,7 @@ int main(int argc, char* argv[]) {
float brightness_b = 0, brightness_m = 0;
int result = read_param(&brightness_b, "BRIGHTNESS_B", true);
result += read_param(&brightness_m, "BRIGHTNESS_M", true);
if(result != 0) {
if (result != 0) {
brightness_b = LEON ? 10.0 : 5.0;
brightness_m = LEON ? 2.6 : 1.3;
write_param_float(brightness_b, "BRIGHTNESS_B", true);

View File

@ -153,7 +153,7 @@ static void update_track_data(UIState *s, const cereal::ModelDataV2::XYZTData::R
const float off = 0.5;
int max_idx = 0;
float lead_d;
if(s->sm->updated("radarState")) {
if (s->sm->updated("radarState")) {
lead_d = scene->lead_data[0].getDRel()*2.;
} else {
lead_d = MAX_DRAW_DISTANCE;
@ -230,7 +230,7 @@ static void ui_draw_vision_lane_lines(UIState *s) {
// paint lanelines
line_vertices_data *pvd_ll = &s->lane_line_vertices[0];
for (int ll_idx = 0; ll_idx < 4; ll_idx++) {
if(s->sm->updated("modelV2")) {
if (s->sm->updated("modelV2")) {
update_line_data(s, scene->model.getLaneLines()[ll_idx], 0.025*scene->model.getLaneLineProbs()[ll_idx], pvd_ll + ll_idx, scene->max_distance);
}
NVGcolor color = nvgRGBAf(1.0, 1.0, 1.0, scene->lane_line_probs[ll_idx]);
@ -240,7 +240,7 @@ static void ui_draw_vision_lane_lines(UIState *s) {
// paint road edges
line_vertices_data *pvd_re = &s->road_edge_vertices[0];
for (int re_idx = 0; re_idx < 2; re_idx++) {
if(s->sm->updated("modelV2")) {
if (s->sm->updated("modelV2")) {
update_line_data(s, scene->model.getRoadEdges()[re_idx], 0.025, pvd_re + re_idx, scene->max_distance);
}
NVGcolor color = nvgRGBAf(1.0, 0.0, 0.0, std::clamp<float>(1.0-scene->road_edge_stds[re_idx], 0.0, 1.0));
@ -248,7 +248,7 @@ static void ui_draw_vision_lane_lines(UIState *s) {
}
// paint path
if(s->sm->updated("modelV2")) {
if (s->sm->updated("modelV2")) {
update_track_data(s, scene->model.getPosition(), &s->track_vertices);
}
ui_draw_track(s, &s->track_vertices);

View File

@ -85,12 +85,12 @@ void OffroadHome::refresh() {
// update alerts
alerts_widget->refresh();
if (!alerts_widget->alerts.size() && !alerts_widget->updateAvailable){
if (!alerts_widget->alerts.size() && !alerts_widget->updateAvailable) {
alert_notification->setVisible(false);
return;
}
if (alerts_widget->updateAvailable){
if (alerts_widget->updateAvailable) {
// There is a new release
alert_notification->setText("UPDATE");
} else {
@ -148,7 +148,7 @@ void HomeWindow::mousePressEvent(QMouseEvent *e) {
}
// Vision click
if (ui_state->started && (e->x() >= ui_state->scene.viz_rect.x - bdr_s)){
if (ui_state->started && (e->x() >= ui_state->scene.viz_rect.x - bdr_s)) {
ui_state->scene.uilayout_sidebarcollapsed = !ui_state->scene.uilayout_sidebarcollapsed;
}
}
@ -161,14 +161,14 @@ static void handle_display_state(UIState *s, int dt, bool user_input) {
if (user_input || s->ignition || s->started) {
s->awake = true;
awake_timeout = 30*UI_FREQ;
} else if (awake_timeout == 0){
} else if (awake_timeout == 0) {
s->awake = false;
}
}
static void set_backlight(int brightness){
static void set_backlight(int brightness) {
std::ofstream brightness_control("/sys/class/backlight/panel0-backlight/brightness");
if (brightness_control.is_open()){
if (brightness_control.is_open()) {
brightness_control << brightness << "\n";
brightness_control.close();
}
@ -184,7 +184,7 @@ GLWindow::GLWindow(QWidget *parent) : QOpenGLWidget(parent) {
int result = read_param(&brightness_b, "BRIGHTNESS_B", true);
result += read_param(&brightness_m, "BRIGHTNESS_M", true);
if(result != 0) {
if (result != 0) {
brightness_b = 200.0;
brightness_m = 10.0;
}
@ -215,7 +215,7 @@ void GLWindow::initializeGL() {
backlight_timer->start(BACKLIGHT_DT * 100);
}
void GLWindow::backlightUpdate(){
void GLWindow::backlightUpdate() {
// Update brightness
float k = (BACKLIGHT_DT / BACKLIGHT_TS) / (1.0f + BACKLIGHT_DT / BACKLIGHT_TS);
@ -223,7 +223,7 @@ void GLWindow::backlightUpdate(){
smooth_brightness = clipped_brightness * k + smooth_brightness * (1.0f - k);
int brightness = smooth_brightness;
if (!ui_state->awake){
if (!ui_state->awake) {
brightness = 0;
}
@ -231,7 +231,7 @@ void GLWindow::backlightUpdate(){
}
void GLWindow::timerUpdate() {
if (ui_state->started != onroad){
if (ui_state->started != onroad) {
onroad = ui_state->started;
emit offroadTransition(!onroad);
#ifdef QCOM2
@ -255,9 +255,9 @@ void GLWindow::paintGL() {
ui_draw(ui_state);
}
void GLWindow::wake(){
void GLWindow::wake() {
// UI state might not be initialized yet
if (ui_state != nullptr){
if (ui_state != nullptr) {
handle_display_state(ui_state, 1, true);
}
}

View File

@ -24,13 +24,13 @@ ParamsToggle::ParamsToggle(QString param, QString title, QString description, QS
// Parameter image
hlayout->addSpacing(25);
if (icon_path.length()){
if (icon_path.length()) {
QPixmap pix(icon_path);
QLabel *icon = new QLabel();
icon->setPixmap(pix.scaledToWidth(100, Qt::SmoothTransformation));
icon->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
hlayout->addWidget(icon);
} else{
} else {
hlayout->addSpacing(100);
}
hlayout->addSpacing(25);
@ -50,7 +50,7 @@ ParamsToggle::ParamsToggle(QString param, QString title, QString description, QS
hlayout->addSpacing(20);
setLayout(hlayout);
if(Params().read_db_bool(param.toStdString().c_str())){
if (Params().read_db_bool(param.toStdString().c_str())) {
toggle_switch->togglePosition();
}
@ -66,7 +66,7 @@ ParamsToggle::ParamsToggle(QString param, QString title, QString description, QS
QObject::connect(toggle_switch, SIGNAL(stateChanged(int)), this, SLOT(checkboxClicked(int)));
}
void ParamsToggle::checkboxClicked(int state){
void ParamsToggle::checkboxClicked(int state) {
char value = state ? '1': '0';
Params().write_db_value(param.toStdString().c_str(), &value, 1);
}

View File

@ -10,7 +10,7 @@
void clearLayout(QLayout* layout) {
while (QLayoutItem* item = layout->takeAt(0)) {
if (QWidget* widget = item->widget()){
if (QWidget* widget = item->widget()) {
widget->deleteLater();
}
if (QLayout* childLayout = item->layout()) {
@ -37,7 +37,7 @@ WifiUI::WifiUI(QWidget *parent, int page_length) : QWidget(parent), networks_per
Toggle* toggle_switch = new Toggle(this);
toggle_switch->setFixedSize(150, 100);
tethering_field->addWidget(toggle_switch);
if (wifi->tetheringEnabled()){
if (wifi->tetheringEnabled()) {
toggle_switch->togglePosition();
}
QObject::connect(toggle_switch, SIGNAL(stateChanged(int)), this, SLOT(toggleTethering(int)));
@ -97,9 +97,9 @@ void WifiUI::refresh() {
int i = 0;
int countWidgets = 0;
int button_height = static_cast<int>(this->height() / (networks_per_page + 1) * 0.6);
for (Network &network : wifi->seen_networks){
for (Network &network : wifi->seen_networks) {
QHBoxLayout *hlayout = new QHBoxLayout;
if(page * networks_per_page <= i && i < (page + 1) * networks_per_page){
if (page * networks_per_page <= i && i < (page + 1) * networks_per_page) {
// SSID
hlayout->addSpacing(50);
hlayout->addWidget(new QLabel(QString::fromUtf8(network.ssid)));
@ -148,7 +148,7 @@ void WifiUI::refresh() {
}
// Pad vlayout to prevert oversized network widgets in case of low visible network count
for(int i = countWidgets; i < networks_per_page; i++) {
for (int i = countWidgets; i < networks_per_page; i++) {
QWidget *w = new QWidget;
vlayout->addWidget(w);
}
@ -187,10 +187,10 @@ void WifiUI::refresh() {
void WifiUI::toggleTethering(int enable){
if(enable){
void WifiUI::toggleTethering(int enable) {
if (enable) {
wifi->enableTethering();
}else{
} else {
wifi->disableTethering();
}
}
@ -201,14 +201,14 @@ void WifiUI::handleButton(QAbstractButton* button) {
connectToNetwork(n);
}
void WifiUI::connectToNetwork(Network n){
void WifiUI::connectToNetwork(Network n) {
timer->stop();
if(n.security_type == SecurityType::OPEN){
if (n.security_type == SecurityType::OPEN) {
wifi->connect(n);
} else if (n.security_type == SecurityType::WPA){
} else if (n.security_type == SecurityType::WPA) {
input_field->setPromptText("Enter password for \"" + n.ssid + "\"");
QString password = getStringFromUser();
if(password.size()){
if (password.size()) {
wifi->connect(n, password);
}
}
@ -216,7 +216,7 @@ void WifiUI::connectToNetwork(Network n){
timer->start();
}
QString WifiUI::getStringFromUser(){
QString WifiUI::getStringFromUser() {
emit openKeyboard();
swidget->setCurrentIndex(1);
loop.exec();
@ -231,12 +231,12 @@ void WifiUI::receiveText(QString t) {
}
void WifiUI::wrongPassword(QString ssid){
if(loop.isRunning()){
void WifiUI::wrongPassword(QString ssid) {
if (loop.isRunning()) {
return;
}
for(Network n : wifi->seen_networks){
if(n.ssid == ssid){
for (Network n : wifi->seen_networks) {
if (n.ssid == ssid) {
input_field->setPromptText("Wrong password for \"" + n.ssid +"\"");
connectToNetwork(n);
}

View File

@ -40,14 +40,14 @@ const int state_need_auth = 60;
const int reason_wrong_password = 8;
template <typename T>
T get_response(QDBusMessage response){
T get_response(QDBusMessage response) {
QVariant first = response.arguments().at(0);
QDBusVariant dbvFirst = first.value<QDBusVariant>();
QVariant vFirst = dbvFirst.variant();
return vFirst.value<T>();
}
bool compare_by_strength(const Network &a, const Network &b){
bool compare_by_strength(const Network &a, const Network &b) {
if (a.connected == ConnectedType::CONNECTED) return true;
if (b.connected == ConnectedType::CONNECTED) return false;
if (a.connected == ConnectedType::CONNECTING) return true;
@ -56,13 +56,13 @@ bool compare_by_strength(const Network &a, const Network &b){
}
WifiManager::WifiManager(){
WifiManager::WifiManager() {
qDBusRegisterMetaType<Connection>();
qDBusRegisterMetaType<IpConfig>();
connecting_to_network = "";
adapter = get_adapter();
has_adapter = adapter != "";
if (has_adapter){
if (has_adapter) {
QDBusInterface nm(nm_service, adapter, device_iface, bus);
bus.connect(nm_service, adapter, device_iface, "StateChanged", this, SLOT(change(unsigned int, unsigned int, unsigned int)));
@ -75,20 +75,20 @@ WifiManager::WifiManager(){
// Compute tethering ssid as "Weedle" + first 4 characters of a dongle id
tethering_ssid = "weedle";
std::string bytes = Params().get("DongleId");
if (bytes.length() >= 4){
if (bytes.length() >= 4) {
tethering_ssid+="-"+QString::fromStdString(bytes.substr(0,4));
}
}
void WifiManager::refreshNetworks(){
void WifiManager::refreshNetworks() {
if (!has_adapter) return;
bus = QDBusConnection::systemBus();
seen_networks.clear();
seen_ssids.clear();
for (Network &network : get_networks()){
if (seen_ssids.count(network.ssid)){
for (Network &network : get_networks()) {
if (seen_ssids.count(network.ssid)) {
continue;
}
seen_ssids.push_back(network.ssid);
@ -96,7 +96,7 @@ void WifiManager::refreshNetworks(){
}
}
QList<Network> WifiManager::get_networks(){
QList<Network> WifiManager::get_networks() {
QList<Network> r;
QDBusInterface nm(nm_service, adapter, wireless_device_iface, bus);
QDBusMessage response = nm.call("GetAllAccessPoints");
@ -113,18 +113,18 @@ QList<Network> WifiManager::get_networks(){
unsigned int strength = get_ap_strength(path.path());
SecurityType security = getSecurityType(path.path());
ConnectedType ctype;
if (path.path() != active_ap){
if (path.path() != active_ap) {
ctype = ConnectedType::DISCONNECTED;
}else {
if (ssid == connecting_to_network){
} else {
if (ssid == connecting_to_network) {
ctype = ConnectedType::CONNECTING;
}else {
} else {
ctype = ConnectedType::CONNECTED;
}
}
Network network = {path.path(), ssid, strength, ctype, security};
if (ssid.length()){
if (ssid.length()) {
r.push_back(network);
}
}
@ -134,7 +134,7 @@ QList<Network> WifiManager::get_networks(){
return r;
}
SecurityType WifiManager::getSecurityType(QString path){
SecurityType WifiManager::getSecurityType(QString path) {
int sflag = get_property(path, "Flags").toInt();
int wpaflag = get_property(path, "WpaFlags").toInt();
int rsnflag = get_property(path, "RsnFlags").toInt();
@ -143,7 +143,7 @@ SecurityType WifiManager::getSecurityType(QString path){
// obtained by looking at flags of networks in the office as reported by an Android phone
const int supports_wpa = NM_802_11_AP_SEC_PAIR_WEP40 | NM_802_11_AP_SEC_PAIR_WEP104 | NM_802_11_AP_SEC_GROUP_WEP40 | NM_802_11_AP_SEC_GROUP_WEP104 | NM_802_11_AP_SEC_KEY_MGMT_PSK;
if (sflag == 0){
if (sflag == 0) {
return SecurityType::OPEN;
} else if ((sflag & NM_802_11_AP_FLAGS_PRIVACY) && (wpa_props & supports_wpa) && !(wpa_props & NM_802_11_AP_SEC_KEY_MGMT_802_1X)) {
return SecurityType::WPA;
@ -152,22 +152,22 @@ SecurityType WifiManager::getSecurityType(QString path){
}
}
void WifiManager::connect(Network n){
void WifiManager::connect(Network n) {
return connect(n, "", "");
}
void WifiManager::connect(Network n, QString password){
void WifiManager::connect(Network n, QString password) {
return connect(n, "", password);
}
void WifiManager::connect(Network n, QString username, QString password){
void WifiManager::connect(Network n, QString username, QString password) {
connecting_to_network = n.ssid;
disconnect();
clear_connections(n.ssid); //Clear all connections that may already exist to the network we are connecting
connect(n.ssid, username, password, n.security_type);
}
void WifiManager::connect(QByteArray ssid, QString username, QString password, SecurityType security_type){
void WifiManager::connect(QByteArray ssid, QString username, QString password, SecurityType security_type) {
Connection connection;
connection["connection"]["type"] = "802-11-wireless";
connection["connection"]["uuid"] = QUuid::createUuid().toString().remove('{').remove('}');
@ -177,7 +177,7 @@ void WifiManager::connect(QByteArray ssid, QString username, QString password, S
connection["802-11-wireless"]["ssid"] = ssid;
connection["802-11-wireless"]["mode"] = "infrastructure";
if (security_type == SecurityType::WPA){
if (security_type == SecurityType::WPA) {
connection["802-11-wireless-security"]["key-mgmt"] = "wpa-psk";
connection["802-11-wireless-security"]["auth-alg"] = "open";
connection["802-11-wireless-security"]["psk"] = password;
@ -190,20 +190,20 @@ void WifiManager::connect(QByteArray ssid, QString username, QString password, S
nm_settings.call("AddConnection", QVariant::fromValue(connection));
}
void WifiManager::deactivate_connections(QString ssid){
for (QDBusObjectPath active_connection_raw : get_active_connections()){
void WifiManager::deactivate_connections(QString ssid) {
for (QDBusObjectPath active_connection_raw : get_active_connections()) {
QString active_connection = active_connection_raw.path();
QDBusInterface nm(nm_service, active_connection, props_iface, bus);
QDBusObjectPath pth = get_response<QDBusObjectPath>(nm.call("Get", connection_iface, "SpecificObject"));
QString Ssid = get_property(pth.path(), "Ssid");
if (Ssid == ssid){
if (Ssid == ssid) {
QDBusInterface nm2(nm_service, nm_path, nm_iface, bus);
nm2.call("DeactivateConnection", QVariant::fromValue(active_connection_raw));
}
}
}
QVector<QDBusObjectPath> WifiManager::get_active_connections(){
QVector<QDBusObjectPath> WifiManager::get_active_connections() {
QDBusInterface nm(nm_service, nm_path, props_iface, bus);
QDBusMessage response = nm.call("Get", nm_iface, "ActiveConnections");
QDBusArgument arr = get_response<QDBusArgument>(response);
@ -211,14 +211,14 @@ QVector<QDBusObjectPath> WifiManager::get_active_connections(){
QDBusObjectPath path;
arr.beginArray();
while (!arr.atEnd()){
while (!arr.atEnd()) {
arr >> path;
conns.push_back(path);
}
return conns;
}
void WifiManager::clear_connections(QString ssid){
void WifiManager::clear_connections(QString ssid) {
QDBusInterface nm(nm_service, nm_settings_path, nm_settings_iface, bus);
QDBusMessage response = nm.call("ListConnections");
QVariant first = response.arguments().at(0);
@ -237,9 +237,9 @@ void WifiManager::clear_connections(QString ssid){
for (QString outer_key : map.keys()) {
QMap<QString,QVariant> innerMap = map.value(outer_key);
for (QString inner_key : innerMap.keys()) {
if (inner_key == "ssid"){
if (inner_key == "ssid") {
QString value = innerMap.value(inner_key).value<QString>();
if (value == ssid){
if (value == ssid) {
nm2.call("Delete");
}
}
@ -248,40 +248,40 @@ void WifiManager::clear_connections(QString ssid){
}
}
void WifiManager::request_scan(){
void WifiManager::request_scan() {
if (!has_adapter) return;
QDBusInterface nm(nm_service, adapter, wireless_device_iface, bus);
nm.call("RequestScan", QVariantMap());
}
uint WifiManager::get_wifi_device_state(){
uint WifiManager::get_wifi_device_state() {
QDBusInterface device_props(nm_service, adapter, props_iface, bus);
QDBusMessage response = device_props.call("Get", device_iface, "State");
uint resp = get_response<uint>(response);
return resp;
}
QString WifiManager::get_active_ap(){
QString WifiManager::get_active_ap() {
QDBusInterface device_props(nm_service, adapter, props_iface, bus);
QDBusMessage response = device_props.call("Get", wireless_device_iface, "ActiveAccessPoint");
QDBusObjectPath r = get_response<QDBusObjectPath>(response);
return r.path();
}
QByteArray WifiManager::get_property(QString network_path ,QString property){
QByteArray WifiManager::get_property(QString network_path ,QString property) {
QDBusInterface device_props(nm_service, network_path, props_iface, bus);
QDBusMessage response = device_props.call("Get", ap_iface, property);
return get_response<QByteArray>(response);
}
unsigned int WifiManager::get_ap_strength(QString network_path){
unsigned int WifiManager::get_ap_strength(QString network_path) {
QDBusInterface device_props(nm_service, network_path, props_iface, bus);
QDBusMessage response = device_props.call("Get", ap_iface, "Strength");
return get_response<unsigned int>(response);
}
QString WifiManager::get_adapter(){
QString WifiManager::get_adapter() {
QDBusInterface nm(nm_service, nm_path, nm_iface, bus);
QDBusMessage response = nm.call("GetDevices");
@ -310,25 +310,25 @@ QString WifiManager::get_adapter(){
return adapter_path;
}
void WifiManager::change(unsigned int new_state,unsigned int previous_state,unsigned int change_reason){
void WifiManager::change(unsigned int new_state,unsigned int previous_state,unsigned int change_reason) {
raw_adapter_state = new_state;
if (new_state == state_need_auth && change_reason == reason_wrong_password){
if (new_state == state_need_auth && change_reason == reason_wrong_password) {
emit wrongPassword(connecting_to_network);
}else if (new_state == state_connected){
} else if (new_state == state_connected) {
connecting_to_network = "";
}
}
void WifiManager::disconnect(){
void WifiManager::disconnect() {
QString active_ap = get_active_ap();
if (active_ap!="" && active_ap!="/"){
if (active_ap!="" && active_ap!="/") {
deactivate_connections(get_property(active_ap, "Ssid"));
}
}
//Functions for tethering
void WifiManager::enableTethering(){
void WifiManager::enableTethering() {
disconnect();
Connection connection;
connection["connection"]["id"] = "Hotspot";
@ -359,11 +359,11 @@ void WifiManager::enableTethering(){
}
void WifiManager::disableTethering(){
void WifiManager::disableTethering() {
clear_connections(tethering_ssid);
}
bool WifiManager::tetheringEnabled(){
bool WifiManager::tetheringEnabled() {
QString active_ap = get_active_ap();
return get_property(active_ap, "Ssid") == tethering_ssid;
}

View File

@ -25,20 +25,20 @@ int fresh_clone() {
// Cleanup
err = std::system("rm -rf /tmp/openpilot");
if(err) return 1;
if (err) return 1;
err = std::system("rm -rf /data/openpilot");
if(err) return 1;
if (err) return 1;
// Clone
err = std::system("git clone " GIT_URL " -b " BRANCH " --depth=1 /tmp/openpilot");
if(err) return 1;
if (err) return 1;
err = std::system("cd /tmp/openpilot && git submodule update --init");
if(err) return 1;
if (err) return 1;
err = std::system("cd /tmp/openpilot && git remote set-url origin --push " GIT_SSH_URL);
if(err) return 1;
if (err) return 1;
err = std::system("mv /tmp/openpilot /data");
if(err) return 1;
if (err) return 1;
return 0;
}
@ -56,11 +56,11 @@ int install() {
std::cout << "Doing fresh clone\n";
err = fresh_clone();
if(err) return 1;
if (err) return 1;
// Write continue.sh
err = std::system("cp /data/openpilot/installer/continue_openpilot.sh " CONTINUE_PATH);
if(err == -1) return 1;
if (err == -1) return 1;
return 0;
}

View File

@ -76,10 +76,10 @@ QWidget * Setup::network_setup() {
WifiUI *wifi = new WifiUI(this, 6);
main_layout->addWidget(wifi);
QObject::connect(wifi, &WifiUI::openKeyboard, this, [=](){
QObject::connect(wifi, &WifiUI::openKeyboard, this, [=]() {
this->continue_btn->setVisible(false);
});
QObject::connect(wifi, &WifiUI::closeKeyboard, this, [=](){
QObject::connect(wifi, &WifiUI::closeKeyboard, this, [=]() {
this->continue_btn->setVisible(true);
});

View File

@ -44,18 +44,18 @@ void InputField::emitEmpty() {
}
void InputField::getText(QString s) {
if(!QString::compare(s,"")){
if (!QString::compare(s,"")) {
line->backspace();
}
if(!QString::compare(s,"")){
if (!QString::compare(s,"")) {
emitText(line->text());
line->setText("");
}
QVector<QString> control_buttons {"", "", "ABC", "", "#+=", "", "123"};
for(QString c : control_buttons){
if(!QString::compare(s, c)){
for(QString c : control_buttons) {
if (!QString::compare(s, c)) {
return;
}
}

View File

@ -7,34 +7,37 @@
#include "keyboard.hpp"
KeyboardLayout::KeyboardLayout(QWidget* parent, std::vector<QVector<QString>> layout) : QWidget(parent) {
const int DEFAULT_WIDTH = 1;
const int SPACEBAR_WIDTH = 3;
KeyboardLayout::KeyboardLayout(QWidget *parent, std::vector<QVector<QString>> layout) : QWidget(parent) {
QVBoxLayout* vlayout = new QVBoxLayout;
QButtonGroup* btn_group = new QButtonGroup(this);
QObject::connect(btn_group, SIGNAL(buttonClicked(QAbstractButton*)), parent, SLOT(handleButton(QAbstractButton*)));
int i = 0;
for(auto s : layout){
for (auto s : layout) {
QHBoxLayout *hlayout = new QHBoxLayout;
if (i == 1){
if (i == 1) {
hlayout->addSpacing(90);
}
for(QString p : s){
for (QString p : s) {
QPushButton* btn = new QPushButton(p);
btn->setFixedHeight(120);
if (p == QString(" ")){
btn->setFixedWidth(1024);
}
btn_group->addButton(btn);
hlayout->addSpacing(10);
hlayout->addWidget(btn);
if (p == QString(" ")) {
hlayout->addWidget(btn, SPACEBAR_WIDTH);
} else {
hlayout->addWidget(btn, DEFAULT_WIDTH);
}
}
if (i == 1){
if (i == 1) {
hlayout->addSpacing(90);
}
@ -99,24 +102,24 @@ Keyboard::Keyboard(QWidget *parent) : QWidget(parent) {
}
void Keyboard::handleButton(QAbstractButton* m_button){
void Keyboard::handleButton(QAbstractButton* m_button) {
QString id = m_button->text();
if(!QString::compare(m_button->text(),"")||!QString::compare(m_button->text(),"ABC")){
if (!QString::compare(m_button->text(), "") || !QString::compare(m_button->text(), "ABC")) {
main_layout->setCurrentIndex(0);
}
if(!QString::compare(m_button->text(),"")){
if (!QString::compare(m_button->text(), "")) {
main_layout->setCurrentIndex(1);
}
if(!QString::compare(m_button->text(),"123")){
if (!QString::compare(m_button->text(), "123")) {
main_layout->setCurrentIndex(2);
}
if(!QString::compare(m_button->text(),"#+=")){
if (!QString::compare(m_button->text(), "#+=")) {
main_layout->setCurrentIndex(3);
}
if(!QString::compare(m_button->text(),"")){
if (!QString::compare(m_button->text(), "")) {
main_layout->setCurrentIndex(0);
}
if("A" <= id && id <= "Z"){
if ("A" <= id && id <= "Z") {
main_layout->setCurrentIndex(0);
}
emit emitButton(m_button->text());

View File

@ -12,7 +12,7 @@
void cleanLayout(QLayout* layout) {
while (QLayoutItem* item = layout->takeAt(0)) {
if (QWidget* widget = item->widget()){
if (QWidget* widget = item->widget()) {
widget->deleteLater();
}
if (QLayout* childLayout = item->layout()) {
@ -22,11 +22,11 @@ void cleanLayout(QLayout* layout) {
}
}
QString vectorToQString(std::vector<char> v){
QString vectorToQString(std::vector<char> v) {
return QString::fromStdString(std::string(v.begin(), v.end()));
}
OffroadAlert::OffroadAlert(QWidget* parent){
OffroadAlert::OffroadAlert(QWidget* parent) {
vlayout = new QVBoxLayout;
refresh();
setLayout(vlayout);
@ -38,7 +38,7 @@ void OffroadAlert::refresh() {
updateAvailable = false;
std::vector<char> bytes = Params().read_db_bytes("UpdateAvailable");
if (bytes.size() && bytes[0] == '1'){
if (bytes.size() && bytes[0] == '1') {
updateAvailable = true;
}
@ -91,7 +91,7 @@ void OffroadAlert::refresh() {
} else {
vlayout->addSpacing(60);
for (auto alert : alerts){
for (auto alert : alerts) {
QLabel *l = new QLabel(alert.text);
l->setWordWrap(true);
l->setMargin(60);
@ -122,7 +122,7 @@ void OffroadAlert::refresh() {
QObject::connect(hide_btn, SIGNAL(released()), this, SIGNAL(closeAlerts()));
}
void OffroadAlert::parse_alerts(){
void OffroadAlert::parse_alerts() {
alerts.clear();
// We launch in selfdrive/ui
QFile inFile("../controls/lib/alerts_offroad.json");
@ -139,7 +139,7 @@ void OffroadAlert::parse_alerts(){
for (const QString& key : json.keys()) {
std::vector<char> bytes = Params().read_db_bytes(key.toStdString().c_str());
if (bytes.size()){
if (bytes.size()) {
QJsonDocument doc_par = QJsonDocument::fromJson(QByteArray(bytes.data(), bytes.size()));
QJsonObject obj = doc_par.object();
Alert alert = {obj.value("text").toString(), obj.value("severity").toInt()};

View File

@ -138,7 +138,7 @@ void update_sockets(UIState *s) {
s->status = STATUS_WARNING;
} else if (alertStatus == cereal::ControlsState::AlertStatus::CRITICAL) {
s->status = STATUS_ALERT;
} else{
} else {
s->status = scene.controls_state.getEnabled() ? STATUS_ENGAGED : STATUS_DISENGAGED;
}