Minor Update:
authorMarcus Eggenberger <egs@quassel-irc.org>
Mon, 18 Jun 2007 19:47:01 +0000 (19:47 +0000)
committerMarcus Eggenberger <egs@quassel-irc.org>
Mon, 18 Jun 2007 19:47:01 +0000 (19:47 +0000)
 - some minor fixes
 - preparation for query merging and custom views

gui/bufferview.cpp
gui/bufferview.h
gui/bufferviewwidget.cpp
gui/mainwin.cpp

index e0923cf..4045f20 100644 (file)
@@ -97,3 +97,12 @@ void BufferView::setFilteredModel(QAbstractItemModel *model, BufferViewFilter::M
   setModel(filter);
 }
 
   setModel(filter);
 }
 
+void BufferView::setModel(QAbstractItemModel *model) {
+  QTreeView::setModel(model);
+  init();
+}
+
+void BufferView::dragEnterEvent(QDragEnterEvent *event) {
+  // not yet needed... this will be usefull to keep track of the active view when customizing them with drag and drop
+  QTreeView::dragEnterEvent(event);
+}
index 49f3a80..0dea9bb 100644 (file)
@@ -73,8 +73,11 @@ class BufferView : public QTreeView {
 public:
   BufferView(QWidget *parent = 0);
   void init();
 public:
   BufferView(QWidget *parent = 0);
   void init();
+  void setModel(QAbstractItemModel *model);
   void setFilteredModel(QAbstractItemModel *model, BufferViewFilter::Modes mode, QStringList nets);
   
   void setFilteredModel(QAbstractItemModel *model, BufferViewFilter::Modes mode, QStringList nets);
   
+  void dragEnterEvent(QDragEnterEvent *);
+  
 };
 
 
 };
 
 
index 31023f7..e21b98b 100644 (file)
@@ -331,6 +331,16 @@ bool BufferTreeModel::dropMimeData(const QMimeData *data, Qt::DropAction action,
   Buffer *sourceBuffer = static_cast<BufferTreeItem *>(networkItem[network]->child(sourcerow))->buffer();
   Buffer *targetBuffer = getBufferByIndex(parent);
   
   Buffer *sourceBuffer = static_cast<BufferTreeItem *>(networkItem[network]->child(sourcerow))->buffer();
   Buffer *targetBuffer = getBufferByIndex(parent);
   
+  if(sourceBuffer == targetBuffer) // we won't merge with ourself :)
+    return false;
+  
+  
+  if(QMessageBox::warning(static_cast<QWidget *>(QObject::parent()),
+                          tr("Merge Buffers?"),
+                          tr("Do you really want to merge the following Buffers?<br />%1.%2<br />%3.%4").arg(sourceBuffer->networkName()).arg(sourceBuffer->bufferName()).arg(targetBuffer->networkName()).arg(targetBuffer->bufferName()),
+                          QMessageBox::Yes|QMessageBox::No) == QMessageBox::No)
+    return false;
+    
   qDebug() << "merging" << sourceBuffer->bufferName() << "with" << targetBuffer->bufferName();
   bufferItem.remove(getBufferByIndex(parent));
   removeRow(parent.row(), BufferTreeModel::parent(parent));
   qDebug() << "merging" << sourceBuffer->bufferName() << "with" << targetBuffer->bufferName();
   bufferItem.remove(getBufferByIndex(parent));
   removeRow(parent.row(), BufferTreeModel::parent(parent));
@@ -398,6 +408,5 @@ BufferViewDock::BufferViewDock(QAbstractItemModel *model, QString viewname, Buff
 
   BufferViewWidget *viewWidget = new BufferViewWidget(this);
   viewWidget->treeView()->setFilteredModel(model, mode, nets);
 
   BufferViewWidget *viewWidget = new BufferViewWidget(this);
   viewWidget->treeView()->setFilteredModel(model, mode, nets);
-  viewWidget->treeView()->init();
   setWidget(viewWidget);
 }
   setWidget(viewWidget);
 }
index 0a69121..1e88be0 100644 (file)
@@ -153,7 +153,7 @@ void MainWin::setupMenus() {
 }
 
 void MainWin::setupViews() {
 }
 
 void MainWin::setupViews() {
-  BufferTreeModel *model = new BufferTreeModel();
+  BufferTreeModel *model = new BufferTreeModel(this);
   connect(model, SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *)));
   connect(this, SIGNAL(bufferSelected(Buffer *)), model, SLOT(selectBuffer(Buffer *)));
   connect(this, SIGNAL(bufferUpdated(Buffer *)), model, SLOT(bufferUpdated(Buffer *)));
   connect(model, SIGNAL(bufferSelected(Buffer *)), this, SLOT(showBuffer(Buffer *)));
   connect(this, SIGNAL(bufferSelected(Buffer *)), model, SLOT(selectBuffer(Buffer *)));
   connect(this, SIGNAL(bufferUpdated(Buffer *)), model, SLOT(bufferUpdated(Buffer *)));