Changed Qt hotkey window to sort the hot keys into logical groups.
This commit is contained in:
parent
136ae9a336
commit
9e70db952e
|
@ -27,6 +27,7 @@
|
|||
#include <SDL.h>
|
||||
#include <QHeaderView>
|
||||
#include <QCloseEvent>
|
||||
#include <QMessageBox>
|
||||
|
||||
#include "Qt/main.h"
|
||||
#include "Qt/dface.h"
|
||||
|
@ -45,6 +46,7 @@ HotKeyConfDialog_t::HotKeyConfDialog_t(QWidget *parent)
|
|||
QPushButton *closeButton, *resetDefaults;
|
||||
QTreeWidgetItem *item;
|
||||
std::string prefix = "SDL.Hotkeys.";
|
||||
const char *hkName, *hkKeySeq, *hkTitle, *hkGroup;
|
||||
|
||||
setWindowTitle("Hotkey Configuration");
|
||||
|
||||
|
@ -69,26 +71,13 @@ HotKeyConfDialog_t::HotKeyConfDialog_t(QWidget *parent)
|
|||
|
||||
for (int i = 0; i < HK_MAX; i++)
|
||||
{
|
||||
char keyName[128];
|
||||
std::string optionName = prefix + Hotkeys[i].getConfigName();
|
||||
getHotKeyConfig( i, &hkName, &hkKeySeq, &hkTitle, &hkGroup );
|
||||
|
||||
//g_config->getOption (optionName.c_str (), &keycode);
|
||||
Hotkeys[i].getString(keyName);
|
||||
|
||||
item = new QTreeWidgetItem();
|
||||
|
||||
tree->addTopLevelItem(item);
|
||||
|
||||
//item->setFlags( Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemNeverHasChildren );
|
||||
//item->setCheckState( 0, Qt::Checked );
|
||||
|
||||
item->setText(0, QString::fromStdString(optionName));
|
||||
item->setText(1, QString::fromStdString(keyName));
|
||||
|
||||
item->setTextAlignment(0, Qt::AlignLeft);
|
||||
item->setTextAlignment(1, Qt::AlignCenter);
|
||||
tree->addGroup( hkGroup );
|
||||
|
||||
tree->addItem( hkGroup, i );
|
||||
}
|
||||
tree->finalize();
|
||||
|
||||
//connect( tree, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(hotKeyDoubleClicked(QTreeWidgetItem*,int) ) );
|
||||
connect( tree, SIGNAL(itemActivated(QTreeWidgetItem*,int)), this, SLOT(hotKeyActivated(QTreeWidgetItem*,int) ) );
|
||||
|
@ -132,25 +121,124 @@ void HotKeyConfDialog_t::closeWindow(void)
|
|||
deleteLater();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void HotKeyConfDialog_t::resetDefaultsCB(void)
|
||||
void HotKeyConfTree_t::finalize(void)
|
||||
{
|
||||
QTreeWidgetItem *item;
|
||||
std::map <std::string, QTreeWidgetItem*>::iterator it;
|
||||
|
||||
for (it=groupMap.begin(); it!=groupMap.end(); it++)
|
||||
{
|
||||
item = it->second;
|
||||
|
||||
addTopLevelItem(item);
|
||||
|
||||
item->setExpanded(true);
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
QTreeWidgetItem *HotKeyConfTree_t::addItem( const char *group, int hkIdx )
|
||||
{
|
||||
QTreeWidgetItem *itemGroup;
|
||||
HotKeyConfTreeItem_t *item;
|
||||
const char *hkName, *hkKeySeq, *hkTitle, *hkGroup;
|
||||
|
||||
itemGroup = findGroup(group);
|
||||
|
||||
if ( itemGroup == NULL )
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
getHotKeyConfig( hkIdx, &hkName, &hkKeySeq, &hkTitle, &hkGroup );
|
||||
|
||||
item = new HotKeyConfTreeItem_t(hkIdx);
|
||||
|
||||
item->setText(0, tr(hkTitle));
|
||||
item->setText(1, Hotkeys[hkIdx].getKeySeq().toString());
|
||||
|
||||
item->setTextAlignment(0, Qt::AlignLeft);
|
||||
item->setTextAlignment(1, Qt::AlignCenter);
|
||||
|
||||
itemGroup->addChild(item);
|
||||
return NULL;
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
QTreeWidgetItem *HotKeyConfTree_t::addGroup( const char *group)
|
||||
{
|
||||
std::string s = group;
|
||||
|
||||
return addGroup(s);
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
QTreeWidgetItem *HotKeyConfTree_t::addGroup(std::string group)
|
||||
{
|
||||
QTreeWidgetItem *item;
|
||||
|
||||
item = findGroup(group);
|
||||
|
||||
if ( item == NULL )
|
||||
{
|
||||
item = new QTreeWidgetItem( this, 0);
|
||||
|
||||
item->setText(0, QString::fromStdString(group));
|
||||
|
||||
groupMap[group] = item;
|
||||
}
|
||||
return item;
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
QTreeWidgetItem *HotKeyConfTree_t::findGroup( const char *group)
|
||||
{
|
||||
std::string s = group;
|
||||
|
||||
return findGroup(s);
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
QTreeWidgetItem *HotKeyConfTree_t::findGroup( std::string group)
|
||||
{
|
||||
std::map <std::string, QTreeWidgetItem*>::iterator it;
|
||||
|
||||
it = groupMap.find(group);
|
||||
|
||||
if ( it != groupMap.end() )
|
||||
{
|
||||
return it->second;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
HotKeyConfTreeItem_t::HotKeyConfTreeItem_t(int idx, QTreeWidgetItem *parent)
|
||||
: QTreeWidgetItem(parent,1)
|
||||
{
|
||||
hkIdx = idx;
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
HotKeyConfTreeItem_t::~HotKeyConfTreeItem_t(void)
|
||||
{
|
||||
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void HotKeyConfDialog_t::resetDefaultsCB(void)
|
||||
{
|
||||
QTreeWidgetItem *groupItem;
|
||||
HotKeyConfTreeItem_t *item;
|
||||
std::string confName;
|
||||
std::string prefix = "SDL.Hotkeys.";
|
||||
const char *name, *keySeq;
|
||||
|
||||
for (int i=0; i<HK_MAX; i++)
|
||||
for (int i=0; i<tree->topLevelItemCount(); i++)
|
||||
{
|
||||
getHotKeyConfig( i, &name, &keySeq );
|
||||
groupItem = tree->topLevelItem(i);
|
||||
|
||||
confName = prefix + name;
|
||||
|
||||
g_config->setOption( confName, keySeq );
|
||||
|
||||
item = tree->topLevelItem(i);
|
||||
|
||||
if ( item )
|
||||
for (int j=0; j<groupItem->childCount(); j++)
|
||||
{
|
||||
item = static_cast<HotKeyConfTreeItem_t*>(groupItem->child(j));
|
||||
|
||||
getHotKeyConfig( item->hkIdx, &name, &keySeq );
|
||||
|
||||
confName = prefix + name;
|
||||
|
||||
g_config->setOption( confName, keySeq );
|
||||
|
||||
item->setText(1, tr(keySeq));
|
||||
}
|
||||
}
|
||||
|
@ -172,18 +260,26 @@ void HotKeyConfDialog_t::keyReleaseEvent(QKeyEvent *event)
|
|||
//----------------------------------------------------------------------------
|
||||
void HotKeyConfDialog_t::hotKeyActivated(QTreeWidgetItem *item, int column)
|
||||
{
|
||||
int row = tree->indexOfTopLevelItem( item );
|
||||
HotKeyConfTreeItem_t *hkItem = static_cast<HotKeyConfTreeItem_t*>(item);
|
||||
|
||||
HotKeyConfSetDialog_t *win = new HotKeyConfSetDialog_t( row, 1, item, this );
|
||||
if ( hkItem->type() == 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
HotKeyConfSetDialog_t *win = new HotKeyConfSetDialog_t( 1, hkItem, this );
|
||||
|
||||
win->exec();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void HotKeyConfDialog_t::hotKeyDoubleClicked(QTreeWidgetItem *item, int column)
|
||||
{
|
||||
int row = tree->indexOfTopLevelItem( item );
|
||||
HotKeyConfTreeItem_t *hkItem = static_cast<HotKeyConfTreeItem_t*>(item);
|
||||
|
||||
HotKeyConfSetDialog_t *win = new HotKeyConfSetDialog_t( row, 0, item, this );
|
||||
if ( hkItem->type() == 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
HotKeyConfSetDialog_t *win = new HotKeyConfSetDialog_t( 0, hkItem, this );
|
||||
|
||||
win->exec();
|
||||
}
|
||||
|
@ -211,14 +307,13 @@ void HotKeyConfTree_t::keyReleaseEvent(QKeyEvent *event)
|
|||
//----------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------
|
||||
HotKeyConfSetDialog_t::HotKeyConfSetDialog_t( int hkIndex, int discardNum, QTreeWidgetItem *itemIn, QWidget *parent )
|
||||
HotKeyConfSetDialog_t::HotKeyConfSetDialog_t( int discardNum, HotKeyConfTreeItem_t *itemIn, QWidget *parent )
|
||||
: QDialog(parent)
|
||||
{
|
||||
QVBoxLayout *mainLayout;
|
||||
QHBoxLayout *hbox;
|
||||
QPushButton *clearButton, *okButton;
|
||||
|
||||
idx = hkIndex;
|
||||
item = itemIn;
|
||||
discardCount = discardNum;
|
||||
|
||||
|
@ -299,6 +394,39 @@ void HotKeyConfSetDialog_t::keyReleaseEvent(QKeyEvent *event)
|
|||
event->accept();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void HotKeyConfSetDialog_t::checkForConflicts(int hkIdx)
|
||||
{
|
||||
for (int i=0; i<HK_MAX; i++)
|
||||
{
|
||||
if ( hkIdx == i )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
if ( Hotkeys[hkIdx].getKeySeq().matches( Hotkeys[i].getKeySeq() ) )
|
||||
{
|
||||
std::string msg;
|
||||
const char *hkName1, *hkKeySeq1, *hkTitle1, *hkGroup1;
|
||||
const char *hkName2, *hkKeySeq2, *hkTitle2, *hkGroup2;
|
||||
|
||||
getHotKeyConfig( i, &hkName1, &hkKeySeq1, &hkTitle1, &hkGroup1 );
|
||||
getHotKeyConfig( hkIdx, &hkName2, &hkKeySeq2, &hkTitle2, &hkGroup2 );
|
||||
|
||||
msg.append(hkGroup2);
|
||||
msg.append(" :: ");
|
||||
msg.append(hkTitle2);
|
||||
msg.append("\n\n");
|
||||
msg.append("Conflicts with:\n\n");
|
||||
msg.append(hkGroup1);
|
||||
msg.append(" :: ");
|
||||
msg.append(hkTitle1);
|
||||
|
||||
QMessageBox::warning( this,
|
||||
tr("Hotkey Conflict Warning"), tr(msg.c_str()) );
|
||||
//printf("Warning Key Conflict: %i and %i \n", hkIdx, i );
|
||||
}
|
||||
}
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void HotKeyConfSetDialog_t::assignHotkey(QKeyEvent *event)
|
||||
{
|
||||
bool keyIsModifier;
|
||||
|
@ -321,7 +449,7 @@ void HotKeyConfSetDialog_t::assignHotkey(QKeyEvent *event)
|
|||
std::string prefix = "SDL.Hotkeys.";
|
||||
std::string confName;
|
||||
|
||||
confName = prefix + Hotkeys[idx].getConfigName();
|
||||
confName = prefix + Hotkeys[item->hkIdx].getConfigName();
|
||||
|
||||
keyText = ks.toString().toStdString();
|
||||
|
||||
|
@ -329,6 +457,8 @@ void HotKeyConfSetDialog_t::assignHotkey(QKeyEvent *event)
|
|||
|
||||
setHotKeys();
|
||||
|
||||
checkForConflicts(item->hkIdx);
|
||||
|
||||
if ( item )
|
||||
{
|
||||
item->setText(1, QString::fromStdString(keyText));
|
||||
|
@ -344,7 +474,7 @@ void HotKeyConfSetDialog_t::cleanButtonCB(void)
|
|||
std::string prefix = "SDL.Hotkeys.";
|
||||
std::string confName;
|
||||
|
||||
confName = prefix + Hotkeys[idx].getConfigName();
|
||||
confName = prefix + Hotkeys[item->hkIdx].getConfigName();
|
||||
|
||||
g_config->setOption( confName, "");
|
||||
|
||||
|
|
|
@ -3,6 +3,10 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <string>
|
||||
#include <list>
|
||||
#include <map>
|
||||
|
||||
#include <QWidget>
|
||||
#include <QDialog>
|
||||
#include <QVBoxLayout>
|
||||
|
@ -16,15 +20,27 @@
|
|||
#include <QGroupBox>
|
||||
#include <QTreeView>
|
||||
#include <QTreeWidget>
|
||||
#include <QTreeWidgetItem>
|
||||
|
||||
#include "Qt/main.h"
|
||||
|
||||
class HotKeyConfTreeItem_t : public QTreeWidgetItem
|
||||
{
|
||||
//Q_OBJECT
|
||||
|
||||
public:
|
||||
HotKeyConfTreeItem_t(int idx, QTreeWidgetItem *parent = nullptr);
|
||||
~HotKeyConfTreeItem_t(void);
|
||||
|
||||
int hkIdx;
|
||||
};
|
||||
|
||||
class HotKeyConfSetDialog_t : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
HotKeyConfSetDialog_t( int hkIndex, int discardNum, QTreeWidgetItem *itemIn = 0, QWidget *parent = 0);
|
||||
HotKeyConfSetDialog_t( int discardNum, HotKeyConfTreeItem_t *itemIn = 0, QWidget *parent = 0);
|
||||
~HotKeyConfSetDialog_t(void);
|
||||
|
||||
protected:
|
||||
|
@ -32,11 +48,11 @@ protected:
|
|||
void keyPressEvent(QKeyEvent *event);
|
||||
void keyReleaseEvent(QKeyEvent *event);
|
||||
void assignHotkey(QKeyEvent *event);
|
||||
void checkForConflicts(int hkIdx);
|
||||
|
||||
QLineEdit *keySeqText;
|
||||
QTreeWidgetItem *item;
|
||||
HotKeyConfTreeItem_t *item;
|
||||
|
||||
int idx;
|
||||
int discardCount;
|
||||
|
||||
public slots:
|
||||
|
@ -53,6 +69,18 @@ public:
|
|||
HotKeyConfTree_t(QWidget *parent = 0);
|
||||
~HotKeyConfTree_t(void);
|
||||
|
||||
void finalize(void);
|
||||
|
||||
QTreeWidgetItem *addGroup( const char *group);
|
||||
QTreeWidgetItem *addGroup( std::string group);
|
||||
QTreeWidgetItem *findGroup( const char *group);
|
||||
QTreeWidgetItem *findGroup( std::string group);
|
||||
|
||||
QTreeWidgetItem *addItem(const char *group, int i );
|
||||
|
||||
protected:
|
||||
std::map <std::string, QTreeWidgetItem*> groupMap;
|
||||
|
||||
protected:
|
||||
void keyPressEvent(QKeyEvent *event);
|
||||
void keyReleaseEvent(QKeyEvent *event);
|
||||
|
|
|
@ -63,183 +63,184 @@ extern int palsharpness;
|
|||
extern int palcontrast;
|
||||
extern int palbrightness;
|
||||
|
||||
int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut, const char **titleOut )
|
||||
int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut, const char **titleOut, const char **groupOut )
|
||||
{
|
||||
const char *name = "";
|
||||
const char *keySeq = "";
|
||||
const char *title = NULL;
|
||||
const char *group = "Misc";
|
||||
|
||||
switch ( i )
|
||||
{
|
||||
case HK_OPEN_ROM:
|
||||
name = "OpenROM"; keySeq = "Ctrl+O"; title = "Open ROM";
|
||||
name = "OpenROM"; keySeq = "Ctrl+O"; title = "Open ROM"; group = "Tools";
|
||||
break;
|
||||
case HK_CLOSE_ROM:
|
||||
name = "CloseROM"; keySeq = "Ctrl+C"; title = "Close ROM";
|
||||
name = "CloseROM"; keySeq = "Ctrl+C"; title = "Close ROM"; group = "Tools";
|
||||
break;
|
||||
case HK_CHEAT_MENU:
|
||||
name = "CheatMenu"; keySeq = ""; title = "Open Cheat Window";
|
||||
name = "CheatMenu"; keySeq = ""; title = "Open Cheat Window"; group = "Tools";
|
||||
break;
|
||||
case HK_BIND_STATE:
|
||||
name = "BindState"; keySeq = ""; title = "Bind Save State to Movie";
|
||||
name = "BindState"; keySeq = ""; title = "Bind Save State to Movie"; group = "Movie";
|
||||
break;
|
||||
case HK_LOAD_LUA:
|
||||
name = "LoadLua"; keySeq = "Ctrl+L";
|
||||
name = "LoadLua"; keySeq = "Ctrl+L"; group = "Tools";
|
||||
break;
|
||||
case HK_TOGGLE_BG:
|
||||
name = "ToggleBG"; keySeq = ""; title = "Toggle Background Display";
|
||||
name = "ToggleBG"; keySeq = ""; title = "Toggle Background Display"; group = "Misc";
|
||||
break;
|
||||
case HK_TOGGLE_FG:
|
||||
name = "ToggleFG"; keySeq = ""; title = "Toggle Object Display";
|
||||
name = "ToggleFG"; keySeq = ""; title = "Toggle Object Display"; group = "Misc";
|
||||
break;
|
||||
// Save States
|
||||
case HK_SAVE_STATE:
|
||||
name = "SaveState"; keySeq = "I"; title = "Save State";
|
||||
name = "SaveState"; keySeq = "I"; title = "Save State"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_0:
|
||||
name = "SaveState0"; keySeq = "Shift+F10"; title = "Save State to Slot 0";
|
||||
name = "SaveState0"; keySeq = "Shift+F10"; title = "Save State to Slot 0"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_1:
|
||||
name = "SaveState1"; keySeq = "Shift+F1"; title = "Save State to Slot 1";
|
||||
name = "SaveState1"; keySeq = "Shift+F1"; title = "Save State to Slot 1"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_2:
|
||||
name = "SaveState2"; keySeq = "Shift+F2"; title = "Save State to Slot 2";
|
||||
name = "SaveState2"; keySeq = "Shift+F2"; title = "Save State to Slot 2"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_3:
|
||||
name = "SaveState3"; keySeq = "Shift+F3"; title = "Save State to Slot 3";
|
||||
name = "SaveState3"; keySeq = "Shift+F3"; title = "Save State to Slot 3"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_4:
|
||||
name = "SaveState4"; keySeq = "Shift+F4"; title = "Save State to Slot 4";
|
||||
name = "SaveState4"; keySeq = "Shift+F4"; title = "Save State to Slot 4"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_5:
|
||||
name = "SaveState5"; keySeq = "Shift+F5"; title = "Save State to Slot 5";
|
||||
name = "SaveState5"; keySeq = "Shift+F5"; title = "Save State to Slot 5"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_6:
|
||||
name = "SaveState6"; keySeq = "Shift+F6"; title = "Save State to Slot 6";
|
||||
name = "SaveState6"; keySeq = "Shift+F6"; title = "Save State to Slot 6"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_7:
|
||||
name = "SaveState7"; keySeq = "Shift+F7"; title = "Save State to Slot 7";
|
||||
name = "SaveState7"; keySeq = "Shift+F7"; title = "Save State to Slot 7"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_8:
|
||||
name = "SaveState8"; keySeq = "Shift+F8"; title = "Save State to Slot 8";
|
||||
name = "SaveState8"; keySeq = "Shift+F8"; title = "Save State to Slot 8"; group = "State";
|
||||
break;
|
||||
case HK_SAVE_STATE_9:
|
||||
name = "SaveState9"; keySeq = "Shift+F9"; title = "Save State to Slot 9";
|
||||
name = "SaveState9"; keySeq = "Shift+F9"; title = "Save State to Slot 9"; group = "State";
|
||||
break;
|
||||
// Load States
|
||||
case HK_LOAD_STATE:
|
||||
name = "LoadState"; keySeq = "P"; title = "Load State";
|
||||
name = "LoadState"; keySeq = "P"; title = "Load State"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_0:
|
||||
name = "LoadState0"; keySeq = "F10"; title = "Load State From Slot 0";
|
||||
name = "LoadState0"; keySeq = "F10"; title = "Load State From Slot 0"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_1:
|
||||
name = "LoadState1"; keySeq = "F1"; title = "Load State From Slot 1";
|
||||
name = "LoadState1"; keySeq = "F1"; title = "Load State From Slot 1"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_2:
|
||||
name = "LoadState2"; keySeq = "F2"; title = "Load State From Slot 2";
|
||||
name = "LoadState2"; keySeq = "F2"; title = "Load State From Slot 2"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_3:
|
||||
name = "LoadState3"; keySeq = "F3"; title = "Load State From Slot 3";
|
||||
name = "LoadState3"; keySeq = "F3"; title = "Load State From Slot 3"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_4:
|
||||
name = "LoadState4"; keySeq = "F4"; title = "Load State From Slot 4";
|
||||
name = "LoadState4"; keySeq = "F4"; title = "Load State From Slot 4"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_5:
|
||||
name = "LoadState5"; keySeq = "F5"; title = "Load State From Slot 5";
|
||||
name = "LoadState5"; keySeq = "F5"; title = "Load State From Slot 5"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_6:
|
||||
name = "LoadState6"; keySeq = "F6"; title = "Load State From Slot 6";
|
||||
name = "LoadState6"; keySeq = "F6"; title = "Load State From Slot 6"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_7:
|
||||
name = "LoadState7"; keySeq = "F7"; title = "Load State From Slot 7";
|
||||
name = "LoadState7"; keySeq = "F7"; title = "Load State From Slot 7"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_8:
|
||||
name = "LoadState8"; keySeq = "F8"; title = "Load State From Slot 8";
|
||||
name = "LoadState8"; keySeq = "F8"; title = "Load State From Slot 8"; group = "State";
|
||||
break;
|
||||
case HK_LOAD_STATE_9:
|
||||
name = "LoadState9"; keySeq = "F9"; title = "Load State From Slot 9";
|
||||
name = "LoadState9"; keySeq = "F9"; title = "Load State From Slot 9"; group = "State";
|
||||
break;
|
||||
case HK_FDS_SELECT:
|
||||
name = "FDSSelect"; keySeq = ""; title = "Switch FDS Disk Side";
|
||||
name = "FDSSelect"; keySeq = ""; title = "Switch FDS Disk Side"; group = "FDS";
|
||||
break;
|
||||
case HK_FDS_EJECT:
|
||||
name = "FDSEject"; keySeq = ""; title = "Eject FDS Disk";
|
||||
name = "FDSEject"; keySeq = ""; title = "Eject FDS Disk"; group = "FDS";
|
||||
break;
|
||||
case HK_VS_INSERT_COIN:
|
||||
name = "VSInsertCoin"; keySeq = ""; title = "VS Insert Coin";
|
||||
name = "VSInsertCoin"; keySeq = ""; title = "VS Insert Coin"; group = "VS";
|
||||
break;
|
||||
case HK_VS_TOGGLE_DIPSWITCH:
|
||||
name = "VSToggleDip"; keySeq = ""; title = "VS Toggle Dipswitch";
|
||||
name = "VSToggleDip"; keySeq = ""; title = "VS Toggle Dipswitch"; group = "VS";
|
||||
break;
|
||||
case HK_TOGGLE_FRAME_DISPLAY:
|
||||
name = "MovieToggleFrameDisplay"; keySeq = "."; title = "Toggle Frame Display";
|
||||
name = "MovieToggleFrameDisplay"; keySeq = "."; title = "Toggle Frame Display"; group = "Movie";
|
||||
break;
|
||||
case HK_TOGGLE_SUBTITLE:
|
||||
name = "SubtitleDisplay"; keySeq = ""; title = "Toggle Movie Subtitles";
|
||||
name = "SubtitleDisplay"; keySeq = ""; title = "Toggle Movie Subtitles"; group = "Movie";
|
||||
break;
|
||||
case HK_POWER:
|
||||
name = "Power"; keySeq = ""; title = "Power";
|
||||
name = "Power"; keySeq = ""; title = "Power"; group = "Emulation";
|
||||
break;
|
||||
case HK_RESET:
|
||||
name = "Reset"; keySeq = "Ctrl+R"; title = "Reset";
|
||||
name = "Reset"; keySeq = "Ctrl+R"; title = "Reset"; group = "Emulation";
|
||||
break;
|
||||
case HK_PAUSE:
|
||||
name = "Pause"; keySeq = "Pause"; title = "Pause";
|
||||
name = "Pause"; keySeq = "Pause"; title = "Pause"; group = "Emulation";
|
||||
break;
|
||||
case HK_QUIT:
|
||||
name = "Quit"; keySeq = "Ctrl+Q"; title = "Exit Application";
|
||||
name = "Quit"; keySeq = "Ctrl+Q"; title = "Exit Application"; group = "Misc";
|
||||
break;
|
||||
case HK_SCREENSHOT:
|
||||
name = "Screenshot"; keySeq = "F12";
|
||||
name = "Screenshot"; keySeq = "F12"; group = "Tools";
|
||||
break;
|
||||
case HK_DECREASE_SPEED:
|
||||
name = "DecreaseSpeed"; keySeq = "-";
|
||||
name = "DecreaseSpeed"; keySeq = "-"; group = "Speed";
|
||||
break;
|
||||
case HK_INCREASE_SPEED:
|
||||
name = "IncreaseSpeed"; keySeq = "=";
|
||||
name = "IncreaseSpeed"; keySeq = "="; group = "Speed";
|
||||
break;
|
||||
case HK_FRAME_ADVANCE:
|
||||
name = "FrameAdvance"; keySeq = "\\";
|
||||
name = "FrameAdvance"; keySeq = "\\"; group = "Speed";
|
||||
break;
|
||||
case HK_TURBO:
|
||||
name = "Turbo"; keySeq = "Tab";
|
||||
name = "Turbo"; keySeq = "Tab"; group = "Speed";
|
||||
break;
|
||||
case HK_TOGGLE_INPUT_DISPLAY:
|
||||
name = "ToggleInputDisplay"; keySeq = ",";
|
||||
name = "ToggleInputDisplay"; keySeq = ","; group = "Misc";
|
||||
break;
|
||||
case HK_MOVIE_TOGGLE_RW:
|
||||
name = "ToggleMovieRW"; keySeq = "Q";
|
||||
name = "ToggleMovieRW"; keySeq = "Q"; group = "Movie";
|
||||
break;
|
||||
case HK_PLAY_MOVIE_FROM:
|
||||
name = "PlayMovieFrom"; keySeq = "";
|
||||
name = "PlayMovieFrom"; keySeq = ""; group = "Movie";
|
||||
break;
|
||||
case HK_MOVIE_PLAY_RESTART:
|
||||
name = "PlayMovieFromBeginning"; keySeq = "";
|
||||
name = "PlayMovieFromBeginning"; keySeq = ""; group = "Movie";
|
||||
break;
|
||||
case HK_RECORD_MOVIE_TO:
|
||||
name = "RecordMovieTo"; keySeq = "";
|
||||
name = "RecordMovieTo"; keySeq = ""; group = "Movie";
|
||||
break;
|
||||
case HK_STOP_MOVIE:
|
||||
name = "StopMovie"; keySeq = "";
|
||||
name = "StopMovie"; keySeq = ""; group = "Movie";
|
||||
break;
|
||||
case HK_RECORD_AVI:
|
||||
name = "RecordAvi"; keySeq = "";
|
||||
name = "RecordAvi"; keySeq = ""; group = "AVI";
|
||||
break;
|
||||
case HK_RECORD_AVI_TO:
|
||||
name = "RecordAviTo"; keySeq = "";
|
||||
name = "RecordAviTo"; keySeq = ""; group = "AVI";
|
||||
break;
|
||||
case HK_STOP_AVI:
|
||||
name = "StopAvi"; keySeq = "";
|
||||
name = "StopAvi"; keySeq = ""; group = "AVI";
|
||||
break;
|
||||
case HK_RECORD_WAV:
|
||||
name = "RecordWav"; keySeq = "";
|
||||
name = "RecordWav"; keySeq = ""; group = "WAV";
|
||||
break;
|
||||
case HK_RECORD_WAV_TO:
|
||||
name = "RecordWavTo"; keySeq = "";
|
||||
name = "RecordWavTo"; keySeq = ""; group = "WAV";
|
||||
break;
|
||||
case HK_STOP_WAV:
|
||||
name = "StopWav"; keySeq = "";
|
||||
name = "StopWav"; keySeq = ""; group = "WAV";
|
||||
break;
|
||||
case HK_MUTE_CAPTURE:
|
||||
name = "MuteCapture"; keySeq = "'";
|
||||
|
@ -251,40 +252,40 @@ int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut, const
|
|||
name = "LagCounterDisplay"; keySeq = "/";
|
||||
break;
|
||||
case HK_SELECT_STATE_0:
|
||||
name = "SelectState0"; keySeq = "0"; title = "Select State Slot 0";
|
||||
name = "SelectState0"; keySeq = "0"; title = "Select State Slot 0"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_1:
|
||||
name = "SelectState1"; keySeq = "1"; title = "Select State Slot 1";
|
||||
name = "SelectState1"; keySeq = "1"; title = "Select State Slot 1"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_2:
|
||||
name = "SelectState2"; keySeq = "2"; title = "Select State Slot 2";
|
||||
name = "SelectState2"; keySeq = "2"; title = "Select State Slot 2"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_3:
|
||||
name = "SelectState3"; keySeq = "3"; title = "Select State Slot 3";
|
||||
name = "SelectState3"; keySeq = "3"; title = "Select State Slot 3"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_4:
|
||||
name = "SelectState4"; keySeq = "4"; title = "Select State Slot 4";
|
||||
name = "SelectState4"; keySeq = "4"; title = "Select State Slot 4"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_5:
|
||||
name = "SelectState5"; keySeq = "5"; title = "Select State Slot 5";
|
||||
name = "SelectState5"; keySeq = "5"; title = "Select State Slot 5"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_6:
|
||||
name = "SelectState6"; keySeq = "6"; title = "Select State Slot 6";
|
||||
name = "SelectState6"; keySeq = "6"; title = "Select State Slot 6"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_7:
|
||||
name = "SelectState7"; keySeq = "7"; title = "Select State Slot 7";
|
||||
name = "SelectState7"; keySeq = "7"; title = "Select State Slot 7"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_8:
|
||||
name = "SelectState8"; keySeq = "8"; title = "Select State Slot 8";
|
||||
name = "SelectState8"; keySeq = "8"; title = "Select State Slot 8"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_9:
|
||||
name = "SelectState9"; keySeq = "9"; title = "Select State Slot 9";
|
||||
name = "SelectState9"; keySeq = "9"; title = "Select State Slot 9"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_NEXT:
|
||||
name = "SelectStateNext"; keySeq = ""; title = "Select Next State Slot";
|
||||
name = "SelectStateNext"; keySeq = ""; title = "Select Next State Slot"; group = "State";
|
||||
break;
|
||||
case HK_SELECT_STATE_PREV:
|
||||
name = "SelectStatePrev"; keySeq = ""; title = "Select Previous State Slot";
|
||||
name = "SelectStatePrev"; keySeq = ""; title = "Select Previous State Slot"; group = "State";
|
||||
break;
|
||||
case HK_VOLUME_DOWN:
|
||||
name = "VolumeDown"; keySeq = "";
|
||||
|
@ -324,6 +325,10 @@ int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut, const
|
|||
}
|
||||
*titleOut = title;
|
||||
}
|
||||
if ( groupOut )
|
||||
{
|
||||
*groupOut = group;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -60,7 +60,7 @@ enum HOTKEY {
|
|||
HK_FKB_ENABLE,
|
||||
HK_MAX};
|
||||
|
||||
int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut, const char **titleOut = NULL );
|
||||
int getHotKeyConfig( int i, const char **nameOut, const char **keySeqOut, const char **titleOut = NULL, const char **groupOut = NULL );
|
||||
|
||||
int getHotKeyIndexByName( const char *name );
|
||||
|
||||
|
|
|
@ -234,6 +234,7 @@ int hotkey_t::readConfig(void)
|
|||
g_config->getOption(prefix + configName, &keyText);
|
||||
|
||||
//printf("Config: '%s' = '%s'\n", configName, keyText.c_str() );
|
||||
keySeq = QKeySequence( QString::fromStdString(keyText) );
|
||||
|
||||
if (shortcut)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue