ed2d1df8b78ec2fa5f50edd3e6f716cdf9539eee
[quassel.git] / src / common / global.cpp
1 /***************************************************************************
2  *   Copyright (C) 2005-07 by The Quassel IRC Development Team             *
3  *   devel@quassel-irc.org                                                 *
4  *                                                                         *
5  *   This program is free software; you can redistribute it and/or modify  *
6  *   it under the terms of the GNU General Public License as published by  *
7  *   the Free Software Foundation; either version 2 of the License, or     *
8  *   (at your option) any later version.                                   *
9  *                                                                         *
10  *   This program is distributed in the hope that it will be useful,       *
11  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13  *   GNU General Public License for more details.                          *
14  *                                                                         *
15  *   You should have received a copy of the GNU General Public License     *
16  *   along with this program; if not, write to the                         *
17  *   Free Software Foundation, Inc.,                                       *
18  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
19  ***************************************************************************/
20 #include <QObject>
21 #include <QStringList>
22
23 #include "global.h"
24 #include "logger.h"
25 #include "message.h"
26 #include "util.h"
27
28 extern void messageHandler(QtMsgType type, const char *msg);
29
30 /* not done yet */
31 /*
32 void Global::initIconMap() {
33 // Do not depend on GUI in core!
34   QDomDocument doc("IconMap");
35   QFile file("images/iconmap.xml");
36   if(!file.open(QIODevice::ReadOnly)) {
37     qDebug() << "Error opening iconMap file!";
38     return;
39   } else if(!doc.setContent(&file)) {
40     file.close();
41     qDebug() << "Error parsing iconMap file!";
42   } else {
43     file.close();
44
45   }
46 }
47 */
48
49 /**************************************************************************************/
50 BufferId::BufferId()
51   : _id(0),
52     _netid(0),
53     _gid(0),
54     _networkName(QString()),
55     _bufferName(QString()) {
56 }
57
58 BufferId::BufferId(uint id, uint networkid, uint gid, QString net, QString buf)
59   : _id(id),
60     _netid(networkid),
61     _gid(gid),
62     _networkName(net),
63     _bufferName(buf) {
64 }
65
66 QString BufferId::buffer() const {
67   if(isChannelName(_bufferName))
68     return _bufferName;
69   else
70     return nickFromMask(_bufferName);
71 }
72
73 QDataStream &operator<<(QDataStream &out, const BufferId &bufferId) {
74   out << bufferId._id << bufferId._netid << bufferId._gid << bufferId._networkName.toUtf8() << bufferId._bufferName.toUtf8();
75   return out;
76 }
77
78 QDataStream &operator>>(QDataStream &in, BufferId &bufferId) {
79   QByteArray n, b;
80   in >> bufferId._id >> bufferId._netid >> bufferId._gid >> n >> b;
81   bufferId._networkName = QString::fromUtf8(n);
82   bufferId._bufferName = QString::fromUtf8(b);
83   return in;
84 }
85
86 uint qHash(const BufferId &bufferid) {
87   return qHash(bufferid._id);
88 }
89
90 /**
91  * Retrieves an icon determined by its symbolic name. The mapping shall later
92  * be performed by a theme manager or something like that.
93  * @param symbol Symbol of requested icon
94  * @return Pointer to a newly created QIcon
95  */
96 //
97 //QIcon *Global::getIcon(QString /*symbol*/) {
98   //if(symbol == "connect"
99
100 //  return 0;
101 //}
102
103 Global::RunMode Global::runMode;
104 QString Global::quasselDir;