emit aliasAdded(name, expansion);
}
+
+AliasManager::AliasList AliasManager::defaults() {
+ AliasList aliases;
+ aliases << Alias("j", "/join $0")
+ << Alias("ns", "/msg nickserv $0")
+ << Alias("nickserv", "/msg nickserv $0")
+ << Alias("cs", "/msg chanserv $0")
+ << Alias("chanserv", "/msg chanserv $0")
+ << Alias("hs", "/msg hostserv $0")
+ << Alias("hostserv", "/msg hostserv $0")
+ << Alias("back", "/quote away");
+ return aliases;
+}
QString expansion;
Alias(const QString &name_, const QString &expansion_) : name(name_), expansion(expansion_) {}
};
+ typedef QList<Alias> AliasList ;
int indexOf(const QString &name) const;
inline bool contains(const QString &name) const { return indexOf(name) != -1; }
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 QList<Alias> &aliases() const { return _aliases; }
+ inline const AliasList &aliases() const { return _aliases; }
+
+ static AliasList defaults();
public slots:
virtual QVariantMap initAliases() const;
void aliasAdded(const QString &name, const QString &expansion);
private:
- QList<Alias> _aliases;
+ AliasList _aliases;
};
Core::setUserSetting(session->user(), "Aliases", initAliases());
}
-void CoreAliasManager::loadDefaults() {
- // Default Aliases:
- addAlias("j", "/join $0");
-
- addAlias("ns", "/msg nickserv $0");
- addAlias("nickserv", "/msg nickserv $0");
- addAlias("cs", "/msg chanserv $0");
- addAlias("chanserv", "/msg chanserv $0");
- addAlias("hs", "/msg hostserv $0");
- addAlias("hostserv", "/msg hostserv $0");
- addAlias("back", "/quote away");
+void CoreAliasManager::loadDefaults() {
+ foreach(Alias alias, AliasManager::defaults()) {
+ addAlias(alias.name, alias.expansion);
+ }
}
endInsertRows();
}
+void AliasesModel::loadDefaults() {
+ AliasManager &manager = cloneAliasManager();
+
+ if(!manager.isEmpty()) {
+ beginRemoveRows(QModelIndex(), 0, rowCount() - 1);
+ for(int i = rowCount() - 1; i >= 0; i--)
+ manager.removeAt(i);
+ endRemoveRows();
+ }
+
+ AliasManager::AliasList defaults = AliasManager::defaults();
+ beginInsertRows(QModelIndex(), 0, defaults.count() - 1);
+ foreach(AliasManager::Alias alias, defaults) {
+ manager.addAlias(alias.name, alias.expansion);
+ }
+ endInsertRows();
+}
+
void AliasesModel::removeAlias(int index) {
if(index < 0 || index >= rowCount())
return;
public slots:
void newAlias();
+ void loadDefaults();
void removeAlias(int index);
void revert();
void commit();
_aliasesModel.revert();
}
+void AliasesSettingsPage::defaults() {
+ _aliasesModel.loadDefaults();
+}
+
void AliasesSettingsPage::save() {
if(_aliasesModel.configChanged())
_aliasesModel.commit();
public:
AliasesSettingsPage(QWidget *parent = 0);
+ virtual inline bool hasDefaults() const { return true; }
+
public slots:
void save();
void load();
+ void defaults();
private slots:
void enableDialog(bool);