* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <cassert>
+
#ifdef ENABLE_DECODE
#include <libsigrokdecode/libsigrokdecode.h>
#endif
#include <QAction>
#include <QApplication>
#include <QButtonGroup>
+#include <QCloseEvent>
#include <QFileDialog>
#include <QMessageBox>
#include <QMenu>
_session(device_manager)
{
setup_ui();
+ restore_ui_settings();
if (open_file_name) {
const QString s(QString::fromUtf8(open_file_name));
QMetaObject::invokeMethod(this, "load_file",
{
setObjectName(QString::fromUtf8("MainWindow"));
- resize(1024, 768);
-
// Set the window icon
QIcon icon;
icon.addFile(QString::fromUtf8(":/icons/sigrok-logo-notext.png"),
// Setup the toolbar
QToolBar *const toolbar = new QToolBar(tr("Main Toolbar"), this);
+ toolbar->setObjectName(QString::fromUtf8("MainToolbar"));
toolbar->addAction(action_open);
toolbar->addAction(action_save_as);
toolbar->addSeparator();
}
+void MainWindow::save_ui_settings()
+{
+ QSettings settings("sigrok", "PulseView");
+
+ settings.beginGroup("MainWindow");
+ settings.setValue("state", saveState());
+ settings.setValue("geometry", saveGeometry());
+ settings.endGroup();
+}
+
+void MainWindow::restore_ui_settings()
+{
+ QSettings settings("sigrok", "PulseView");
+
+ settings.beginGroup("MainWindow");
+
+ if (settings.contains("geometry")) {
+ restoreGeometry(settings.value("geometry").toByteArray());
+ restoreState(settings.value("state").toByteArray());
+ } else
+ resize(1000, 720);
+
+ settings.endGroup();
+}
+
void MainWindow::session_error(
const QString text, const QString info_text)
{
shared_ptr<pv::device::DevInst> selected_device = _session.get_device();
list< shared_ptr<device::DevInst> > devices;
+
+ if (_device_manager.devices().size() == 0)
+ return;
+
std::copy(_device_manager.devices().begin(),
_device_manager.devices().end(), std::back_inserter(devices));
_sampling_bar->set_device_list(devices, selected_device);
}
+void MainWindow::closeEvent(QCloseEvent *event)
+{
+ save_ui_settings();
+ event->accept();
+}
+
void MainWindow::load_file(QString file_name)
{
const QString errorMessage(