<div dir="ltr"><div>Pushed. Thanks.<br><br></div>Jose<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 27, 2015 at 8:38 PM, Alexander Trukhin <span dir="ltr"><<a href="mailto:alxtry@gmail.com" target="_blank">alxtry@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><a href="https://github.com/apitrace/apitrace/issues/305" target="_blank">https://github.com/apitrace/apitrace/issues/305</a><br>
Signed-off-by: Alexander Trukhin <<a href="mailto:alxtry@gmail.com">alxtry@gmail.com</a>><br>
---<br>
gui/mainwindow.cpp | 24 ++++++++++++++++++++++++<br>
gui/mainwindow.h | 1 +<br>
gui/ui/mainwindow.ui | 13 +++++++++++++<br>
3 files changed, 38 insertions(+)<br>
<br>
diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp<br>
index 9bf5024..ba1cc79 100644<br>
--- a/gui/mainwindow.cpp<br>
+++ b/gui/mainwindow.cpp<br>
@@ -102,6 +102,22 @@ void MainWindow::openTrace()<br>
}<br>
}<br>
<br>
+void MainWindow::saveTrace()<br>
+{<br>
+ QString localFile = m_trace->fileName();<br>
+<br>
+ QString fileName =<br>
+ QFileDialog::getSaveFileName(<br>
+ this,<br>
+ tr("Save Trace As"),<br>
+ QFileInfo(localFile).fileName(),<br>
+ tr("Trace Files (*.trace);;All Files (*)"));<br>
+<br>
+ if (!fileName.isEmpty()) {<br>
+ QFile::copy(localFile, fileName);<br>
+ }<br>
+}<br>
+<br>
void MainWindow::pullTrace()<br>
{<br>
QString androidFile = AndroidFileDialog::getOpenFileName(this, tr("Open trace file"), _("/sdcard"), _(".trace"));<br>
@@ -1027,6 +1043,8 @@ void MainWindow::initConnections()<br>
this, SLOT(createTrace()));<br>
connect(m_ui.actionOpen, SIGNAL(triggered()),<br>
this, SLOT(openTrace()));<br>
+ connect(m_ui.actionSave, SIGNAL(triggered()),<br>
+ this, SLOT(saveTrace()));<br>
connect(m_ui.actionPullTrace, SIGNAL(triggered()),<br>
this, SLOT(pullTrace()));<br>
connect(m_ui.actionPushTrace, SIGNAL(triggered()),<br>
@@ -1138,6 +1156,9 @@ void MainWindow::updateActionsState(bool traceLoaded, bool stopped)<br>
m_ui.actionLinkTrace->setEnabled(false);<br>
m_ui.actionRetraceOnAndroid->setEnabled(false);<br>
if (traceLoaded) {<br>
+ /* File */<br>
+ m_ui.actionSave ->setEnabled(true);<br>
+<br>
/* Edit */<br>
m_ui.actionFind ->setEnabled(true);<br>
m_ui.actionGo ->setEnabled(true);<br>
@@ -1160,6 +1181,9 @@ void MainWindow::updateActionsState(bool traceLoaded, bool stopped)<br>
m_ui.actionTrim ->setEnabled(true);<br>
}<br>
else {<br>
+ /* File */<br>
+ m_ui.actionSave ->setEnabled(false);<br>
+<br>
/* Edit */<br>
m_ui.actionFind ->setEnabled(false);<br>
m_ui.actionGo ->setEnabled(false);<br>
diff --git a/gui/mainwindow.h b/gui/mainwindow.h<br>
index cd16faf..22799ff 100644<br>
--- a/gui/mainwindow.h<br>
+++ b/gui/mainwindow.h<br>
@@ -52,6 +52,7 @@ private slots:<br>
void callItemActivated(const QModelIndex &index);<br>
void createTrace();<br>
void openTrace();<br>
+ void saveTrace();<br>
void pullTrace();<br>
void pushTrace();<br>
void linkTrace();<br>
diff --git a/gui/ui/mainwindow.ui b/gui/ui/mainwindow.ui<br>
index 475db57..af7eadc 100644<br>
--- a/gui/ui/mainwindow.ui<br>
+++ b/gui/ui/mainwindow.ui<br>
@@ -67,6 +67,7 @@<br>
</widget><br>
<addaction name="actionNew"/><br>
<addaction name="actionOpen"/><br>
+ <addaction name="actionSave"/><br>
<addaction name="separator"/><br>
<addaction name="menu_Android"/><br>
<addaction name="separator"/><br>
@@ -560,6 +561,18 @@<br>
<string>Ctrl+O</string><br>
</property><br>
</action><br>
+ <action name="actionSave"><br>
+ <property name="icon"><br>
+ <iconset resource="../qapitrace.qrc"><br>
+ <normaloff>:/resources/document-edit.png</normaloff>:/resources/document-edit.png</iconset><br>
+ </property><br>
+ <property name="text"><br>
+ <string>&Save As...</string><br>
+ </property><br>
+ <property name="shortcut"><br>
+ <string>Ctrl+S</string><br>
+ </property><br>
+ </action><br>
<action name="actionQuit"><br>
<property name="icon"><br>
<iconset resource="../qapitrace.qrc"><br>
<span class="HOEnZb"><font color="#888888">--<br>
2.3.3<br>
<br>
_______________________________________________<br>
apitrace mailing list<br>
<a href="mailto:apitrace@lists.freedesktop.org">apitrace@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/apitrace" target="_blank">http://lists.freedesktop.org/mailman/listinfo/apitrace</a><br>
</font></span></blockquote></div><br></div>