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
8fee9c6c
Commit
8fee9c6c
authored
Jan 13, 2015
by
poixen
Browse files
Merge pull request #535 from poixen/chatnamehighlight
Chat highlighting when username is mentioned
parents
2ae9cd2c
f1a94014
Changes
5
Show whitespace changes
Inline
Side-by-side
cockatrice/src/chatview.cpp
View file @
8fee9c6c
...
...
@@ -8,6 +8,8 @@
#include
"user_context_menu.h"
#include
"tab_supervisor.h"
#include
"pixmapgenerator.h"
#include
"settingscache.h"
#include
"main.h"
ChatView
::
ChatView
(
const
TabSupervisor
*
_tabSupervisor
,
TabGame
*
_game
,
bool
_showTimestamps
,
QWidget
*
parent
)
:
QTextBrowser
(
parent
),
tabSupervisor
(
_tabSupervisor
),
game
(
_game
),
evenNumber
(
true
),
showTimestamps
(
_showTimestamps
),
hoveredItemType
(
HoveredNothing
)
...
...
@@ -102,7 +104,7 @@ void ChatView::appendMessage(QString message, QString sender, UserLevelFlags use
QTextCharFormat
senderFormat
;
if
(
tabSupervisor
&&
tabSupervisor
->
getUserInfo
()
&&
(
sender
==
QString
::
fromStdString
(
tabSupervisor
->
getUserInfo
()
->
name
())))
{
senderFormat
.
setFontWeight
(
QFont
::
Bold
);
senderFormat
.
setForeground
(
Q
t
::
red
);
senderFormat
.
setForeground
(
Q
Brush
(
QColor
(
255
,
120
,
0
))
);
}
else
{
senderFormat
.
setForeground
(
Qt
::
blue
);
if
(
playerBold
)
...
...
@@ -168,8 +170,17 @@ void ChatView::appendMessage(QString message, QString sender, UserLevelFlags use
}
else
from
=
1
;
}
QTextCharFormat
charFormat
;
if
(
settingsCache
->
getChatMention
())
{
if
(
message
.
toLower
().
contains
(
"@"
+
QString
::
fromStdString
(
tabSupervisor
->
getUserInfo
()
->
name
()).
toLower
()))
{
charFormat
.
setFontWeight
(
QFont
::
Bold
);
charFormat
.
setForeground
(
QBrush
(
QColor
(
255
,
120
,
0
)));
}
}
if
(
!
message
.
isEmpty
())
cursor
.
insertText
(
message
);
cursor
.
insertText
(
message
,
charFormat
);
if
(
atBottom
)
verticalScrollBar
()
->
setValue
(
verticalScrollBar
()
->
maximum
());
...
...
cockatrice/src/dlg_settings.cpp
View file @
8fee9c6c
...
...
@@ -506,6 +506,10 @@ UserInterfaceSettingsPage::UserInterfaceSettingsPage()
tapAnimationCheckBox
->
setChecked
(
settingsCache
->
getTapAnimation
());
connect
(
tapAnimationCheckBox
,
SIGNAL
(
stateChanged
(
int
)),
settingsCache
,
SLOT
(
setTapAnimation
(
int
)));
chatMentionCheckBox
=
new
QCheckBox
;
chatMentionCheckBox
->
setChecked
(
settingsCache
->
getChatMention
());
connect
(
chatMentionCheckBox
,
SIGNAL
(
stateChanged
(
int
)),
settingsCache
,
SLOT
(
setChatMention
(
int
)));
soundEnabledCheckBox
=
new
QCheckBox
;
soundEnabledCheckBox
->
setChecked
(
settingsCache
->
getSoundEnabled
());
connect
(
soundEnabledCheckBox
,
SIGNAL
(
stateChanged
(
int
)),
settingsCache
,
SLOT
(
setSoundEnabled
(
int
)));
...
...
@@ -537,9 +541,16 @@ UserInterfaceSettingsPage::UserInterfaceSettingsPage()
animationGroupBox
=
new
QGroupBox
;
animationGroupBox
->
setLayout
(
animationGrid
);
QGridLayout
*
chatGrid
=
new
QGridLayout
;
chatGrid
->
addWidget
(
chatMentionCheckBox
,
0
,
0
);
chatGroupBox
=
new
QGroupBox
;
chatGroupBox
->
setLayout
(
chatGrid
);
QVBoxLayout
*
mainLayout
=
new
QVBoxLayout
;
mainLayout
->
addWidget
(
generalGroupBox
);
mainLayout
->
addWidget
(
animationGroupBox
);
mainLayout
->
addWidget
(
chatGroupBox
);
mainLayout
->
addWidget
(
soundGroupBox
);
setLayout
(
mainLayout
);
...
...
@@ -552,7 +563,9 @@ void UserInterfaceSettingsPage::retranslateUi()
doubleClickToPlayCheckBox
->
setText
(
tr
(
"&Double-click cards to play them (instead of single-click)"
));
playToStackCheckBox
->
setText
(
tr
(
"&Play all nonlands onto the stack (not the battlefield) by default"
));
animationGroupBox
->
setTitle
(
tr
(
"Animation settings"
));
chatGroupBox
->
setTitle
(
tr
(
"Chat settings"
));
tapAnimationCheckBox
->
setText
(
tr
(
"&Tap/untap animation"
));
chatMentionCheckBox
->
setText
(
tr
(
"Enable chat mentions ('@yourusername' in chat log will be highlighted)"
));
soundEnabledCheckBox
->
setText
(
tr
(
"Enable &sounds"
));
soundPathLabel
->
setText
(
tr
(
"Path to sounds directory:"
));
soundTestButton
->
setText
(
tr
(
"Test system sound engine"
));
...
...
cockatrice/src/dlg_settings.h
View file @
8fee9c6c
...
...
@@ -91,10 +91,11 @@ private:
QCheckBox
*
doubleClickToPlayCheckBox
;
QCheckBox
*
playToStackCheckBox
;
QCheckBox
*
tapAnimationCheckBox
;
QCheckBox
*
chatMentionCheckBox
;
QCheckBox
*
soundEnabledCheckBox
;
QLabel
*
soundPathLabel
;
QLineEdit
*
soundPathEdit
;
QGroupBox
*
generalGroupBox
,
*
animationGroupBox
,
*
soundGroupBox
;
QGroupBox
*
generalGroupBox
,
*
animationGroupBox
,
*
soundGroupBox
,
*
chatGroupBox
;
QPushButton
*
soundTestButton
;
public:
UserInterfaceSettingsPage
();
...
...
cockatrice/src/settingscache.cpp
View file @
8fee9c6c
...
...
@@ -40,6 +40,7 @@ SettingsCache::SettingsCache()
invertVerticalCoordinate
=
settings
->
value
(
"table/invert_vertical"
,
false
).
toBool
();
minPlayersForMultiColumnLayout
=
settings
->
value
(
"interface/min_players_multicolumn"
,
5
).
toInt
();
tapAnimation
=
settings
->
value
(
"cards/tapanimation"
,
true
).
toBool
();
chatMention
=
settings
->
value
(
"chat/mention"
,
true
).
toBool
();
zoneViewSortByName
=
settings
->
value
(
"zoneview/sortbyname"
,
true
).
toBool
();
zoneViewSortByType
=
settings
->
value
(
"zoneview/sortbytype"
,
true
).
toBool
();
...
...
@@ -232,6 +233,11 @@ void SettingsCache::setTapAnimation(int _tapAnimation)
settings
->
setValue
(
"cards/tapanimation"
,
tapAnimation
);
}
void
SettingsCache
::
setChatMention
(
int
_chatMention
)
{
chatMention
=
_chatMention
;
settings
->
setValue
(
"chat/mention"
,
chatMention
);
}
void
SettingsCache
::
setZoneViewSortByName
(
int
_zoneViewSortByName
)
{
zoneViewSortByName
=
_zoneViewSortByName
;
...
...
cockatrice/src/settingscache.h
View file @
8fee9c6c
...
...
@@ -54,6 +54,7 @@ private:
bool
invertVerticalCoordinate
;
int
minPlayersForMultiColumnLayout
;
bool
tapAnimation
;
bool
chatMention
;
bool
zoneViewSortByName
,
zoneViewSortByType
;
bool
soundEnabled
;
QString
soundPath
;
...
...
@@ -92,6 +93,7 @@ public:
bool
getInvertVerticalCoordinate
()
const
{
return
invertVerticalCoordinate
;
}
int
getMinPlayersForMultiColumnLayout
()
const
{
return
minPlayersForMultiColumnLayout
;
}
bool
getTapAnimation
()
const
{
return
tapAnimation
;
}
bool
getChatMention
()
const
{
return
chatMention
;
}
bool
getZoneViewSortByName
()
const
{
return
zoneViewSortByName
;
}
bool
getZoneViewSortByType
()
const
{
return
zoneViewSortByType
;
}
bool
getSoundEnabled
()
const
{
return
soundEnabled
;
}
...
...
@@ -131,6 +133,7 @@ public slots:
void
setInvertVerticalCoordinate
(
int
_invertVerticalCoordinate
);
void
setMinPlayersForMultiColumnLayout
(
int
_minPlayersForMultiColumnLayout
);
void
setTapAnimation
(
int
_tapAnimation
);
void
setChatMention
(
int
_chatMention
);
void
setZoneViewSortByName
(
int
_zoneViewSortByName
);
void
setZoneViewSortByType
(
int
_zoneViewSortByType
);
void
setSoundEnabled
(
int
_soundEnabled
);
...
...
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