#include <QMenu>
#include <QMessageBox>
#include <QSet>
+#include <QVBoxLayout>
#include "action.h"
#include "buffermodel.h"
Client::userInput(bufferInfo, QString("/JOIN %1").arg(bufferInfo.bufferName()));
}
+
void BufferView::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_Backspace || event->key() == Qt::Key_Delete) {
event->accept();
removeSelectedBuffers();
}
- TreeViewTouch::keyPressEvent(event);
+ TreeViewTouch::keyPressEvent(event);
}
void BufferView::rowsInserted(const QModelIndex &parent, int start, int end)
{
- TreeViewTouch::rowsInserted(parent, start, end);
+ TreeViewTouch::rowsInserted(parent, start, end);
// ensure that newly inserted network nodes are expanded per default
if (parent.data(NetworkModel::ItemTypeRole) != NetworkModel::NetworkItemType)
#if QT_VERSION < 0x050000
void BufferView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight)
{
- TreeViewTouch::dataChanged(topLeft, bottomRight);
+ TreeViewTouch::dataChanged(topLeft, bottomRight);
#else
void BufferView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles)
{
- TreeViewTouch::dataChanged(topLeft, bottomRight, roles);
+ TreeViewTouch::dataChanged(topLeft, bottomRight, roles);
#endif
// determine how many items have been changed and if any of them is a networkitem
config()->requestRemoveBuffer(bufferId);
}
+void BufferView::filterTextChanged(QString filterString)
+{
+ BufferViewFilter *filter = qobject_cast<BufferViewFilter *>(model());
+ if (!filter) {
+ return;
+ }
+ filter->setFilterString(filterString);
+ on_configChanged(); // make sure collapsation is correct
+}
+
QSize BufferView::sizeHint() const
{
// ==============================
BufferViewDock::BufferViewDock(BufferViewConfig *config, QWidget *parent)
: QDockWidget(parent),
+ _childWidget(0),
+ _widget(new QWidget(parent)),
+ _filterEdit(new QLineEdit(parent)),
_active(false),
_title(config->bufferViewName())
{
setAllowedAreas(Qt::RightDockWidgetArea|Qt::LeftDockWidgetArea);
connect(config, SIGNAL(bufferViewNameSet(const QString &)), this, SLOT(bufferViewRenamed(const QString &)));
updateTitle();
+
+ _widget->setLayout(new QVBoxLayout);
+ _widget->layout()->setSpacing(0);
+ _widget->layout()->setContentsMargins(0, 0, 0, 0);
+ _filterEdit->setVisible(config->showSearch()); // hide it here, so we don't flicker or somesuch
+ _filterEdit->setPlaceholderText(tr("Search..."));
+ _widget->layout()->addWidget(_filterEdit);
+ QDockWidget::setWidget(_widget);
}
setWindowTitle(title);
}
+void BufferViewDock::configChanged()
+{
+ _filterEdit->setVisible(config()->showSearch());
+
+ if (!_filterEdit->isVisible()) {
+ _filterEdit->setText(QLatin1String(""));
+ }
+}
void BufferViewDock::setActive(bool active)
{
else
return view->config();
}
+
+void BufferViewDock::setWidget(QWidget *newWidget)
+{
+ _widget->layout()->addWidget(newWidget);
+ _childWidget = newWidget;
+
+ connect(_filterEdit, SIGNAL(textChanged(QString)), bufferView(), SLOT(filterTextChanged(QString)));
+}