Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linphone-desktop
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Administrator
linphone-desktop
Commits
2d8cf788
Commit
2d8cf788
authored
Mar 20, 2017
by
Ronan Abhamon
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(ui/views/App/Main/MainWindow): use a logic file
parent
2069e990
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
79 additions
and
57 deletions
+79
-57
resources.qrc
linphone-desktop/resources.qrc
+1
-0
linphone-utils.js
linphone-desktop/ui/scripts/LinphoneUtils/linphone-utils.js
+2
-0
MainWindow.js
linphone-desktop/ui/views/App/Main/MainWindow.js
+66
-0
MainWindow.qml
linphone-desktop/ui/views/App/Main/MainWindow.qml
+10
-57
No files found.
linphone-desktop/resources.qrc
View file @
2d8cf788
...
...
@@ -324,6 +324,7 @@
<file>
ui/views/App/Main/Conversation.qml
</file>
<file>
ui/views/App/Main/Home.qml
</file>
<file>
ui/views/App/Main/InviteFriends.qml
</file>
<file>
ui/views/App/Main/MainWindow.js
</file>
<file>
ui/views/App/Main/MainWindowMenuBar.qml
</file>
<file>
ui/views/App/Main/MainWindow.qml
</file>
<file>
ui/views/App/ManageAccountsWindow.qml
</file>
...
...
linphone-desktop/ui/scripts/LinphoneUtils/linphone-utils.js
View file @
2d8cf788
...
...
@@ -6,6 +6,8 @@
.
import
'
qrc:/ui/scripts/Utils/utils.js
'
as
Utils
// =============================================================================
// Returns the username of a contact object or URI string.
function
getContactUsername
(
contact
)
{
return
Utils
.
isString
(
contact
)
...
...
linphone-desktop/ui/views/App/Main/MainWindow.js
0 → 100644
View file @
2d8cf788
// =============================================================================
// `MainWindow.qml` Logic.
// =============================================================================
.
import
QtQuick
.
Window
2.2
as
Window
.
import
'
qrc:/ui/scripts/Utils/utils.js
'
as
Utils
// =============================================================================
function
lockView
(
info
)
{
window
.
_lockedInfo
=
info
}
function
unlockView
()
{
window
.
_lockedInfo
=
undefined
}
function
setView
(
view
,
props
)
{
function
apply
(
view
,
props
)
{
if
(
window
.
visibility
===
Window
.
Minimized
)
{
window
.
visibility
=
Window
.
AutomaticVisibility
}
else
{
window
.
setVisible
(
true
)
}
collapse
.
setCollapsed
(
true
)
updateSelectedEntry
(
view
,
props
)
window
.
_currentView
=
view
contentLoader
.
setSource
(
view
+
'
.qml
'
,
props
||
{})
}
var
lockedInfo
=
window
.
_lockedInfo
if
(
!
lockedInfo
)
{
apply
(
view
,
props
)
return
}
Utils
.
openConfirmDialog
(
window
,
{
descriptionText
:
lockedInfo
.
descriptionText
,
exitHandler
:
function
(
status
)
{
if
(
status
)
{
unlockView
()
apply
(
view
,
props
)
}
else
{
updateSelectedEntry
(
window
.
_currentView
,
props
)
}
},
title
:
lockedInfo
.
title
})
}
// -----------------------------------------------------------------------------
function
updateSelectedEntry
(
view
,
props
)
{
if
(
view
===
'
Home
'
||
view
===
'
Contacts
'
)
{
menu
.
setSelectedEntry
(
view
===
'
Home
'
?
0
:
1
)
timeline
.
resetSelectedEntry
()
}
else
if
(
view
===
'
Conversation
'
)
{
menu
.
resetSelectedEntry
()
timeline
.
setSelectedEntry
(
props
.
sipAddress
)
}
else
if
(
view
===
'
ContactEdit
'
)
{
menu
.
resetSelectedEntry
()
timeline
.
resetSelectedEntry
()
}
}
linphone-desktop/ui/views/App/Main/MainWindow.qml
View file @
2d8cf788
import
QtQuick
2.7
import
QtQuick
.
Controls
2.0
import
QtQuick
.
Layouts
1.3
import
QtQuick
.
Window
2.2
// Explicit import to support Toolbar.
import
QtQuick
.
Controls
1.4
as
Controls1
...
...
@@ -12,6 +11,8 @@ import Utils 1.0
import
App
.
Styles
1.0
import
'
MainWindow.js
'
as
Logic
// =============================================================================
Controls1.ApplicationWindow
{
...
...
@@ -23,64 +24,15 @@ Controls1.ApplicationWindow {
// ---------------------------------------------------------------------------
function
lockView
(
info
)
{
_lockedInfo
=
info
Logic
.
lockView
(
info
)
}
function
unlockView
()
{
_lockedInfo
=
undefined
Logic
.
unlockView
(
info
)
}
function
setView
(
view
,
props
)
{
if
(
!
_lockedInfo
)
{
_setView
(
view
,
props
)
return
}
Utils
.
openConfirmDialog
(
window
,
{
descriptionText
:
_lockedInfo
.
descriptionText
,
exitHandler
:
function
(
status
)
{
if
(
status
)
{
unlockView
()
_setView
(
view
,
props
)
}
else
{
_updateSelectedEntry
(
_currentView
,
props
)
}
},
title
:
_lockedInfo
.
title
})
}
// ---------------------------------------------------------------------------
function
_updateSelectedEntry
(
view
,
props
)
{
if
(
view
===
'
Home
'
||
view
===
'
Contacts
'
)
{
menu
.
setSelectedEntry
(
view
===
'
Home
'
?
0
:
1
)
timeline
.
resetSelectedEntry
()
}
else
if
(
view
===
'
Conversation
'
)
{
menu
.
resetSelectedEntry
()
timeline
.
setSelectedEntry
(
props
.
sipAddress
)
}
else
if
(
view
===
'
ContactEdit
'
)
{
menu
.
resetSelectedEntry
()
timeline
.
resetSelectedEntry
()
}
}
function
_forceView
(
view
,
props
)
{
collapse
.
setCollapsed
(
true
)
_updateSelectedEntry
(
view
,
props
)
_currentView
=
view
contentLoader
.
setSource
(
view
+
'
.qml
'
,
props
||
{})
}
function
_setView
(
view
,
props
)
{
if
(
window
.
visibility
===
Window
.
Minimized
)
{
window
.
visibility
=
Window
.
AutomaticVisibility
}
else
{
window
.
setVisible
(
true
)
}
_forceView
(
view
,
props
)
Logic
.
setView
(
view
,
props
)
}
// ---------------------------------------------------------------------------
...
...
@@ -105,10 +57,6 @@ Controls1.ApplicationWindow {
// ---------------------------------------------------------------------------
Component.onCompleted
:
Utils
.
setTimeout
(
window
,
0
,
function
()
{
_forceView
(
'
Home
'
)
})
onActiveFocusItemChanged
:
activeFocusItem
==
null
&&
smartSearchBar
.
hideMenu
()
// ---------------------------------------------------------------------------
...
...
@@ -151,6 +99,8 @@ Controls1.ApplicationWindow {
target
:
window
targetHeight
:
MainWindowStyle
.
minimumHeight
visible
:
Qt
.
platform
.
os
!==
'
linux
'
Component.onCompleted
:
setCollapsed
(
true
)
}
AccountStatus
{
...
...
@@ -193,6 +143,7 @@ Controls1.ApplicationWindow {
id
:
smartSearchBar
Layout.fillWidth
:
true
entryHeight
:
MainWindowStyle
.
searchBox
.
entryHeight
maxMenuHeight
:
MainWindowStyle
.
searchBox
.
maxHeight
placeholderText
:
qsTr
(
'
mainSearchBarPlaceholder
'
)
...
...
@@ -269,6 +220,8 @@ Controls1.ApplicationWindow {
Layout.fillHeight
:
true
Layout.fillWidth
:
true
source
:
'
Home.qml
'
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment