projects
/
quassel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SASL support
[quassel.git]
/
src
/
common
/
aliasmanager.h
diff --git
a/src/common/aliasmanager.h
b/src/common/aliasmanager.h
index
8ae54cd
..
67a5620
100644
(file)
--- a/
src/common/aliasmanager.h
+++ b/
src/common/aliasmanager.h
@@
-1,5
+1,5
@@
/***************************************************************************
/***************************************************************************
- * Copyright (C) 2005-0
8
by the Quassel Project *
+ * Copyright (C) 2005-0
9
by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
@@
-21,17
+21,21
@@
#ifndef ALIASMANAGER_H
#define ALIASMANAGER_H
#ifndef ALIASMANAGER_H
#define ALIASMANAGER_H
+#include <QVariantMap>
+
+#include "bufferinfo.h"
#include "syncableobject.h"
#include "syncableobject.h"
-#include <QVariantMap>
+class Network;
class AliasManager : public SyncableObject {
class AliasManager : public SyncableObject {
+ SYNCABLE_OBJECT
Q_OBJECT
public:
inline AliasManager(QObject *parent = 0) : SyncableObject(parent) { setAllowClientUpdates(true); }
AliasManager &operator=(const AliasManager &other);
Q_OBJECT
public:
inline AliasManager(QObject *parent = 0) : SyncableObject(parent) { setAllowClientUpdates(true); }
AliasManager &operator=(const AliasManager &other);
-
+
struct Alias {
QString name;
QString expansion;
struct Alias {
QString name;
QString expansion;
@@
-45,24
+49,29
@@
public:
inline int count() const { return _aliases.count(); }
inline void removeAt(int index) { _aliases.removeAt(index); }
inline Alias &operator[](int i) { return _aliases[i]; }
inline int count() const { return _aliases.count(); }
inline void removeAt(int index) { _aliases.removeAt(index); }
inline Alias &operator[](int i) { return _aliases[i]; }
- inline const Alias &operator[](int i) const { return _aliases
[i]
; }
+ inline const Alias &operator[](int i) const { return _aliases
.at(i)
; }
inline const AliasList &aliases() const { return _aliases; }
static AliasList defaults();
inline const AliasList &aliases() const { return _aliases; }
static AliasList defaults();
+ typedef QList<QPair<BufferInfo, QString> > CommandList;
+
+ CommandList processInput(const BufferInfo &info, const QString &message);
+
public slots:
virtual QVariantMap initAliases() const;
virtual void initSetAliases(const QVariantMap &aliases);
virtual void addAlias(const QString &name, const QString &expansion);
public slots:
virtual QVariantMap initAliases() const;
virtual void initSetAliases(const QVariantMap &aliases);
virtual void addAlias(const QString &name, const QString &expansion);
-
+
protected:
void setAliases(const QList<Alias> &aliases) { _aliases = aliases; }
protected:
void setAliases(const QList<Alias> &aliases) { _aliases = aliases; }
+ virtual const Network *network(NetworkId) const = 0; // core and client require different access
-signals:
- void aliasAdded(const QString &name, const QString &expansion);
-
private:
private:
+ void processInput(const BufferInfo &info, const QString &message, CommandList &previousCommands);
+ void expand(const QString &alias, const BufferInfo &bufferInfo, const QString &msg, CommandList &previousCommands);
+
AliasList _aliases;
};
AliasList _aliases;
};