Merge pull request #1694 from pypeclub/feature/openpype_style_in_modules

OpenPype style in modules
This commit is contained in:
Jakub Trllo 2021-06-12 13:03:22 +02:00 committed by GitHub
commit 8a23ffea7e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 68 additions and 75 deletions

View file

@ -36,6 +36,7 @@ class ClockifyAPI:
self._secure_registry = None self._secure_registry = None
@property
def secure_registry(self): def secure_registry(self):
if self._secure_registry is None: if self._secure_registry is None:
self._secure_registry = OpenPypeSecureRegistry("clockify") self._secure_registry = OpenPypeSecureRegistry("clockify")

View file

@ -1,6 +1,5 @@
from Qt import QtCore, QtGui, QtWidgets from Qt import QtCore, QtGui, QtWidgets
from avalon import style from openpype import resources, style
from openpype import resources
class MessageWidget(QtWidgets.QWidget): class MessageWidget(QtWidgets.QWidget):
@ -22,14 +21,6 @@ class MessageWidget(QtWidgets.QWidget):
QtCore.Qt.WindowMinimizeButtonHint QtCore.Qt.WindowMinimizeButtonHint
) )
# Font
self.font = QtGui.QFont()
self.font.setFamily("DejaVu Sans Condensed")
self.font.setPointSize(9)
self.font.setBold(True)
self.font.setWeight(50)
self.font.setKerning(True)
# Size setting # Size setting
self.resize(self.SIZE_W, self.SIZE_H) self.resize(self.SIZE_W, self.SIZE_H)
self.setMinimumSize(QtCore.QSize(self.SIZE_W, self.SIZE_H)) self.setMinimumSize(QtCore.QSize(self.SIZE_W, self.SIZE_H))
@ -53,7 +44,6 @@ class MessageWidget(QtWidgets.QWidget):
labels = [] labels = []
for message in messages: for message in messages:
label = QtWidgets.QLabel(message) label = QtWidgets.QLabel(message)
label.setFont(self.font)
label.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor)) label.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor))
label.setTextFormat(QtCore.Qt.RichText) label.setTextFormat(QtCore.Qt.RichText)
label.setWordWrap(True) label.setWordWrap(True)
@ -103,84 +93,64 @@ class ClockifySettings(QtWidgets.QWidget):
icon = QtGui.QIcon(resources.pype_icon_filepath()) icon = QtGui.QIcon(resources.pype_icon_filepath())
self.setWindowIcon(icon) self.setWindowIcon(icon)
self.setWindowTitle("Clockify settings")
self.setWindowFlags( self.setWindowFlags(
QtCore.Qt.WindowCloseButtonHint | QtCore.Qt.WindowCloseButtonHint |
QtCore.Qt.WindowMinimizeButtonHint QtCore.Qt.WindowMinimizeButtonHint
) )
self._translate = QtCore.QCoreApplication.translate
# Font
self.font = QtGui.QFont()
self.font.setFamily("DejaVu Sans Condensed")
self.font.setPointSize(9)
self.font.setBold(True)
self.font.setWeight(50)
self.font.setKerning(True)
# Size setting # Size setting
self.resize(self.SIZE_W, self.SIZE_H) self.resize(self.SIZE_W, self.SIZE_H)
self.setMinimumSize(QtCore.QSize(self.SIZE_W, self.SIZE_H)) self.setMinimumSize(QtCore.QSize(self.SIZE_W, self.SIZE_H))
self.setMaximumSize(QtCore.QSize(self.SIZE_W+100, self.SIZE_H+100)) self.setMaximumSize(QtCore.QSize(self.SIZE_W+100, self.SIZE_H+100))
self.setStyleSheet(style.load_stylesheet()) self.setStyleSheet(style.load_stylesheet())
self.setLayout(self._main()) self._ui_init()
self.setWindowTitle('Clockify settings')
def _main(self): def _ui_init(self):
self.main = QtWidgets.QVBoxLayout() label_api_key = QtWidgets.QLabel("Clockify API key:")
self.main.setObjectName("main")
self.form = QtWidgets.QFormLayout() input_api_key = QtWidgets.QLineEdit()
self.form.setContentsMargins(10, 15, 10, 5) input_api_key.setFrame(True)
self.form.setObjectName("form") input_api_key.setPlaceholderText("e.g. XX1XxXX2x3x4xXxx")
self.label_api_key = QtWidgets.QLabel("Clockify API key:") error_label = QtWidgets.QLabel("")
self.label_api_key.setFont(self.font) error_label.setTextFormat(QtCore.Qt.RichText)
self.label_api_key.setCursor(QtGui.QCursor(QtCore.Qt.ArrowCursor)) error_label.setWordWrap(True)
self.label_api_key.setTextFormat(QtCore.Qt.RichText) error_label.hide()
self.label_api_key.setObjectName("label_api_key")
self.input_api_key = QtWidgets.QLineEdit() form_layout = QtWidgets.QFormLayout()
self.input_api_key.setEnabled(True) form_layout.setContentsMargins(10, 15, 10, 5)
self.input_api_key.setFrame(True) form_layout.addRow(label_api_key, input_api_key)
self.input_api_key.setObjectName("input_api_key") form_layout.addRow(error_label)
self.input_api_key.setPlaceholderText(
self._translate("main", "e.g. XX1XxXX2x3x4xXxx")
)
self.error_label = QtWidgets.QLabel("") btn_ok = QtWidgets.QPushButton("Ok")
self.error_label.setFont(self.font) btn_ok.setToolTip('Sets Clockify API Key so can Start/Stop timer')
self.error_label.setTextFormat(QtCore.Qt.RichText)
self.error_label.setObjectName("error_label")
self.error_label.setWordWrap(True)
self.error_label.hide()
self.form.addRow(self.label_api_key, self.input_api_key) btn_cancel = QtWidgets.QPushButton("Cancel")
self.form.addRow(self.error_label)
self.btn_group = QtWidgets.QHBoxLayout()
self.btn_group.addStretch(1)
self.btn_group.setObjectName("btn_group")
self.btn_ok = QtWidgets.QPushButton("Ok")
self.btn_ok.setToolTip('Sets Clockify API Key so can Start/Stop timer')
self.btn_ok.clicked.connect(self.click_ok)
self.btn_cancel = QtWidgets.QPushButton("Cancel")
cancel_tooltip = 'Application won\'t start' cancel_tooltip = 'Application won\'t start'
if self.optional: if self.optional:
cancel_tooltip = 'Close this window' cancel_tooltip = 'Close this window'
self.btn_cancel.setToolTip(cancel_tooltip) btn_cancel.setToolTip(cancel_tooltip)
self.btn_cancel.clicked.connect(self._close_widget)
self.btn_group.addWidget(self.btn_ok) btn_group = QtWidgets.QHBoxLayout()
self.btn_group.addWidget(self.btn_cancel) btn_group.addStretch(1)
btn_group.addWidget(btn_ok)
btn_group.addWidget(btn_cancel)
self.main.addLayout(self.form) main_layout = QtWidgets.QVBoxLayout(self)
self.main.addLayout(self.btn_group) main_layout.addLayout(form_layout)
main_layout.addLayout(btn_group)
return self.main btn_ok.clicked.connect(self.click_ok)
btn_cancel.clicked.connect(self._close_widget)
self.label_api_key = label_api_key
self.input_api_key = input_api_key
self.error_label = error_label
self.btn_ok = btn_ok
self.btn_cancel = btn_cancel
def setError(self, msg): def setError(self, msg):
self.error_label.setText(msg) self.error_label.setText(msg)
@ -212,6 +182,17 @@ class ClockifySettings(QtWidgets.QWidget):
"Entered invalid API key" "Entered invalid API key"
) )
def showEvent(self, event):
super(ClockifySettings, self).showEvent(event)
# Make btns same width
max_width = max(
self.btn_ok.sizeHint().width(),
self.btn_cancel.sizeHint().width()
)
self.btn_ok.setMinimumWidth(max_width)
self.btn_cancel.setMinimumWidth(max_width)
def closeEvent(self, event): def closeEvent(self, event):
if self.optional is True: if self.optional is True:
event.ignore() event.ignore()

