<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>&amp;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>