summaryrefslogtreecommitdiff
path: root/noncore/net/opieirc/ircservertab.cpp
authorzecke <zecke>2004-09-08 21:51:06 (UTC)
committer zecke <zecke>2004-09-08 21:51:06 (UTC)
commitebb830522c9662bda4c4453e532bcc29631c5d60 (patch) (side-by-side diff)
tree5cf95975e91cb2db78be5cdf47c01a340109c1f4 /noncore/net/opieirc/ircservertab.cpp
parentf0fdb800d57e9a1d95ba593185e9462300539eea (diff)
downloadopie-ebb830522c9662bda4c4453e532bcc29631c5d60.zip
opie-ebb830522c9662bda4c4453e532bcc29631c5d60.tar.gz
opie-ebb830522c9662bda4c4453e532bcc29631c5d60.tar.bz2
-Close Tab Keyboard Accelerator with delayed deletion of the tab
-Optionally add a TimeStamp to the Tab -Remove not implemented CTCP actions from the Channel PopupMenu -Give Focus to the Edit Line -Some more ping handling patch inspired and copied from zautrix fork
Diffstat (limited to 'noncore/net/opieirc/ircservertab.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/opieirc/ircservertab.cpp25
1 files changed, 16 insertions, 9 deletions
diff --git a/noncore/net/opieirc/ircservertab.cpp b/noncore/net/opieirc/ircservertab.cpp
index 2a34c0b..5ca7a29 100644
--- a/noncore/net/opieirc/ircservertab.cpp
+++ b/noncore/net/opieirc/ircservertab.cpp
@@ -5,5 +5,6 @@
bool IRCServerTab::containsPing( const QString& text, IRCServerTab* tab ) {
- return (text.find("ping") != -1 && text.find( tab->server()->nick() != -1));
+ return (text.contains(IRCMessageParser::tr("Received a CTCP PING from "))) ||
+ (text.find("ping") != -1 && text.find( tab->server()->nick() != -1));
}
@@ -31,8 +32,11 @@ IRCServerTab::IRCServerTab(IRCServer server, MainWindow *mainWindow, QWidget *pa
m_layout->add(m_field);
connect(m_field, SIGNAL(returnPressed()), this, SLOT(processCommand()));
- m_field->setFocus();
connect(m_session, SIGNAL(outputReady(IRCOutput)), this, SLOT(display(IRCOutput)));
connect(m_mainWindow, SIGNAL(updateScroll()), this, SLOT(scrolling()));
settingsChanged();
+
+ m_field->setFocus();
+ m_field->setActiveWindow();
+
}
@@ -44,5 +48,8 @@ void IRCServerTab::scrolling(){
void IRCServerTab::appendText(QString text) {
/* not using append because it creates layout problems */
- QString txt = m_textview->text() + text + "\n";
+ QString txt = m_textview->text() + IRCTab::appendTimestamp( text );
+
+
+
if (m_maxLines > 0 && m_lines >= m_maxLines) {
int firstBreak = txt.find('\n');
@@ -235,9 +242,9 @@ void IRCServerTab::remove() {
m_channelTabs.first();
while (m_channelTabs.current() != 0) {
- m_mainWindow->killTab(m_channelTabs.current());
+ m_mainWindow->killTab(m_channelTabs.current(), true);
}
m_queryTabs.first();
while (m_queryTabs.current() != 0) {
- m_mainWindow->killTab(m_queryTabs.current());
+ m_mainWindow->killTab(m_queryTabs.current(), true);
}
m_mainWindow->killTab(this);
@@ -273,9 +280,9 @@ void IRCServerTab::display(IRCOutput output) {
m_channelTabs.first();
while (m_channelTabs.current() != 0) {
- m_mainWindow->killTab(m_channelTabs.current());
+ m_mainWindow->killTab(m_channelTabs.current(), true);
}
m_queryTabs.first();
while (m_queryTabs.current() != 0) {
- m_mainWindow->killTab(m_queryTabs.current());
+ m_mainWindow->killTab(m_queryTabs.current(), true);
}
m_mainWindow->killTab(this);
@@ -313,5 +320,5 @@ void IRCServerTab::display(IRCOutput output) {
IRCChannelTab *channelTab = getTabForChannel((IRCChannel *)output.getParam(0));
if (channelTab)
- m_mainWindow->killTab(channelTab);
+ m_mainWindow->killTab(channelTab, true);
}
break;
@@ -320,5 +327,5 @@ void IRCServerTab::display(IRCOutput output) {
IRCChannelTab *channelTab = getTabForChannel((IRCChannel *)output.getParam(0));
if (channelTab)
- m_mainWindow->killTab(channelTab);
+ m_mainWindow->killTab(channelTab, true);
}
break;