View file

@ -1,6 +1,6 @@
import os import os
import requests import requests
from avalon import style from openpype import style
from openpype.modules.ftrack.lib import credentials from openpype.modules.ftrack.lib import credentials
from . import login_tools from . import login_tools
from openpype import resources from openpype import resources
@ -46,8 +46,11 @@ class CredentialsDialog(QtWidgets.QDialog):
self.user_label = QtWidgets.QLabel("Username:") self.user_label = QtWidgets.QLabel("Username:")
self.api_label = QtWidgets.QLabel("API Key:") self.api_label = QtWidgets.QLabel("API Key:")
self.ftsite_input = QtWidgets.QLineEdit() self.ftsite_input = QtWidgets.QLabel()
self.ftsite_input.setReadOnly(True) self.ftsite_input.setTextInteractionFlags(
QtCore.Qt.TextBrowserInteraction
)
# self.ftsite_input.setReadOnly(True)
self.ftsite_input.setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor)) self.ftsite_input.setCursor(QtGui.QCursor(QtCore.Qt.IBeamCursor))
self.user_input = QtWidgets.QLineEdit() self.user_input = QtWidgets.QLineEdit()

View file

@ -1,13 +1,12 @@
import os import os
from Qt import QtCore, QtGui, QtWidgets from Qt import QtCore, QtGui, QtWidgets
from avalon import style from openpype import resources, style
from openpype import resources
class MusterLogin(QtWidgets.QWidget): class MusterLogin(QtWidgets.QWidget):
SIZE_W = 300 SIZE_W = 300
SIZE_H = 130 SIZE_H = 150
loginSignal = QtCore.Signal(object, object, object) loginSignal = QtCore.Signal(object, object, object)
@ -123,7 +122,6 @@ class MusterLogin(QtWidgets.QWidget):
super().keyPressEvent(key_event) super().keyPressEvent(key_event)
def setError(self, msg): def setError(self, msg):
self.error_label.setText(msg) self.error_label.setText(msg)
self.error_label.show() self.error_label.show()
@ -149,6 +147,17 @@ class MusterLogin(QtWidgets.QWidget):
def save_credentials(self, username, password): def save_credentials(self, username, password):
self.module.get_auth_token(username, password) self.module.get_auth_token(username, password)
def showEvent(self, event):
super(MusterLogin, self).showEvent(event)
# Make btns same width
max_width = max(
self.btn_ok.sizeHint().width(),
self.btn_cancel.sizeHint().width()
)
self.btn_ok.setMinimumWidth(max_width)
self.btn_cancel.setMinimumWidth(max_width)
def closeEvent(self, event): def closeEvent(self, event):
event.ignore() event.ignore()
self._close_widget() self._close_widget()

View file

@ -1,6 +1,5 @@
from avalon import style
from Qt import QtCore, QtGui, QtWidgets from Qt import QtCore, QtGui, QtWidgets
from openpype import resources from openpype import resources, style
class WidgetUserIdle(QtWidgets.QWidget): class WidgetUserIdle(QtWidgets.QWidget):