1
0
Fork 0
mirror of https://git.jami.net/savoirfairelinux/jami-client-qt.git synced 2025-07-13 12:05:22 +02:00

settingsview: fix alignments and homogeneize items

Change-Id: I8ea60715a14b481da5c4d4d0078dc8de7df28eec
This commit is contained in:
Sébastien Blin 2020-08-17 22:38:19 -04:00 committed by Ming Rui Zhang
parent 2c9c452b36
commit acb1cf0c00
23 changed files with 486 additions and 788 deletions

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 0 24 24" width="24"><path d="M0 0h24v24H0z" fill="none"/><path d="M0 0h24v24H0V0z" fill="none"/><path d="M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"/></svg>

After

Width:  |  Height:  |  Size: 380 B

View file

@ -35,7 +35,10 @@
<file>images/icons/ic_arrow_forward_white_48dp_2x.png</file> <file>images/icons/ic_arrow_forward_white_48dp_2x.png</file>
<file>images/icons/ic_arrow_tab_next_black_9dp_2x.png</file> <file>images/icons/ic_arrow_tab_next_black_9dp_2x.png</file>
<file>images/icons/ic_arrow_tab_previous_black_9dp_2x.png</file> <file>images/icons/ic_arrow_tab_previous_black_9dp_2x.png</file>
<file>images/icons/check_box-24px.svg</file>
<file>images/icons/check_box_outline_blank-24px.svg</file>
<file>images/icons/ic_block_24px.svg</file> <file>images/icons/ic_block_24px.svg</file>
<file>images/icons/delete_forever-24px.svg</file>
<file>images/icons/phone_forwarded-24px.svg</file> <file>images/icons/phone_forwarded-24px.svg</file>
<file>images/icons/ic_chat_black_24dp_2x.png</file> <file>images/icons/ic_chat_black_24dp_2x.png</file>
<file>images/icons/ic_chat_white_24dp.png</file> <file>images/icons/ic_chat_white_24dp.png</file>

View file

@ -373,6 +373,16 @@ AccountAdapter::connectAccount(const QString &accountId)
QObject::disconnect(accountStatusChangedConnection_); QObject::disconnect(accountStatusChangedConnection_);
QObject::disconnect(contactAddedConnection_); QObject::disconnect(contactAddedConnection_);
QObject::disconnect(accountProfileChangedConnection_);
QObject::disconnect(addedToConferenceConnection_);
accountProfileChangedConnection_
= QObject::connect(&LRCInstance::accountModel(),
&lrc::api::NewAccountModel::profileUpdated,
[this](const QString& accountId) {
if (LRCInstance::getCurrAccId() == accountId)
emit accountStatusChanged();
});
accountStatusChangedConnection_ accountStatusChangedConnection_
= QObject::connect(accInfo.accountModel, = QObject::connect(accInfo.accountModel,
@ -401,7 +411,7 @@ AccountAdapter::connectAccount(const QString &accountId)
emit updateConversationForAddedContact(); emit updateConversationForAddedContact();
} }
}); });
QObject::disconnect(addedToConferenceConnection_);
addedToConferenceConnection_ addedToConferenceConnection_
= QObject::connect(accInfo.callModel.get(), = QObject::connect(accInfo.callModel.get(),
&NewCallModel::callAddedToConference, &NewCallModel::callAddedToConference,

View file

@ -114,5 +114,6 @@ private:
QMetaObject::Connection accountStatusChangedConnection_; QMetaObject::Connection accountStatusChangedConnection_;
QMetaObject::Connection contactAddedConnection_; QMetaObject::Connection contactAddedConnection_;
QMetaObject::Connection addedToConferenceConnection_; QMetaObject::Connection addedToConferenceConnection_;
QMetaObject::Connection accountProfileChangedConnection_;
}; };
Q_DECLARE_METATYPE(AccountAdapter *) Q_DECLARE_METATYPE(AccountAdapter *)

View file

@ -19,8 +19,12 @@ TextField {
property int borderColorMode: InfoLineEdit.NORMAL property int borderColorMode: InfoLineEdit.NORMAL
property var iconSource: { property var iconSource: {
if (readOnly) {
return ""
}
switch(borderColorMode){ switch(borderColorMode){
case InfoLineEdit.RIGHT: case InfoLineEdit.RIGHT:
return "qrc:/images/icons/round-check_circle-24px.svg"
case InfoLineEdit.NORMAL: case InfoLineEdit.NORMAL:
return "" return ""
case InfoLineEdit.ERROR: case InfoLineEdit.ERROR:
@ -29,9 +33,12 @@ TextField {
} }
property var backgroundColor: JamiTheme.rgb256(240,240,240) property var backgroundColor: JamiTheme.rgb256(240,240,240)
property var borderColor: { property var borderColor: {
if (!enabled) {
return "transparent"
}
switch(borderColorMode){ switch(borderColorMode){
case InfoLineEdit.NORMAL: case InfoLineEdit.NORMAL:
return "black" return "#333"
case InfoLineEdit.RIGHT: case InfoLineEdit.RIGHT:
return "green" return "green"
case InfoLineEdit.ERROR: case InfoLineEdit.ERROR:
@ -39,6 +46,8 @@ TextField {
} }
} }
signal imageClicked
Layout.minimumHeight: fieldLayoutHeight Layout.minimumHeight: fieldLayoutHeight
Layout.preferredHeight: fieldLayoutHeight Layout.preferredHeight: fieldLayoutHeight
Layout.maximumHeight: fieldLayoutHeight Layout.maximumHeight: fieldLayoutHeight
@ -73,12 +82,23 @@ TextField {
color: borderColor color: borderColor
} }
} }
MouseArea {
anchors.fill: parent
hoverEnabled: true
acceptedButtons: Qt.LeftButton
enabled: borderColorMode === InfoLineEdit.RIGHT
onReleased: {
imageClicked()
}
}
} }
background: Rectangle { background: Rectangle {
anchors.fill: parent anchors.fill: parent
radius: 4 radius: 4
border.color: readOnly? "black" : borderColor border.color: readOnly? "transparent" : borderColor
color: readOnly? "transparent" : backgroundColor color: readOnly? "transparent" : backgroundColor
} }
} }

View file

