Revision
14601
Author
jmesquita
Date
2009-08-23 01:06:54 -0500 (Sun, 23 Aug 2009)

Log Message

Filter UUID from RealtimeStatistics and populate lists upon RealtimeStatistics activation

Modified Paths

Diff

Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/interfaces/monitorstatemachine.h (14600 => 14601)


--- freeswitch/trunk/contrib/jmesquita/fsgui/src/interfaces/monitorstatemachine.h	2009-08-23 05:43:32 UTC (rev 14600)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/interfaces/monitorstatemachine.h	2009-08-23 06:06:54 UTC (rev 14601)
@@ -81,6 +81,9 @@
     void delESLconnection(ESLconnection *);
     int channelCount() { return _channels.count(); }
     QList<Channel *> getChannels() { return _channels.values(); }
+    QList<Channel *> getInactiveChannels() { return _inactive_channels.values(); }
+    QList<Call *> getCalls() { return _calls.values(); }
+    QList<Call *> getInactiveCalls() { return _inactive_calls.values(); }
     Channel * getChannel(QString uuid) { return _channels.value(uuid, NULL); }
     Channel * getInactiveChannel(QString uuid) { return _inactive_channels.value(uuid, NULL); }
     Call * getCall(QString uuid) { return _calls.value(uuid, NULL); }

Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.cpp (14600 => 14601)


--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.cpp	2009-08-23 05:43:32 UTC (rev 14600)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.cpp	2009-08-23 06:06:54 UTC (rev 14601)
@@ -62,16 +62,6 @@
     QObject::connect(esl, SIGNAL(receivedLogMessage(ESLevent)),
                      this, SLOT(gotEvent(ESLevent)));
 
-    /* Test SVN version to enable or disable UUID searching */
-    bool ok;
-    int version = QString(FSGUI_SVN_VERSION).toInt(&ok);
-    if (ok) {
-        if (version >= 14598)
-            m_ui->filterSyntaxComboBox->addItem("UUID");
-    /* User is running modified version and must be responsible */
-    } else {
-        m_ui->filterSyntaxComboBox->addItem("UUID");
-    }
 
     esl->connect();
 
@@ -332,3 +322,9 @@
     settings.endGroup();
     settings.endGroup();
 }
+
+void ConsoleTabWidget::filterLogUUID(QString uuid)
+{
+    m_ui->filterSyntaxComboBox->setCurrentIndex(3);
+    m_ui->lineFilter->setText(uuid);
+}

Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.h (14600 => 14601)


--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.h	2009-08-23 05:43:32 UTC (rev 14600)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.h	2009-08-23 06:06:54 UTC (rev 14601)
@@ -25,6 +25,7 @@
 public slots:
     void clearConsoleContents();
     void showRealtimeStats();
+    void filterLogUUID(QString);
 
 protected:
     void changeEvent(QEvent *e);

Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.ui (14600 => 14601)


--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.ui	2009-08-23 05:43:32 UTC (rev 14600)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.ui	2009-08-23 06:06:54 UTC (rev 14601)
@@ -57,6 +57,11 @@
             <string>Fixed String</string>
            </property>
           </item>
+          <item>
+           <property name="text">
+            <string>UUID</string>
+           </property>
+          </item>
          </widget>
         </item>
         <item>

Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/realtimestatisticsdialog.cpp (14600 => 14601)


--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/realtimestatisticsdialog.cpp	2009-08-23 05:43:32 UTC (rev 14600)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/realtimestatisticsdialog.cpp	2009-08-23 06:06:54 UTC (rev 14601)
@@ -3,6 +3,7 @@
 #include "ui_realtimestatisticsdialog.h"
 #include "monitorstatemachine.h"
 #include "realtimemodels.h"
+#include "consoletabwidget.h"
 
 RealtimeStatisticsDialog::RealtimeStatisticsDialog(QWidget *parent, MonitorStateMachine *sm) :
     QDialog(parent),
@@ -28,6 +29,8 @@
             this, SLOT(activeChannelSelected(QModelIndex)));
     connect(m_ui->listInactiveChannels, SIGNAL(clicked(QModelIndex)),
             this, SLOT(inactiveChannelSelected(QModelIndex)));
