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 }