~ubuntu-branches/ubuntu/trusty/kvirc/trusty

« back to all changes in this revision

Viewing changes to src/kvirc/sparser/KviIrcServerParser_literalHandlers.cpp

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2013-05-18 19:36:33 UTC
  • mfrom: (24.1.1 experimental)
  • Revision ID: package-import@ubuntu.com-20130518193633-d2caq4677ihxc93h
Tags: 4:4.2.0-2
Upload to unstable 

Show diffs side-by-side

added added

removed removed

Lines of Context:
336
336
                // It's me!
337
337
                if(chan->closeOnPart() && !KVI_OPTION_BOOL(KviOption_boolKeepChannelOpenOnPart))
338
338
                {
339
 
                        chan->frame()->closeWindow(chan); // <-- deleted path
 
339
                        g_pMainWindow->closeWindow(chan); // <-- deleted path
340
340
                } else {
341
341
                        chan->part(szNick); // this will trigger the action too
342
342
                        chan->setDeadChan();
591
591
                                        &szChan,&szNick,&szUser,&szHost,&szKickMsg);
592
592
                        }
593
593
                } else {
594
 
                        chan->frame()->closeWindow(chan); // <-- deleted path
 
594
                        g_pMainWindow->closeWindow(chan); // <-- deleted path
595
595
 
596
596
                        if(!msg->haltOutput())
597
597
                        {
913
913
                        if(!msg->haltOutput())
914
914
                        {
915
915
                                int iFlags = 0;
916
 
                                if(!query->hasAttention())
 
916
                                if(!query->hasAttention(KviWindow::MainWindowIsVisible))
917
917
                                {
918
918
                                        if(KVI_OPTION_BOOL(KviOption_boolFlashQueryWindowOnNewMessages))
919
919
                                        {
1346
1346
                        {
1347
1347
                                int iFlags = 0;
1348
1348
 
1349
 
                                if(!query->hasAttention())
 
1349
                                if(!query->hasAttention(KviWindow::MainWindowIsVisible))
1350
1350
                                {
1351
1351
                                        if(KVI_OPTION_BOOL(KviOption_boolFlashQueryWindowOnNewMessages))
1352
1352
                                        {
1418
1418
 
1419
1419
        if(!chan)
1420
1420
        {
 
1421
                QString szMsgText = msg->connection()->decodeText(msg->safeTrailing());
 
1422
 
1421
1423
                if(bIsServerNotice)
1422
1424
                {
1423
1425
                        //SERVER NOTICE DIRECTED TO A CHANNEL (EG. &servers, &kills on ircd)
1424
1426
                        // FIXME: "Dedicated window for server notices ?"
1425
 
                        QString szMsgText = msg->connection()->decodeText(msg->safeTrailing());
 
1427
 
1426
1428
                        if(KVS_TRIGGER_EVENT_2_HALTED(KviEvent_OnServerNotice,console,szNick,szMsgText))
1427
1429
                                msg->setHaltOutput();
 
1430
 
1428
1431
                        if(!msg->haltOutput())
1429
1432
                        {
1430
1433
                                KviWindow * pOut = KVI_OPTION_BOOL(KviOption_boolServerNoticesToActiveWindow) ?
1432
1435
                                pOut->output(KVI_OUT_SERVERNOTICE,"[\r!s\r%Q\r]: %Q",&szNick,&szMsgText);
1433
1436
                        }
1434
1437
                        return;
 
1438
                }
 
1439
 
 
1440
                //UNKNOWN NOTICE TYPE
 
1441
                if(KVS_TRIGGER_EVENT_5_HALTED(KviEvent_OnBroadcastNotice,console,szNick,szUser,szHost,szOriginalTarget,szMsgText))
 
1442
                        msg->setHaltOutput();
 
1443
 
 
1444
                if(!msg->haltOutput())
 
1445
                {
 
1446
                        KviWindow * pOut = (KviWindow *)(console);
 
1447
 
 
1448
                        if(KVI_OPTION_BOOL(KviOption_boolExternalMessagesToActiveWindow))
 
1449
                        {
 
1450
                                KviWindow* aWin = console->activeWindow();
 
1451
                                if(aWin && (aWin->type() == KviWindow::Channel
 
1452
                                        || aWin->type() == KviWindow::Console
 
1453
                                        || aWin->type() == KviWindow::Query)
 
1454
                                )
 
1455
                                        pOut = aWin;
 
1456
                        }
 
1457
 
 
1458
                        QString szBroad;
 
1459
                        szBroad = QString("[>> %1] %2").arg(szOriginalTarget,szMsgText);
 
1460
                        console->outputPrivmsg(pOut,KVI_OUT_BROADCASTNOTICE,szNick,szUser,szHost,szBroad,0);
 
1461
                }
 
1462
 
 
1463
                return;
 
1464
 
 
1465
        }
 
1466
 
 
1467
        //CHANNEL NOTICE
 
1468
        chan->userAction(szNick,szUser,szHost,KVI_USERACTION_NOTICE);
 
1469
 
 
1470
        KviCString szBuffer; const char * txtptr; int msgtype;
 
1471
        DECRYPT_IF_NEEDED(chan,msg->safeTrailing(),KVI_OUT_CHANNELNOTICE,KVI_OUT_CHANNELNOTICECRYPTED,szBuffer,txtptr,msgtype)
 
1472
        QString szMsgText = chan->decodeText(txtptr);
 
1473
 
 
1474
        if(KVS_TRIGGER_EVENT_3_HALTED(KviEvent_OnChannelNotice,chan,szNick,szMsgText,szOriginalTarget))msg->setHaltOutput();
 
1475
 
 
1476
        if(!msg->haltOutput())
 
1477
        {
 
1478
                if(szPrefixes.length() > 0)
 
1479
                {
 
1480
                        QString szBroad = QString("[>> %1\r!c\r%2\r] %3").arg(szPrefixes,szTarget,szMsgText);
 
1481
                        console->outputPrivmsg(chan,msgtype,szNick,szUser,szHost,szBroad,0);
1435
1482
                } else {
1436
 
                        //UNKNOWN NOTICE TYPE
1437
 
                        if(!msg->haltOutput())
1438
 
                        {
1439
 
                                KviWindow * pOut = (KviWindow *)(console);
1440
 
 
1441
 
                                if(KVI_OPTION_BOOL(KviOption_boolExternalMessagesToActiveWindow))
1442
 
                                {
1443
 
                                        KviWindow* aWin = console->activeWindow();
1444
 
                                        if(aWin && (aWin->type() == KviWindow::Channel
1445
 
                                                || aWin->type() == KviWindow::Console
1446
 
                                                || aWin->type() == KviWindow::Query)
1447
 
                                        )
1448
 
                                                pOut = aWin;
1449
 
                                }
1450
 
 
1451
 
                                QString szBroad;
1452
 
                                QString szMsgText = msg->connection()->decodeText(msg->safeTrailing());
1453
 
                                szBroad = QString("[>> %1] %2").arg(szOriginalTarget,szMsgText);
1454
 
                                console->outputPrivmsg(pOut,KVI_OUT_BROADCASTNOTICE,szNick,szUser,szHost,szBroad,0);
1455
 
                                return;
1456
 
                        }
1457
 
                }
1458
 
        } else {
1459
 
                //CHANNEL NOTICE
1460
 
                chan->userAction(szNick,szUser,szHost,KVI_USERACTION_NOTICE);
1461
 
 
1462
 
                KviCString szBuffer; const char * txtptr; int msgtype;
1463
 
                DECRYPT_IF_NEEDED(chan,msg->safeTrailing(),KVI_OUT_CHANNELNOTICE,KVI_OUT_CHANNELNOTICECRYPTED,szBuffer,txtptr,msgtype)
1464
 
                QString szMsgText = chan->decodeText(txtptr);
1465
 
 
1466
 
                if(KVS_TRIGGER_EVENT_3_HALTED(KviEvent_OnChannelNotice,chan,szNick,szMsgText,szOriginalTarget))msg->setHaltOutput();
1467
 
 
1468
 
                if(!msg->haltOutput())
1469
 
                {
1470
 
                        if(szPrefixes.length() > 0)
1471
 
                        {
1472
 
                                QString szBroad = QString("[>> %1\r!c\r%2\r] %3").arg(szPrefixes,szTarget,szMsgText);
1473
 
                                console->outputPrivmsg(chan,msgtype,szNick,szUser,szHost,szBroad,0);
1474
 
                        } else {
1475
 
                                console->outputPrivmsg(chan,msgtype,szNick,szUser,szHost,szMsgText,0);
1476
 
                        }
 
1483
                        console->outputPrivmsg(chan,msgtype,szNick,szUser,szHost,szMsgText,0);
1477
1484
                }
1478
1485
        }
1479
1486
}
1616
1623
                if(KVI_OPTION_BOOL(KviOption_boolEnableQueryTracing) && (!_OUTPUT_QUIET))
1617
1624
                {
1618
1625
                        old->output(KVI_OUT_QUERYTRACE,
1619
 
                                __tr2qs("The target of this query was lost and has been found when \r!n\r%Q\r [%Q@\r!h\r%Q\r] changed his nickname to \r!n\r%Q\r"),
 
1626
                                __tr2qs("The target of this query was lost and has been found when \r!n\r%Q\r [%Q@\r!h\r%Q\r] changed their nickname to \r!n\r%Q\r"),
1620
1627
                                &szNick,&szUser,&szHost,&szNewNick);
1621
1628
                }
1622
1629
 
1630
1637
                                                &szNick,&szNewNick);
1631
1638
                        }
1632
1639
                        old->mergeQuery(q);
1633
 
                        q->frame()->closeWindow(q); // deleted path
 
1640
                        g_pMainWindow->closeWindow(q); // deleted path
1634
1641
                        if(!msg->haltOutput())
1635
1642
                                        old->output(KVI_OUT_NICK,__tr2qs("\r!n\r%Q\r [%Q@\r!h\r%Q\r] is now known as \r!n\r%Q\r"),
1636
1643
                                        &szNick,&szUser,&szHost,&szNewNick);