diff --git a/src/discovery-panel.cpp b/src/discovery-panel.cpp
index 06c7cf7..4c5dcf7 100644
--- a/src/discovery-panel.cpp
+++ b/src/discovery-panel.cpp
@@ -1,6 +1,6 @@
 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
 /*
- * Copyright (c) 2013, Regents of the University of California
+ * Copyright (c) 2020, Regents of the University of California
  *
  * BSD license, See the LICENSE file for more information
  *
@@ -105,7 +105,7 @@
   ui->NameData->setText(QString::fromStdString(info.getName().toUri()));
   ui->NameSpaceData->setText(QString::fromStdString(info.getSyncPrefix().toUri()));
 
-  switch(info.getTrustModel()) {
+  switch (info.getTrustModel()) {
   case 2:
     {
       ui->TrustModelData->setText(QString("Hierarchical"));
@@ -162,8 +162,8 @@
 
 // private slots
 void
-DiscoveryPanel::onSelectedChatroomChanged(const QItemSelection &selected,
-                                          const QItemSelection &deselected)
+DiscoveryPanel::onSelectedChatroomChanged(const QItemSelection& selected,
+                                          const QItemSelection& deselected)
 {
   QModelIndexList items = selected.indexes();
   QString chatroomName = m_chatroomListModel->data(items.first(), Qt::DisplayRole).toString();
@@ -187,8 +187,8 @@
 }
 
 void
-DiscoveryPanel::onSelectedParticipantChanged(const QItemSelection &selected,
-                                             const QItemSelection &deselected)
+DiscoveryPanel::onSelectedParticipantChanged(const QItemSelection& selected,
+                                             const QItemSelection& deselected)
 {
   if (m_isParticipant)
     return;
@@ -231,5 +231,4 @@
 
 #if WAF
 #include "discovery-panel.moc"
-// #include "discovery-panel.cpp.moc"
 #endif
