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
9a277ccc
Commit
9a277ccc
authored
May 27, 2009
by
Max-Wilhelm Bruker
Browse files
confirmation message box
parent
13b6a360
Changes
4
Show whitespace changes
Inline
Side-by-side
cockatrice/src/decklistmodel.cpp
View file @
9a277ccc
...
@@ -182,5 +182,6 @@ bool DeckListModel::insertRows(int row, int count, const QModelIndex &parent)
...
@@ -182,5 +182,6 @@ bool DeckListModel::insertRows(int row, int count, const QModelIndex &parent)
void
DeckListModel
::
cleanList
()
void
DeckListModel
::
cleanList
()
{
{
deckList
->
cleanList
();
deckList
->
cleanList
();
deckList
->
initZones
();
reset
();
reset
();
}
}
cockatrice/src/window_deckeditor.cpp
View file @
9a277ccc
...
@@ -79,24 +79,31 @@ WndDeckEditor::WndDeckEditor(CardDatabase *_db, QWidget *parent)
...
@@ -79,24 +79,31 @@ WndDeckEditor::WndDeckEditor(CardDatabase *_db, QWidget *parent)
centralWidget
->
setLayout
(
mainLayout
);
centralWidget
->
setLayout
(
mainLayout
);
setCentralWidget
(
centralWidget
);
setCentralWidget
(
centralWidget
);
setWindowTitle
(
tr
(
"
Card database
"
));
setWindowTitle
(
tr
(
"
Deck editor [*]
"
));
aNewDeck
=
new
QAction
(
tr
(
"&New deck"
),
this
);
aNewDeck
=
new
QAction
(
tr
(
"&New deck"
),
this
);
aNewDeck
->
setShortcuts
(
QKeySequence
::
New
);
connect
(
aNewDeck
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actNewDeck
()));
connect
(
aNewDeck
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actNewDeck
()));
aLoadDeck
=
new
QAction
(
tr
(
"&Load deck..."
),
this
);
aLoadDeck
=
new
QAction
(
tr
(
"&Load deck..."
),
this
);
aLoadDeck
->
setShortcut
(
tr
(
"Ctrl+L"
)
);
aLoadDeck
->
setShortcut
s
(
QKeySequence
::
Open
);
connect
(
aLoadDeck
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actLoadDeck
()));
connect
(
aLoadDeck
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actLoadDeck
()));
aSaveDeck
=
new
QAction
(
tr
(
"&Save deck"
),
this
);
aSaveDeck
=
new
QAction
(
tr
(
"&Save deck"
),
this
);
aSaveDeck
->
setShortcut
(
tr
(
"Ctrl+S"
)
);
aSaveDeck
->
setShortcut
s
(
QKeySequence
::
Save
);
connect
(
aSaveDeck
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actSaveDeck
()));
connect
(
aSaveDeck
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actSaveDeck
()));
aSaveDeckAs
=
new
QAction
(
tr
(
"&Save deck as..."
),
this
);
aSaveDeckAs
=
new
QAction
(
tr
(
"&Save deck as..."
),
this
);
aSaveDeckAs
->
setShortcuts
(
QKeySequence
::
SaveAs
);
connect
(
aSaveDeckAs
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actSaveDeckAs
()));
connect
(
aSaveDeckAs
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actSaveDeckAs
()));
aClose
=
new
QAction
(
tr
(
"&Close"
),
this
);
aClose
->
setShortcut
(
tr
(
"Ctrl+Q"
));
connect
(
aClose
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
close
()));
deckMenu
=
menuBar
()
->
addMenu
(
tr
(
"&Deck"
));
deckMenu
=
menuBar
()
->
addMenu
(
tr
(
"&Deck"
));
deckMenu
->
addAction
(
aNewDeck
);
deckMenu
->
addAction
(
aNewDeck
);
deckMenu
->
addAction
(
aLoadDeck
);
deckMenu
->
addAction
(
aLoadDeck
);
deckMenu
->
addAction
(
aSaveDeck
);
deckMenu
->
addAction
(
aSaveDeck
);
deckMenu
->
addAction
(
aSaveDeckAs
);
deckMenu
->
addAction
(
aSaveDeckAs
);
deckMenu
->
addSeparator
();
deckMenu
->
addAction
(
aClose
);
aAddCard
=
new
QAction
(
tr
(
"Add card to &maindeck"
),
this
);
aAddCard
=
new
QAction
(
tr
(
"Add card to &maindeck"
),
this
);
connect
(
aAddCard
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actAddCard
()));
connect
(
aAddCard
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actAddCard
()));
...
@@ -144,8 +151,33 @@ void WndDeckEditor::updateSearch(const QString &search)
...
@@ -144,8 +151,33 @@ void WndDeckEditor::updateSearch(const QString &search)
databaseView
->
selectionModel
()
->
setCurrentIndex
(
matches
[
0
],
QItemSelectionModel
::
SelectCurrent
);
databaseView
->
selectionModel
()
->
setCurrentIndex
(
matches
[
0
],
QItemSelectionModel
::
SelectCurrent
);
}
}
bool
WndDeckEditor
::
confirmClose
()
{
if
(
isWindowModified
())
{
QMessageBox
::
StandardButton
ret
=
QMessageBox
::
warning
(
this
,
tr
(
"Are you sure?"
),
tr
(
"The decklist has been modified.
\n
Do you want to save the changes?"
),
QMessageBox
::
Save
|
QMessageBox
::
Discard
|
QMessageBox
::
Cancel
);
if
(
ret
==
QMessageBox
::
Save
)
return
actSaveDeck
();
else
if
(
ret
==
QMessageBox
::
Cancel
)
return
false
;
}
return
true
;
}
void
WndDeckEditor
::
closeEvent
(
QCloseEvent
*
event
)
{
if
(
confirmClose
())
event
->
accept
();
else
event
->
ignore
();
}
void
WndDeckEditor
::
actNewDeck
()
void
WndDeckEditor
::
actNewDeck
()
{
{
if
(
!
confirmClose
())
return
;
deckModel
->
cleanList
();
deckModel
->
cleanList
();
nameEdit
->
setText
(
QString
());
nameEdit
->
setText
(
QString
());
commentsEdit
->
setText
(
QString
());
commentsEdit
->
setText
(
QString
());
...
@@ -154,6 +186,9 @@ void WndDeckEditor::actNewDeck()
...
@@ -154,6 +186,9 @@ void WndDeckEditor::actNewDeck()
void
WndDeckEditor
::
actLoadDeck
()
void
WndDeckEditor
::
actLoadDeck
()
{
{
if
(
!
confirmClose
())
return
;
DeckList
*
l
=
deckModel
->
getDeckList
();
DeckList
*
l
=
deckModel
->
getDeckList
();
if
(
l
->
loadDialog
(
this
))
{
if
(
l
->
loadDialog
(
this
))
{
lastFileName
=
l
->
getLastFileName
();
lastFileName
=
l
->
getLastFileName
();
...
@@ -164,22 +199,27 @@ void WndDeckEditor::actLoadDeck()
...
@@ -164,22 +199,27 @@ void WndDeckEditor::actLoadDeck()
}
}
}
}
void
WndDeckEditor
::
actSaveDeck
()
bool
WndDeckEditor
::
actSaveDeck
()
{
{
if
(
lastFileName
.
isEmpty
())
if
(
lastFileName
.
isEmpty
())
actSaveDeckAs
();
return
actSaveDeckAs
();
else
else
if
(
deckModel
->
getDeckList
()
->
saveToFile
(
lastFileName
,
lastFileFormat
))
{
deckModel
->
getDeckList
()
->
saveToFile
(
lastFileName
,
lastFileFormat
);
setWindowModified
(
false
);
;
return
true
;
}
else
return
false
;
}
}
void
WndDeckEditor
::
actSaveDeckAs
()
bool
WndDeckEditor
::
actSaveDeckAs
()
{
{
DeckList
*
l
=
deckModel
->
getDeckList
();
DeckList
*
l
=
deckModel
->
getDeckList
();
if
(
l
->
saveDialog
(
this
))
{
if
(
l
->
saveDialog
(
this
))
{
lastFileName
=
l
->
getLastFileName
();
lastFileName
=
l
->
getLastFileName
();
lastFileFormat
=
l
->
getLastFileFormat
();
lastFileFormat
=
l
->
getLastFileFormat
();
}
setWindowModified
(
false
);
return
true
;
}
else
return
false
;
}
}
void
WndDeckEditor
::
addCardHelper
(
int
baseRow
)
void
WndDeckEditor
::
addCardHelper
(
int
baseRow
)
...
@@ -200,6 +240,7 @@ void WndDeckEditor::addCardHelper(int baseRow)
...
@@ -200,6 +240,7 @@ void WndDeckEditor::addCardHelper(int baseRow)
const
int
count
=
deckModel
->
data
(
numberIndex
,
Qt
::
EditRole
).
toInt
();
const
int
count
=
deckModel
->
data
(
numberIndex
,
Qt
::
EditRole
).
toInt
();
deckModel
->
setData
(
numberIndex
,
count
+
1
,
Qt
::
EditRole
);
deckModel
->
setData
(
numberIndex
,
count
+
1
,
Qt
::
EditRole
);
}
}
setWindowModified
(
true
);
}
}
void
WndDeckEditor
::
actAddCard
()
void
WndDeckEditor
::
actAddCard
()
...
@@ -218,6 +259,7 @@ void WndDeckEditor::actRemoveCard()
...
@@ -218,6 +259,7 @@ void WndDeckEditor::actRemoveCard()
if
(
!
currentIndex
.
isValid
())
if
(
!
currentIndex
.
isValid
())
return
;
return
;
deckModel
->
removeRow
(
currentIndex
.
row
(),
currentIndex
.
parent
());
deckModel
->
removeRow
(
currentIndex
.
row
(),
currentIndex
.
parent
());
setWindowModified
(
true
);
}
}
void
WndDeckEditor
::
actIncrement
()
void
WndDeckEditor
::
actIncrement
()
...
@@ -228,6 +270,7 @@ void WndDeckEditor::actIncrement()
...
@@ -228,6 +270,7 @@ void WndDeckEditor::actIncrement()
const
QModelIndex
numberIndex
=
currentIndex
.
sibling
(
currentIndex
.
row
(),
0
);
const
QModelIndex
numberIndex
=
currentIndex
.
sibling
(
currentIndex
.
row
(),
0
);
const
int
count
=
deckModel
->
data
(
numberIndex
,
Qt
::
EditRole
).
toInt
();
const
int
count
=
deckModel
->
data
(
numberIndex
,
Qt
::
EditRole
).
toInt
();
deckModel
->
setData
(
numberIndex
,
count
+
1
,
Qt
::
EditRole
);
deckModel
->
setData
(
numberIndex
,
count
+
1
,
Qt
::
EditRole
);
setWindowModified
(
true
);
}
}
void
WndDeckEditor
::
actDecrement
()
void
WndDeckEditor
::
actDecrement
()
...
@@ -241,4 +284,5 @@ void WndDeckEditor::actDecrement()
...
@@ -241,4 +284,5 @@ void WndDeckEditor::actDecrement()
deckModel
->
removeRow
(
currentIndex
.
row
(),
currentIndex
.
parent
());
deckModel
->
removeRow
(
currentIndex
.
row
(),
currentIndex
.
parent
());
else
else
deckModel
->
setData
(
numberIndex
,
count
-
1
,
Qt
::
EditRole
);
deckModel
->
setData
(
numberIndex
,
count
-
1
,
Qt
::
EditRole
);
setWindowModified
(
true
);
}
}
cockatrice/src/window_deckeditor.h
View file @
9a277ccc
...
@@ -22,8 +22,8 @@ private slots:
...
@@ -22,8 +22,8 @@ private slots:
void
actNewDeck
();
void
actNewDeck
();
void
actLoadDeck
();
void
actLoadDeck
();
void
actSaveDeck
();
bool
actSaveDeck
();
void
actSaveDeckAs
();
bool
actSaveDeckAs
();
void
actAddCard
();
void
actAddCard
();
void
actAddCardToSideboard
();
void
actAddCardToSideboard
();
...
@@ -32,6 +32,7 @@ private slots:
...
@@ -32,6 +32,7 @@ private slots:
void
actDecrement
();
void
actDecrement
();
private:
private:
void
addCardHelper
(
int
baseRow
);
void
addCardHelper
(
int
baseRow
);
bool
confirmClose
();
QString
lastFileName
;
QString
lastFileName
;
DeckList
::
FileFormat
lastFileFormat
;
DeckList
::
FileFormat
lastFileFormat
;
...
@@ -45,11 +46,13 @@ private:
...
@@ -45,11 +46,13 @@ private:
QLineEdit
*
searchEdit
,
*
nameEdit
,
*
commentsEdit
;
QLineEdit
*
searchEdit
,
*
nameEdit
,
*
commentsEdit
;
QMenu
*
deckMenu
;
QMenu
*
deckMenu
;
QAction
*
aNewDeck
,
*
aLoadDeck
,
*
aSaveDeck
,
*
aSaveDeckAs
;
QAction
*
aNewDeck
,
*
aLoadDeck
,
*
aSaveDeck
,
*
aSaveDeckAs
,
*
aClose
;
QAction
*
aAddCard
,
*
aAddCardToSideboard
,
*
aRemoveCard
,
*
aIncrement
,
*
aDecrement
;
QAction
*
aAddCard
,
*
aAddCardToSideboard
,
*
aRemoveCard
,
*
aIncrement
,
*
aDecrement
;
public:
public:
WndDeckEditor
(
CardDatabase
*
_db
,
QWidget
*
parent
=
0
);
WndDeckEditor
(
CardDatabase
*
_db
,
QWidget
*
parent
=
0
);
~
WndDeckEditor
();
~
WndDeckEditor
();
protected:
void
closeEvent
(
QCloseEvent
*
event
);
};
};
#endif
#endif
cockatrice/src/window_main.cpp
View file @
9a277ccc
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