mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
main.cpp -> {android-main, desktop-main}
This is needed to compile both in a single call to make. Also it will help removing some of the mistakes in the current android version: it always created the mainwindow, even without using it for anything, so tons of memory will be freed now for the android version, making it snappier and smoother. This is a necessary move so we don't need to #ifdef all over the place for the two different versions, and imo the changes needed to keep both versions will not be that huge if we keep things in subsurface-core sane. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
e49d6213ad
commit
45c9764073
5 changed files with 175 additions and 41 deletions
81
subsurface-android-main.cpp
Normal file
81
subsurface-android-main.cpp
Normal file
|
@ -0,0 +1,81 @@
|
|||
/* main.c */
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
#include "dive.h"
|
||||
#include "qt-gui.h"
|
||||
#include "subsurfacestartup.h"
|
||||
#include "desktop-widgets/mainwindow.h"
|
||||
#include "desktop-widgets/diveplanner.h"
|
||||
#include "subsurface-core/color.h"
|
||||
#include "qthelper.h"
|
||||
|
||||
#include <QStringList>
|
||||
#include <QApplication>
|
||||
#include <QLoggingCategory>
|
||||
#include <git2.h>
|
||||
|
||||
QTranslator *qtTranslator, *ssrfTranslator;
|
||||
|
||||
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);
|
||||
|
||||
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) {
|
||||
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;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue