Merge pull request #843 from pypeclub/feature/settings_tool_without_subprocess

Settings tool without subprocess
This commit is contained in:
Milan Kolar 2020-12-18 18:29:02 +01:00 committed by GitHub
commit 264e32158b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 34 additions and 28 deletions

View file

@ -51,13 +51,11 @@ class PypeCommands:
@staticmethod
def launch_settings_gui(dev):
from pype.lib import execute
from pype.tools import settings
args = [sys.executable, "-m", "pype.tools.settings"]
if dev:
args.append("--develop")
return_code = execute(args)
return return_code
# TODO change argument options to allow enum of user roles
user_role = "developer"
settings.main(user_role)
def launch_eventservercli(self, args):
from pype.modules import ftrack

View file

@ -1,7 +1,31 @@
import sys
from Qt import QtWidgets, QtGui
from .settings import style, MainWidget
def main(user_role=None):
if user_role is None:
user_role = "artist"
else:
user_role_low = user_role.lower()
allowed_roles = ("developer", "manager", "artist")
if user_role_low not in allowed_roles:
raise ValueError("Invalid user role \"{}\". Expected {}".format(
user_role, ", ".join(allowed_roles)
))
app = QtWidgets.QApplication(sys.argv)
app.setWindowIcon(QtGui.QIcon(style.app_icon_path()))
widget = MainWidget(user_role)
widget.show()
sys.exit(app.exec_())
__all__ = (
"style",
"MainWidget"
"MainWidget",
"main"
)

View file

@ -1,23 +1,7 @@
import sys
import settings
from Qt import QtWidgets, QtGui
try:
from . import main
except ImportError:
from settings import main
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
app.setWindowIcon(QtGui.QIcon(settings.style.app_icon_path()))
_develop = "-d" in sys.argv or "--develop" in sys.argv
_user = "-m" in sys.argv or "--manager" in sys.argv
if _develop:
user_role = "developer"
elif _user:
user_role = "manager"
else:
user_role = "artist"
widget = settings.MainWidget(user_role)
widget.show()
sys.exit(app.exec_())
main()