#include "dialogs/about.hpp"
#include "toolbars/mainbar.hpp"
#include "view/view.hpp"
+#include "views/trace/standardbar.hpp"
#include <stdint.h>
#include <stdarg.h>
if (!open_file_name.empty()) {
shared_ptr<Session> session = add_session();
- session->main_bar()->load_init_file(open_file_name, open_file_format);
+ session->load_init_file(open_file_name, open_file_format);
}
// Add empty default session if there aren't any sessions
}
// ...and if there isn't any, just use demo then
- session->main_bar()->select_device(other_device ?
- other_device : demo_device);
+ session->select_device(other_device ? other_device : demo_device);
}
}
shared_ptr<views::ViewBase> MainWindow::add_view(const QString &title,
views::ViewType type, Session &session)
{
- QMainWindow *main_window;
+ QMainWindow *main_window = nullptr;
for (auto entry : session_windows_)
if (entry.first.get() == &session)
main_window = entry.second;
shared_ptr<MainBar> main_bar = session.main_bar();
if (!main_bar) {
- main_bar = make_shared<MainBar>(session, *this);
+ /* Initial view, create the main bar */
+ main_bar = make_shared<MainBar>(session, this, v.get());
dock_main->addToolBar(main_bar.get());
session.set_main_bar(main_bar);
connect(main_bar.get(), SIGNAL(new_view(Session*)),
this, SLOT(on_new_view(Session*)));
- }
- main_bar->action_view_show_cursors()->setChecked(v->cursors_shown());
- connect(v.get(), SIGNAL(always_zoom_to_fit_changed(bool)),
- main_bar.get(), SLOT(on_always_zoom_to_fit_changed(bool)));
+ main_bar->action_view_show_cursors()->setChecked(v->cursors_shown());
+ } else {
+ /* Additional view, create a standard bar */
+ pv::views::trace::StandardBar *standard_bar =
+ new pv::views::trace::StandardBar(session, this, v.get());
+ dock_main->addToolBar(standard_bar);
+
+ standard_bar->action_view_show_cursors()->setChecked(v->cursors_shown());
+ }
}
return v;
}
}
+ // Update the tab widget by finding the main window and the tab from that
+ for (auto entry : session_windows_)
+ if (entry.first.get() == session) {
+ QMainWindow *window = entry.second;
+ const int index = session_selector_.indexOf(window);
+ session_selector_.setTabText(index, session->name());
+ }
+
// Refresh window title if the affected session has focus
if (session == last_focused_session_.get())
setWindowTitle(session->name() + " - " + WindowTitle);