# include "knotificationbackend.h"
#endif /* HAVE_KDE */
+#ifdef HAVE_INDICATEQT
+ #include "indicatornotificationbackend.h"
+#endif
+
#include "settingspages/aliasessettingspage.h"
#include "settingspages/appearancesettingspage.h"
#include "settingspages/backlogsettingspage.h"
connect(Client::messageModel(), SIGNAL(rowsInserted(const QModelIndex &, int, int)),
SLOT(messagesInserted(const QModelIndex &, int, int)));
connect(GraphicalUi::contextMenuActionProvider(), SIGNAL(showChannelList(NetworkId)), SLOT(showChannelList(NetworkId)));
+ connect(GraphicalUi::contextMenuActionProvider(), SIGNAL(showIgnoreList(QString)), SLOT(showIgnoreList(QString)));
// Setup Dock Areas
setDockNestingEnabled(true);
QtUi::registerNotificationBackend(new KNotificationBackend(this));
#endif /* HAVE_KDE */
+#ifdef HAVE_INDICATEQT
+ QtUi::registerNotificationBackend(new IndicatorNotificationBackend(this));
+#endif
+
+ connect(bufferWidget(), SIGNAL(currentChanged(BufferId)), SLOT(currentBufferChanged(BufferId)));
+
setDisconnectedState(); // Disable menus and stuff
#ifdef HAVE_KDE
channelListDlg->show();
}
+void MainWin::showIgnoreList(QString newRule) {
+ SettingsPageDlg dlg(new IgnoreListSettingsPage(this), this);
+ // prepare config dialog for new rule
+ if(!newRule.isEmpty())
+ qobject_cast<IgnoreListSettingsPage *>(dlg.currentPage())->editIgnoreRule(newRule);
+ dlg.exec();
+}
+
void MainWin::showCoreInfoDlg() {
CoreInfoDlg(this).exec();
}
/********************************************************************************************************/
bool MainWin::event(QEvent *event) {
- if(event->type() == QEvent::WindowActivate)
- QtUi::closeNotifications();
+ if(event->type() == QEvent::WindowActivate) {
+ BufferId buffer = Client::bufferModel()->currentBuffer();
+ if(buffer.isValid())
+ QtUi::closeNotifications(buffer);
+ }
return QMainWindow::event(event);
}
BufferId bufId = idx.data(ChatLineModel::BufferIdRole).value<BufferId>();
BufferInfo::Type bufType = Client::networkModel()->bufferType(bufId);
- if(hasFocus && bufId == _bufferWidget->currentBuffer())
+ if(hasFocus && bufId == Client::bufferModel()->currentBuffer())
continue;
if((flags & Message::Highlight || bufType == BufferInfo::QueryBuffer)
}
}
+void MainWin::currentBufferChanged(BufferId buffer) {
+ if(buffer.isValid())
+ QtUi::closeNotifications(buffer);
+}
+
void MainWin::clientNetworkCreated(NetworkId id) {
const Network *net = Client::network(id);
QAction *act = new QAction(net->networkName(), this);