Load Qt's default translations if available, fixes BR #400
[quassel.git] / src / common / network.h
index dbc5f35..1785372 100644 (file)
@@ -18,8 +18,8 @@
  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
  ***************************************************************************/
 
-#ifndef NETWORK_H_
-#define NETWORK_H_
+#ifndef NETWORK_H
+#define NETWORK_H
 
 #include <QString>
 #include <QStringList>
@@ -143,14 +143,14 @@ public:
   bool supports(const QString &param) const { return _supports.contains(param); }
   QString support(const QString &param) const;
 
-  IrcUser *newIrcUser(const QString &hostmask);
+  IrcUser *newIrcUser(const QString &hostmask, const QVariantMap &initData = QVariantMap());
   inline IrcUser *newIrcUser(const QByteArray &hostmask) { return newIrcUser(decodeServerString(hostmask)); }
   IrcUser *ircUser(QString nickname) const;
   inline IrcUser *ircUser(const QByteArray &nickname) const { return ircUser(decodeServerString(nickname)); }
   inline QList<IrcUser *> ircUsers() const { return _ircUsers.values(); }
   inline quint32 ircUserCount() const { return _ircUsers.count(); }
 
-  IrcChannel *newIrcChannel(const QString &channelname);
+  IrcChannel *newIrcChannel(const QString &channelname, const QVariantMap &initData = QVariantMap());
   inline IrcChannel *newIrcChannel(const QByteArray &channelname) { return newIrcChannel(decodeServerString(channelname)); }
   IrcChannel *ircChannel(QString channelname) const;
   inline IrcChannel *ircChannel(const QByteArray &channelname) const { return ircChannel(decodeServerString(channelname)); }
@@ -176,6 +176,9 @@ public:
   static void setDefaultCodecForEncoding(const QByteArray &name);
   static void setDefaultCodecForDecoding(const QByteArray &name);
 
+  bool autoAwayActive() const { return _autoAwayActive; }
+  void setAutoAwayActive(bool active) { _autoAwayActive = active; }
+
 public slots:
   void setNetworkName(const QString &networkName);
   void setCurrentServer(const QString &currentServer);
@@ -295,6 +298,9 @@ signals:
   void disconnectRequested(NetworkId id = 0) const;
   void setNetworkInfoRequested(const NetworkInfo &) const;
 
+protected:
+  inline virtual IrcChannel *ircChannelFactory(const QString &channelname) { return new IrcChannel(channelname, this); }
+
 private:
   QPointer<SignalProxy> _proxy;
 
@@ -338,6 +344,8 @@ private:
   static QTextCodec *_defaultCodecForServer;
   static QTextCodec *_defaultCodecForEncoding;
   static QTextCodec *_defaultCodecForDecoding;
+
+  bool _autoAwayActive; // when this is active handle305 and handle306 don't trigger any output
 };
 
 //! Stores all editable information about a network (as opposed to runtime state).