20 #include "kchatdialog.h" 22 #include "kchatbase.h" 24 #include <tdelocale.h> 25 #include <tdefontdialog.h> 29 #include <tqpushbutton.h> 31 class KChatDialogPrivate
40 mSystemNamePreview = 0;
41 mSystemTextPreview = 0;
48 TQLabel* mNamePreview;
49 TQLabel* mTextPreview;
50 TQLabel* mSystemNamePreview;
51 TQLabel* mSystemTextPreview;
53 TQLineEdit* mMaxMessages;
58 KChatDialog::KChatDialog(
KChatBase* chat, TQWidget* parent,
bool modal)
60 : KDialogBase(Plain, i18n(
"Configure Chat"), Ok|Default|Apply|Cancel, Ok, parent, 0, modal, true)
66 KChatDialog::KChatDialog(TQWidget* parent,
bool modal)
68 : KDialogBase(Plain, i18n(
"Configure Chat"), Ok|Default|Apply|Cancel, Ok, parent, 0, modal, true)
73 KChatDialog::~KChatDialog()
78 void KChatDialog::init()
80 d =
new KChatDialogPrivate;
82 d->mTextPage = plainPage();
83 TQGridLayout* layout =
new TQGridLayout(d->mTextPage, 7, 2, KDialog::marginHint(), KDialog::spacingHint());
86 TQPushButton*
nameFont =
new TQPushButton(i18n(
"Name Font..."), d->mTextPage);
87 connect(nameFont, TQ_SIGNAL(pressed()),
this, TQ_SLOT(slotGetNameFont()));
88 layout->addWidget(nameFont, 0, 0);
89 TQPushButton* textFont =
new TQPushButton(i18n(
"Text Font..."), d->mTextPage);
90 connect(textFont, TQ_SIGNAL(pressed()),
this, TQ_SLOT(slotGetTextFont()));
91 layout->addWidget(textFont, 0, 1);
93 TQFrame* messagePreview =
new TQFrame(d->mTextPage);
94 messagePreview->setFrameStyle(TQFrame::StyledPanel | TQFrame::Sunken);
95 TQHBoxLayout* messageLayout =
new TQHBoxLayout(messagePreview);
96 layout->addMultiCellWidget(messagePreview, 1, 1, 0, 1);
98 d->mNamePreview =
new TQLabel(i18n(
"Player: "), messagePreview);
99 messageLayout->addWidget(d->mNamePreview, 0);
100 d->mTextPreview =
new TQLabel(i18n(
"This is a player message"), messagePreview);
101 messageLayout->addWidget(d->mTextPreview, 1);
103 layout->addRowSpacing(2, 10);
106 TQLabel* systemMessages =
new TQLabel(i18n(
"System Messages - Messages directly sent from the game"), d->mTextPage);
107 layout->addMultiCellWidget(systemMessages, 3, 3, 0, 1);
108 TQPushButton*
systemNameFont =
new TQPushButton(i18n(
"Name Font..."), d->mTextPage);
109 connect(systemNameFont, TQ_SIGNAL(pressed()),
this, TQ_SLOT(slotGetSystemNameFont()));
110 layout->addWidget(systemNameFont, 4, 0);
111 TQPushButton* systemTextFont =
new TQPushButton(i18n(
"Text Font..."), d->mTextPage);
112 connect(systemTextFont, TQ_SIGNAL(pressed()),
this, TQ_SLOT(slotGetSystemTextFont()));
113 layout->addWidget(systemTextFont, 4, 1);
115 TQFrame* systemMessagePreview =
new TQFrame(d->mTextPage);
116 systemMessagePreview->setFrameStyle(TQFrame::StyledPanel | TQFrame::Sunken);
117 TQHBoxLayout* systemMessageLayout =
new TQHBoxLayout(systemMessagePreview);
118 layout->addMultiCellWidget(systemMessagePreview, 5, 5, 0, 1);
120 d->mSystemNamePreview =
new TQLabel(i18n(
"--- Game: "), systemMessagePreview);
121 systemMessageLayout->addWidget(d->mSystemNamePreview, 0);
122 d->mSystemTextPreview =
new TQLabel(i18n(
"This is a system message"), systemMessagePreview);
123 systemMessageLayout->addWidget(d->mSystemTextPreview, 1);
126 TQLabel* maxMessages =
new TQLabel(i18n(
"Maximal number of messages (-1 = unlimited):"), d->mTextPage);
127 layout->addWidget(maxMessages, 6, 0);
128 d->mMaxMessages =
new TQLineEdit(d->mTextPage);
129 d->mMaxMessages->setText(TQString::number(-1));
130 layout->addWidget(d->mMaxMessages, 6, 1);
133 void KChatDialog::slotGetNameFont()
136 TDEFontDialog::getFont(font);
140 void KChatDialog::slotGetTextFont()
142 TQFont font = textFont();
143 TDEFontDialog::getFont(font);
147 void KChatDialog::slotGetSystemNameFont()
150 TDEFontDialog::getFont(font);
154 void KChatDialog::slotGetSystemTextFont()
156 TQFont font = systemTextFont();
157 TDEFontDialog::getFont(font);
158 setSystemTextFont(font);
161 TQFont KChatDialog::nameFont()
const 163 return d->mNamePreview->font();
166 TQFont KChatDialog::textFont()
const 168 return d->mTextPreview->font();
171 TQFont KChatDialog::systemNameFont()
const 173 return d->mSystemNamePreview->font();
176 TQFont KChatDialog::systemTextFont()
const 178 return d->mSystemTextPreview->font();
181 void KChatDialog::plugChatWidget(
KChatBase* widget,
bool applyFonts)
184 if (applyFonts && d->mChat) {
186 setTextFont(d->mChat->messageFont());
188 setSystemTextFont(d->mChat->systemMessageFont());
189 setMaxMessages(d->mChat->maxItems());
193 void KChatDialog::configureChatWidget(
KChatBase* widget)
207 void KChatDialog::slotOk()
210 KDialogBase::slotOk();
213 void KChatDialog::slotApply()
215 configureChatWidget(d->mChat);
218 void KChatDialog::setNameFont(TQFont f)
220 d->mNamePreview->setFont(f);
223 void KChatDialog::setTextFont(TQFont f)
225 d->mTextPreview->setFont(f);
228 void KChatDialog::setSystemNameFont(TQFont f)
230 d->mSystemNamePreview->setFont(f);
233 void KChatDialog::setSystemTextFont(TQFont f)
235 d->mSystemTextPreview->setFont(f);
238 void KChatDialog::setMaxMessages(
int max)
240 d->mMaxMessages->setText(TQString::number(max));
243 int KChatDialog::maxMessages()
const 246 int max = d->mMaxMessages->text().toInt(&ok);
253 #include "kchatdialog.moc" const TQFont & systemNameFont() const
Same as systemNameFont but applies only to system messages.
The base class for chat widgets.
void setSystemMessageFont(const TQFont &font)
Same as setMessageFont but applies only to system messages.
void setSystemNameFont(const TQFont &font)
Same as setNameFont but applies only to system messages.
void setMaxItems(int maxItems)
Set the maximum number of items in the list.
void setMessageFont(const TQFont &font)
Set the font that used used for the message part of a message.
const TQFont & nameFont() const
This font should be used for the name (the "from: " part) of a message.
void setNameFont(const TQFont &font)
Set the font that used used for the name part of a message.