summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieirc/ircchanneltab.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/noncore/net/opieirc/ircchanneltab.cpp b/noncore/net/opieirc/ircchanneltab.cpp
index 707e17f..881ded7 100644
--- a/noncore/net/opieirc/ircchanneltab.cpp
+++ b/noncore/net/opieirc/ircchanneltab.cpp
@@ -95,126 +95,129 @@ void IRCChannelTab::appendText(QString text) {
95 emit ping( title() ); 95 emit ping( title() );
96 else if ( (p1 = text.find("ping", 0, false) )!= -1 && (p2 = text.find( m_parentTab->server()->nick(), 0,false )) != -1 ) { 96 else if ( (p1 = text.find("ping", 0, false) )!= -1 && (p2 = text.find( m_parentTab->server()->nick(), 0,false )) != -1 ) {
97 int col = text.findRev("color", -1, false); 97 int col = text.findRev("color", -1, false);
98 if ( col < p2 ) 98 if ( col < p2 )
99 emit ping( title() ); 99 emit ping( title() );
100 100
101 } 101 }
102 102
103 emit changed(this); 103 emit changed(this);
104} 104}
105 105
106IRCChannelTab::~IRCChannelTab() { 106IRCChannelTab::~IRCChannelTab() {
107 m_parentTab->removeChannelTab(this); 107 m_parentTab->removeChannelTab(this);
108} 108}
109 109
110void IRCChannelTab::processCommand() { 110void IRCChannelTab::processCommand() {
111 QString text = m_field->text(); 111 QString text = m_field->text();
112 if (text.length()>0) { 112 if (text.length()>0) {
113 if (session()->isSessionActive()) { 113 if (session()->isSessionActive()) {
114 if (text.startsWith("/") && !text.startsWith("//")) { 114 if (text.startsWith("/") && !text.startsWith("//")) {
115 /* Command mode */ 115 /* Command mode */
116 m_parentTab->executeCommand(this, text);; 116 m_parentTab->executeCommand(this, text);;
117 } else { 117 } else {
118 if (text.startsWith("//")) 118 if (text.startsWith("//"))
119 text = text.right(text.length()-1); 119 text = text.right(text.length()-1);
120 session()->sendMessage(m_channel, m_field->text()); 120 session()->sendMessage(m_channel, m_field->text());
121 appendText("<font color=\"" + m_textColor + "\">&lt;</font><font color=\"" + m_selfColor + "\">"+m_parentTab->server()->nick()+"</font><font color=\"" + m_textColor + "\">&gt; "+IRCOutput::toHTML(m_field->text())+"</font><br>"); 121 appendText("<font color=\"" + m_textColor + "\">&lt;</font><font color=\"" + m_selfColor + "\">"+m_parentTab->server()->nick()+"</font><font color=\"" + m_textColor + "\">&gt; "+IRCOutput::toHTML(m_field->text())+"</font><br>");
122 } 122 }
123 } else { 123 } else {
124 appendText("<font color=\"" + m_errorColor + "\">"+tr("Disconnected")+"</font><br>"); 124 appendText("<font color=\"" + m_errorColor + "\">"+tr("Disconnected")+"</font><br>");
125 } 125 }
126 } 126 }
127 m_field->clear(); 127 m_field->clear();
128} 128}
129 129
130void IRCChannelTab::settingsChanged() { 130void IRCChannelTab::settingsChanged() {
131 m_textview->setText("<qt bgcolor=\"" + m_backgroundColor + "\"/>"); 131 m_textview->setText("<qt bgcolor=\"" + m_backgroundColor + "\"/>");
132 m_lines = 0; 132 m_lines = 0;
133} 133}
134 134
135void IRCChannelTab::toggleList() { 135void IRCChannelTab::toggleList() {
136 if (m_listVisible) { 136 if (m_listVisible) {
137 m_list->setMaximumWidth(0); 137 m_list->setMaximumWidth(0);
138 m_listButton->setText("<"); 138 m_listButton->setText("<");
139 } else { 139 } else {
140 m_list->setMaximumWidth(LISTWIDTH); 140 m_list->setMaximumWidth(LISTWIDTH);
141 m_listButton->setText(">"); 141 m_listButton->setText(">");
142 } 142 }
143 m_listVisible = !m_listVisible; 143 m_listVisible = !m_listVisible;
144} 144}
145 145
146void IRCChannelTab::mouseButtonPressed(int mouse, QListBoxItem *, const QPoint &point) { 146void IRCChannelTab::mouseButtonPressed(int mouse, QListBoxItem *, const QPoint &point) {
147 switch (mouse) { 147 switch (mouse) {
148 case 1: 148 case 1:
149 break; 149 break;
150 case 2: 150 case 2:
151 m_popup->popup(point); 151 m_popup->popup(point);
152 break; 152 break;
153 }; 153 };
154} 154}
155 155
156void IRCChannelTab::popupQuery( QListBoxItem *item) { 156void IRCChannelTab::popupQuery( QListBoxItem *item) {
157 if (item) { 157 if (item) {
158 IRCPerson *person = session()->getPerson(item->text()); 158 IRCPerson *person = session()->getPerson(item->text());
159 if (person) { 159 if (person) {
160 IRCQueryTab *tab = m_parentTab->getTabForQuery(person); 160 IRCQueryTab *tab = m_parentTab->getTabForQuery(person);
161 if (!tab) { 161 if (!tab) {
162 tab = new IRCQueryTab(person, m_parentTab, m_mainWindow, (QWidget *)parent()); 162 tab = new IRCQueryTab(person, m_parentTab, m_mainWindow, (QWidget *)parent());
163 m_parentTab->addQueryTab(tab); 163 m_parentTab->addQueryTab(tab);
164 m_mainWindow->addTab(tab); 164 m_mainWindow->addTab(tab);
165 } 165 }
166 } 166 }
167 } 167 }
168} 168}
169 169
170void IRCChannelTab::popupQuery() { 170void IRCChannelTab::popupQuery() {
171 if ( m_list->currentItem() != -1 ) 171 if ( m_list->currentItem() != -1 )
172 popupQuery( m_list->item(m_list->currentItem())); 172 popupQuery( m_list->item(m_list->currentItem()));
173} 173}
174 174
175void IRCChannelTab::popupPing() { 175void IRCChannelTab::popupPing() {
176 if(m_list->currentItem() != -1) 176 if(m_list->currentItem() != -1)
177 m_parentTab->session()->sendCTCPPing(m_list->text(m_list->currentItem())); 177 m_parentTab->session()->sendCTCPPing(m_list->text(m_list->currentItem()));
178} 178}
179 179
180void IRCChannelTab::popupVersion() { 180void IRCChannelTab::popupVersion() {
181 if(m_list->currentItem() != -1) 181 if(m_list->currentItem() != -1)
182 m_parentTab->session()->sendCTCPRequest(m_list->text(m_list->currentItem()), "VERSION", ""); 182 m_parentTab->session()->sendCTCPRequest(m_list->text(m_list->currentItem()), "VERSION", "");
183} 183}
184 184
185void IRCChannelTab::popupWhois() { 185void IRCChannelTab::popupWhois() {
186 if(m_list->currentItem() != -1) 186 if(m_list->currentItem() != -1)
187 m_parentTab->session()->whois(m_list->text(m_list->currentItem())); 187 m_parentTab->session()->whois(m_list->text(m_list->currentItem()));
188} 188}
189 189
190QString IRCChannelTab::title() { 190QString IRCChannelTab::title() {
191 return m_channel->channelname(); 191 if(!m_channel->channelname().startsWith("&"))
192 return m_channel->channelname();
193
194 return "&" + m_channel->channelname();
192} 195}
193 196
194IRCSession *IRCChannelTab::session() { 197IRCSession *IRCChannelTab::session() {
195 return m_parentTab->session(); 198 return m_parentTab->session();
196} 199}
197 200
198void IRCChannelTab::remove() { 201void IRCChannelTab::remove() {
199 if (session()->isSessionActive()) { 202 if (session()->isSessionActive()) {
200 session()->part(m_channel); 203 session()->part(m_channel);
201 } else { 204 } else {
202 m_mainWindow->killTab(this); 205 m_mainWindow->killTab(this);
203 } 206 }
204} 207}
205 208
206void IRCChannelTab::enqueue(const QString &channel, const QString &message) { 209void IRCChannelTab::enqueue(const QString &channel, const QString &message) {
207 if (m_queuedMessages.count() == (m_queuedMessages.size() - 1) ) 210 if (m_queuedMessages.count() == (m_queuedMessages.size() - 1) )
208 /* 17 messages max */ 211 /* 17 messages max */
209 return; 212 return;
210 m_queuedMessages.insert(channel, new QString(message)); 213 m_queuedMessages.insert(channel, new QString(message));
211} 214}
212 215
213IRCChannel *IRCChannelTab::channel() { 216IRCChannel *IRCChannelTab::channel() {
214 return m_channel; 217 return m_channel;
215} 218}
216 219
217IRCChannelList *IRCChannelTab::list() { 220IRCChannelList *IRCChannelTab::list() {
218 return m_list; 221 return m_list;
219} 222}
220 223