static bool uemis_delete_dive(device_data_t *devdata, uint32_t diveid) { struct dive *dive = NULL; if (devdata->download_table->dives[devdata->download_table->nr - 1]->dc.diveid == diveid) { /* we hit the last one in the array */ dive = devdata->download_table->dives[devdata->download_table->nr - 1]; } else { for (int i = 0; i < devdata->download_table->nr - 1; i++) { if (devdata->download_table->dives[i]->dc.diveid == diveid) { dive = devdata->download_table->dives[i]; for (int x = i; x < devdata->download_table->nr - 1; x++) devdata->download_table->dives[i] = devdata->download_table->dives[x + 1]; } } } if (dive) { devdata->download_table->dives[--devdata->download_table->nr] = NULL; if (dive->tripflag != TF_NONE) remove_dive_from_trip(dive, false); free(dive->dc.sample); free((void *)dive->notes); free((void *)dive->divemaster); free((void *)dive->buddy); free((void *)dive->suit); taglist_free(dive->tag_list); free(dive); return true; } return false; }
int main(int argc, char **argv) { int i; bool no_filenames = true; init_qt(&argc, &argv); QStringList files; QStringList importedFiles; QStringList arguments = QCoreApplication::arguments(); bool dedicated_console = arguments.length() > 1 && (arguments.at(1) == QString("--win32console")); subsurface_console_init(dedicated_console); for (i = 1; i < arguments.length(); i++) { QString a = arguments.at(i); if (a.at(0) == '-') { parse_argument(a.toLocal8Bit().data()); continue; } if (imported) { importedFiles.push_back(a); } else { no_filenames = false; files.push_back(a); } } #if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR < 22 git_threads_init(); #else git_libgit2_init(); #endif setup_system_prefs(); prefs = default_prefs; fill_profile_color(); parse_xml_init(); taglist_init_global(); init_ui(); if (no_filenames) { QString defaultFile(prefs.default_filename); if (!defaultFile.isEmpty()) files.push_back(QString(prefs.default_filename)); } MainWindow *m = MainWindow::instance(); m->setLoadedWithFiles(!files.isEmpty() || !importedFiles.isEmpty()); m->loadFiles(files); m->importFiles(importedFiles); if (!quit) run_ui(); exit_ui(); taglist_free(g_tag_list); parse_xml_exit(); subsurface_console_exit(); free_prefs(); return 0; }
int main(int argc, char **argv) { int i; bool no_filenames = true; QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); QApplication *application = new QApplication(argc, argv); (void)application; QStringList files; QStringList importedFiles; QStringList arguments = QCoreApplication::arguments(); bool dedicated_console = arguments.length() > 1 && (arguments.at(1) == QString("--win32console")); subsurface_console_init(dedicated_console); for (i = 1; i < arguments.length(); i++) { QString a = arguments.at(i); if (a.at(0) == '-') { parse_argument(a.toLocal8Bit().data()); continue; } if (imported) { importedFiles.push_back(a); } else { no_filenames = false; files.push_back(a); } } #if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR < 22 git_threads_init(); #else git_libgit2_init(); #endif setup_system_prefs(); if (uiLanguage(0).contains("-US")) default_prefs.units = IMPERIAL_units; prefs = default_prefs; fill_profile_color(); parse_xml_init(); taglist_init_global(); init_ui(); loadPreferences(); // some hard coded settings prefs.animation_speed = 0; // we render the profile to pixmap, no animations // always show the divecomputer reported ceiling in red prefs.dcceiling = 1; prefs.redceiling = 1; init_proxy(); if (no_filenames) { if (prefs.default_file_behavior == LOCAL_DEFAULT_FILE) { QString defaultFile(prefs.default_filename); if (!defaultFile.isEmpty()) files.push_back(QString(prefs.default_filename)); } else if (prefs.default_file_behavior == CLOUD_DEFAULT_FILE) { QString cloudURL; if (getCloudURL(cloudURL) == 0) files.push_back(cloudURL); } } if (!quit) run_ui(); exit_ui(); taglist_free(g_tag_list); parse_xml_exit(); subsurface_console_exit(); free_prefs(); return 0; }
int main(int argc, char **argv) { int i; bool no_filenames = true; QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); QApplication *application = new QApplication(argc, argv); (void)application; QStringList files; QStringList importedFiles; QStringList arguments = QCoreApplication::arguments(); bool dedicated_console = arguments.length() > 1 && (arguments.at(1) == QString("--win32console")); subsurface_console_init(dedicated_console); const char *default_directory = system_default_directory(); const char *default_filename = system_default_filename(); subsurface_mkdir(default_directory); for (i = 1; i < arguments.length(); i++) { QString a = arguments.at(i); if (a.isEmpty()) continue; if (a.at(0) == '-') { parse_argument(a.toLocal8Bit().data()); continue; } if (imported) { importedFiles.push_back(a); } else { no_filenames = false; files.push_back(a); } } #if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR < 22 git_threads_init(); #else git_libgit2_init(); #endif setup_system_prefs(); copy_prefs(&default_prefs, &prefs); fill_profile_color(); parse_xml_init(); taglist_init_global(); init_ui(); if (no_filenames) { if (prefs.default_file_behavior == LOCAL_DEFAULT_FILE) { QString defaultFile(prefs.default_filename); if (!defaultFile.isEmpty()) files.push_back(QString(prefs.default_filename)); } else if (prefs.default_file_behavior == CLOUD_DEFAULT_FILE) { QString cloudURL; if (getCloudURL(cloudURL) == 0) files.push_back(cloudURL); } } MainWindow *m = MainWindow::instance(); filesOnCommandLine = !files.isEmpty() || !importedFiles.isEmpty(); m->loadFiles(files); m->importFiles(importedFiles); // in case something has gone wrong make sure we show the error message m->showError(); // now let's set up some connections QObject::connect(m->graphics(), &ProfileWidget2::enableToolbar ,m, &MainWindow::setEnabledToolbar, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::showError, m, &MainWindow::showError, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::disableShortcuts, m, &MainWindow::disableShortcuts, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::enableShortcuts, m, &MainWindow::enableShortcuts, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::refreshDisplay, m, &MainWindow::refreshDisplay, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::updateDiveInfo, m->information(), &MainTab::updateDiveInfo, Qt::AutoConnection); QObject::connect(m->graphics(), &ProfileWidget2::editCurrentDive, m, &MainWindow::editCurrentDive, Qt::AutoConnection); QObject::connect(PreferencesDialog::instance(), SIGNAL(settingsChanged()), m->graphics(), SLOT(settingsChanged())); if (verbose > 0) print_files(); if (!quit) run_ui(); exit_ui(); taglist_free(g_tag_list); parse_xml_exit(); free((void *)default_directory); free((void *)default_filename); subsurface_console_exit(); free_prefs(); return 0; }
int main(int argc, char **argv) { int i; bool no_filenames = true; QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); QApplication *application = new QApplication(argc, argv); (void)application; QStringList files; QStringList importedFiles; QStringList arguments = QCoreApplication::arguments(); bool win32_log = arguments.length() > 1 && (arguments.at(1) == QString("--win32log")); if (win32_log) { subsurface_console_init(true, true); } else { bool dedicated_console = arguments.length() > 1 && (arguments.at(1) == QString("--win32console")); subsurface_console_init(dedicated_console, false); } const char *default_directory = system_default_directory(); const char *default_filename = system_default_filename(); subsurface_mkdir(default_directory); for (i = 1; i < arguments.length(); i++) { QString a = arguments.at(i); if (a.isEmpty()) continue; if (a.at(0) == '-') { parse_argument(a.toLocal8Bit().data()); continue; } if (imported) { importedFiles.push_back(a); } else { no_filenames = false; files.push_back(a); } } if (subsurface_user_is_root() && !force_root) { printf("You are running Subsurface as root. This is not recommended.\n"); printf("If you insist to do so, run with option --allow_run_as_root.\n"); exit(0); } #if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR < 22 git_threads_init(); #else git_libgit2_init(); #endif /* * Initialize the random number generator - not really secure as * this is based only on current time, but it should not matter * that much in our context. Moreover this is better than * the constant numbers we used to get before. */ qsrand(time(NULL)); setup_system_prefs(); copy_prefs(&default_prefs, &prefs); fill_profile_color(); fill_computer_list(); parse_xml_init(); taglist_init_global(); init_ui(); if (no_filenames) { if (prefs.default_file_behavior == LOCAL_DEFAULT_FILE) { QString defaultFile(prefs.default_filename); if (!defaultFile.isEmpty()) files.push_back(QString(prefs.default_filename)); } else if (prefs.default_file_behavior == CLOUD_DEFAULT_FILE) { QString cloudURL; if (getCloudURL(cloudURL) == 0) files.push_back(cloudURL); } } MainWindow *m = MainWindow::instance(); filesOnCommandLine = !files.isEmpty() || !importedFiles.isEmpty(); m->loadFiles(files); m->importFiles(importedFiles); // in case something has gone wrong make sure we show the error message m->showError(); if (verbose > 0) { print_files(); printf("%s\n", QStringLiteral("build with Qt Version %1, runtime from Qt Version %2").arg(QT_VERSION_STR).arg(qVersion()).toUtf8().data()); } if (!quit) run_ui(); exit_ui(); taglist_free(g_tag_list); parse_xml_exit(); free((void *)default_directory); free((void *)default_filename); subsurface_console_exit(); free_prefs(); return 0; }
int main(int argc, char **argv) { int i; bool no_filenames = true; QLoggingCategory::setFilterRules(QStringLiteral("qt.bluetooth* = true")); QApplication *application = new QApplication(argc, argv); QStringList files; QStringList importedFiles; QStringList arguments = QCoreApplication::arguments(); bool dedicated_console = arguments.length() > 1 && (arguments.at(1) == QString("--win32console")); subsurface_console_init(dedicated_console); const char *default_directory = system_default_directory(); const char *default_filename = system_default_filename(); subsurface_mkdir(default_directory); for (i = 1; i < arguments.length(); i++) { QString a = arguments.at(i); if (a.isEmpty()) continue; if (a.at(0) == '-') { parse_argument(a.toLocal8Bit().data()); continue; } if (imported) { importedFiles.push_back(a); } else { no_filenames = false; files.push_back(a); } } #if !LIBGIT2_VER_MAJOR && LIBGIT2_VER_MINOR < 22 git_threads_init(); #else git_libgit2_init(); #endif setup_system_prefs(); copy_prefs(&default_prefs, &prefs); fill_profile_color(); parse_xml_init(); taglist_init_global(); init_ui(); if (no_filenames) { if (prefs.default_file_behavior == LOCAL_DEFAULT_FILE) { QString defaultFile(prefs.default_filename); if (!defaultFile.isEmpty()) files.push_back(QString(prefs.default_filename)); } else if (prefs.default_file_behavior == CLOUD_DEFAULT_FILE) { QString cloudURL; if (getCloudURL(cloudURL) == 0) files.push_back(cloudURL); } } MainWindow *m = MainWindow::instance(); m->setLoadedWithFiles(!files.isEmpty() || !importedFiles.isEmpty()); m->loadFiles(files); m->importFiles(importedFiles); // in case something has gone wrong make sure we show the error message m->showError(); if (verbose > 0) print_files(); if (!quit) run_ui(); exit_ui(); taglist_free(g_tag_list); parse_xml_exit(); free((void *)default_directory); free((void *)default_filename); subsurface_console_exit(); free_prefs(); return 0; }