int Ibex::ApplicationLauncher::processKey(int key, int down) {
	int processed = 0;
	switch(key) {
	case 'W':
	case 'w':
	case GLFW_KEY_UP:
		if(down) {
			newY = selectedY-1;
		}
		processed = 1;
		break;
	case GLFW_KEY_DOWN:
	case 'S':
	case 's':
		if(down) {
			newY = selectedY+1;
		}

		processed = 1;
		break;
	case 'D':
	case 'd':
	case GLFW_KEY_RIGHT:
		if(down) {
			newX = selectedX+1;
		}
		processed = 1;
		break;
	case GLFW_KEY_LEFT:
	case 'A':
	case 'a':
		if(down) {
			newX = selectedX-1;
		}

		processed = 1;
		break;
	case GLFW_KEY_ENTER:
		if(!down) {
			std::string path = applicationList[std::pair<int,int>(selectedX,selectedY)];
			if(path != "") {
				launchApplication(path.c_str());
				showApplicationLauncher = false;
			}
		}
		processed = 1;
		break;
		// case 27: // ESCAPE
	case GLFW_KEY_ESCAPE:
		if(!down) {
			showApplicationLauncher = false;
		}

		processed = 1;
	}
	return processed;
}
int Ibex::ApplicationLauncher::processKey(unsigned short keyCode, int down) {
	int processed = 0;

	switch(keyCode) {
	case kVK_UpArrow:
	case kVK_ANSI_W:
		if(down) {
			newY = selectedY-1;
		}
		processed = 1;
		break;
	case kVK_DownArrow:
	case kVK_ANSI_S:
		if(down) {
			newY = selectedY+1;
		}
		processed = 1;
		break;
	case kVK_LeftArrow:
	case kVK_ANSI_A:
		if(down) {
			newX = selectedX-1;
		}
		processed = 1;
		break;
	case kVK_RightArrow:
	case kVK_ANSI_D:
		if(down) {
			newX = selectedX+1;
		}
		processed = 1;
		break;
	case kVK_Return:
		if(down) {
			std::string path = applicationList[std::pair<int,int>(selectedX,selectedY)];
			if(path != "") {
				launchApplication(path.c_str());
				showApplicationLauncher = false;
			}
		}
		processed = 1;
		break;
	case kVK_Escape:
		showApplicationLauncher = false;
		processed = 1;
		break;
	}
	return processed;
}
Example #3
0
void Application::start()
{
    QTimer::singleShot(0, this, SLOT(launchApplication()));
}