Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
Cockatrice
Commits
0ce38ea8
Commit
0ce38ea8
authored
Sep 16, 2015
by
marco
Browse files
Reset & Clear all shortcuts
This closes #1517
parent
8eacd85d
Changes
7
Hide whitespace changes
Inline
Side-by-side
cockatrice/src/sequenceEdit/sequenceedit.cpp
View file @
0ce38ea8
...
...
@@ -71,6 +71,16 @@ void SequenceEdit::restoreDefault()
updateSettings
();
}
void
SequenceEdit
::
refreshShortcut
()
{
lineEdit
->
setText
(
settingsCache
->
shortcuts
().
getShortcutString
(
shorcutName
));
}
void
SequenceEdit
::
clear
()
{
this
->
lineEdit
->
setText
(
""
);
}
bool
SequenceEdit
::
eventFilter
(
QObject
*
,
QEvent
*
event
)
{
if
(
event
->
type
()
==
QEvent
::
KeyPress
||
event
->
type
()
==
QEvent
::
KeyRelease
)
...
...
cockatrice/src/sequenceEdit/sequenceedit.h
View file @
0ce38ea8
...
...
@@ -14,11 +14,14 @@ class SequenceEdit : public QWidget
public:
SequenceEdit
(
QString
_shorcutName
,
QWidget
*
parent
=
0
);
QString
getSecuence
();
void
refreshShortcut
();
void
clear
();
signals:
private
slots
:
void
removeLastShortcut
();
void
restoreDefault
();
protected:
bool
eventFilter
(
QObject
*
,
QEvent
*
event
);
private:
...
...
cockatrice/src/sequenceEdit/shortcutstab.cpp
View file @
0ce38ea8
#include
"shortcutstab.h"
#include
"ui_shortcutstab.h"
#include
"../settingscache.h"
#include
<QMessageBox>
ShortcutsTab
::
ShortcutsTab
()
:
ui
(
new
Ui
::
shortcutsTab
)
{
ui
->
setupUi
(
this
);
connect
(
ui
->
btnResetAll
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
resetShortcuts
()));
connect
(
ui
->
btnClearAll
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
clearShortcuts
()));
connect
(
&
settingsCache
->
shortcuts
(),
SIGNAL
(
allShortCutsReset
()),
this
,
SLOT
(
refreshEdits
()));
connect
(
&
settingsCache
->
shortcuts
(),
SIGNAL
(
allShortCutsClear
()),
this
,
SLOT
(
afterClear
()));
}
void
ShortcutsTab
::
retranslateUi
()
...
...
@@ -16,3 +23,33 @@ ShortcutsTab::~ShortcutsTab()
{
delete
ui
;
}
void
ShortcutsTab
::
resetShortcuts
()
{
settingsCache
->
shortcuts
().
resetAllShortcuts
();
}
void
ShortcutsTab
::
refreshEdits
()
{
QList
<
SequenceEdit
*>
edits
=
this
->
findChildren
<
SequenceEdit
*>
();
for
(
int
i
=
0
;
i
<
edits
.
length
();
++
i
)
{
edits
.
at
(
i
)
->
refreshShortcut
();
}
QMessageBox
::
information
(
this
,
tr
(
"Shortcuts reset"
),
tr
(
"All shortcuts have been reset"
));
}
void
ShortcutsTab
::
clearShortcuts
()
{
settingsCache
->
shortcuts
().
clearAllShortcuts
();
}
void
ShortcutsTab
::
afterClear
()
{
QList
<
SequenceEdit
*>
edits
=
this
->
findChildren
<
SequenceEdit
*>
();
for
(
int
i
=
0
;
i
<
edits
.
length
();
++
i
)
{
edits
.
at
(
i
)
->
clear
();
}
QMessageBox
::
information
(
this
,
tr
(
"Shortcuts reset"
),
tr
(
"All shortcuts have been cleared"
));
}
cockatrice/src/sequenceEdit/shortcutstab.h
View file @
0ce38ea8
...
...
@@ -17,7 +17,11 @@ public:
ShortcutsTab
();
void
retranslateUi
();
~
ShortcutsTab
();
private
slots
:
void
resetShortcuts
();
void
refreshEdits
();
void
clearShortcuts
();
void
afterClear
();
private:
Ui
::
shortcutsTab
*
ui
;
};
...
...
cockatrice/src/sequenceEdit/ui_shortcutstab.h
View file @
0ce38ea8
...
...
@@ -10,6 +10,7 @@
#include
<QHBoxLayout>
#include
<QHeaderView>
#include
<QLabel>
#include
<QPushButton>
#include
<QSpacerItem>
#include
<QTabWidget>
#include
<QVBoxLayout>
...
...
@@ -270,6 +271,8 @@ public:
QSpacerItem
*
verticalSpacer_3
;
QWidget
*
tab_4
;
QLabel
*
faqLabel
;
QPushButton
*
btnResetAll
;
QPushButton
*
btnClearAll
;
void
setupUi
(
QWidget
*
shortcutsTab
)
{
...
...
@@ -1410,8 +1413,19 @@ public:
faqLabel
->
setTextInteractionFlags
(
Qt
::
LinksAccessibleByMouse
);
faqLabel
->
setOpenExternalLinks
(
true
);
gridLayout_9
->
addWidget
(
tabWidget
,
0
,
0
,
1
,
1
);
btnResetAll
=
new
QPushButton
(
shortcutsTab
);
btnClearAll
=
new
QPushButton
(
shortcutsTab
);
btnResetAll
->
setIcon
(
QPixmap
(
"theme:icons/update"
));
btnClearAll
->
setIcon
(
QPixmap
(
"theme:icons/clearsearch"
));
QHBoxLayout
*
buttonsLayout
=
new
QHBoxLayout
(
shortcutsTab
);
buttonsLayout
->
addWidget
(
btnClearAll
);
buttonsLayout
->
addWidget
(
btnResetAll
);
gridLayout_9
->
addWidget
(
tabWidget
,
0
,
0
,
1
,
2
);
gridLayout_9
->
addWidget
(
faqLabel
,
1
,
0
,
1
,
1
);
gridLayout_9
->
addLayout
(
buttonsLayout
,
1
,
1
,
1
,
1
,
Qt
::
AlignRight
);
tabWidget
->
setCurrentIndex
(
0
);
grid
->
setSpacing
(
3
);
...
...
@@ -1567,6 +1581,8 @@ public:
tabWidget
->
setTabText
(
tabWidget
->
indexOf
(
tab_3
),
QApplication
::
translate
(
"shortcutsTab"
,
"Draw | Move | View | Gameplay"
,
0
));
tabWidget
->
setTabText
(
tabWidget
->
indexOf
(
tab_4
),
QApplication
::
translate
(
"shortcutsTab"
,
"Counters"
,
0
));
faqLabel
->
setText
(
QString
(
"<a href='%1'>%2</a>"
).
arg
(
WIKI
).
arg
(
QApplication
::
translate
(
"shortcutsTab"
,
"How to set custom shortcuts"
,
0
)));
btnResetAll
->
setText
(
QApplication
::
translate
(
"shortcutsTab"
,
"Reset all shortcuts"
,
0
));
btnClearAll
->
setText
(
QApplication
::
translate
(
"shortcutsTab"
,
"Clear all shortcuts"
,
0
));
}
// retranslateUi
};
...
...
cockatrice/src/shortcutssettings.cpp
View file @
0ce38ea8
...
...
@@ -119,6 +119,24 @@ bool ShortcutsSettings::isValid(QString name, QString Sequences)
return
true
;
}
void
ShortcutsSettings
::
resetAllShortcuts
()
{
for
(
QMap
<
QString
,
QList
<
QKeySequence
>
>::
const_iterator
it
=
defaultShortCuts
.
begin
();
it
!=
defaultShortCuts
.
end
();
++
it
){
setShortcuts
(
it
.
key
(),
it
.
value
());
}
emit
allShortCutsReset
();
}
void
ShortcutsSettings
::
clearAllShortcuts
()
{
for
(
QMap
<
QString
,
QList
<
QKeySequence
>
>::
const_iterator
it
=
shortCuts
.
begin
();
it
!=
shortCuts
.
end
();
++
it
){
setShortcuts
(
it
.
key
(),
""
);
}
emit
allShortCutsClear
();
}
void
ShortcutsSettings
::
fillDefaultShorcuts
()
{
defaultShortCuts
[
"MainWindow/aCheckCardUpdates"
]
=
parseSequenceString
(
""
);
...
...
cockatrice/src/shortcutssettings.h
View file @
0ce38ea8
...
...
@@ -24,9 +24,13 @@ public:
void
setShortcuts
(
QString
name
,
QString
Sequences
);
bool
isValid
(
QString
name
,
QString
Sequences
);
void
resetAllShortcuts
();
void
clearAllShortcuts
();
signals:
void
shortCutchanged
();
void
allShortCutsReset
();
void
allShortCutsClear
();
private:
QString
settingsFilePath
;
QMap
<
QString
,
QList
<
QKeySequence
>
>
shortCuts
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment