23 #include "ircignoresmanager.h" 24 #include "ui_ircignoresmanager.h" 26 #include "irc/configuration/chatnetworkscfg.h" 27 #include "irc/entities/ircnetworkentity.h" 28 #include "patternlist.h" 31 DClass<IRCIgnoresManager> :
public Ui::IRCIgnoresManager
34 QString networkDescription;
43 d->networkDescription = networkDescription;
49 IRCIgnoresManager::~IRCIgnoresManager()
53 void IRCIgnoresManager::done(
int result)
55 if (result == Accepted)
57 QDialog::done(result);
60 void IRCIgnoresManager::keyPressEvent(QKeyEvent *event)
62 if (event->key() == Qt::Key_Delete)
64 QDialog::keyPressEvent(event);
67 void IRCIgnoresManager::loadItems()
71 for (
const QRegExp &pattern : network.ignoredUsers())
73 QListWidgetItem *item =
new QListWidgetItem(pattern.pattern(), d->list);
74 item->setFlags(item->flags() | Qt::ItemIsEditable);
75 d->list->addItem(item);
79 void IRCIgnoresManager::saveItems()
83 network.setIgnoredUsers(patterns());
90 for (
int row = 0; row < d->list->count(); ++row)
92 QString text = d->list->item(row)->text();
93 if (!text.trimmed().isEmpty())
94 result << QRegExp(text, Qt::CaseInsensitive, QRegExp::Wildcard);
99 void IRCIgnoresManager::deleteSelected()
101 QList<QListWidgetItem *> selection = d->list->selectedItems();
102 for (QListWidgetItem *item : selection)
104 d->list->removeItemWidget(item);
106 qDeleteAll(selection);
const QString & description() const
A short, human-readable description for the network. (Preferably a single word).
bool replaceNetwork(const QString &oldDescription, const IRCNetworkEntity &newNetwork, QWidget *errorDisplayParentWidget)
Replace network definition in config and move around log files.
Data structure that describes and defines a connection to an IRC network or server.