Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/pr/375'
Browse files Browse the repository at this point in the history
* origin/pr/375:
  Unify qubes-os XDG config directory
  • Loading branch information
marmarek committed Sep 12, 2024
2 parents f3d5b9b + 79ccbff commit 9ee6bd4
Showing 1 changed file with 24 additions and 5 deletions.
29 changes: 24 additions & 5 deletions qubesmanager/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@
import qasync
from qubesadmin import events
from qubesadmin import exc
import xdg.BaseDirectory
import pathlib
import shutil

from PyQt5 import QtWidgets, QtCore, QtGui # pylint: disable=import-error

Expand All @@ -49,6 +52,25 @@
# - just a list, no properties or defaults, just a nice list with a "current"
# value - initialize_widget

def set_organization():
"""set the organization and config home directory for Qt based Apps."""
# migrate old config file to the unified config directory
# TODO: remove the below block when Qubes R4.3 becomes End-of-Life
old_config_home = xdg.BaseDirectory.xdg_config_home + \
'/The Qubes Project'
new_config_home = xdg.BaseDirectory.xdg_config_home + '/qubes-os'
config_file = 'qubes-qube-manager.conf'
old_config_file = old_config_home + '/' + config_file
new_config_file = new_config_home + '/' + config_file
if os.path.isfile(old_config_file) and \
not os.path.isfile(new_config_file):
pathlib.Path(new_config_home).mkdir(parents=True, exist_ok=True)
shutil.copy(old_config_file, new_config_file)

QtCore.QCoreApplication.setOrganizationName('qubes-os')
QtCore.QCoreApplication.setOrganizationDomain('qubes-os.org')
QtCore.QCoreApplication.setApplicationName('qubes-qube-manager')

def is_internal(vm):
"""checks if the VM is either an AdminVM or has the 'internal' features"""
try:
Expand Down Expand Up @@ -507,6 +529,7 @@ def handle_exception(exc_type, exc_value, exc_traceback):


def run_asynchronous(window_class):
set_organization()
qt_app = QtWidgets.QApplication(sys.argv)

translator = QtCore.QTranslator(qt_app)
Expand All @@ -518,8 +541,6 @@ def run_asynchronous(window_class):
qt_app.installTranslator(translator)
QtCore.QCoreApplication.installTranslator(translator)

qt_app.setOrganizationName("The Qubes Project")
qt_app.setOrganizationDomain("http://qubes-os.org")
qt_app.lastWindowClosed.connect(loop_shutdown)

qubes_app = qubesadmin.Qubes()
Expand Down Expand Up @@ -547,6 +568,7 @@ def run_asynchronous(window_class):


def run_synchronous(window_class):
set_organization()
qt_app = QtWidgets.QApplication(sys.argv)

translator = QtCore.QTranslator(qt_app)
Expand All @@ -558,9 +580,6 @@ def run_synchronous(window_class):
qt_app.installTranslator(translator)
QtCore.QCoreApplication.installTranslator(translator)

qt_app.setOrganizationName("The Qubes Project")
qt_app.setOrganizationDomain("http://qubes-os.org")

sys.excepthook = handle_exception

qubes_app = qubesadmin.Qubes()
Expand Down

0 comments on commit 9ee6bd4

Please sign in to comment.