combjs
annotate gui/gui.cc @ 1:dd02002227a2
- added a few commandline arguments to combjs
- trying to make a gui frontend
author | John Tsiombikas <nuclear@member.fsf.org> |
---|---|
date | Thu, 14 Jul 2011 15:40:20 +0300 |
parents | |
children | 4e8f2bbe8426 |
rev | line source |
---|---|
nuclear@1 | 1 #include <stdio.h> |
nuclear@1 | 2 #include <stdlib.h> |
nuclear@1 | 3 #include <QMessageBox> |
nuclear@1 | 4 #include <QCloseEvent> |
nuclear@1 | 5 #include "gui.h" |
nuclear@1 | 6 #include "combjs.h" |
nuclear@1 | 7 |
nuclear@1 | 8 static std::vector<Joystick> jsvec; |
nuclear@1 | 9 |
nuclear@1 | 10 MainWindow::MainWindow(QWidget *parent) |
nuclear@1 | 11 : QMainWindow(parent) |
nuclear@1 | 12 { |
nuclear@1 | 13 setupUi(this); |
nuclear@1 | 14 |
nuclear@1 | 15 int num_js = enum_joysticks(&jsvec); |
nuclear@1 | 16 |
nuclear@1 | 17 list_js->clear(); |
nuclear@1 | 18 for(int i=0; i<num_js; i++) { |
nuclear@1 | 19 QListWidgetItem *item = new QListWidgetItem(jsvec[i].name.c_str()); |
nuclear@1 | 20 item->setData(Qt::UserRole, i); |
nuclear@1 | 21 item->setToolTip(jsvec[i].dev.c_str()); |
nuclear@1 | 22 |
nuclear@1 | 23 list_js->addItem(item); |
nuclear@1 | 24 } |
nuclear@1 | 25 |
nuclear@1 | 26 connect(list_js, SIGNAL(itemSelectionChanged()), this, SLOT(jslist_select())); |
nuclear@1 | 27 } |
nuclear@1 | 28 |
nuclear@1 | 29 |
nuclear@1 | 30 void MainWindow::closeEvent(QCloseEvent *ev) |
nuclear@1 | 31 { |
nuclear@1 | 32 /*const char *msg_text = "Are you sure you want to quit?\n" |
nuclear@1 | 33 "Quitting this application will destroy any virtual joystick devices you created!" |
nuclear@1 | 34 "If this wasn't your intention, press cancel and minimize instead of quitting."; |
nuclear@1 | 35 |
nuclear@1 | 36 if(QMessageBox::question(this, "Quit?", msg_text, QMessageBox::Ok | QMessageBox::Cancel) == QMessageBox::Ok) { |
nuclear@1 | 37 ev->accept(); |
nuclear@1 | 38 } else { |
nuclear@1 | 39 ev->ignore(); |
nuclear@1 | 40 }*/ |
nuclear@1 | 41 ev->accept(); |
nuclear@1 | 42 } |
nuclear@1 | 43 |
nuclear@1 | 44 /* slots */ |
nuclear@1 | 45 void MainWindow::jslist_select() |
nuclear@1 | 46 { |
nuclear@1 | 47 QList<QListWidgetItem*> sel_list = list_js->selectedItems(); |
nuclear@1 | 48 QListWidgetItem *item = sel_list.isEmpty() ? 0 : sel_list.first(); |
nuclear@1 | 49 |
nuclear@1 | 50 if(item && jsvec[item->data(Qt::UserRole).toInt()].isvirt) { |
nuclear@1 | 51 bn_del_virt->setEnabled(true); |
nuclear@1 | 52 } else { |
nuclear@1 | 53 bn_del_virt->setEnabled(false); |
nuclear@1 | 54 } |
nuclear@1 | 55 } |