Free Tools CodeS-SourceS.com
Programmez!
PCInfo Web


Sélection logiciels

Google Calendar RSS Invoice Creator v1.9

Audacity v1.3.9 bêta

HxD Hex Editor v1.7.7.0

Media Coder v0.7.5.4702

Code::Blocks 8 v8.02


En bref

03 Sept 2010 Priority Inbox : GMail trie votre courrier

01 Juil 2010 Google Me : le nouveau concurrent de Facebook ?

15 Fév 2010 Windows Seven : Les premières conclusions

06 Fév 2010 Une semaine d'actu : retour sur l'actualité de la semaine

28 Déc 2009 2000-2010 : Les révolutions qui ont changé le monde


Les derniers dossiers


Les ressources Delphi et C/C++

Music Pro

Dessin de texte sur un canvas

Comparer strings sans tenir compte des accents

Drag & Drop à partir d'une fenêtre Windows

SMTPCLIENT et SMTPMESS : Envoyer des mails


Membres en ligne

+11 visiteurs en ligne


Nos partenaires

Espacerezo

KilaSoft



Vous êtes ici : AccueilC++Sources › ILC 0.5 : Irc Light Client

ILC 0.5 : Irc Light Client

Illustration de la source

Informations sur la source :

Auteur : Malgon

Catégorie : Réseaux & Internet

Niveau : Intermédiaire

Déposé le : 11 Avril 2009 à 14h25

Dernière mise à jour le : 18 Avril 2009 à 20h25

0 commentaire sur cette source


Description

ILC (Irc Light Client) est un client IRC qui se veut léger et rapide d'utilisation.

Au programme bien entendu la gestion multi-serveur/multi-chan, un message de quit personnalisé, les commandes basiques tels que /nick

La librairie Qt est utilisé pour toutes les facettes de ce logiciel placé sous licence GPL.

 

Vous trouverez ci dessous la fonction utilisée pour parser les commandes que vous tapez ;)


Code Source

1
23
45
67
89
1011
1213
1415
1617
1819
2021
2223
2425
2627
2829
3031
3233
3435
3637
3839
4041
4243
4445
4647
4849
5051
5253
5455
5657
5859
6061
6263
6465
6667
6869
7071
7273
7475
7677
7879
8081
8283
8485
8687
8889
9091
9293
QString Serveur::parseCommande(QString comm,bool serveur)
{        if(comm.startsWith("/"))
        {                comm.remove(0,1);
                QString pref=comm.split(" ").first();                QStringList args=comm.split(" ");
                args.removeFirst();                QString destChan=tab->tabText(tab->currentIndex());
                QString msg=args.join(" "); 
                if(pref=="me")                        return "PRIVMSG "+destChan+" ?01ACTION " + msg + "?01";
                else if(pref=="join")                {
                        join(msg);                        return " ";
                }                else if(pref=="quit")
                {                        if(msg == "")
                                return "QUIT "+msgQuit;                        else
                                return "QUIT "+msg;                }
                else if(pref=="part")                {
                        tab->removeTab(tab->currentIndex()); 
                        if(msg == "")                        {
                                if(msg.startsWith("#"))                                        destChan=msg.split(" ").first();
                                 if(msgQuit=="")
                                        return "PART "+destChan+" using IrcLightClient";                                else
                                        return "PART "+destChan+" "+msgQuit;                        }
                        else                                return "PART "+destChan+" "+msg;
                         conversations.remove(destChan);
                }                else if(pref=="kick")
                {                        QStringList tableau=msg.split(" ");
                        QString c1,c2,c3;                        if(tableau.count() > 0) c1=" "+tableau.first();
                        else c1="";                        if(tableau.count() > 1) c2=" "+tableau.at(1);
                        else c2="";                        if(tableau.count() > 2) c3=" "+tableau.at(2);
                        else c3=""; 
                        if(c1.startsWith("#"))                                return "KICK"+c1+c2+c3;
                        else                                return "KICK "+destChan+c1+c2;
                }                else if(pref=="update")
                {                        updateUsers=true;
                        return "WHO "+destChan;                }
                else if(pref=="ns")                {
                        return "NICKSERV "+msg;                }
                else if(pref=="nick")                {
                        emit pseudoChanged(msg);                        ecrire("-> Votre pseudo a été changé en "+msg);
                        return "NICK "+msg;                }
                else                        return pref+" "+msg;
        }        else if(!serveur)
        {                QString destChan=tab->tabText(tab->currentIndex());
                ecrire("<b><"+pseudo+"></b> "+comm,destChan); 
                if(comm.startsWith(":"))                        comm.insert(0,":");
                 return "PRIVMSG "+destChan+" "+comm;
        }        else
        {                return "";
        }}