@ -40,7 +40,17 @@ Dialog {
property string path: "" property string path: ""
property int purpose: PasswordDialog.ChangePassword property int purpose: PasswordDialog.ChangePassword
title: { header : Rectangle {
width: parent.width
height: 64
color: "transparent"
Text {
anchors.left: parent.left
anchors.leftMargin: 24
anchors.bottom: parent.bottom
anchors.bottomMargin: 24
text: {
switch(purpose){ switch(purpose){
case PasswordDialog.ExportAccount: case PasswordDialog.ExportAccount:
return qsTr("Enter the password of this account") return qsTr("Enter the password of this account")
@ -50,11 +60,16 @@ Dialog {
return qsTr("Set password") return qsTr("Set password")
} }
} }
font.pointSize: JamiTheme.headerFontSize
}
}
function openDialog(purposeIn, exportPathIn = ""){ function openDialog(purposeIn, exportPathIn = ""){
purpose = purposeIn purpose = purposeIn
path = exportPathIn path = exportPathIn
currentPasswordEdit.clear() currentPasswordEdit.clear()
passwordEdit.borderColorMode = InfoLineEdit.NORMAL
confirmPasswordEdit.borderColorMode = InfoLineEdit.NORMAL
passwordEdit.clear() passwordEdit.clear()
confirmPasswordEdit.clear() confirmPasswordEdit.clear()
passwordDialog.open() passwordDialog.open()
@ -100,29 +115,23 @@ Dialog {
success = ClientWrapper.accountAdaptor.exportToFile(ClientWrapper.utilsAdaptor.getCurrAccId(),path,currentPasswordEdit.text) success = ClientWrapper.accountAdaptor.exportToFile(ClientWrapper.utilsAdaptor.getCurrAccId(),path,currentPasswordEdit.text)
} }
spinnerMovie.playing = false
spinnerLabel.visible = false
if (success) { if (success) {
haveDone(successCode, passwordDialog.purpose) haveDone(successCode, passwordDialog.purpose)
} else { } else {
currentPasswordEdit.clear()
btnChangePasswordConfirm.enabled = false btnChangePasswordConfirm.enabled = false
wrongPasswordLabel.visible = true currentPasswordEdit.borderColorMode = InfoLineEdit.ERROR
} }
} }
function savePasswordQML() { function savePasswordQML() {
var success = false var success = false
success = ClientWrapper.accountAdaptor.savePassword(ClientWrapper.utilsAdaptor.getCurrAccId(),currentPasswordEdit.text, passwordEdit.text) success = ClientWrapper.accountAdaptor.savePassword(ClientWrapper.utilsAdaptor.getCurrAccId(),currentPasswordEdit.text, passwordEdit.text)
spinnerMovie.playing = false
spinnerLabel.visible = false
if (success) { if (success) {
ClientWrapper.accountAdaptor.setArchiveHasPassword(passwordEdit.text.length !== 0) ClientWrapper.accountAdaptor.setArchiveHasPassword(passwordEdit.text.length !== 0)
haveDone(successCode, passwordDialog.purpose) haveDone(successCode, passwordDialog.purpose)
} else { } else {
currentPasswordEdit.clear() currentPasswordEdit.borderColorMode = InfoLineEdit.ERROR
btnChangePasswordConfirm.enabled = false btnChangePasswordConfirm.enabled = false
wrongPasswordLabel.visible = true
} }
} }
@ -131,24 +140,20 @@ Dialog {
anchors.centerIn: parent.Center anchors.centerIn: parent.Center
x: (parent.width - width) / 2 x: (parent.width - width) / 2
y: (parent.height - height) / 2 y: (parent.height - height) / 2
height: contentLayout.implicitHeight + 64 + 16
contentItem: Rectangle{ contentItem: Rectangle {
implicitWidth: 440 implicitWidth: 280
implicitHeight: 270
ColumnLayout { ColumnLayout {
id: contentLayout
anchors.fill: parent anchors.fill: parent
spacing: 7 spacing: 8
ColumnLayout { ColumnLayout {
Layout.topMargin: 11
Layout.leftMargin: 40
Layout.rightMargin: 40
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true Layout.fillWidth: true
Layout.preferredWidth: 360
Layout.maximumWidth: 360
spacing: 7 spacing: 7
ColumnLayout { ColumnLayout {
@ -156,21 +161,16 @@ Dialog {
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.preferredWidth: 356 MaterialLineEdit {
Layout.maximumWidth: 356
InfoLineEdit {
id: currentPasswordEdit id: currentPasswordEdit
Layout.minimumHeight: 30 Layout.maximumHeight: visible ?
Layout.preferredHeight: 30 48 :
Layout.maximumHeight: 30 0
Layout.fillWidth: true Layout.fillWidth: true
visible: purpose === PasswordDialog.ChangePassword || purpose === PasswordDialog.ExportAccount visible: purpose === PasswordDialog.ChangePassword || purpose === PasswordDialog.ExportAccount
echoMode: TextInput.Password echoMode: TextInput.Password
font.pointSize: 10
font.kerning: true
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
@ -184,32 +184,10 @@ Dialog {
if (currentPasswordEdit.text.length == 0) { if (currentPasswordEdit.text.length == 0) {
btnChangePasswordConfirm.enabled = false btnChangePasswordConfirm.enabled = false
} else { } else {
wrongPasswordLabel.visible = false
btnChangePasswordConfirm.enabled = true btnChangePasswordConfirm.enabled = true
} }
} }
} }
Label {
id: wrongPasswordLabel
Layout.alignment: Qt.AlignHCenter
Layout.minimumHeight: 12
Layout.preferredHeight: 12
Layout.maximumHeight: 12
Layout.fillWidth: true
font.pointSize: 8
font.kerning: true
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
text: qsTr("Current Password Incorrect")
color: "red"
visible: false
}
} }
Item { Item {
@ -220,16 +198,14 @@ Dialog {
Layout.maximumHeight: 8 Layout.maximumHeight: 8
} }
InfoLineEdit { MaterialLineEdit {
id: passwordEdit id: passwordEdit
fieldLayoutHeight: 30 fieldLayoutHeight: 48
layoutFillwidth: true layoutFillwidth: true
visible: purpose === PasswordDialog.ChangePassword || purpose === PasswordDialog.SetPassword visible: purpose === PasswordDialog.ChangePassword || purpose === PasswordDialog.SetPassword
echoMode: TextInput.Password echoMode: TextInput.Password
font.pointSize: 10
font.kerning: true
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
@ -248,16 +224,14 @@ Dialog {
Layout.maximumHeight: 8 Layout.maximumHeight: 8
} }
InfoLineEdit { MaterialLineEdit {
id: confirmPasswordEdit id: confirmPasswordEdit
fieldLayoutHeight: 30 fieldLayoutHeight: 48
layoutFillwidth: true layoutFillwidth: true
visible: purpose === PasswordDialog.ChangePassword || purpose === PasswordDialog.SetPassword visible: purpose === PasswordDialog.ChangePassword || purpose === PasswordDialog.SetPassword
echoMode: TextInput.Password echoMode: TextInput.Password
font.pointSize: 10
font.kerning: true
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
@ -269,98 +243,42 @@ Dialog {
} }
} }
Label {
id: spinnerLabel
visible: false
Layout.fillWidth: true
Layout.minimumHeight: 20
Layout.preferredHeight: 20
Layout.maximumHeight: 20
background: Rectangle {
anchors.fill: parent
AnimatedImage {
id: spinnerMovie
anchors.fill: parent
source: "qrc:/images/ajax-loader.gif"
playing: spinnerLabel.visible
paused: false
fillMode: Image.PreserveAspectFit
mipmap: true
}
}
}
RowLayout { RowLayout {
spacing: 7 spacing: 8
Layout.bottomMargin: 11
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: 30 Layout.alignment: Qt.AlignRight
Layout.rightMargin: 30
HoverableRadiusButton { Button {
id: btnChangePasswordConfirm id: btnChangePasswordConfirm
Layout.maximumWidth: 130 contentItem: Text {
Layout.preferredWidth: 130 text: qsTr("CONFIRM")
Layout.minimumWidth: 130 color: JamiTheme.buttonTintedBlue
}
Layout.minimumHeight: 30 background: Rectangle {
Layout.preferredHeight: 30 color: "transparent"
Layout.maximumHeight: 30 }
text: qsTr("Confirm")
font.pointSize: 10
font.kerning: true
radius: height / 2
enabled: false
onClicked: { onClicked: {
spinnerLabel.visible = true
spinnerMovie.playing = true
timerToOperate.restart() timerToOperate.restart()
} }
} }
Item {
Layout.fillWidth: true
Layout.fillHeight: true
}
HoverableButtonTextItem { Button {
id: btnChangePasswordCancel id: btnChangePasswordCancel
Layout.maximumWidth: 130 contentItem: Text {
Layout.preferredWidth: 130 text: qsTr("CANCEL")
Layout.minimumWidth: 130 color: JamiTheme.buttonTintedBlue
}
Layout.minimumHeight: 30 background: Rectangle {
Layout.preferredHeight: 30 color: "transparent"
Layout.maximumHeight: 30 }
backgroundColor: "red"
onEnterColor: Qt.rgba(150 / 256, 0, 0, 0.7)
onDisabledBackgroundColor: Qt.rgba(
255 / 256,
0, 0, 0.8)
onPressColor: backgroundColor
textColor: "white"
text: qsTr("Cancel")
font.pointSize: 10
font.kerning: true
radius: height / 2
onClicked: { onClicked: {
passwordDialog.reject() passwordDialog.reject()

View file

@ -39,6 +39,7 @@ Item {
property string transparentColor: "transparent" property string transparentColor: "transparent"
property string presenceGreen: "#4cd964" property string presenceGreen: "#4cd964"
property string notificationRed: "#ff3b30" property string notificationRed: "#ff3b30"
property string unPresenceOrange: "orange"
property string backgroundColor: lightGrey_ property string backgroundColor: lightGrey_
property string backgroundDarkColor: lightGreyTab_ property string backgroundDarkColor: lightGreyTab_
@ -60,6 +61,12 @@ Item {
property string buttonTintedGreyHovered: "#777" property string buttonTintedGreyHovered: "#777"
property string buttonTintedGreyPressed: "#777" property string buttonTintedGreyPressed: "#777"
property string buttonTintedGreyInactive: "#bbb" property string buttonTintedGreyInactive: "#bbb"
property string buttonTintedBlack: "#333"
property string buttonTintedBlackHovered: "#111"
property string buttonTintedBlackPressed: "#000"
property string buttonTintedRed: "red"
property string buttonTintedRedHovered: "#c00"
property string buttonTintedRedPressed: "#b00"
property string selectionBlue: "#109ede" property string selectionBlue: "#109ede"
property string selectionGreen: "#21be2b" property string selectionGreen: "#21be2b"
@ -91,7 +98,7 @@ Item {
property int menuFontSize: 12 property int menuFontSize: 12
property int maximumWidthSettingsView: 800 property int maximumWidthSettingsView: 800
property int preferredButtonWidth: 200 property int preferredFieldWidth: 216
property int preferredFieldHeight: 32 property int preferredFieldHeight: 32
property int preferredMarginSize: 16 property int preferredMarginSize: 16

View file

@ -219,7 +219,7 @@ Window {
callStackView.responsibleConvUid = convUid callStackView.responsibleConvUid = convUid
callStackView.updateCorrspondingUI() callStackView.updateCorrspondingUI()
mainViewWindowSidePanel.needToChangeToAccount(accountId, index) mainViewWindowSidePanel.refreshAccountComboBox(index)
ConversationsAdapter.selectConversation(accountId, convUid) ConversationsAdapter.selectConversation(accountId, convUid)
MessagesAdapter.setupChatView(convUid) MessagesAdapter.setupChatView(convUid)
@ -549,8 +549,7 @@ Window {
height: mainViewWindow.minimumHeight height: mainViewWindow.minimumHeight
onSettingsViewWindowNeedToShowMainViewWindow: { onSettingsViewWindowNeedToShowMainViewWindow: {
mainViewWindowSidePanel.refreshAccountComboBox( mainViewWindowSidePanel.refreshAccountComboBox(0)
accountDeleted ? 0 : -1)
toggleSettingsView() toggleSettingsView()
} }

View file

@ -31,8 +31,6 @@ ComboBox {
signal newAccountButtonClicked signal newAccountButtonClicked
signal settingBtnClicked signal settingBtnClicked
currentIndex: 0
function backToWelcomePage() { function backToWelcomePage() {
needToBackToWelcomePage() needToBackToWelcomePage()
} }
@ -42,6 +40,19 @@ ComboBox {
accountListModel.reset() accountListModel.reset()
} }
Connections {
target: accountListModel
function onModelReset() {
userImageRoot.source = "data:image/png;base64," + accountListModel.data(
accountListModel.index(0, 0), 259)
currentAccountPresenseCycle.accountStatus =
accountListModel.data(accountListModel.index(0, 0), 261)
textMetricsUserAliasRoot.text = accountListModel.data(accountListModel.index(0,0), 257)
textMetricsUsernameRoot.text = accountListModel.data(accountListModel.index(0,0), 258)
}
}
Image { Image {
id: userImageRoot id: userImageRoot
@ -55,14 +66,8 @@ ComboBox {
fillMode: Image.PreserveAspectFit fillMode: Image.PreserveAspectFit
// Base 64 format // Base 64 format
source: { source: "data:image/png;base64," + accountListModel.data(
if (currentIndex !== -1) accountListModel.index(0, 0), 259)
return "data:image/png;base64," + accountListModel.data(
accountListModel.index(
accountComboBox.currentIndex, 0), 259)
else
return source
}
mipmap: true mipmap: true
AccountPresenceCycle { AccountPresenceCycle {
@ -73,16 +78,7 @@ ComboBox {
anchors.bottom: userImageRoot.bottom anchors.bottom: userImageRoot.bottom
anchors.bottomMargin: -2 anchors.bottomMargin: -2
// Visible when account is registered. accountStatus: accountListModel.data(accountListModel.index(0, 0), 261)
visible: {
if (currentIndex !== -1)
return accountListModel.data(
accountListModel.index(
accountComboBox.currentIndex, 0), 261)
=== Account.Status.REGISTERED
else
return visible
}
} }
} }
@ -133,14 +129,7 @@ ComboBox {
- arrowDropDown.width - qrCodeGenerateButton.width - 55 - arrowDropDown.width - qrCodeGenerateButton.width - 55
// Role::Alias // Role::Alias
text: { text: accountListModel.data(accountListModel.index(0,0), 257)
if (currentIndex !== -1)
return accountListModel.data(accountListModel.index(
accountComboBox.currentIndex,
0), 257)
else
return text
}
} }
TextMetrics { TextMetrics {
@ -154,14 +143,7 @@ ComboBox {
// Role::Username // Role::Username
text: { text: accountListModel.data(accountListModel.index(0,0), 258)
if (currentIndex !== -1)
return accountListModel.data(accountListModel.index(
accountComboBox.currentIndex,
0), 258)
else
return text
}
} }
HoverableButton { HoverableButton {

View file

@ -89,12 +89,7 @@ Popup {
anchors.bottom: userImage.bottom anchors.bottom: userImage.bottom
anchors.bottomMargin: -2 anchors.bottomMargin: -2
// Visible when account is registered. accountStatus: Status
visible: {
return accountListModel.data(
accountListModel.index(index, 0), 261)
=== Account.Status.REGISTERED
}
} }
} }

View file

@ -23,6 +23,8 @@ import net.jami.Models 1.0
Rectangle { Rectangle {
id: root id: root
property int accountStatus: 5
width: 12 width: 12
height: 12 height: 12
@ -35,7 +37,13 @@ Rectangle {
height: 10 height: 10
radius: 30 radius: 30
color: JamiTheme.presenceGreen color: {
if (accountStatus === Account.Status.REGISTERED)
return JamiTheme.presenceGreen
else if (accountStatus === Account.Status.TRYING)
return JamiTheme.unPresenceOrange
return JamiTheme.notificationRed
}
} }
radius: 30 radius: 30

View file

@ -77,30 +77,9 @@ Rectangle {
sidePanelTabBar.invitationTabDown = false sidePanelTabBar.invitationTabDown = false
} }
function needToChangeToAccount(accountId, index) { function refreshAccountComboBox(index) {
if (index !== -1) {
accountComboBox.currentIndex = index
ClientWrapper.accountAdaptor.accountChanged(index) ClientWrapper.accountAdaptor.accountChanged(index)
accountChangedUIReset()
}
}
function refreshAccountComboBox(index = -1) {
/*
* To make sure that the ui is refreshed for accountComboBox.
* Note: when index in -1, it means to maintain the
* current account selection.
*/
var currentIndex = accountComboBox.currentIndex
if (accountComboBox.currentIndex === index)
accountComboBox.currentIndex = -1
accountComboBox.currentIndex = index
if (index !== -1)
ClientWrapper.accountAdaptor.accountChanged(index)
else
accountComboBox.currentIndex = currentIndex
accountComboBox.update() accountComboBox.update()
accountChangedUIReset() accountChangedUIReset()
accountComboBox.resetAccountListModel() accountComboBox.resetAccountListModel()

View file

@ -109,7 +109,7 @@ Rectangle {
} }
// slots // slots
function leaveSettingsSlot(accountDeleted = false, showMainView = true){ function leaveSettingsSlot(showMainView){
avSettings.stopAudioMeter() avSettings.stopAudioMeter()
avSettings.stopPreviewing() avSettings.stopPreviewing()
if(!settingsViewRect.isSIP){ if(!settingsViewRect.isSIP){
@ -118,7 +118,7 @@ Rectangle {
currentSIPAccountSettingsScrollWidget.stopBooth() currentSIPAccountSettingsScrollWidget.stopBooth()
} }
if (showMainView) if (showMainView)
settingsViewWindowNeedToShowMainViewWindow(accountDeleted) settingsViewWindowNeedToShowMainViewWindow()
else else
settingsViewWindowNeedToShowNewWizardWindow() settingsViewWindowNeedToShowNewWizardWindow()
} }
@ -142,7 +142,7 @@ Rectangle {
/* /*
* signal to redirect the page to main view * signal to redirect the page to main view
*/ */
signal settingsViewWindowNeedToShowMainViewWindow(bool accountDeleted) signal settingsViewWindowNeedToShowMainViewWindow()
signal settingsViewWindowNeedToShowNewWizardWindow signal settingsViewWindowNeedToShowNewWizardWindow
signal settingsBackArrowClicked signal settingsBackArrowClicked
@ -200,7 +200,7 @@ Rectangle {
} }
onNavigateToNewWizardView: { onNavigateToNewWizardView: {
leaveSettingsSlot(true, false) leaveSettingsSlot(false)
} }
} }
@ -213,7 +213,7 @@ Rectangle {
} }
onNavigateToNewWizardView: { onNavigateToNewWizardView: {
leaveSettingsSlot(true, false) leaveSettingsSlot(false)
} }
} }

View file

@ -414,7 +414,7 @@ ColumnLayout {
fontSize: JamiTheme.settingsFontSize fontSize: JamiTheme.settingsFontSize
} }
HoverableRadiusButton { MaterialButton {
id: btnRingtoneSIP id: btnRingtoneSIP
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
@ -425,11 +425,10 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
radius: height / 2 source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey
icon.source: "qrc:/images/icons/round-folder-24px.svg" hoveredColor: JamiTheme.buttonTintedGreyHovered
icon.width: 16 pressedColor: JamiTheme.buttonTintedGreyPressed
icon.height: 16
onClicked: { onClicked: {
ringtonePath_Dialog_SIP.open() ringtonePath_Dialog_SIP.open()
@ -477,11 +476,12 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditVoiceMailDialCode id: lineEditVoiceMailDialCode
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -615,7 +615,7 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
HoverableRadiusButton { MaterialButton {
id: btnSIPCACert id: btnSIPCACert
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
@ -625,11 +625,10 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
radius: height / 2 source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey
icon.source: "qrc:/images/icons/round-folder-24px.svg" hoveredColor: JamiTheme.buttonTintedGreyHovered
icon.width: 16 pressedColor: JamiTheme.buttonTintedGreyPressed
icon.height: 16
onClicked: { onClicked: {
caCert_Dialog_SIP.open() caCert_Dialog_SIP.open()
@ -648,7 +647,7 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
HoverableRadiusButton { MaterialButton {
id: btnSIPUserCert id: btnSIPUserCert
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
@ -659,11 +658,10 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
radius: height / 2 source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey
icon.source: "qrc:/images/icons/round-folder-24px.svg" hoveredColor: JamiTheme.buttonTintedGreyHovered
icon.width: 16 pressedColor: JamiTheme.buttonTintedGreyPressed
icon.height: 16
onClicked: { onClicked: {
userCert_Dialog_SIP.open() userCert_Dialog_SIP.open()
@ -682,7 +680,7 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
HoverableRadiusButton { MaterialButton {
id: btnSIPPrivateKey id: btnSIPPrivateKey
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
@ -693,11 +691,10 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
radius: height / 2 source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey
icon.source: "qrc:/images/icons/round-folder-24px.svg" hoveredColor: JamiTheme.buttonTintedGreyHovered
icon.width: 16 pressedColor: JamiTheme.buttonTintedGreyPressed
icon.height: 16
onClicked: { onClicked: {
privateKey_Dialog_SIP.open() privateKey_Dialog_SIP.open()
@ -718,11 +715,12 @@ ColumnLayout {
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditSIPCertPassword id: lineEditSIPCertPassword
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -851,11 +849,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: outgoingTLSServerNameLineEdit id: outgoingTLSServerNameLineEdit
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -1056,11 +1055,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditTurnAddressSIP id: lineEditTurnAddressSIP
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -1085,11 +1085,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditTurnUsernameSIP id: lineEditTurnUsernameSIP
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -1113,11 +1114,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditTurnPsswdSIP id: lineEditTurnPsswdSIP
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -1144,11 +1146,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditTurnRealmSIP id: lineEditTurnRealmSIP
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -1188,11 +1191,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditSTUNAddressSIP id: lineEditSTUNAddressSIP
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -1271,11 +1275,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditSIPCustomAddress id: lineEditSIPCustomAddress
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true

View file

@ -362,7 +362,7 @@ ColumnLayout {
fontSize: JamiTheme.settingsFontSize fontSize: JamiTheme.settingsFontSize
} }
HoverableRadiusButton { MaterialButton {
id: btnRingtone id: btnRingtone
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
@ -372,11 +372,10 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
radius: height / 2 source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey
icon.source: "qrc:/images/icons/round-folder-24px.svg" hoveredColor: JamiTheme.buttonTintedGreyHovered
icon.width: 16 pressedColor: JamiTheme.buttonTintedGreyPressed
icon.height: 16
onClicked: { onClicked: {
ringtonePath_Dialog.open() ringtonePath_Dialog.open()
@ -433,11 +432,12 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditNameServer id: lineEditNameServer
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -497,11 +497,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditProxy id: lineEditProxy
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -534,11 +535,12 @@ ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditBootstrap id: lineEditBootstrap
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -593,7 +595,7 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
HoverableRadiusButton { MaterialButton {
id: btnCACert id: btnCACert
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
@ -604,11 +606,10 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
radius: height / 2 source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey
icon.source: "qrc:/images/icons/round-folder-24px.svg" hoveredColor: JamiTheme.buttonTintedGreyHovered
icon.width: 16 pressedColor: JamiTheme.buttonTintedGreyPressed
icon.height: 16
onClicked: { onClicked: {
caCert_Dialog.open() caCert_Dialog.open()
@ -627,7 +628,7 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
HoverableRadiusButton { MaterialButton {
id: btnUserCert id: btnUserCert
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
@ -638,11 +639,10 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
radius: height / 2 source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey
icon.source: "qrc:/images/icons/round-folder-24px.svg" hoveredColor: JamiTheme.buttonTintedGreyHovered
icon.width: 16 pressedColor: JamiTheme.buttonTintedGreyPressed
icon.height: 16
onClicked: { onClicked: {
userCert_Dialog.open() userCert_Dialog.open()
@ -661,13 +661,9 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
MaterialButton {
HoverableRadiusButton {
id: btnPrivateKey id: btnPrivateKey
radius: height / 2
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
Layout.preferredWidth: preferredColumnWidth Layout.preferredWidth: preferredColumnWidth
Layout.maximumWidth: preferredColumnWidth Layout.maximumWidth: preferredColumnWidth
@ -676,9 +672,10 @@ ColumnLayout {
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
icon.source: "qrc:/images/icons/round-folder-24px.svg" source: "qrc:/images/icons/round-folder-24px.svg"
icon.width: 16 color: JamiTheme.buttonTintedGrey
icon.height: 16 hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed
onClicked: { onClicked: {
privateKey_Dialog.open() privateKey_Dialog.open()
@ -698,11 +695,12 @@ ColumnLayout {
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditCertPassword id: lineEditCertPassword
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -797,10 +795,11 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditTurnAddress id: lineEditTurnAddress
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -829,11 +828,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditTurnUsername id: lineEditTurnUsername
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -861,12 +861,13 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditTurnPassword id: lineEditTurnPassword
layer.mipmap: false layer.mipmap: false
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
@ -913,11 +914,12 @@ ColumnLayout {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: lineEditSTUNAddress id: lineEditSTUNAddress
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
fieldLayoutHeight: JamiTheme.preferredFieldHeight fieldLayoutHeight: JamiTheme.preferredFieldHeight
padding: 8
font.pointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true

View file

@ -35,7 +35,7 @@ ItemDelegate {
signal audioCodecStateChange(string idToSet , bool isToBeEnabled) signal audioCodecStateChange(string idToSet , bool isToBeEnabled)
property int checkBoxWidth: 10 property int checkBoxWidth: 24
highlighted: ListView.isCurrentItem highlighted: ListView.isCurrentItem
@ -60,13 +60,15 @@ ItemDelegate {
tristate: false tristate: false
checkState: isEnabled ? Qt.Checked : Qt.Unchecked checkState: isEnabled ? Qt.Checked : Qt.Unchecked
indicator.implicitWidth: checkBoxWidth
indicator.implicitHeight:checkBoxWidth
indicator.layer.textureSize.width: checkBoxWidth
indicator.layer.textureSize.height: checkBoxWidth
text: "" text: ""
indicator: Image {
anchors.centerIn: parent
width: checkBoxWidth
height: checkBoxWidth
source: checkBoxIsEnabled.checked ?
"qrc:/images/icons/check_box-24px.svg" :
"qrc:/images/icons/check_box_outline_blank-24px.svg"
}
nextCheckState: function() { nextCheckState: function() {
var result var result

View file

@ -56,26 +56,6 @@ Rectangle {
refreshVariable-- refreshVariable--
} }
Connections {
id: btnRegisterNameClickConnection
target: btnRegisterName
enabled: {
refreshVariable
switch (regNameUi) {
case CurrentAccountSettingsScrollPage.FREE:
return true
default:
return false
}
}
function onClicked() {
slotRegisterName()
}
}
function updateAccountInfoDisplayed() { function updateAccountInfoDisplayed() {
setAvatar() setAvatar()
@ -529,6 +509,7 @@ Rectangle {
ToggleSwitch { ToggleSwitch {
id: accountEnableCheckBox id: accountEnableCheckBox
Layout.fillWidth: true
Layout.topMargin: JamiTheme.preferredMarginSize Layout.topMargin: JamiTheme.preferredMarginSize
Layout.leftMargin: JamiTheme.preferredMarginSize Layout.leftMargin: JamiTheme.preferredMarginSize
@ -546,7 +527,6 @@ Rectangle {
ColumnLayout { ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
Layout.leftMargin: JamiTheme.preferredMarginSize
spacing: 8 spacing: 8
Label { Label {
@ -555,6 +535,7 @@ Rectangle {
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.leftMargin: JamiTheme.preferredMarginSize
text: qsTr("Profile") text: qsTr("Profile")
font.pointSize: JamiTheme.headerFontSize font.pointSize: JamiTheme.headerFontSize
@ -588,10 +569,10 @@ Rectangle {
} }
} }
InfoLineEdit { MaterialLineEdit {
id: displayNameLineEdit id: displayNameLineEdit
Layout.maximumWidth: JamiTheme.preferredButtonWidth Layout.maximumWidth: JamiTheme.preferredFieldWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
@ -603,6 +584,7 @@ Rectangle {
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
padding: 8
onEditingFinished: { onEditingFinished: {
ClientWrapper.accountAdaptor.setCurrAccDisplayName( ClientWrapper.accountAdaptor.setCurrAccDisplayName(
@ -688,7 +670,7 @@ Rectangle {
id: currentRingIDText id: currentRingIDText
elide: Text.ElideRight elide: Text.ElideRight
elideWidth: accountViewRect.width - idLabel.width -JamiTheme.preferredMarginSize*3 elideWidth: accountViewRect.width - idLabel.width -JamiTheme.preferredMarginSize*4
text: { refreshVariable text: { refreshVariable
return ClientWrapper.settingsAdaptor.getCurrentAccount_Profile_Info_Uri() return ClientWrapper.settingsAdaptor.getCurrentAccount_Profile_Info_Uri()
@ -714,10 +696,10 @@ Rectangle {
eText: qsTr("Registered name") eText: qsTr("Registered name")
fontSize: JamiTheme.settingsFontSize fontSize: JamiTheme.settingsFontSize
maxWidth: 160 maxWidth: preferredColumnWidth
} }
TextField { MaterialLineEdit {
id: currentRegisteredID id: currentRegisteredID
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
Layout.preferredWidth: preferredColumnWidth Layout.preferredWidth: preferredColumnWidth
@ -727,7 +709,8 @@ Rectangle {
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
placeholderText: { refreshVariable placeholderText: { refreshVariable
var result = registeredIdNeedsSet ? qsTr("Type here to register a username") : "" var result = registeredIdNeedsSet ?
qsTr("Type here to register a username") : ""
return result} return result}
text: { text: {
@ -747,24 +730,28 @@ Rectangle {
font.bold: { refreshVariable font.bold: { refreshVariable
return !registeredIdNeedsSet} return !registeredIdNeedsSet}
horizontalAlignment: Text.AlignLeft horizontalAlignment: registeredIdNeedsSet ?
Text.AlignLeft :
Text.AlignRight
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
padding: 8
background: Rectangle { borderColorMode: {
anchors.fill: parent switch (regNameUi) {
radius: {refreshVariable case CurrentAccountSettingsScrollPage.INVALIDFORM:
var result = registeredIdNeedsSet ? height / 2 : 0 case CurrentAccountSettingsScrollPage.TAKEN:
return result} return InfoLineEdit.ERROR
border.color: "transparent" case CurrentAccountSettingsScrollPage.FREE:
border.width: {refreshVariable return InfoLineEdit.RIGHT
var result = registeredIdNeedsSet ? 2 : 0 case CurrentAccountSettingsScrollPage.BLANK:
return result} case CurrentAccountSettingsScrollPage.SEARCHING:
color: {refreshVariable default:
var result = registeredIdNeedsSet ? Qt.rgba( return InfoLineEdit.NORMAL
240 / 256, 240 / 256, }
240 / 256, }
1.0) : "transparent"
return result} onImageClicked: {
slotRegisterName()
} }
onTextEdited: { onTextEdited: {
@ -776,94 +763,6 @@ Rectangle {
} }
} }
} }
RowLayout {
Layout.fillWidth: true
Layout.alignment: Qt.AlignRight
visible:{refreshVariable
var result = registeredIdNeedsSet
&& (regNameUi
!== CurrentAccountSettingsScrollPage.BLANK)
return result}
LookupStatusLabel {
id: lookupStatusLabel
Layout.fillWidth: true
MouseArea {
id: lookupStatusLabelArea
anchors.fill: parent
property bool isHovering: false
onEntered: isHovering = true
onExited: isHovering = false
hoverEnabled: true
}
ToolTip.visible: lookupStatusLabelArea.isHovering
ToolTip.text: {
switch (regNameUi) {
case CurrentAccountSettingsScrollPage.BLANK:
return qsTr("")
case CurrentAccountSettingsScrollPage.INVALIDFORM:
return qsTr("A registered name should not have any spaces and must be at least three letters long")
case CurrentAccountSettingsScrollPage.TAKEN:
return qsTr("This name is already taken")
case CurrentAccountSettingsScrollPage.FREE:
return qsTr("Register this name")
case CurrentAccountSettingsScrollPage.SEARCHING:
return qsTr("")
default:
return qsTr("")
}
}
lookupStatusState: {
switch (regNameUi) {
case CurrentAccountSettingsScrollPage.BLANK:
return "Blank"
case CurrentAccountSettingsScrollPage.INVALIDFORM:
return "Invalid"
case CurrentAccountSettingsScrollPage.TAKEN:
return "Taken"
case CurrentAccountSettingsScrollPage.FREE:
return "Free"
case CurrentAccountSettingsScrollPage.SEARCHING:
return "Searching"
default:
return "Blank"
}
}
}
HoverableButtonTextItem {
id: btnRegisterName
visible: {refreshVariable
var result = registeredIdNeedsSet
&& (regNameUi
=== CurrentAccountSettingsScrollPage.FREE)
return result}
Layout.minimumWidth: preferredColumnWidth
Layout.preferredWidth: preferredColumnWidth
Layout.maximumWidth: preferredColumnWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight
text: qsTr("Register")
font.pointSize: JamiTheme.buttonFontSize
font.kerning: true
toolTipText: qsTr("Register the name as typed")
radius: height / 2
}
}
} }
/* /*
@ -872,87 +771,84 @@ Rectangle {
ColumnLayout { ColumnLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.leftMargin: JamiTheme.preferredMarginSize
spacing: 8 spacing: 8
HoverableButtonTextItem { MaterialButton {
id: passwdPushButton id: passwdPushButton
visible: ClientWrapper.settingsAdaptor.getAccountConfig_Manageruri() === "" visible: ClientWrapper.settingsAdaptor.getAccountConfig_Manageruri() === ""
Layout.alignment: Qt.AlignHCenter color: JamiTheme.buttonTintedBlack
Layout.minimumWidth: JamiTheme.preferredButtonWidth hoveredColor: JamiTheme.buttonTintedBlackHovered
Layout.preferredWidth: JamiTheme.preferredButtonWidth pressedColor: JamiTheme.buttonTintedBlackPressed
Layout.maximumWidth: JamiTheme.preferredButtonWidth outlined: true
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.minimumWidth: JamiTheme.preferredFieldWidth
Layout.preferredWidth: JamiTheme.preferredFieldWidth
Layout.maximumWidth: JamiTheme.preferredFieldWidth
Layout.alignment: Qt.AlignHCenter
text: ClientWrapper.accountAdaptor.hasPassword() ? qsTr("Change Password") : qsTr("Set Password") toolTipText: ClientWrapper.accountAdaptor.hasPassword() ?
qsTr("Change the current password") :
qsTr("Currently no password, press this button to set a password")
text: ClientWrapper.accountAdaptor.hasPassword() ? qsTr("Change Password") :
qsTr("Set Password")
toolTipText: ClientWrapper.accountAdaptor.hasPassword() ? qsTr("Change the current password") : qsTr("Currently no password, press this button to set a password") source: "qrc:/images/icons/round-edit-24px.svg"
font.pointSize: JamiTheme.textFontSize
font.kerning: true
radius: height / 2
onClicked: { onClicked: {
passwordClicked() passwordClicked()
} }
} }
HoverableButtonTextItem { MaterialButton {
id: btnExportAccount id: btnExportAccount
visible: ClientWrapper.settingsAdaptor.getAccountConfig_Manageruri() === "" visible: ClientWrapper.settingsAdaptor.getAccountConfig_Manageruri() === ""
Layout.alignment: Qt.AlignHCenter color: JamiTheme.buttonTintedBlack
Layout.minimumWidth: JamiTheme.preferredButtonWidth hoveredColor: JamiTheme.buttonTintedBlackHovered
Layout.preferredWidth: JamiTheme.preferredButtonWidth pressedColor: JamiTheme.buttonTintedBlackPressed
Layout.maximumWidth: JamiTheme.preferredButtonWidth outlined: true
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.minimumWidth: JamiTheme.preferredFieldWidth
Layout.preferredWidth: JamiTheme.preferredFieldWidth
Layout.maximumWidth: JamiTheme.preferredFieldWidth
Layout.alignment: Qt.AlignHCenter
toolTipText: qsTr("Press this button to export account to a .gz file") toolTipText: qsTr("Press this button to export account to a .gz file")
text: qsTr("Export Account") text: qsTr("Export Account")
font.pointSize: JamiTheme.textFontSize
font.kerning: true
radius: height / 2 source: "qrc:/images/icons/round-save_alt-24px.svg"
onClicked: { onClicked: {
exportAccountSlot() exportAccountSlot()
} }
} }
HoverableButtonTextItem { MaterialButton {
id: btnDeletAccount id: btnDeleteAccount
backgroundColor: "red" color: JamiTheme.buttonTintedRed
onEnterColor: Qt.rgba(150 / 256, 0, 0, 0.7) hoveredColor: JamiTheme.buttonTintedRedHovered
onDisabledBackgroundColor: Qt.rgba( pressedColor: JamiTheme.buttonTintedRedPressed
255 / 256,
0, 0, 0.8)
onPressColor: backgroundColor
textColor: "white"
Layout.alignment: Qt.AlignHCenter
Layout.minimumWidth: JamiTheme.preferredButtonWidth
Layout.preferredWidth: JamiTheme.preferredButtonWidth
Layout.maximumWidth: JamiTheme.preferredButtonWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.minimumWidth: JamiTheme.preferredFieldWidth
Layout.preferredWidth: JamiTheme.preferredFieldWidth
Layout.maximumWidth: JamiTheme.preferredFieldWidth
Layout.alignment: Qt.AlignHCenter
toolTipText: qsTr("Press this button to delete this account") toolTipText: qsTr("Press this button to delete this account")
text: qsTr("Delete Account") text: qsTr("Delete Account")
font.pointSize: JamiTheme.textFontSize
font.kerning: true
radius: height / 2 source: "qrc:/images/icons/delete_forever-24px.svg"
onClicked: { onClicked: {
delAccountSlot() delAccountSlot()
@ -1013,25 +909,29 @@ Rectangle {
} }
} }
HoverableButtonTextItem {
MaterialButton {
id: linkDevPushButton id: linkDevPushButton
visible: ClientWrapper.settingsAdaptor.getAccountConfig_Manageruri() === "" visible: ClientWrapper.settingsAdaptor.getAccountConfig_Manageruri() === ""
Layout.maximumWidth: JamiTheme.preferredButtonWidth
Layout.preferredWidth: JamiTheme.preferredButtonWidth
Layout.minimumWidth: JamiTheme.preferredButtonWidth
Layout.maximumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.alignment: Qt.AlignHCenter Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight
radius: height / 2 Layout.minimumWidth: JamiTheme.preferredFieldWidth
Layout.preferredWidth: JamiTheme.preferredFieldWidth
Layout.maximumWidth: JamiTheme.preferredFieldWidth
Layout.alignment: Qt.AlignCenter
color: JamiTheme.buttonTintedBlack
hoveredColor: JamiTheme.buttonTintedBlackHovered
pressedColor: JamiTheme.buttonTintedBlackPressed
outlined: true
toolTipText: qsTr("Press to link one more device with this account") toolTipText: qsTr("Press to link one more device with this account")
text: qsTr("+ Link Another Device") source: "qrc:/images/icons/round-add-24px.svg"
text: qsTr("Link Another Device")
font.pointSize: JamiTheme.textFontSize font.pointSize: JamiTheme.textFontSize
font.kerning: true font.kerning: true
@ -1068,7 +968,8 @@ Rectangle {
eText: qsTr("Banned Contacts") eText: qsTr("Banned Contacts")
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: accountViewRect.width - bannedContactsBtn.width -JamiTheme.preferredMarginSize*4 maxWidth: accountViewRect.width - bannedContactsBtn.width
- JamiTheme.preferredMarginSize*4
} }
HoverableButtonTextItem { HoverableButtonTextItem {
@ -1088,7 +989,8 @@ Rectangle {
toolTipText: qsTr("press to open or hide display of banned contact") toolTipText: qsTr("press to open or hide display of banned contact")
source: bannedContactsListWidget.visible? "qrc:/images/icons/round-arrow_drop_up-24px.svg" : source: bannedContactsListWidget.visible?
"qrc:/images/icons/round-arrow_drop_up-24px.svg" :
"qrc:/images/icons/round-arrow_drop_down-24px.svg" "qrc:/images/icons/round-arrow_drop_down-24px.svg"
onClicked: { onClicked: {
toggleBannedContacts() toggleBannedContacts()
@ -1157,7 +1059,8 @@ Rectangle {
eText: qsTr("Advanced Account Settings") eText: qsTr("Advanced Account Settings")
fontSize: JamiTheme.headerFontSize fontSize: JamiTheme.headerFontSize
maxWidth: accountViewRect.width - advancedAccountSettingsPButton.width -JamiTheme.preferredMarginSize*4 maxWidth: accountViewRect.width - advancedAccountSettingsPButton.width
- JamiTheme.preferredMarginSize*6
} }
HoverableButtonTextItem { HoverableButtonTextItem {
@ -1190,7 +1093,8 @@ Rectangle {
advanceSettingsView.visible = !advanceSettingsView.visible advanceSettingsView.visible = !advanceSettingsView.visible
if (advanceSettingsView.visible) { if (advanceSettingsView.visible) {
advanceSettingsView.updateAccountInfoDisplayedAdvance() advanceSettingsView.updateAccountInfoDisplayedAdvance()
accountScrollView.vScrollBar.position = rowAdvancedSettingsBtn.y / accountViewLayout.height accountScrollView.vScrollBar.position =
rowAdvancedSettingsBtn.y / accountViewLayout.height
} else { } else {
accountScrollView.vScrollBar.position = 0 accountScrollView.vScrollBar.position = 0
} }

View file

@ -229,10 +229,10 @@ Rectangle {
} }
} }
InfoLineEdit { MaterialLineEdit {
id: displaySIPNameLineEdit id: displaySIPNameLineEdit
Layout.maximumWidth: JamiTheme.preferredButtonWidth Layout.maximumWidth: JamiTheme.preferredFieldWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
@ -244,6 +244,7 @@ Rectangle {
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
padding: 8
onEditingFinished: { onEditingFinished: {
ClientWrapper.accountAdaptor.setCurrAccDisplayName( ClientWrapper.accountAdaptor.setCurrAccDisplayName(
@ -294,7 +295,7 @@ Rectangle {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: usernameSIP id: usernameSIP
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
@ -305,6 +306,12 @@ Rectangle {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
Layout.maximumWidth: preferredColumnWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight
padding: 8
onEditingFinished: { onEditingFinished: {
ClientWrapper.settingsAdaptor.setAccountConfig_Username( ClientWrapper.settingsAdaptor.setAccountConfig_Username(
usernameSIP.text) usernameSIP.text)
@ -323,17 +330,23 @@ Rectangle {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: hostnameSIP id: hostnameSIP
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
font.pointSize: JamiTheme.settingsFontSize // Albert: button? font.pointSize: JamiTheme.settingsFontSize
font.kerning: true font.kerning: true
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
Layout.maximumWidth: preferredColumnWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight
padding: 8
onEditingFinished: { onEditingFinished: {
ClientWrapper.settingsAdaptor.setAccountConfig_Hostname( ClientWrapper.settingsAdaptor.setAccountConfig_Hostname(
hostnameSIP.text) hostnameSIP.text)
@ -352,7 +365,7 @@ Rectangle {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: proxySIP id: proxySIP
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
@ -363,6 +376,12 @@ Rectangle {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
Layout.maximumWidth: preferredColumnWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight
padding: 8
onEditingFinished: { onEditingFinished: {
ClientWrapper.settingsAdaptor.setAccountConfig_ProxyServer( ClientWrapper.settingsAdaptor.setAccountConfig_ProxyServer(
proxySIP.text) proxySIP.text)
@ -381,7 +400,7 @@ Rectangle {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
InfoLineEdit { MaterialLineEdit {
id: passSIPlineEdit id: passSIPlineEdit
fieldLayoutWidth: preferredColumnWidth fieldLayoutWidth: preferredColumnWidth
@ -393,6 +412,12 @@ Rectangle {
horizontalAlignment: Text.AlignLeft horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
Layout.maximumWidth: preferredColumnWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight
padding: 8
onEditingFinished: { onEditingFinished: {
ClientWrapper.settingsAdaptor.setAccountConfig_Password( ClientWrapper.settingsAdaptor.setAccountConfig_Password(
passSIPlineEdit.text) passSIPlineEdit.text)
@ -401,30 +426,24 @@ Rectangle {
} }
HoverableButtonTextItem { MaterialButton {
id: btnDeletAccount color: JamiTheme.buttonTintedRed
hoveredColor: JamiTheme.buttonTintedRedHovered
backgroundColor: "red" pressedColor: JamiTheme.buttonTintedRedPressed
onEnterColor: Qt.rgba(150 / 256, 0, 0, 0.7)
onDisabledBackgroundColor: Qt.rgba(
255 / 256,
0, 0, 0.8)
onPressColor: backgroundColor
textColor: "white"
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.minimumWidth: JamiTheme.preferredButtonWidth
Layout.preferredWidth: JamiTheme.preferredButtonWidth Layout.minimumWidth: JamiTheme.preferredFieldWidth
Layout.maximumWidth: JamiTheme.preferredButtonWidth Layout.preferredWidth: JamiTheme.preferredFieldWidth
Layout.maximumWidth: JamiTheme.preferredFieldWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
toolTipText: qsTr("Press this button to delete this account")
text: qsTr("Delete Account") text: qsTr("Delete Account")
toolTipText: qsTr("Delete this account")
font.pointSize: JamiTheme.textFontSize source: "qrc:/images/icons/delete_forever-24px.svg"
font.kerning: true
radius: height / 2
onClicked: { onClicked: {
delAccountSlot() delAccountSlot()

View file

@ -67,7 +67,6 @@ ItemDelegate {
id: layoutDeviceItemDelegate id: layoutDeviceItemDelegate
anchors.fill: parent anchors.fill: parent
spacing: 8 spacing: 8
Image { Image {
Layout.leftMargin: 16 Layout.leftMargin: 16
Layout.alignment: Qt.AlignVCenter Layout.alignment: Qt.AlignVCenter
@ -90,15 +89,16 @@ ItemDelegate {
RowLayout { RowLayout {
Layout.fillWidth: true Layout.fillWidth: true
Layout.alignment: Qt.AlignVCenter spacing: 0
Layout.alignment: Qt.AlignLeft | Qt.AlignVCenter
InfoLineEdit { InfoLineEdit {
id: editDeviceName id: editDeviceName
Layout.preferredWidth: col.width - 100 Layout.preferredWidth: deviceItemDelegate.width - 112
Layout.maximumWidth: col.width - 100 Layout.maximumWidth: deviceItemDelegate.width - 112
Layout.minimumWidth: col.width - 100 Layout.minimumWidth: deviceItemDelegate.width - 112
fieldLayoutWidth: col.width - 100 fieldLayoutWidth: deviceItemDelegate.width - 112
Layout.minimumHeight: 24 Layout.minimumHeight: 24
Layout.preferredHeight: 24 Layout.preferredHeight: 24
@ -124,43 +124,23 @@ ItemDelegate {
id: elidedTextDeviceName id: elidedTextDeviceName
elide: Text.ElideRight elide: Text.ElideRight
elideWidth: deviceItemDelegate.width - 80 elideWidth: deviceItemDelegate.width - 112
text: deviceName text: deviceName
} }
Label {
id: labelThisDevice
Layout.fillWidth: true
Layout.rightMargin: 16
Layout.minimumHeight: 24
Layout.preferredHeight: 24
Layout.maximumHeight: 24
Layout.alignment: Qt.AlignRight
horizontalAlignment: Text.AlignRight
verticalAlignment: Text.AlignVCenter
visible: isCurrent
font.pointSize: JamiTheme.textFontSize
font.kerning: true
font.italic: true
color: "green"
text: qsTr("this device")
}
} }
ElidedTextLabel { ElidedTextLabel {
id: labelDeviceId id: labelDeviceId
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: 12
Layout.minimumHeight: 24 Layout.minimumHeight: 24
Layout.preferredHeight: 24 Layout.preferredHeight: 24
Layout.maximumHeight: 24 Layout.maximumHeight: 24
maxWidth: deviceItemDelegate.width - 80 maxWidth: deviceItemDelegate.width - 112
eText: deviceId === "" ? qsTr("Device Id") : deviceId eText: deviceId === "" ? qsTr("Device Id") : deviceId
} }
@ -191,7 +171,9 @@ ItemDelegate {
source: { source: {
if(isCurrent) { if(isCurrent) {
var path = editable ? "qrc:/images/icons/round-edit-24px.svg" : "qrc:/images/icons/round-save_alt-24px.svg" var path = editable ?
"qrc:/images/icons/round-save_alt-24px.svg" :
"qrc:/images/icons/round-edit-24px.svg"
return path return path
} else { } else {
return "qrc:/images/icons/round-remove_circle-24px.svg" return "qrc:/images/icons/round-remove_circle-24px.svg"

View file

@ -346,7 +346,7 @@ Rectangle {
maxWidth: preferredColumnWidth maxWidth: preferredColumnWidth
} }
HoverableRadiusButton { MaterialButton {
id: downloadButton id: downloadButton
Layout.maximumWidth: preferredColumnWidth Layout.maximumWidth: preferredColumnWidth
@ -359,15 +359,12 @@ Rectangle {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
radius: height / 2
icon.source: "qrc:/images/icons/round-folder-24px.svg"
icon.height: 24
icon.width: 24
toolTipText: qsTr("Press to choose download folder path") toolTipText: qsTr("Press to choose download folder path")
text: downloadPath text: downloadPath
fontPointSize: JamiTheme.buttonFontSize source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey
hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed
onClicked: { onClicked: {
openDownloadFolderSlot() openDownloadFolderSlot()
@ -516,10 +513,9 @@ Rectangle {
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
} }
HoverableRadiusButton { MaterialButton {
id: recordPathButton id: recordPathButton
Layout.leftMargin: JamiTheme.preferredMarginSize
Layout.maximumWidth: preferredColumnWidth Layout.maximumWidth: preferredColumnWidth
Layout.preferredWidth: preferredColumnWidth Layout.preferredWidth: preferredColumnWidth
Layout.minimumWidth: preferredColumnWidth Layout.minimumWidth: preferredColumnWidth
@ -530,15 +526,12 @@ Rectangle {
Layout.alignment: Qt.AlignRight Layout.alignment: Qt.AlignRight
radius: height / 2
icon.source: "qrc:/images/icons/round-folder-24px.svg"
icon.height: 24
icon.width: 24
toolTipText: qsTr("Press to choose record folder path") toolTipText: qsTr("Press to choose record folder path")
text: recordPath text: recordPath
fontPointSize: JamiTheme.buttonFontSize source: "qrc:/images/icons/round-folder-24px.svg"
color: JamiTheme.buttonTintedGrey
hoveredColor: JamiTheme.buttonTintedGreyHovered
pressedColor: JamiTheme.buttonTintedGreyPressed
onClicked: { onClicked: {
openRecordFolderSlot() openRecordFolderSlot()
@ -597,9 +590,9 @@ Rectangle {
id: checkUpdateButton id: checkUpdateButton
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.maximumWidth: JamiTheme.preferredButtonWidth Layout.maximumWidth: JamiTheme.preferredFieldWidth
Layout.preferredWidth: JamiTheme.preferredButtonWidth Layout.preferredWidth: JamiTheme.preferredFieldWidth
Layout.minimumWidth: JamiTheme.preferredButtonWidth Layout.minimumWidth: JamiTheme.preferredFieldWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight
@ -619,9 +612,9 @@ Rectangle {
id: installBetaButton id: installBetaButton
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignHCenter
Layout.maximumWidth: JamiTheme.preferredButtonWidth Layout.maximumWidth: JamiTheme.preferredFieldWidth
Layout.preferredWidth: JamiTheme.preferredButtonWidth Layout.preferredWidth: JamiTheme.preferredFieldWidth
Layout.minimumWidth: JamiTheme.preferredButtonWidth Layout.minimumWidth: JamiTheme.preferredFieldWidth
Layout.minimumHeight: JamiTheme.preferredFieldHeight Layout.minimumHeight: JamiTheme.preferredFieldHeight
Layout.preferredHeight: JamiTheme.preferredFieldHeight Layout.preferredHeight: JamiTheme.preferredFieldHeight
Layout.maximumHeight: JamiTheme.preferredFieldHeight Layout.maximumHeight: JamiTheme.preferredFieldHeight

View file

@ -125,7 +125,23 @@ Dialog {
x: (parent.width - width) / 2 x: (parent.width - width) / 2
y: (parent.height - height) / 2 y: (parent.height - height) / 2
title: qsTr("Link another device") header : Rectangle {
width: parent.width
height: 64
color: "transparent"
Text {
anchors.left: parent.left
anchors.leftMargin: 24
anchors.bottom: parent.bottom
anchors.bottomMargin: 24
text: qsTr("Link another device")
font.pointSize: JamiTheme.headerFontSize
}
}
height: contentItem.implicitHeight + 64 + 8
width: contentItem.implicitWidth + 24
onClosed: { onClosed: {
if(infoLabel.isSucessState){ if(infoLabel.isSucessState){
@ -136,7 +152,7 @@ Dialog {
} }
contentItem: Rectangle{ contentItem: Rectangle{
implicitWidth: 365 implicitWidth: 280
implicitHeight: 208 implicitHeight: 208
StackLayout{ StackLayout{
@ -321,79 +337,27 @@ Dialog {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
Layout.leftMargin: 11
Layout.rightMargin: 11
Layout.topMargin: 11
Layout.bottomMargin: 11
ColumnLayout{ ColumnLayout{
anchors.fill: parent anchors.fill: parent
spacing: 7 spacing: 8
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
Item{
Layout.alignment: Qt.AlignHCenter
Layout.fillHeight: true
Layout.minimumHeight: 40
Layout.maximumWidth: 20
Layout.preferredWidth: 20
Layout.minimumWidth: 20
}
RowLayout{
Layout.fillWidth: true
spacing: 0
Layout.maximumHeight: 30
Item{
Layout.fillWidth: true
Layout.maximumHeight: 20
Layout.preferredHeight: 20
Layout.minimumHeight: 20
}
Label{ Label{
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignLeft
Layout.maximumWidth: 0
Layout.preferredWidth: 341
Layout.minimumHeight: 0 Layout.minimumHeight: 0
Layout.preferredHeight: 30 Layout.preferredHeight: 30
Layout.maximumHeight: 30 Layout.maximumHeight: 30
Layout.leftMargin: 16
wrapMode: Text.Wrap wrapMode: Text.Wrap
text: qsTr("Exporting Account") text: qsTr("Exporting Account")
font.pointSize: 8 horizontalAlignment: Text.AlignLeft
font.kerning: true
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
} }
Item{
Layout.fillWidth: true
Layout.maximumHeight: 20
Layout.preferredHeight: 20
Layout.minimumHeight: 20
}
}
Item{
Layout.alignment: Qt.AlignHCenter
Layout.fillHeight: true
Layout.maximumWidth: 20
Layout.preferredWidth: 20
Layout.minimumWidth: 20
}
RowLayout{ RowLayout{
spacing: 7 spacing: 7
@ -464,66 +428,33 @@ Dialog {
Layout.fillWidth: true Layout.fillWidth: true
Layout.fillHeight: true Layout.fillHeight: true
Layout.leftMargin: 11
Layout.rightMargin: 11
Layout.topMargin: 11
Layout.bottomMargin: 11
ColumnLayout{ ColumnLayout{
anchors.fill: parent anchors.fill: parent
spacing: 7 spacing: 8
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
Item{
Layout.fillHeight: true
Layout.maximumWidth: 20
Layout.preferredWidth: 20
Layout.minimumWidth: 20
}
RowLayout{ RowLayout{
spacing: 7 spacing: 8
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignLeft
Layout.fillWidth: true Layout.fillWidth: true
Layout.leftMargin: 16
Item{
Layout.fillWidth: true
Layout.maximumHeight: 20
Layout.preferredHeight: 20
Layout.minimumHeight: 20
}
Label{ Label{
id: yourPinLabel id: yourPinLabel
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignLeft
Layout.preferredHeight: 25 Layout.preferredHeight: 25
wrapMode: Text.Wrap wrapMode: Text.Wrap
text: "Your PIN is:" text: "Your PIN is:"
font.pointSize: 8
font.kerning: true font.kerning: true
horizontalAlignment: Text.AlignHCenter horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
} }
Item{
Layout.alignment: Qt.AlignHCenter
Layout.maximumWidth: 20
Layout.preferredWidth: 20
Layout.minimumWidth: 20
Layout.maximumHeight: 20
Layout.preferredHeight: 20
Layout.minimumHeight: 20
}
Label{ Label{
id: exportedPIN id: exportedPIN
@ -539,30 +470,9 @@ Dialog {
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
} }
Item{
Layout.fillWidth: true
Layout.maximumHeight: 20
Layout.preferredHeight: 20
Layout.minimumHeight: 20
}
} }
RowLayout{ Label {
spacing: 7
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
Item{
Layout.fillWidth: true
Layout.maximumHeight: 20
Layout.preferredHeight: 20
Layout.minimumHeight: 20
}
Label{
id: infoLabel id: infoLabel
property bool isSucessState: false property bool isSucessState: false
@ -573,8 +483,9 @@ Dialog {
color: isSucessState ? "#2b5084" : "black" color: isSucessState ? "#2b5084" : "black"
padding: isSucessState ? 8 : 0 padding: isSucessState ? 8 : 0
Layout.alignment: Qt.AlignHCenter Layout.alignment: Qt.AlignLeft
Layout.preferredWidth: 320 Layout.leftMargin: 12
Layout.preferredWidth: 280 - 32
Layout.preferredHeight: 50 Layout.preferredHeight: 50
wrapMode: Text.Wrap wrapMode: Text.Wrap
@ -596,55 +507,23 @@ Dialog {
} }
} }
Item{ RowLayout {
Layout.fillWidth: true spacing: 8
Layout.maximumHeight: 20 width: 280
Layout.preferredHeight: 20 Layout.alignment: Qt.AlignRight
Layout.minimumHeight: 20
}
}
Item{ Button {
Layout.fillHeight: true
Layout.maximumWidth: 20
Layout.preferredWidth: 20
Layout.minimumWidth: 20
}
RowLayout{
spacing: 7
Layout.alignment: Qt.AlignHCenter
Layout.fillWidth: true
Item{
Layout.fillWidth: true
Layout.maximumHeight: 20
Layout.preferredHeight: 20
Layout.minimumHeight: 20
}
HoverableRadiusButton{
id: btnCloseExportDialog id: btnCloseExportDialog
Layout.alignment: Qt.AlignHCenter contentItem: Text {
text: qsTr("CLOSE")
color: JamiTheme.buttonTintedBlue
}
Layout.maximumWidth: 130 background: Rectangle {
Layout.preferredWidth: 130 color: "transparent"
Layout.minimumWidth: 130 }
Layout.maximumHeight: 30
Layout.preferredHeight: 30
Layout.minimumHeight: 30
radius: height /2
text: qsTr("Close")
font.pointSize: 10
font.kerning: true
onClicked: { onClicked: {
if(infoLabel.isSucessState){ if(infoLabel.isSucessState){
@ -654,22 +533,6 @@ Dialog {
} }
} }
} }
Item{
Layout.fillWidth: true
Layout.maximumHeight: 20
Layout.preferredHeight: 20
Layout.minimumHeight: 20
}
}
Item{
Layout.fillHeight: true
Layout.maximumWidth: 20
Layout.preferredWidth: 20
Layout.minimumWidth: 20
} }
} }
} }

View file

@ -118,16 +118,20 @@ Rectangle {
verticalAlignment: Text.AlignVCenter verticalAlignment: Text.AlignVCenter
} }
HoverableRadiusButton { MaterialButton {
id: installButton id: installButton
Layout.fillWidth: true Layout.fillWidth: false
Layout.preferredHeight: 30 color: JamiTheme.buttonTintedBlack
hoveredColor: JamiTheme.buttonTintedBlackHovered
pressedColor: JamiTheme.buttonTintedBlackPressed
outlined: true
toolTipText: qsTr("Press to add new plugins")
radius: height / 2 source: "qrc:/images/icons/round-add-24px.svg"
text: qsTr("+ Install plugin") text: qsTr("Install Plugin")
fontPointSize: JamiTheme.settingsFontSize font.pointSize: JamiTheme.textFontSize
font.kerning: true font.kerning: true
onClicked: { onClicked: {
@ -172,4 +176,3 @@ Rectangle {
} }
} }
} }

View file

@ -34,7 +34,7 @@ ItemDelegate {
signal videoCodecStateChange(string idToSet , bool isToBeEnabled) signal videoCodecStateChange(string idToSet , bool isToBeEnabled)
property int checkBoxWidth: 10 property int checkBoxWidth: 24
highlighted: ListView.isCurrentItem highlighted: ListView.isCurrentItem
@ -58,13 +58,15 @@ ItemDelegate {
tristate: false tristate: false
checkState: isEnabled ? Qt.Checked : Qt.Unchecked checkState: isEnabled ? Qt.Checked : Qt.Unchecked
indicator.implicitWidth: checkBoxWidth
indicator.implicitHeight:checkBoxWidth
indicator.layer.textureSize.width: checkBoxWidth
indicator.layer.textureSize.height: checkBoxWidth
text: "" text: ""
indicator: Image {
anchors.centerIn: parent
width: checkBoxWidth
height: checkBoxWidth
source: checkBoxIsEnabled.checked ?
"qrc:/images/icons/check_box-24px.svg" :
"qrc:/images/icons/check_box_outline_blank-24px.svg"
}
nextCheckState: function() { nextCheckState: function() {
var result var result