Skip to content
Snippets Groups Projects
Commit d42d1cd3 authored by Andreas Traczyk's avatar Andreas Traczyk
Browse files

misc: homogenize line-endings in ConversationExtrasPanel

Change-Id: I5b58db9d6e9254a177d9b86575f6dd670a086bd9
parent 762cbbff
No related branches found
No related tags found
No related merge requests found
/* /*
* Copyright (C) 2023 Savoir-faire Linux Inc. * Copyright (C) 2023 Savoir-faire Linux Inc.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3 of the License, or * the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version. * (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>. * along with this program. If not, see <https://www.gnu.org/licenses/>.
*/ */
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import net.jami.Adapters 1.1 import net.jami.Adapters 1.1
StackLayout { StackLayout {
id: root id: root
// We need to set the currentIndex to -1 to make sure the // We need to set the currentIndex to -1 to make sure the
// panel is closed when the application starts. // panel is closed when the application starts.
Component.onCompleted: closePanel() Component.onCompleted: closePanel()
// The index of the tab in the swarm details panel. // The index of the tab in the swarm details panel.
property int detailsIndex: -1 property int detailsIndex: -1
// Best to avoid using the visible property directly. // Best to avoid using the visible property directly.
// Pass through the following open/close wrappers instead. // Pass through the following open/close wrappers instead.
function openPanel(panel) { function openPanel(panel) {
currentIndex = panel; currentIndex = panel;
visible = true; visible = true;
} }
function closePanel() { function closePanel() {
currentIndex = -1; currentIndex = -1;
visible = false; visible = false;
} }
function isOpen(panel) { function isOpen(panel) {
return visible && currentIndex === panel; return visible && currentIndex === panel;
} }
// This will open the details panel if it's not already visible. // This will open the details panel if it's not already visible.
// Additionally, `toggle` being true (default) will close the panel // Additionally, `toggle` being true (default) will close the panel
// if it is already open to `panel`. // if it is already open to `panel`.
function switchToPanel(panel, toggle = true) { function switchToPanel(panel, toggle = true) {
console.debug("switchToPanel: %1, toggle: %2".arg(panel).arg(toggle)); console.debug("switchToPanel: %1, toggle: %2".arg(panel).arg(toggle));
if (visible) { if (visible) {
// We need to close the panel if it's open and we're switching to // We need to close the panel if it's open and we're switching to
// the same panel. // the same panel.
if (toggle && currentIndex === panel) { if (toggle && currentIndex === panel) {
// Toggle off. // Toggle off.
closePanel(); closePanel();
} else { } else {
// Switch to the new panel. // Switch to the new panel.
openPanel(panel); openPanel(panel);
} }
} else { } else {
openPanel(panel); openPanel(panel);
} }
} }
Connections { Connections {
target: CurrentConversationMembers target: CurrentConversationMembers
function onCountChanged() { function onCountChanged() {
// Close the panel if there are 8 or more members in the // Close the panel if there are 8 or more members in the
// conversation AND the "Add Member" panel is currently open. // conversation AND the "Add Member" panel is currently open.
if (CurrentConversationMembers.count >= 8 && isOpen(ChatView.AddMemberPanel)) { if (CurrentConversationMembers.count >= 8 && isOpen(ChatView.AddMemberPanel)) {
closePanel(); closePanel();
} }
} }
} }
SwarmDetailsPanel { SwarmDetailsPanel {
id: detailsPanel id: detailsPanel
property int parentIndex: root.currentIndex property int parentIndex: root.currentIndex
// When we change to the details panel we should load the tab index. // When we change to the details panel we should load the tab index.
onParentIndexChanged: tabBarIndex = Math.min(tabBarItemsLength - 1, Math.max(0, root.detailsIndex)) onParentIndexChanged: tabBarIndex = Math.min(tabBarItemsLength - 1, Math.max(0, root.detailsIndex))
// Save it when it changes. // Save it when it changes.
onTabBarIndexChanged: root.detailsIndex = tabBarIndex onTabBarIndexChanged: root.detailsIndex = tabBarIndex
} }
MessagesResearchPanel {} MessagesResearchPanel {}
AddMemberPanel {} AddMemberPanel {}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment