| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  | import QtQuick 2.7 | 
					
						
							|  |  |  | import QtQuick.Controls 2.2 | 
					
						
							| 
									
										
										
										
											2019-04-28 15:45:42 -04:00
										 |  |  | import QtQuick.Layouts 1.3 | 
					
						
							| 
									
										
										
										
											2019-05-01 03:25:58 -04:00
										 |  |  | import QtQuick.Window 2.7 | 
					
						
							| 
									
										
										
										
											2019-04-28 15:18:36 -04:00
										 |  |  | import "Base" | 
					
						
							|  |  |  | import "SidePane" | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-28 00:44:55 -04:00
										 |  |  | Item { | 
					
						
							| 
									
										
										
										
											2019-04-27 21:07:20 -04:00
										 |  |  |     id: mainUI | 
					
						
							| 
									
										
										
										
											2019-04-28 00:44:55 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-28 15:18:36 -04:00
										 |  |  |     HImage { | 
					
						
							| 
									
										
										
										
											2019-04-28 00:44:55 -04:00
										 |  |  |         id: mainUIBackground | 
					
						
							|  |  |  |         fillMode: Image.PreserveAspectCrop | 
					
						
							|  |  |  |         source: "../images/login_background.jpg" | 
					
						
							| 
									
										
										
										
											2019-05-01 03:25:58 -04:00
										 |  |  |         sourceSize.width: Screen.width | 
					
						
							|  |  |  |         sourceSize.height: Screen.height | 
					
						
							| 
									
										
										
										
											2019-04-28 00:44:55 -04:00
										 |  |  |         anchors.fill: parent | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-02 14:54:37 -04:00
										 |  |  |     property bool accountsLoggedIn: Backend.clients.count > 0 | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-28 15:18:36 -04:00
										 |  |  |     HSplitView { | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  |         anchors.fill: parent | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-28 15:18:36 -04:00
										 |  |  |         SidePane { | 
					
						
							| 
									
										
										
										
											2019-04-28 14:20:30 -04:00
										 |  |  |             property int parentWidth: parent.width | 
					
						
							|  |  |  |             onParentWidthChanged: width = Math.min(parent.width * 0.3, 300) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  |             Layout.minimumWidth: 36 | 
					
						
							| 
									
										
										
										
											2019-04-28 12:40:42 -04:00
										 |  |  |             Layout.maximumWidth: parent.width | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  |             visible: accountsLoggedIn | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         StackView { | 
					
						
							| 
									
										
										
										
											2019-04-28 00:44:55 -04:00
										 |  |  |             id: pageStack | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             property bool initialPageSet: false | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-27 21:07:20 -04:00
										 |  |  |             function showPage(name, properties) { | 
					
						
							| 
									
										
										
										
											2019-04-28 12:45:12 -04:00
										 |  |  |                 pageStack.replace("Pages/" + name + ".qml", properties || {}) | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-02 14:20:21 -04:00
										 |  |  |             function showRoom(userId, category, roomId) { | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  |                 pageStack.replace( | 
					
						
							| 
									
										
										
										
											2019-05-02 14:20:21 -04:00
										 |  |  |                     "Chat/Chat.qml", | 
					
						
							|  |  |  |                     { userId: userId, category: category, roomId: roomId } | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  |                 ) | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-04-28 00:44:55 -04:00
										 |  |  |             Component.onCompleted: { | 
					
						
							| 
									
										
										
										
											2019-04-28 20:37:11 -04:00
										 |  |  |                 if (pageStack.initialPageSet) { return } | 
					
						
							|  |  |  |                 pageStack.initialPageSet = true | 
					
						
							| 
									
										
										
										
											2019-04-28 00:44:55 -04:00
										 |  |  |                 showPage(accountsLoggedIn ? "Default" : "SignIn") | 
					
						
							|  |  |  |             } | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |             onCurrentItemChanged: if (currentItem) { | 
					
						
							|  |  |  |                 currentItem.forceActiveFocus() | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             // Buggy
 | 
					
						
							|  |  |  |             replaceExit: null | 
					
						
							|  |  |  |             popExit: null | 
					
						
							|  |  |  |             pushExit: null | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2019-05-06 13:07:00 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |         Keys.onEscapePressed: Backend.pdb()  // TODO: only if debug mode True
 | 
					
						
							| 
									
										
										
										
											2019-04-27 18:54:33 -04:00
										 |  |  |     } | 
					
						
							|  |  |  | } |