Conclusion

Plusieurs bugs sont encore présents, c'est pourquoi un gestionnaire de bugs (du réseau SFHost) est mis à votre disposition : http://bugs.sfhost.net/projects/show/ilc

L'archive contient le code source (pour compiler : qmake && make, nécessite Qt 4.5) ainsi qu'un exécutable Linux.


Fichier Source

38 fichiers 73,89 Ko

ilc/0
ilc/src/mainwindow.cpp5,57 Ko
ilc/src/main.cpp1,13 Ko
ilc/src/.svn/entries968 Octets
ilc/src/.svn/prop-base/main.cpp.svn-base29 Octets
ilc/src/.svn/prop-base/serveur.cpp.svn-base29 Octets
ilc/src/.svn/prop-base/mainwindow.cpp.svn-base29 Octets
ilc/src/.svn/prop-base/serveur.h.svn-base29 Octets
ilc/src/.svn/prop-base/mainwindow.h.svn-base29 Octets
ilc/src/.svn/text-base/main.cpp.svn-base1,13 Ko
ilc/src/.svn/text-base/serveur.cpp.svn-base13,98 Ko
ilc/src/.svn/text-base/mainwindow.cpp.svn-base5,57 Ko
ilc/src/.svn/text-base/serveur.h.svn-base1,64 Ko
ilc/src/.svn/text-base/mainwindow.h.svn-base1,48 Ko
ilc/src/.svn/format2 Octets
ilc/src/mainwindow.h1,48 Ko
ilc/src/serveur.h1,64 Ko
ilc/src/serveur.cpp14,20 Ko
ilc/Makefile9,58 Ko
ilc/irc.pro402 Octets
ilc/ui/.svn/entries345 Octets
ilc/ui/.svn/prop-base/mainwindow.ui.svn-base29 Octets
ilc/ui/.svn/text-base/mainwindow.ui.svn-base5,70 Ko
ilc/ui/.svn/format2 Octets
ilc/ui/mainwindow.ui5,70 Ko
ilc/bin/ilc122,64 Ko
ilc/bin/.svn/entries188 Octets
ilc/bin/.svn/format2 Octets
ilc/rc/.svn/entries354 Octets
ilc/rc/.svn/prop-base/ressources.qrc.svn-base29 Octets
ilc/rc/.svn/text-base/ressources.qrc.svn-base81 Octets
ilc/rc/.svn/format2 Octets
ilc/rc/img/icone.png1,15 Ko
ilc/rc/img/.svn/entries345 Octets
ilc/rc/img/.svn/prop-base/icone.png.svn-base78 Octets
ilc/rc/img/.svn/text-base/icone.png.svn-base1,15 Ko
ilc/rc/img/.svn/format2 Octets
ilc/rc/ressources.qrc81 Octets

Télécharger la source


Historique des mises à jour

Le 18 Avril 2009 à 20h25 : Nouvelle version, c'est une refonte complète de la gestion des messages du serveur (ça marche presque bien maintenant ^^ )



Autres contributions de Malgon


Commentaires sur la source

Soyez le premier à commenter cette ressource !


Ajoutez votre commentaire & avis sur la ressource :

Vous n'êtes pas connecté !

Rejoignez dès maintenant la communauté en 3 clics et exprimez votre avis !

J'ai déjà un compte