modeprefix.patch
src/uisupport/uistyle.cpp | ||
---|---|---|
19 | 19 |
***************************************************************************/ |
20 | 20 |
#include <QApplication> |
21 | 21 | |
22 |
#include "client.h" |
|
22 | 23 |
#include "buffersettings.h" |
23 | 24 |
#include "iconloader.h" |
24 | 25 |
#include "qssparser.h" |
... | ... | |
687 | 688 |
return timestamp().toLocalTime().toString(UiStyle::timestampFormatString()); |
688 | 689 |
} |
689 | 690 | |
691 |
static QMap<char, QString> defaultSenderPrefixes() { |
|
692 |
QMap<char, QString> map; |
|
693 |
map.insert( 'q', "~" ); |
|
694 |
map.insert( 'a', "&" ); |
|
695 |
map.insert( 'o', "@" ); |
|
696 |
map.insert( 'h', "%" ); |
|
697 |
map.insert( 'v', "+" ); |
|
698 |
return map; |
|
699 |
} |
|
700 | ||
701 |
static const QMap<char, QString> senderPrefixes = defaultSenderPrefixes(); |
|
702 | ||
690 | 703 |
QString UiStyle::StyledMessage::plainSender() const { |
691 | 704 |
switch(type()) { |
692 | 705 |
case Message::Plain: |
... | ... | |
698 | 711 |
} |
699 | 712 | |
700 | 713 |
QString UiStyle::StyledMessage::decoratedSender() const { |
714 |
QString sender = plainSender(); |
|
715 |
if (sender.length() && bufferInfo().type() & BufferInfo::ChannelBuffer) { |
|
716 |
const Network *net = Client::network(bufferInfo().networkId()); |
|
717 |
if (net) { |
|
718 |
IrcChannel *channel = net->ircChannel(bufferInfo().bufferName()); |
|
719 |
if (channel) { |
|
720 |
QString modes = channel->userModes(sender); |
|
721 |
if (modes.length() > 0) { |
|
722 |
const char mode = modes.at(0).toAscii(); |
|
723 |
if (senderPrefixes.contains(mode)) { |
|
724 |
sender = senderPrefixes[mode] + sender; |
|
725 |
} |
|
726 |
} |
|
727 |
} |
|
728 |
} |
|
729 |
} |
|
701 | 730 |
switch(type()) { |
702 | 731 |
case Message::Plain: |
703 |
return tr("<%1>").arg(plainSender()); break;
|
|
732 |
return tr("<%1>").arg(sender); break;
|
|
704 | 733 |
case Message::Notice: |
705 |
return tr("[%1]").arg(plainSender()); break;
|
|
734 |
return tr("[%1]").arg(sender); break;
|
|
706 | 735 |
case Message::Action: |
707 | 736 |
return tr("-*-"); break; |
708 | 737 |
case Message::Nick: |
... | ... | |
736 | 765 |
case Message::Invite: |
737 | 766 |
return tr("->"); break; |
738 | 767 |
default: |
739 |
return tr("%1").arg(plainSender());
|
|
768 |
return tr("%1").arg(sender);
|
|
740 | 769 |
} |
741 | 770 |
} |
742 | 771 | |
743 |
- |