Diff
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/fsgui/appmanager.cpp (14470 => 14471)
--- freeswitch/trunk/contrib/jmesquita/fsgui/src/fsgui/appmanager.cpp 2009-08-09 05:21:08 UTC (rev 14470)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/fsgui/appmanager.cpp 2009-08-09 05:55:48 UTC (rev 14471)
@@ -10,6 +10,7 @@
AppManager::AppManager(QObject *parent)
: QObject(parent)
{
+ reallyClose = NULL;
QObject::connect(qApp, SIGNAL(lastWindowClosed()),
this, SLOT(lastWindowClosed()));
@@ -40,16 +41,16 @@
action_exit = new QAction(tr("E&xit"), this);
action_exit->setShortcut(tr("Ctrl+Q"));
action_exit->setToolTip(tr("Exit FsGui"));
- QWidget::connect(action_exit, SIGNAL(triggered()),
+ QObject::connect(action_exit, SIGNAL(triggered()),
qApp, SLOT(closeAllWindows()));
action_preferences = new QAction(tr("&Preferences"), this);
- QWidget::connect(action_preferences, SIGNAL(triggered()),
+ QObject::connect(action_preferences, SIGNAL(triggered()),
settings, SLOT(show()));
action_about = new QAction(tr("&About"), this);
action_about->setShortcut(QKeySequence::HelpContents);
- QWidget::connect(action_about, SIGNAL(triggered()),
+ QObject::connect(action_about, SIGNAL(triggered()),
this, SLOT(about()));
}
@@ -66,7 +67,7 @@
list.at(i)->menu()->addAction(action_exit);
file_exists = true;
}
- if (QString::compare(list.at(i)->text(), tr("&Preferences"), Qt::CaseInsensitive) == 0)
+ if (QString::compare(list.at(i)->text(), tr("&Edit"), Qt::CaseInsensitive) == 0)
{
list.at(i)->menu()->addAction(action_preferences);
edit_exists = true;
@@ -153,9 +154,30 @@
void AppManager::lastWindowClosed()
{
- for (int i = 0; i < list_available_monitor_plugins.size(); ++i)
+ if (!reallyClose)
{
- list_available_monitor_plugins.at(i)->unload();
+ reallyClose = new QMessageBox();
+ reallyClose->setText("Do you really want to close FsGui?");
+ reallyClose->setStandardButtons(QMessageBox::Yes | QMessageBox::No);
+ reallyClose->setDefaultButton(QMessageBox::Yes);
+ reallyClose->setIcon(QMessageBox::Warning);
+ int ret = reallyClose->exec();
+ if(ret == QMessageBox::Yes)
+ {
+ for (int i = 0; i < list_available_monitor_plugins.size(); ++i)
+ {
+ list_available_monitor_plugins.at(i)->unload();
+ }
+ exit(0);
+ }
+ else
+ {
+ delete reallyClose;
+ reallyClose = NULL;
+ settings->show();
+ settings->raise();
+ settings->activateWindow();
+ }
}
}
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/fsgui/appmanager.h (14470 => 14471)
--- freeswitch/trunk/contrib/jmesquita/fsgui/src/fsgui/appmanager.h 2009-08-09 05:21:08 UTC (rev 14470)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/fsgui/appmanager.h 2009-08-09 05:55:48 UTC (rev 14471)
@@ -12,6 +12,7 @@
class QMenu;
class QMenuBar;
class QListWidgetItem;
+class QMessageBox;
class MonitorInterface;
class SettingsDialog;
class ServerManager;
@@ -51,6 +52,7 @@
ServerManager *serverManager; /*< The dialog that can fetch new esl connections from the config */
SettingsDialog *settings; /*< Settings dialog */
Ui::pluginConfigPage *pluginConfigPage; /*< The plugin config page being used */
+ QMessageBox *reallyClose;
private slots:
/*!
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/centralWidget.ui (14470 => 14471)
--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/centralWidget.ui 2009-08-09 05:21:08 UTC (rev 14470)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/centralWidget.ui 2009-08-09 05:55:48 UTC (rev 14471)
@@ -65,7 +65,14 @@
</property>
<addaction name="action_Close"/>
</widget>
+ <widget class="QMenu" name="menu_Edit">
+ <property name="title">
+ <string>&Edit</string>
+ </property>
+ <addaction name="action_Clear"/>
+ </widget>
<addaction name="menu_File"/>
+ <addaction name="menu_Edit"/>
<addaction name="menu_Server"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
@@ -98,6 +105,11 @@
<string>&Server Manager</string>
</property>
</action>
+ <action name="action_Clear">
+ <property name="text">
+ <string>&Clear</string>
+ </property>
+ </action>
</widget>
<resources>
<include location="../../resources/resources.qrc"/>
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoleplugin.cpp (14470 => 14471)
--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoleplugin.cpp 2009-08-09 05:21:08 UTC (rev 14470)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoleplugin.cpp 2009-08-09 05:55:48 UTC (rev 14471)
@@ -25,6 +25,8 @@
this, SLOT(connect()));
QObject::connect(consoleWindow->action_Disconnect, SIGNAL(triggered()),
this, SLOT(disconnect()));
+ QObject::connect(consoleWindow->action_Clear, SIGNAL(triggered()),
+ this, SLOT(clearLogContents()));
}
ConsolePlugin::~ConsolePlugin(){}
@@ -134,6 +136,13 @@
}
}
+void ConsolePlugin::clearLogContents()
+{
+ ConsoleTabWidget *tab = qobject_cast<ConsoleTabWidget*>(consoleWindow->tabConsole->currentWidget());
+ if (tab)
+ tab->clearConsoleContents();
+}
+
void ConsolePlugin::connectionStateChanged()
{
tabChanged(consoleWindow->tabConsole->currentIndex());
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoleplugin.h (14470 => 14471)
--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoleplugin.h 2009-08-09 05:21:08 UTC (rev 14470)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoleplugin.h 2009-08-09 05:55:48 UTC (rev 14471)
@@ -32,6 +32,7 @@
void connect();
void disconnect();
void newConnection();
+ void clearLogContents();
void changeConsoleBackgroundColor();
void changeAlertBackgroundColor();
void changeCriticalBackgroundColor();
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.cpp (14470 => 14471)
--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.cpp 2009-08-09 05:21:08 UTC (rev 14470)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.cpp 2009-08-09 05:55:48 UTC (rev 14471)
@@ -50,6 +50,11 @@
delete m_ui;
}
+void ConsoleTabWidget::clearConsoleContents()
+{
+ sourceModel->clear();
+}
+
void ConsoleTabWidget::changeEvent(QEvent *e)
{
QWidget::changeEvent(e);
Modified: freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.h (14470 => 14471)
--- freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.h 2009-08-09 05:21:08 UTC (rev 14470)
+++ freeswitch/trunk/contrib/jmesquita/fsgui/src/plugins/consoleplugin/consoletabwidget.h 2009-08-09 05:55:48 UTC (rev 14471)
@@ -19,6 +19,9 @@
ConsoleTabWidget(QWidget *parent, ESLconnection *eslconnection);
~ConsoleTabWidget();
+public slots:
+ void clearConsoleContents();
+
protected:
void changeEvent(QEvent *e);