}
void BufferView::keyPressEvent(QKeyEvent *event) {
- if(event->key() == Qt::Key_Backspace || event->key() == Qt::Key_Delete) {
+ if((event->key() == Qt::Key_Backspace || event->key() == Qt::Key_Delete) && !selectionModel()->selectedIndexes().isEmpty()) {
event->accept();
QModelIndex index = selectionModel()->selectedIndexes().first();
- if(index.isValid()) {
+ if(index.isValid() && index.data(NetworkModel::ItemTypeRole) == NetworkModel::BufferItemType) {
emit removeBuffer(index);
}
}
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
-#include <QCoreApplication>
-
#include "bufferviewfilter.h"
+#include <QCoreApplication>
+
#include "buffermodel.h"
#include "client.h"
#include "networkmodel.h"
}
void BufferViewFilter::removeBuffer(const QModelIndex &index) {
- if(!config())
+ if(!config() || !index.isValid() || index.data(NetworkModel::ItemTypeRole) != NetworkModel::BufferItemType)
return;
-
+
BufferId bufferId = data(index, NetworkModel::BufferIdRole).value<BufferId>();
config()->requestRemoveBuffer(bufferId);
}
void BufferViewFilter::checkPreviousCurrentForRemoval(const QModelIndex ¤t, const QModelIndex &previous) {
Q_UNUSED(current);
if(previous.isValid())
- QCoreApplication::instance()->postEvent(this, new CheckRemovalEvent(previous));
+ QCoreApplication::postEvent(this, new CheckRemovalEvent(previous));
}
void BufferViewFilter::customEvent(QEvent *event) {
{ using namespace Global;
quasselVersion = "0.2.0-beta1-pre";
- quasselDate = "2008-05-03";
- quasselBuild = 810;
+ quasselDate = "2008-05-04";
+ quasselBuild = 814;
//! Minimum client build number the core needs
clientBuildNeeded = 731;