Allows the user to close the get key dialog without it overwriting their
current set button. git-svn-id: svn://svn.code.sf.net/p/qjoypad/code/trunk@129 c05e91a0-76c8-4ec0-b377-ef19ce7cc080
This commit is contained in:
		
				
					committed by
					
						
						virtuoussin13
					
				
			
			
				
	
			
			
			
						parent
						
							6e0954ea38
						
					
				
				
					commit
					79874c14cf
				
			@@ -29,7 +29,6 @@ bool GetKey::x11Event( XEvent* e )
 | 
			
		||||
{
 | 
			
		||||
    //keep Qt from closing the dialog upon seeing Esc pressed.
 | 
			
		||||
    if (e->type == KeyPress) return true;
 | 
			
		||||
 | 
			
		||||
    //On a key press, return the key and quit
 | 
			
		||||
    //Ctrl+X == [No Key]
 | 
			
		||||
    if (e->type == KeyRelease) {
 | 
			
		||||
@@ -51,6 +50,11 @@ bool GetKey::x11Event( XEvent* e )
 | 
			
		||||
    return false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GetKey::closeEvent(QCloseEvent *e) {
 | 
			
		||||
    e->ignore();
 | 
			
		||||
    done(-1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GetKey::paintEvent ( QPaintEvent * ) {
 | 
			
		||||
    //whenever we need to repaint, draw in our text.
 | 
			
		||||
    QPainter paint( this );
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,7 @@
 | 
			
		||||
#include <QPainter>
 | 
			
		||||
#include <QPixmap>
 | 
			
		||||
#include <QIcon>
 | 
			
		||||
#include <QCloseEvent>
 | 
			
		||||
#include "constant.h"
 | 
			
		||||
#include <X11/Xlib.h>
 | 
			
		||||
//The KeySym for "x"
 | 
			
		||||
@@ -20,6 +21,7 @@ class GetKey : public QDialog {
 | 
			
		||||
		//to avoid focus issues, there is only the dialog widget, all the
 | 
			
		||||
		//rest is painted on. So, I need to know when to repaint.
 | 
			
		||||
		void paintEvent ( QPaintEvent * );
 | 
			
		||||
		void closeEvent (QCloseEvent *);
 | 
			
		||||
	private:
 | 
			
		||||
		//the dialog's message
 | 
			
		||||
		QString Text;
 | 
			
		||||
 
 | 
			
		||||
@@ -89,7 +89,14 @@ KeyButton::KeyButton( QString name, int val, QWidget* parent, bool m, bool nowMo
 | 
			
		||||
 | 
			
		||||
void KeyButton::onClick() {
 | 
			
		||||
    //when clicked, ask for a key!
 | 
			
		||||
    value = GetKey( buttonname, mouse ).exec();
 | 
			
		||||
    int retValue = GetKey( buttonname, mouse ).exec();
 | 
			
		||||
    // -1 is a special value meaning that the window was simply
 | 
			
		||||
    // closed so we can ignore this
 | 
			
		||||
    if(retValue == -1) {
 | 
			
		||||
	return;
 | 
			
		||||
    } else {
 | 
			
		||||
	value = retValue;
 | 
			
		||||
    }
 | 
			
		||||
    //if the return value was a mouse click...
 | 
			
		||||
    if (value > MOUSE_OFFSET) {
 | 
			
		||||
        mouseClicked = true;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user