#include "clientbacklogmanager.h"
#include "clientbufferviewconfig.h"
#include "clientbufferviewmanager.h"
+#include "clientignorelistmanager.h"
#include "coreinfodlg.h"
#include "coreconnectdlg.h"
#include "contextmenuactionprovider.h"
#include "flatproxymodel.h"
#include "iconloader.h"
#include "inputwidget.h"
-#include "inputline.h"
#include "irclistmodel.h"
#include "ircconnectionwizard.h"
#include "jumpkeyhandler.h"
#include "settingspages/backlogsettingspage.h"
#include "settingspages/bufferviewsettingspage.h"
#include "settingspages/chatmonitorsettingspage.h"
+#include "settingspages/chatviewsettingspage.h"
#include "settingspages/connectionsettingspage.h"
#include "settingspages/generalsettingspage.h"
#include "settingspages/highlightsettingspage.h"
#include "settingspages/identitiessettingspage.h"
+#include "settingspages/ignorelistsettingspage.h"
+#include "settingspages/inputwidgetsettingspage.h"
+#include "settingspages/itemviewsettingspage.h"
#include "settingspages/networkssettingspage.h"
#include "settingspages/notificationssettingspage.h"
this, SLOT(quit()), tr("Ctrl+Q")));
// View
- coll->addAction("ConfigureBufferViews", new Action(tr("&Configure Buffer Views..."), coll,
+ coll->addAction("ConfigureBufferViews", new Action(tr("&Configure Chat Lists..."), coll,
this, SLOT(on_actionConfigureViews_triggered())));
QAction *lockAct = coll->addAction("LockLayout", new Action(tr("&Lock Layout"), coll));
coll->addAction("DebugLog", new Action(SmallIcon("tools-report-bug"), tr("Debug &Log"), coll,
this, SLOT(on_actionDebugLog_triggered())));
coll->addAction("ReloadStyle", new Action(SmallIcon("view-refresh"), tr("Reload Stylesheet"), coll,
- QtUi::style(), SLOT(loadStyleSheet()), QKeySequence::Refresh));
+ QtUi::style(), SLOT(reload()), QKeySequence::Refresh));
// Navigation
- coll->addAction("JumpHotBuffer", new Action(tr("Jump to hot buffer"), coll,
+ coll->addAction("JumpHotBuffer", new Action(tr("Jump to hot chat"), coll,
this, SLOT(on_jumpHotBuffer_triggered()), QKeySequence(Qt::META + Qt::Key_A)));
}
_fileMenu->addAction(coll->action("Quit"));
_viewMenu = menuBar()->addMenu(tr("&View"));
- _bufferViewsMenu = _viewMenu->addMenu(tr("&Buffer Views"));
+ _bufferViewsMenu = _viewMenu->addMenu(tr("&Chat Lists"));
_bufferViewsMenu->addAction(coll->action("ConfigureBufferViews"));
_toolbarMenu = _viewMenu->addMenu(tr("&Toolbars"));
_viewMenu->addSeparator();
//create the view and initialize it's filter
BufferView *view = new BufferView(dock);
view->setFilteredModel(Client::bufferModel(), config);
- view->installEventFilter(_inputWidget->inputLine()); // for key presses
+ view->installEventFilter(_inputWidget); // for key presses
view->show();
Client::bufferModel()->synchronizeView(view);
void MainWin::showSettingsDlg() {
SettingsDlg *dlg = new SettingsDlg();
- //Category: Appearance
+ //Category: Interface
dlg->registerSettingsPage(new AppearanceSettingsPage(dlg));
+ dlg->registerSettingsPage(new ChatViewSettingsPage(dlg));
+ dlg->registerSettingsPage(new ItemViewSettingsPage(dlg));
+ dlg->registerSettingsPage(new InputWidgetSettingsPage(dlg));
dlg->registerSettingsPage(new HighlightSettingsPage(dlg));
dlg->registerSettingsPage(new NotificationsSettingsPage(dlg));
dlg->registerSettingsPage(new BacklogSettingsPage(dlg));
dlg->registerSettingsPage(new IdentitiesSettingsPage(dlg));
dlg->registerSettingsPage(new NetworksSettingsPage(dlg));
dlg->registerSettingsPage(new AliasesSettingsPage(dlg));
+ dlg->registerSettingsPage(new IgnoreListSettingsPage(dlg));
dlg->show();
}
Message::Flags flags = (Message::Flags)idx.data(ChatLineModel::FlagsRole).toInt();
if(flags.testFlag(Message::Backlog) || flags.testFlag(Message::Self))
continue;
- flags |= Message::Backlog; // we only want to trigger a highlight once!
- Client::messageModel()->setData(idx, (int)flags, ChatLineModel::FlagsRole);
BufferId bufId = idx.data(ChatLineModel::BufferIdRole).value<BufferId>();
BufferInfo::Type bufType = Client::networkModel()->bufferType(bufId);
if(hasFocus && bufId == _bufferWidget->currentBuffer())
continue;
- if(flags & Message::Highlight || bufType == BufferInfo::QueryBuffer) {
+ if((flags & Message::Highlight || bufType == BufferInfo::QueryBuffer) &&
+ !Client::ignoreListManager()->match(idx.data(MessageModel::MessageRole).value<Message>(), Client::networkModel()->networkName(bufId))) {
QModelIndex senderIdx = Client::messageModel()->index(i, ChatLineModel::SenderColumn);
QString sender = senderIdx.data(ChatLineModel::EditRole).toString();
QString contents = idx.data(ChatLineModel::DisplayRole).toString();