diff --git a/sandbox/Models.qml b/sandbox/Models.qml index 7f9ea91b..ecf8e911 100644 --- a/sandbox/Models.qml +++ b/sandbox/Models.qml @@ -229,13 +229,15 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I property ListModel optionsModel: ListModel { ListElement { - title: "Item with icon"; + value: "item_1" + title: "Item with icon" imageSource: "" iconName: "chat" iconColor: "" isIdenticon: false subItems: [ ListElement { + value: "sub_item_1_1" text: "Profile image item" imageSource: "https://pbs.twimg.com/profile_images/1369221718338895873/T_5fny6o_400x400.jpg" iconName: "" @@ -243,6 +245,7 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I isIdenticon: false }, ListElement { + value: "sub_item_1_2" text: "identicon item" imageSource: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAlklEQVR4nOzW0QmDQBAG4SSkl7SUQlJGCrElq9F3QdjjVhh/5nv3cFhY9vUIYQiNITSG0BhCExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2ImYgiNITTlTdG1nUZ5a92VITQxITFiJmIIjSE0htAYQrMHAAD//+wwFVpz+yqXAAAAAElFTkSuQmCC" iconName: "" @@ -250,6 +253,7 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I isIdenticon: true }]} ListElement { + value: "item_2" title: "Community item"; imageSource: "https://pbs.twimg.com/profile_images/1369221718338895873/T_5fny6o_400x400.jpg" iconName: "" @@ -257,6 +261,7 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I isIdenticon: false subItems: [ ListElement { + value: "sub_item_2_1" text: "welcome" imageSource: "" iconName: "channel" @@ -264,6 +269,7 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I isIdenticon: false }, ListElement { + value: "sub_item_2_2" text: "support" imageSource: "" iconName: "channel" @@ -271,6 +277,7 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I isIdenticon: false }, ListElement { + value: "sub_item_2_3" text: "news" imageSource: "" iconName: "channel" @@ -278,6 +285,7 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I isIdenticon: false }]} ListElement { + value: "item_3" title: "Other"; imageSource: ""; iconName: "info" @@ -285,6 +293,7 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I isIdenticon: false subItems: [ ListElement { + value: "sub_item_3_1" text: "news" imageSource: "" iconName: "channel" @@ -292,6 +301,7 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I isIdenticon: false }]} ListElement { + value: "item_4" title: "Letter identicon"; imageSource: ""; iconName: "" @@ -299,6 +309,7 @@ CExPynn1gWf9bx498P7/nzPcxEzGExhBdJGYihtAYQlO+tUZvqrPbqeudo5iJGEJjCE15a3VtodH3q2I isIdenticon: false subItems: [ ListElement { + value: "sub_item_4_1" text: "news" imageSource: "" iconName: "channel" diff --git a/src/StatusQ/Popups/StatusSearchLocationMenu.qml b/src/StatusQ/Popups/StatusSearchLocationMenu.qml index c84c557d..1c709c57 100644 --- a/src/StatusQ/Popups/StatusSearchLocationMenu.qml +++ b/src/StatusQ/Popups/StatusSearchLocationMenu.qml @@ -33,6 +33,7 @@ StatusPopupMenu { sourceComponent: (!!model.subItems && model.subItems.count > 0) ? subMenus : subMenuItemComponent onLoaded: { if (!!model.subItems && model.subItems.count > 0) { + item.parentValue = model.value item.title = model.title; item.subItemsModel = model.subItems; item.parentIconName = model.iconName; @@ -48,6 +49,7 @@ StatusPopupMenu { }); root.insertMenu(index+2, item); } else { + item.value = model.value item.text = model.title; item.iconSettings.name = model.iconName; item.iconSettings.color = model.iconColor; @@ -82,6 +84,7 @@ StatusPopupMenu { StatusPopupMenu { id: menu property var subItemsModel + property string parentValue property string parentIconName property string parentImageSource property string parentIdenticonColor @@ -89,6 +92,7 @@ StatusPopupMenu { Repeater { id: menuLoader model: menu.subItemsModel + property string parentValue: menu.parentValue property string parentTitleText: menu.title property string parentIconName: menu.parentIconName property string parentImageSource: menu.parentImageSource @@ -97,6 +101,7 @@ StatusPopupMenu { Loader { id: subMenuLoader sourceComponent: StatusSearchPopupMenuItem { + value: model.value text: model.text image.source: model.imageSource iconSettings.name: model.iconName diff --git a/src/StatusQ/Popups/StatusSearchPopupMenuItem.qml b/src/StatusQ/Popups/StatusSearchPopupMenuItem.qml index 68a8644e..3dce1f4d 100644 --- a/src/StatusQ/Popups/StatusSearchPopupMenuItem.qml +++ b/src/StatusQ/Popups/StatusSearchPopupMenuItem.qml @@ -9,6 +9,8 @@ MenuItem { id: root implicitHeight: 38 + property string value: "" + property StatusImageSettings image: StatusImageSettings { height: 16 width: 16