diff --git a/src/newaccountsettingsview.cpp b/src/newaccountsettingsview.cpp index 6add7c5b92ce2996ca1d7715774a5292668d2ade..add0518e0ab2c26f7124514a07aa869fb74145cb 100644 --- a/src/newaccountsettingsview.cpp +++ b/src/newaccountsettingsview.cpp @@ -66,6 +66,7 @@ struct _NewAccountSettingsViewPrivate GtkWidget* stack_account; GtkWidget* general_settings_box; + GtkWidget* box_account; GtkWidget* sip_account_enabled; GtkWidget* account_enabled; GtkWidget* sip_label_status; @@ -79,7 +80,8 @@ struct _NewAccountSettingsViewPrivate GtkWidget* account_options_box; GtkWidget* type_box; GtkWidget* label_type_info; - GtkWidget* username_box; + GtkWidget* username_row; + GtkWidget* username_box; GtkWidget* password_row; GtkWidget* label_change_password; GtkWidget* sip_info_box; @@ -254,6 +256,7 @@ new_account_settings_view_class_init(NewAccountSettingsViewClass *klass) gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, stack_account); gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, general_settings_box); + gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, box_account); gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, account_enabled); gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, sip_account_enabled); gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, sip_label_status); @@ -266,6 +269,7 @@ new_account_settings_view_class_init(NewAccountSettingsViewClass *klass) gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, account_options_box); gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, type_box); gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, label_type_info); + gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, username_row); gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, username_box); gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, password_row); gtk_widget_class_bind_template_child_private(GTK_WIDGET_CLASS(klass), NewAccountSettingsView, label_change_password); @@ -2002,6 +2006,8 @@ new_account_settings_view_update(NewAccountSettingsView *view, gboolean reset_vi return; } + bool has_account_manager = !priv->currentProp_->managerUri.empty(); + auto label_status = priv->label_status; if ((*priv->accountInfo_)->profileInfo.type != lrc::api::profile::Type::RING) { label_status = priv->sip_label_status; @@ -2111,6 +2117,13 @@ new_account_settings_view_update(NewAccountSettingsView *view, gboolean reset_vi max_width = std::max(max_width, label_password.size()); if (label_id.size() != max_width) gtk_label_set_width_chars(GTK_LABEL(priv->label_id), max_width + 1); + + gtk_button_set_label(GTK_BUTTON(priv->button_delete_account), has_account_manager? _("Remove account") : _("Delete account")); + if (has_account_manager) { + gtk_widget_hide(priv->button_export_account); + gtk_widget_hide(priv->password_row); + gtk_widget_hide(priv->button_add_device); + } } else { gtk_switch_set_active(GTK_SWITCH(priv->sip_account_enabled), (*priv->accountInfo_)->enabled); diff --git a/ui/newaccountsettingsview.ui b/ui/newaccountsettingsview.ui index ea746413a47d5291990df300f480062b2c14055f..9745b34a72cfc47c2abdd404441646171426b52d 100644 --- a/ui/newaccountsettingsview.ui +++ b/ui/newaccountsettingsview.ui @@ -315,7 +315,7 @@ vertical 8 - + True 24 horizontal @@ -480,7 +480,7 @@ - + True True fill