* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
#include <pv/devicemanager.hpp>
#include <pv/devices/hardwaredevice.hpp>
#include <pv/devices/inputfile.hpp>
#include <pv/devicemanager.hpp>
#include <pv/devices/hardwaredevice.hpp>
#include <pv/devices/inputfile.hpp>
#include <pv/dialogs/inputoutputoptions.hpp>
#include <pv/dialogs/storeprogress.hpp>
#include <pv/mainwindow.hpp>
#include <pv/dialogs/inputoutputoptions.hpp>
#include <pv/dialogs/storeprogress.hpp>
#include <pv/mainwindow.hpp>
const char *MainBar::SettingSaveDirectory = "MainWindow/SaveDirectory";
MainBar::MainBar(Session &session, QWidget *parent,
const char *MainBar::SettingSaveDirectory = "MainWindow/SaveDirectory";
MainBar::MainBar(Session &session, QWidget *parent,
StandardBar(session, parent, view, false),
action_new_view_(new QAction(this)),
action_open_(new QAction(this)),
StandardBar(session, parent, view, false),
action_new_view_(new QAction(this)),
action_open_(new QAction(this)),
// Actions
action_new_view_->setText(tr("New &View"));
action_new_view_->setIcon(QIcon::fromTheme("window-new",
// Actions
action_new_view_->setText(tr("New &View"));
action_new_view_->setIcon(QIcon::fromTheme("window-new",
session.device_manager().context());
menu_file_export->setTitle(tr("&Export"));
connect(menu_file_export,
session.device_manager().context());
menu_file_export->setTitle(tr("&Export"));
connect(menu_file_export,
- SIGNAL(format_selected(std::shared_ptr<sigrok::OutputFormat>)),
- this, SLOT(export_file(std::shared_ptr<sigrok::OutputFormat>)));
+ SIGNAL(format_selected(shared_ptr<sigrok::OutputFormat>)),
+ this, SLOT(export_file(shared_ptr<sigrok::OutputFormat>)));
widgets::ImportMenu *menu_file_import = new widgets::ImportMenu(this,
session.device_manager().context());
menu_file_import->setTitle(tr("&Import"));
connect(menu_file_import,
widgets::ImportMenu *menu_file_import = new widgets::ImportMenu(this,
session.device_manager().context());
menu_file_import->setTitle(tr("&Import"));
connect(menu_file_import,
- SIGNAL(format_selected(std::shared_ptr<sigrok::InputFormat>)),
- this, SLOT(import_file(std::shared_ptr<sigrok::InputFormat>)));
+ SIGNAL(format_selected(shared_ptr<sigrok::InputFormat>)),
+ this, SLOT(import_file(shared_ptr<sigrok::InputFormat>)));
action_connect_->setText(tr("&Connect to Device..."));
connect(action_connect_, SIGNAL(triggered(bool)),
action_connect_->setText(tr("&Connect to Device..."));
connect(action_connect_, SIGNAL(triggered(bool)),
widgets::ImportMenu *import_menu = new widgets::ImportMenu(this,
session.device_manager().context(), action_open_);
connect(import_menu,
widgets::ImportMenu *import_menu = new widgets::ImportMenu(this,
session.device_manager().context(), action_open_);
connect(import_menu,
connect(menu_decoders_add_, SIGNAL(decoder_selected(srd_decoder*)),
this, SLOT(add_decoder(srd_decoder*)));
connect(menu_decoders_add_, SIGNAL(decoder_selected(srd_decoder*)),
this, SLOT(add_decoder(srd_decoder*)));
add_decoder_button_->setPopupMode(QToolButton::InstantPopup);
add_decoder_button_->setMenu(menu_decoders_add_);
add_decoder_button_->setPopupMode(QToolButton::InstantPopup);
add_decoder_button_->setMenu(menu_decoders_add_);
- configure_button_.setIcon(QIcon::fromTheme("configure",
- QIcon(":/icons/configure.png")));
+ configure_button_.setIcon(QIcon::fromTheme("preferences-system",
+ QIcon(":/icons/preferences-system.png")));
void MainBar::set_capture_state(pv::Session::capture_state state)
{
bool ui_enabled = (state == pv::Session::Stopped) ? true : false;
void MainBar::set_capture_state(pv::Session::capture_state state)
{
bool ui_enabled = (state == pv::Session::Stopped) ? true : false;
uint64_t sample_count = sample_count_.value();
uint64_t min_sample_count = 0;
uint64_t max_sample_count = MaxSampleCount;
uint64_t sample_count = sample_count_.value();
uint64_t min_sample_count = 0;
uint64_t max_sample_count = MaxSampleCount;
if (sr_dev->config_check(ConfigKey::LIMIT_SAMPLES, Capability::LIST)) {
auto gvar = sr_dev->config_list(ConfigKey::LIMIT_SAMPLES);
if (sr_dev->config_check(ConfigKey::LIMIT_SAMPLES, Capability::LIST)) {
auto gvar = sr_dev->config_list(ConfigKey::LIMIT_SAMPLES);
if (sr_dev->config_check(ConfigKey::LIMIT_SAMPLES, Capability::GET)) {
auto gvar = sr_dev->config_get(ConfigKey::LIMIT_SAMPLES);
sample_count = g_variant_get_uint64(gvar.gobj());
if (sr_dev->config_check(ConfigKey::LIMIT_SAMPLES, Capability::GET)) {
auto gvar = sr_dev->config_get(ConfigKey::LIMIT_SAMPLES);
sample_count = g_variant_get_uint64(gvar.gobj());
if (sr_dev->config_check(ConfigKey::LIMIT_SAMPLES, Capability::SET))
sample_count_supported_ = true;
if (sr_dev->config_check(ConfigKey::LIMIT_SAMPLES, Capability::SET))
sample_count_supported_ = true;
// Add notification of reconfigure events
disconnect(this, SLOT(on_config_changed()));
connect(&opts->binding(), SIGNAL(config_changed()),
// Add notification of reconfigure events
disconnect(this, SLOT(on_config_changed()));
connect(&opts->binding(), SIGNAL(config_changed()),
- views::TraceView::View *trace_view =
- qobject_cast<views::TraceView::View*>(session_.main_view().get());
+ views::trace::View *trace_view =
+ qobject_cast<views::trace::View*>(session_.main_view().get());
if (!trace_view->cursors()->enabled()) {
show_session_error(tr("Missing Cursors"), tr("You need to set the " \
"cursors before you can save the data enclosed by them " \
if (!trace_view->cursors()->enabled()) {
show_session_error(tr("Missing Cursors"), tr("You need to set the " \
"cursors before you can save the data enclosed by them " \
const pv::util::Timestamp& start_time = trace_view->cursors()->first()->time();
const pv::util::Timestamp& end_time = trace_view->cursors()->second()->time();
const pv::util::Timestamp& start_time = trace_view->cursors()->first()->time();
const pv::util::Timestamp& end_time = trace_view->cursors()->second()->time();
- const uint64_t start_sample =
- std::max((double)0, start_time.convert_to<double>() * samplerate);
- const uint64_t end_sample = end_time.convert_to<double>() * samplerate;
+ const uint64_t start_sample = (uint64_t)max(
+ (double)0, start_time.convert_to<double>() * samplerate);
+ const uint64_t end_sample = (uint64_t)max(
+ (double)0, end_time.convert_to<double>() * samplerate);
QString::fromStdString(join(exts, ", *.")),
tr("All Files"));
QString::fromStdString(join(exts, ", *.")),
tr("All Files"));
// Show the file dialog
const QString file_name = QFileDialog::getOpenFileName(
this, tr("Import File"), dir, tr(
// Show the file dialog
const QString file_name = QFileDialog::getOpenFileName(
this, tr("Import File"), dir, tr(
// Show the dialog
const QString file_name = QFileDialog::getOpenFileName(
this, tr("Open File"), dir, tr(
// Show the dialog
const QString file_name = QFileDialog::getOpenFileName(
this, tr("Open File"), dir, tr(