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
9cfe4bea
Commit
9cfe4bea
authored
Jun 13, 2011
by
Max-Wilhelm Bruker
Browse files
CardInfoWidget improvement by Absinthe and Hellkeepa
parent
a03bf888
Changes
4
Show whitespace changes
Inline
Side-by-side
cockatrice/src/cardinfowidget.cpp
View file @
9cfe4bea
...
@@ -11,8 +11,24 @@
...
@@ -11,8 +11,24 @@
#include
"settingscache.h"
#include
"settingscache.h"
CardInfoWidget
::
CardInfoWidget
(
ResizeMode
_mode
,
QWidget
*
parent
,
Qt
::
WindowFlags
flags
)
CardInfoWidget
::
CardInfoWidget
(
ResizeMode
_mode
,
QWidget
*
parent
,
Qt
::
WindowFlags
flags
)
:
QFrame
(
parent
,
flags
),
pixmapWidth
(
160
),
aspectRatio
((
qreal
)
CARD_HEIGHT
/
(
qreal
)
CARD_WIDTH
),
minimized
(
false
),
mode
(
_mode
),
info
(
0
)
:
QFrame
(
parent
,
flags
)
,
pixmapWidth
(
160
)
,
aspectRatio
((
qreal
)
CARD_HEIGHT
/
(
qreal
)
CARD_WIDTH
)
,
minimized
(
settingsCache
->
getCardInfoMinimized
())
// Initialize the cardinfo view status from cache.
,
mode
(
_mode
)
,
info
(
0
)
{
{
if
(
mode
==
ModeGameTab
)
{
// Create indexed list of status views for card.
const
QStringList
cardInfoStatus
=
QStringList
()
<<
tr
(
"Hide card info"
)
<<
tr
(
"Show card only"
)
<<
tr
(
"Show text only"
)
<<
tr
(
"Show full info"
);
// Create droplist for cardinfo view selection, and set right current index.
dropList
=
new
QComboBox
();
dropList
->
addItems
(
cardInfoStatus
);
dropList
->
setCurrentIndex
(
minimized
);
connect
(
dropList
,
SIGNAL
(
currentIndexChanged
(
int
)),
this
,
SLOT
(
minimizeClicked
(
int
)));
}
cardPicture
=
new
QLabel
;
cardPicture
=
new
QLabel
;
cardPicture
->
setAlignment
(
Qt
::
AlignCenter
);
cardPicture
->
setAlignment
(
Qt
::
AlignCenter
);
...
@@ -33,6 +49,8 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag
...
@@ -33,6 +49,8 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag
QGridLayout
*
grid
=
new
QGridLayout
(
this
);
QGridLayout
*
grid
=
new
QGridLayout
(
this
);
int
row
=
0
;
int
row
=
0
;
if
(
mode
==
ModeGameTab
)
grid
->
addWidget
(
dropList
,
row
++
,
1
,
1
,
1
,
Qt
::
AlignRight
);
grid
->
addWidget
(
cardPicture
,
row
++
,
0
,
1
,
2
);
grid
->
addWidget
(
cardPicture
,
row
++
,
0
,
1
,
2
);
grid
->
addWidget
(
nameLabel1
,
row
,
0
);
grid
->
addWidget
(
nameLabel1
,
row
,
0
);
grid
->
addWidget
(
nameLabel2
,
row
++
,
1
);
grid
->
addWidget
(
nameLabel2
,
row
++
,
1
);
...
@@ -51,15 +69,51 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag
...
@@ -51,15 +69,51 @@ CardInfoWidget::CardInfoWidget(ResizeMode _mode, QWidget *parent, Qt::WindowFlag
retranslateUi
();
retranslateUi
();
setFrameStyle
(
QFrame
::
Panel
|
QFrame
::
Raised
);
setFrameStyle
(
QFrame
::
Panel
|
QFrame
::
Raised
);
setMinimumHeight
(
350
);
if
(
mode
==
ModeGameTab
)
{
if
(
mode
==
ModeGameTab
)
{
textLabel
->
setFixedHeight
(
100
);
textLabel
->
setFixedHeight
(
100
);
setFixedWidth
(
sizeHint
().
width
());
setFixedWidth
(
sizeHint
().
width
());
setM
aximumHeight
(
580
);
setM
inimized
(
settingsCache
->
getCardInfoMinimized
()
);
}
else
if
(
mode
==
ModePopUp
)
}
else
if
(
mode
==
ModePopUp
)
setFixedWidth
(
350
);
setFixedWidth
(
350
);
else
else
setFixedWidth
(
250
);
setFixedWidth
(
250
);
if
(
mode
!=
ModeDeckEditor
)
setFixedHeight
(
sizeHint
().
height
());
}
void
CardInfoWidget
::
minimizeClicked
(
int
newMinimized
)
{
// Set new status, and store it in the settings cache.
setMinimized
(
newMinimized
);
settingsCache
->
setCardInfoMinimized
(
newMinimized
);
}
void
CardInfoWidget
::
setMinimized
(
int
_minimized
)
{
minimized
=
_minimized
;
// Set the picture to be shown only at "card only" (1) and "full info" (3)
if
(
minimized
==
1
||
minimized
==
3
)
{
cardPicture
->
setVisible
(
true
);
}
else
{
cardPicture
->
setVisible
(
false
);
}
// Set the rest of the fields to be shown only at "full info" (3) and "oracle only" (2)
bool
showAll
=
(
minimized
==
2
||
minimized
==
3
)
?
true
:
false
;
// Toggle oracle fields as according to selected view.
nameLabel2
->
setVisible
(
showAll
);
nameLabel1
->
setVisible
(
showAll
);
manacostLabel1
->
setVisible
(
showAll
);
manacostLabel2
->
setVisible
(
showAll
);
cardtypeLabel1
->
setVisible
(
showAll
);
cardtypeLabel2
->
setVisible
(
showAll
);
powtoughLabel1
->
setVisible
(
showAll
);
powtoughLabel2
->
setVisible
(
showAll
);
textLabel
->
setVisible
(
showAll
);
setFixedHeight
(
sizeHint
().
height
());
}
}
void
CardInfoWidget
::
setCard
(
CardInfo
*
card
)
void
CardInfoWidget
::
setCard
(
CardInfo
*
card
)
...
@@ -112,7 +166,7 @@ void CardInfoWidget::retranslateUi()
...
@@ -112,7 +166,7 @@ void CardInfoWidget::retranslateUi()
void
CardInfoWidget
::
resizeEvent
(
QResizeEvent
*
/*event*/
)
void
CardInfoWidget
::
resizeEvent
(
QResizeEvent
*
/*event*/
)
{
{
if
(
(
mode
==
ModeDeckEditor
)
||
(
mode
==
ModeGameTab
))
{
if
(
mode
==
ModeDeckEditor
)
{
pixmapWidth
=
qMin
(
width
()
*
0.95
,
(
height
()
-
200
)
/
aspectRatio
);
pixmapWidth
=
qMin
(
width
()
*
0.95
,
(
height
()
-
200
)
/
aspectRatio
);
updatePixmap
();
updatePixmap
();
}
}
...
...
cockatrice/src/cardinfowidget.h
View file @
9cfe4bea
...
@@ -2,6 +2,8 @@
...
@@ -2,6 +2,8 @@
#define CARDINFOWIDGET_H
#define CARDINFOWIDGET_H
#include
<QFrame>
#include
<QFrame>
#include
<QStringList>
#include
<QComboBox>
class
QLabel
;
class
QLabel
;
class
QTextEdit
;
class
QTextEdit
;
...
@@ -13,14 +15,17 @@ class QMouseEvent;
...
@@ -13,14 +15,17 @@ class QMouseEvent;
class
CardInfoWidget
:
public
QFrame
{
class
CardInfoWidget
:
public
QFrame
{
Q_OBJECT
Q_OBJECT
public:
public:
enum
ResizeMode
{
ModeDeckEditor
,
ModeGameTab
,
ModePopUp
};
enum
ResizeMode
{
ModeDeckEditor
,
ModeGameTab
,
ModePopUp
};
private:
private:
int
pixmapWidth
;
int
pixmapWidth
;
qreal
aspectRatio
;
qreal
aspectRatio
;
bool
minimized
;
int
minimized
;
// 0 - minimized, 1 - card, 2 - oracle only, 3 - full
ResizeMode
mode
;
ResizeMode
mode
;
QComboBox
*
dropList
;
QLabel
*
cardPicture
;
QLabel
*
cardPicture
;
QLabel
*
nameLabel1
,
*
nameLabel2
;
QLabel
*
nameLabel1
,
*
nameLabel2
;
QLabel
*
manacostLabel1
,
*
manacostLabel2
;
QLabel
*
manacostLabel1
,
*
manacostLabel2
;
...
@@ -29,18 +34,25 @@ private:
...
@@ -29,18 +34,25 @@ private:
QTextEdit
*
textLabel
;
QTextEdit
*
textLabel
;
CardInfo
*
info
;
CardInfo
*
info
;
void
setMinimized
(
int
_minimized
);
public:
public:
CardInfoWidget
(
ResizeMode
_mode
,
QWidget
*
parent
=
0
,
Qt
::
WindowFlags
f
=
0
);
CardInfoWidget
(
ResizeMode
_mode
,
QWidget
*
parent
=
0
,
Qt
::
WindowFlags
f
=
0
);
void
retranslateUi
();
void
retranslateUi
();
public
slots
:
public
slots
:
void
setCard
(
CardInfo
*
card
);
void
setCard
(
CardInfo
*
card
);
void
setCard
(
const
QString
&
cardName
);
void
setCard
(
const
QString
&
cardName
);
void
setCard
(
AbstractCardItem
*
card
);
void
setCard
(
AbstractCardItem
*
card
);
private
slots
:
private
slots
:
void
clear
();
void
clear
();
void
updatePixmap
();
void
updatePixmap
();
void
minimizeClicked
(
int
newMinimized
);
signals:
signals:
void
mouseReleased
();
void
mouseReleased
();
protected:
protected:
void
resizeEvent
(
QResizeEvent
*
event
);
void
resizeEvent
(
QResizeEvent
*
event
);
void
mouseReleaseEvent
(
QMouseEvent
*
event
);
void
mouseReleaseEvent
(
QMouseEvent
*
event
);
...
...
cockatrice/src/settingscache.cpp
View file @
9cfe4bea
...
@@ -19,6 +19,7 @@ SettingsCache::SettingsCache()
...
@@ -19,6 +19,7 @@ SettingsCache::SettingsCache()
picDownload
=
settings
->
value
(
"personal/picturedownload"
,
true
).
toBool
();
picDownload
=
settings
->
value
(
"personal/picturedownload"
,
true
).
toBool
();
doubleClickToPlay
=
settings
->
value
(
"interface/doubleclicktoplay"
,
true
).
toBool
();
doubleClickToPlay
=
settings
->
value
(
"interface/doubleclicktoplay"
,
true
).
toBool
();
cardInfoMinimized
=
settings
->
value
(
"interface/cardinfominimized"
,
0
).
toInt
();
tabGameSplitterSizes
=
settings
->
value
(
"interface/tabgame_splittersizes"
).
toByteArray
();
tabGameSplitterSizes
=
settings
->
value
(
"interface/tabgame_splittersizes"
).
toByteArray
();
displayCardNames
=
settings
->
value
(
"cards/displaycardnames"
,
true
).
toBool
();
displayCardNames
=
settings
->
value
(
"cards/displaycardnames"
,
true
).
toBool
();
horizontalHand
=
settings
->
value
(
"hand/horizontal"
,
true
).
toBool
();
horizontalHand
=
settings
->
value
(
"hand/horizontal"
,
true
).
toBool
();
...
@@ -107,6 +108,12 @@ void SettingsCache::setDoubleClickToPlay(int _doubleClickToPlay)
...
@@ -107,6 +108,12 @@ void SettingsCache::setDoubleClickToPlay(int _doubleClickToPlay)
settings
->
setValue
(
"interface/doubleclicktoplay"
,
doubleClickToPlay
);
settings
->
setValue
(
"interface/doubleclicktoplay"
,
doubleClickToPlay
);
}
}
void
SettingsCache
::
setCardInfoMinimized
(
int
_cardInfoMinimized
)
{
cardInfoMinimized
=
_cardInfoMinimized
;
settings
->
setValue
(
"interface/cardinfominimized"
,
cardInfoMinimized
);
}
void
SettingsCache
::
setTabGameSplitterSizes
(
const
QByteArray
&
_tabGameSplitterSizes
)
void
SettingsCache
::
setTabGameSplitterSizes
(
const
QByteArray
&
_tabGameSplitterSizes
)
{
{
tabGameSplitterSizes
=
_tabGameSplitterSizes
;
tabGameSplitterSizes
=
_tabGameSplitterSizes
;
...
...
cockatrice/src/settingscache.h
View file @
9cfe4bea
...
@@ -29,6 +29,7 @@ private:
...
@@ -29,6 +29,7 @@ private:
QString
handBgPath
,
stackBgPath
,
tableBgPath
,
playerBgPath
,
cardBackPicturePath
;
QString
handBgPath
,
stackBgPath
,
tableBgPath
,
playerBgPath
,
cardBackPicturePath
;
bool
picDownload
;
bool
picDownload
;
bool
doubleClickToPlay
;
bool
doubleClickToPlay
;
int
cardInfoMinimized
;
QByteArray
tabGameSplitterSizes
;
QByteArray
tabGameSplitterSizes
;
bool
displayCardNames
;
bool
displayCardNames
;
bool
horizontalHand
;
bool
horizontalHand
;
...
@@ -50,6 +51,7 @@ public:
...
@@ -50,6 +51,7 @@ public:
QString
getCardBackPicturePath
()
const
{
return
cardBackPicturePath
;
}
QString
getCardBackPicturePath
()
const
{
return
cardBackPicturePath
;
}
bool
getPicDownload
()
const
{
return
picDownload
;
}
bool
getPicDownload
()
const
{
return
picDownload
;
}
bool
getDoubleClickToPlay
()
const
{
return
doubleClickToPlay
;
}
bool
getDoubleClickToPlay
()
const
{
return
doubleClickToPlay
;
}
int
getCardInfoMinimized
()
const
{
return
cardInfoMinimized
;
}
QByteArray
getTabGameSplitterSizes
()
const
{
return
tabGameSplitterSizes
;
}
QByteArray
getTabGameSplitterSizes
()
const
{
return
tabGameSplitterSizes
;
}
bool
getDisplayCardNames
()
const
{
return
displayCardNames
;
}
bool
getDisplayCardNames
()
const
{
return
displayCardNames
;
}
bool
getHorizontalHand
()
const
{
return
horizontalHand
;
}
bool
getHorizontalHand
()
const
{
return
horizontalHand
;
}
...
@@ -71,6 +73,7 @@ public slots:
...
@@ -71,6 +73,7 @@ public slots:
void
setCardBackPicturePath
(
const
QString
&
_cardBackPicturePath
);
void
setCardBackPicturePath
(
const
QString
&
_cardBackPicturePath
);
void
setPicDownload
(
int
_picDownload
);
void
setPicDownload
(
int
_picDownload
);
void
setDoubleClickToPlay
(
int
_doubleClickToPlay
);
void
setDoubleClickToPlay
(
int
_doubleClickToPlay
);
void
setCardInfoMinimized
(
int
_cardInfoMinimized
);
void
setTabGameSplitterSizes
(
const
QByteArray
&
_tabGameSplitterSizes
);
void
setTabGameSplitterSizes
(
const
QByteArray
&
_tabGameSplitterSizes
);
void
setDisplayCardNames
(
int
_displayCardNames
);
void
setDisplayCardNames
(
int
_displayCardNames
);
void
setHorizontalHand
(
int
_horizontalHand
);
void
setHorizontalHand
(
int
_horizontalHand
);
...
...
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