+    connect(m_ui->btnFilterLog, SIGNAL(clicked()),
+            this, SLOT(filterLogs()));
 
     /* Connect call stuff */
     connect(sm, SIGNAL(callCreated(Call*)),
@@ -61,6 +64,7 @@
     _inactive_event_sort_model->setSourceModel(_inactive_event_model);
     m_ui->listInactiveEvents->setModel(_inactive_event_sort_model);
 
+    readModels();
 }
 
 RealtimeStatisticsDialog::~RealtimeStatisticsDialog()
@@ -251,3 +255,49 @@
     item->setData(ch->getUUID(), Qt::UserRole);
     _event_model->appendRow(item);
 }
+
+void RealtimeStatisticsDialog::filterLogs()
+{
+    ConsoleTabWidget *consoleTab = qobject_cast<ConsoleTabWidget *>(parent());
+
+    QModelIndex selectedIndex;
+    /* Get the UUID */
+    if (m_ui->tabWidget->currentIndex() == 0)
+    {
+        selectedIndex = m_ui->listActiveChannels->currentIndex();
+    }
+    else
+    {
+        selectedIndex = m_ui->listInactiveChannels->currentIndex();
+    }
+    consoleTab->filterLogUUID(selectedIndex.data(Qt::UserRole).toString());
+    this->hide();
+}
+
+void RealtimeStatisticsDialog::readModels()
+{
+    /* Active channels and calls */
+    foreach(Channel *ch, _sm->getChannels())
+    {
+        channelCreate(ch);
+    }
+    foreach(Call *c, _sm->getCalls())
+    {
+        callCreate(c);
+    }
+    /* Inactive channels and calls */
+    foreach(Channel *ch, _sm->getInactiveChannels())
+    {
+        QStandardItem *item = new QStandardItem(ch->getUUID());
+        item->setData(ch->getUUID(), Qt::UserRole);
+        _inactive_channel_model->appendRow(item);
+    }
+    foreach(Call *c, _sm->getCalls())
+    {
+        QString caller_uuid = c->getCallerUUID();
+        QString callTitle = QString("Call: %1").arg(caller_uuid);
+        QListWidgetItem *item = new QListWidgetItem(callTitle, m_ui->listActiveCalls);
+        item->setData(Qt::UserRole, c->getCallerUUID());
+        m_ui->listInactiveCalls->addItem(item);
+    }
+}

Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/realtimestatisticsdialog.h (14600 => 14601)


--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/realtimestatisticsdialog.h	2009-08-23 05:43:32 UTC (rev 14600)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/realtimestatisticsdialog.h	2009-08-23 06:06:54 UTC (rev 14601)
@@ -26,6 +26,7 @@
     void changeEvent(QEvent *e);
 
 private slots:
+    void filterLogs();
     void channelCreate(Channel *);
     void channelDestroy(Channel *);
     void activeChannelSelected(QModelIndex);
@@ -51,6 +52,8 @@
     EventSortModel *_event_sort_model;
     QStandardItemModel *_inactive_event_model;
     EventSortModel *_inactive_event_sort_model;
+
+    void readModels();
 };
 
 #endif // REALTIMESTATISTICSDIALOG_H

Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/realtimestatisticsdialog.ui (14600 => 14601)


--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/realtimestatisticsdialog.ui	2009-08-23 05:43:32 UTC (rev 14600)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/realtimestatisticsdialog.ui	2009-08-23 06:06:54 UTC (rev 14601)
@@ -16,7 +16,7 @@
   <property name="sizeGripEnabled">
    <bool>true</bool>
   </property>
-  <layout class="QHBoxLayout" name="horizontalLayout_6">
+  <layout class="QVBoxLayout" name="verticalLayout">
    <item>
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
@@ -202,6 +202,30 @@
      </widget>
     </widget>
    </item>
+   <item>
+    <layout class="QHBoxLayout" name="horizontalLayout_6">
+     <item>
+      <spacer name="horizontalSpacer">
+       <property name="orientation">
+        <enum>Qt::Horizontal</enum>
+       </property>
+       <property name="sizeHint" stdset="0">
+        <size>
+         <width>40</width>
+         <height>20</height>
+        </size>
+       </property>
+      </spacer>
+     </item>
+     <item>
+      <widget class="QPushButton" name="btnFilterLog">
+       <property name="text">
+        <string>&amp;Filter logs</string>
+       </property>
+      </widget>
+     </item>
+    </layout>
+   </item>
   </layout>
  </widget>
  <resources/>