2013-04-28 10:38:41 -05:00
|
|
|
#!/usr/bin/python3
|
2015-01-03 15:30:57 -06:00
|
|
|
# Copyright 2015 Hardcoded Software (http://www.hardcoded.net)
|
2010-10-05 03:22:02 -05:00
|
|
|
#
|
2015-01-03 15:33:16 -06:00
|
|
|
# This software is licensed under the "GPLv3" License as described in the "LICENSE" file,
|
2010-10-05 03:22:02 -05:00
|
|
|
# which should be included with this package. The terms are also available at
|
2015-01-03 15:33:16 -06:00
|
|
|
# http://www.gnu.org/licenses/gpl-3.0.html
|
2010-10-04 08:42:38 -05:00
|
|
|
|
|
|
|
import sys
|
2011-11-30 10:06:08 -06:00
|
|
|
import os.path as op
|
2014-04-18 09:55:01 -05:00
|
|
|
import gc
|
2010-10-05 03:22:02 -05:00
|
|
|
|
2013-10-20 14:15:09 -05:00
|
|
|
from PyQt5.QtCore import QCoreApplication, QSettings
|
|
|
|
from PyQt5.QtGui import QIcon, QPixmap
|
|
|
|
from PyQt5.QtWidgets import QApplication
|
2010-10-05 03:22:02 -05:00
|
|
|
|
2011-09-22 08:32:09 -05:00
|
|
|
from hscommon.plat import ISWINDOWS
|
2011-11-03 09:25:15 -05:00
|
|
|
from hscommon.trans import install_gettext_trans_under_qt
|
2010-11-20 05:42:15 -06:00
|
|
|
from qtlib.error_report_dialog import install_excepthook
|
2012-08-07 11:37:17 -05:00
|
|
|
from qtlib.util import setupQtLogging
|
2010-10-05 03:22:02 -05:00
|
|
|
from qt.base import dg_rc
|
2011-11-30 11:13:02 -06:00
|
|
|
from qt.base.platform import BASE_PATH
|
2012-08-15 10:01:29 -05:00
|
|
|
from core_{edition} import __version__, __appname__
|
2010-10-05 03:22:02 -05:00
|
|
|
|
2011-09-22 08:32:09 -05:00
|
|
|
if ISWINDOWS:
|
2010-10-05 03:48:07 -05:00
|
|
|
import qt.base.cxfreeze_fix
|
2010-10-05 03:22:02 -05:00
|
|
|
|
2013-10-20 14:38:24 -05:00
|
|
|
def main():
|
2010-10-05 03:22:02 -05:00
|
|
|
app = QApplication(sys.argv)
|
2011-01-21 06:57:54 -06:00
|
|
|
QCoreApplication.setOrganizationName('Hardcoded Software')
|
|
|
|
QCoreApplication.setApplicationName(__appname__)
|
|
|
|
QCoreApplication.setApplicationVersion(__version__)
|
2012-08-07 11:37:17 -05:00
|
|
|
setupQtLogging()
|
2011-01-19 02:47:00 -06:00
|
|
|
settings = QSettings()
|
2012-03-16 13:07:29 -05:00
|
|
|
lang = settings.value('Language')
|
2011-11-30 11:13:02 -06:00
|
|
|
locale_folder = op.join(BASE_PATH, 'locale')
|
2011-11-30 10:06:08 -06:00
|
|
|
install_gettext_trans_under_qt(locale_folder, lang)
|
2011-01-19 02:47:00 -06:00
|
|
|
# Many strings are translated at import time, so this is why we only import after the translator
|
|
|
|
# has been installed
|
2012-08-15 10:01:29 -05:00
|
|
|
from qt.{edition}.app import DupeGuru
|
2010-10-05 03:22:02 -05:00
|
|
|
app.setWindowIcon(QIcon(QPixmap(":/{0}".format(DupeGuru.LOGO_NAME))))
|
|
|
|
dgapp = DupeGuru()
|
2014-03-29 16:42:23 -05:00
|
|
|
install_excepthook('https://github.com/hsoft/dupeguru/issues')
|
2014-04-18 09:55:01 -05:00
|
|
|
result = app.exec()
|
|
|
|
# I was getting weird crashes when quitting under Windows, and manually deleting main app
|
|
|
|
# references with gc.collect() in between seems to fix the problem.
|
|
|
|
del dgapp
|
|
|
|
gc.collect()
|
|
|
|
del app
|
|
|
|
gc.collect()
|
|
|
|
return result
|
2013-10-20 14:38:24 -05:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
sys.exit(main())
|