I have made the following changes intended for : CE:MW:Shared / qt-components CE:MW:Shared / libmeegotouch CE:MW:Shared / mthemedaemon
Please review and accept or decline. BOSS has already run some checks on this request. See the "Messages from BOSS" section below. https://build.pub.meego.com//request/show/7188 Thank You, Robin Burchell [This message was auto-generated] --- Request # 7188: Messages from BOSS: State: review at 2012-10-29T22:09:43 by bossbot Reviews: new for Project:MTF:MW : new for Project:MTF:MW : new for Project:MTF:MW : accepted by bossbot : Prechecks succeeded. new for CE-maintainers : Please replace this text with a review and approve/reject the review (not the SR). BOSS will take care of the rest Changes: submit: Project:MTF:MW / qt-components -> CE:MW:Shared / qt-components changes files: -------------- --- qt-components.changes +++ qt-components.changes @@ -0,0 +1,8 @@ +* Mon Oct 29 2012 Robin Burchell <[email protected]> - 1.4.4 +- Fixes NEMO#511: Toolbar animations are incorrect (from faenil) +- Performance improvement: don't use popup bubbles in Label, add SelectableLabel (from Robin) +- Performance improvement: remove some unused imports (from Robin) +- Performance improvement: Remove some unnecessary items in Sheet (from Robin) +- Fix an obnoxious bug in sheet placement based on parent detection (from Robin) +- Add a requirement to new mthemedaemon package + old: ---- qt-components-1.4.3.tar.bz2 new: ---- qt-components-1.4.4.tar.bz2 spec files: ----------- --- qt-components.spec +++ qt-components.spec @@ -9,7 +9,7 @@ # << macros Summary: Qt Quick UX Components -Version: 1.4.3 +Version: 1.4.4 Release: 1 Group: System/Libraries License: BSD @@ -17,6 +17,7 @@ Source0: %{name}-%{version}.tar.bz2 Source100: qt-components.yaml Patch0: xruxa-screen-resolution.patch +Requires: mthemedaemon BuildRequires: pkgconfig(QtCore) >= 4.7.0 BuildRequires: pkgconfig(QtGui) BuildRequires: pkgconfig(QtOpenGL) other changes: -------------- ++++++ qt-components-1.4.3.tar.bz2 -> qt-components-1.4.4.tar.bz2 --- examples/meego/QmlComponentGallery/qml/LabelPage.qml +++ examples/meego/QmlComponentGallery/qml/LabelPage.qml @@ -39,7 +39,7 @@ ****************************************************************************/ import QtQuick 1.1 -import com.nokia.meego 1.1 +import com.nokia.meego 1.2 Page { id: labelsPage @@ -55,19 +55,18 @@ anchors.fill: parent Column { id: col - Label { text: "Plain label"; platformSelectable: true; } - Label { text: "<a href=\"http://www.nokia.com\">Invert</a> label via link"; platformSelectable: false; + SelectableLabel { text: "Plain label"; } + Label { text: "<a href=\"http://www.nokia.com\">Invert</a> label via link"; onLinkActivated: platformStyle.inverted = !platformStyle.inverted; } - Label { text: "Bold label"; font.bold: true; platformSelectable: true; } - Label { text: "Italic label"; font.italic: true; platformSelectable: true; } - Label { text: "Large label"; font.pixelSize: 100; platformSelectable: true; } + SelectableLabel { text: "Bold label"; font.bold: true; } + SelectableLabel { text: "Italic label"; font.italic: true; } + SelectableLabel { text: "Large label"; font.pixelSize: 100; } - Label { + SelectableLabel { id: coloredLabel text: "Large label with MouseArea" width: parent.width font.pixelSize: 48 - platformSelectable: true color: Qt.rgba(1.0, 0.5, 0.5, 1.0) wrapMode: Text.WordWrap @@ -81,17 +80,16 @@ } - Label { text: "Red label"; color: "red"; platformSelectable: true; } - Label { text: "Elided labels are too long"; font.italic: true; width: 200; elide: Text.ElideRight; platformSelectable: true; } + SelectableLabel { text: "Red label"; color: "red"; } + SelectableLabel { text: "Elided labels are too long"; font.italic: true; width: 200; elide: Text.ElideRight; } Label { text: "Unselectable plain label <br>" } - Label { + SelectableLabel { text: "<b>Wrapping label with a lot of text:</b> The quick brown fox jumps over the lazy dog. \ The quick brown fox jumps over the lazy dog. <br>The quick brown fox jumps over the lazy dog. \ The quick brown fox jumps over the lazy dog." font.pixelSize: 30 wrapMode: Text.Wrap width: labelsPage.width - platformSelectable: true } } --- src/meego/Label.qml +++ src/meego/Label.qml @@ -41,172 +41,18 @@ import QtQuick 1.1 import "." 1.0 -import "EditBubble.js" as Popup -import "UIConstants.js" as UI -import "SelectionHandles.js" as SelectionHandles - Text { id: root // Common public API - property bool platformSelectable: false // Styling for the Label property Style platformStyle: LabelStyle{} - //Deprecated, TODO Remove this at some point - property alias style: root.platformStyle - - property bool platformEnableEditBubble: true font.family: platformStyle.fontFamily font.pixelSize: platformStyle.fontPixelSize color: platformStyle.textColor - wrapMode: Text.Wrap - QtObject { - id: privateApi - property color __textColor - } - horizontalAlignment: locale.directionForText !== undefined && locale.directionForText(root.text) === 1 /* Qt::RightToLeft */ ? Text.AlignRight : Text.AlignLeft - - MouseArea { - id: mouseFilter - anchors.fill: parent - - enabled: platformSelectable - - Component { - id: textSelectionComponent - - TextEdit { - id: selectionTextEdit - - property bool canPaste: false - - readOnly: true - selectByMouse: true - - // TODO: For every new QML release sync new QML TextEdit properties: - clip : root.clip - color : privateApi.__textColor - font.bold : root.font.bold - font.capitalization : root.font.capitalization - font.family : root.font.family - font.italic : root.font.italic - font.letterSpacing : root.font.letterSpacing - font.pixelSize : root.font.pixelSize - font.pointSize : root.font.pointSize - font.strikeout : root.font.strikeout - font.underline : root.font.underline - font.weight : root.font.weight - font.wordSpacing : root.font.wordSpacing - horizontalAlignment : root.horizontalAlignment - smooth : root.smooth - text : root.text - textFormat : root.textFormat - verticalAlignment : root.verticalAlignment - wrapMode : root.wrapMode - - mouseSelectionMode : TextEdit.SelectWords - - selectedTextColor : platformStyle.selectedTextColor - selectionColor : platformStyle.selectionColor - - Component.onCompleted: { - if ( root.elide == Text.ElideNone ) { - width = root.width; - height = root.height; - } - privateApi.__textColor = root.color; - root.color = Qt.rgba(0, 0, 0, 0); - selectWord(); - if (platformEnableEditBubble) { - Popup.open(selectionTextEdit,selectionTextEdit.positionToRectangle(selectionTextEdit.cursorPosition)); - SelectionHandles.open( selectionTextEdit ) - } - } - Component.onDestruction: { - root.color = privateApi.__textColor; - - if (Popup.isOpened(selectionTextEdit)) { - Popup.close(selectionTextEdit); - } - if (SelectionHandles.isOpened(selectionTextEdit)) { - SelectionHandles.close(selectionTextEdit); - } - } - - onSelectedTextChanged: { - if (selectionTextEdit.selectionStart == selectionTextEdit.selectionEnd) { - selectionTextEdit.selectWord(); - } - if (Popup.isOpened(selectionTextEdit)) { - Popup.close(selectionTextEdit); - } - } - - MouseFilter { - id: mouseSelectionFilter - anchors.fill: parent - - onFinished: { - if (platformEnableEditBubble) { - Popup.open(selectionTextEdit,selectionTextEdit.positionToRectangle(selectionTextEdit.cursorPosition)); - } - } - } - - InverseMouseArea { - anchors.fill: parent - enabled: textSelectionLoader.sourceComponent != undefined - - onPressedOutside: { // Pressed instead of Clicked to prevent selection overlap - if (Popup.isOpened(selectionTextEdit) && ((mouseX > Popup.geometry().left && mouseX < Popup.geometry().right) && - (mouseY > Popup.geometry().top && mouseY < Popup.geometry().bottom))) { - return - } - if (SelectionHandles.isOpened(selectionTextEdit)) { - if (SelectionHandles.leftHandleContains(Qt.point(mouseX, mouseY))) { - return - } - if (SelectionHandles.rightHandleContains(Qt.point(mouseX, mouseY))) { - return - } - } - textSelectionLoader.sourceComponent = undefined; - } - onClickedOutside: { // Handles Copy click - if (SelectionHandles.isOpened(selectionTextEdit) && - ( SelectionHandles.leftHandleContains(Qt.point(mouseX, mouseY)) || - SelectionHandles.rightHandleContains(Qt.point(mouseX, mouseY)) ) ) { - return - } - if (Popup.isOpened(selectionTextEdit) && ((mouseX > Popup.geometry().left && mouseX < Popup.geometry().right) && - (mouseY > Popup.geometry().top && mouseY < Popup.geometry().bottom))) { - textSelectionLoader.sourceComponent = undefined; - return; - } - } - } - } - } - Loader { - id: textSelectionLoader - } - - onPressAndHold:{ - if (root.platformSelectable == false) return; // keep old behavior if selection is not requested - - textSelectionLoader.sourceComponent = textSelectionComponent; - - // select word that is covered by long press: - var cursorPos = textSelectionLoader.item.positionAt(mouse.x, mouse.y); - textSelectionLoader.item.cursorPosition = cursorPos; - if (platformEnableEditBubble) { - Popup.open(textSelectionLoader.item,textSelectionLoader.item.positionToRectangle(textSelectionLoader.item.cursorPosition)); - } - } - } } --- src/meego/SelectableLabel.qml +++ src/meego/SelectableLabel.qml @@ -0,0 +1,197 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation ([email protected]) +** +** This file is part of the Qt Components project. +** +** $QT_BEGIN_LICENSE:BSD$ +** You may use this file under the terms of the BSD license as follows: +** +** "Redistribution and use in source and binary forms, with or without +** modification, are permitted provided that the following conditions are +** met: +** * Redistributions of source code must retain the above copyright +** notice, this list of conditions and the following disclaimer. +** * Redistributions in binary form must reproduce the above copyright +** notice, this list of conditions and the following disclaimer in +** the documentation and/or other materials provided with the +** distribution. +** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor +** the names of its contributors may be used to endorse or promote +** products derived from this software without specific prior written +** permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." +** $QT_END_LICENSE$ +** +****************************************************************************/ + +import QtQuick 1.1 +import "." 1.0 + +import "EditBubble.js" as Popup +import "SelectionHandles.js" as SelectionHandles + +Label { + id: root + + // Common public API + property bool platformSelectable: true + property bool platformEnableEditBubble: true + + QtObject { + id: privateApi + property color __textColor + } + + MouseArea { + id: mouseFilter + anchors.fill: parent + + enabled: platformSelectable + + Component { + id: textSelectionComponent + + TextEdit { + id: selectionTextEdit + + property bool canPaste: false + + readOnly: true + selectByMouse: true + + // TODO: For every new QML release sync new QML TextEdit properties: + clip : root.clip + color : privateApi.__textColor + font.bold : root.font.bold + font.capitalization : root.font.capitalization + font.family : root.font.family + font.italic : root.font.italic + font.letterSpacing : root.font.letterSpacing + font.pixelSize : root.font.pixelSize + font.pointSize : root.font.pointSize + font.strikeout : root.font.strikeout + font.underline : root.font.underline + font.weight : root.font.weight + font.wordSpacing : root.font.wordSpacing + horizontalAlignment : root.horizontalAlignment + smooth : root.smooth + text : root.text + textFormat : root.textFormat + verticalAlignment : root.verticalAlignment + wrapMode : root.wrapMode + + mouseSelectionMode : TextEdit.SelectWords + + selectedTextColor : platformStyle.selectedTextColor + selectionColor : platformStyle.selectionColor + + Component.onCompleted: { + if ( root.elide == Text.ElideNone ) { + width = root.width; + height = root.height; + } + privateApi.__textColor = root.color; + root.color = Qt.rgba(0, 0, 0, 0); + selectWord(); + if (platformEnableEditBubble) { + Popup.open(selectionTextEdit,selectionTextEdit.positionToRectangle(selectionTextEdit.cursorPosition)); + SelectionHandles.open( selectionTextEdit ) + } + } + Component.onDestruction: { + root.color = privateApi.__textColor; + + if (Popup.isOpened(selectionTextEdit)) { + Popup.close(selectionTextEdit); + } + if (SelectionHandles.isOpened(selectionTextEdit)) { + SelectionHandles.close(selectionTextEdit); + } + } + + onSelectedTextChanged: { + if (selectionTextEdit.selectionStart == selectionTextEdit.selectionEnd) { + selectionTextEdit.selectWord(); + } + if (Popup.isOpened(selectionTextEdit)) { + Popup.close(selectionTextEdit); + } + } + + MouseFilter { + id: mouseSelectionFilter + anchors.fill: parent + + onFinished: { + if (platformEnableEditBubble) { + Popup.open(selectionTextEdit,selectionTextEdit.positionToRectangle(selectionTextEdit.cursorPosition)); + } + } + } + + InverseMouseArea { + anchors.fill: parent + enabled: textSelectionLoader.sourceComponent != undefined + + onPressedOutside: { // Pressed instead of Clicked to prevent selection overlap + if (Popup.isOpened(selectionTextEdit) && ((mouseX > Popup.geometry().left && mouseX < Popup.geometry().right) && + (mouseY > Popup.geometry().top && mouseY < Popup.geometry().bottom))) { + return + } + if (SelectionHandles.isOpened(selectionTextEdit)) { + if (SelectionHandles.leftHandleContains(Qt.point(mouseX, mouseY))) { + return + } + if (SelectionHandles.rightHandleContains(Qt.point(mouseX, mouseY))) { + return + } + } + textSelectionLoader.sourceComponent = undefined; + } + onClickedOutside: { // Handles Copy click + if (SelectionHandles.isOpened(selectionTextEdit) && + ( SelectionHandles.leftHandleContains(Qt.point(mouseX, mouseY)) || + SelectionHandles.rightHandleContains(Qt.point(mouseX, mouseY)) ) ) { + return + } + if (Popup.isOpened(selectionTextEdit) && ((mouseX > Popup.geometry().left && mouseX < Popup.geometry().right) && + (mouseY > Popup.geometry().top && mouseY < Popup.geometry().bottom))) { + textSelectionLoader.sourceComponent = undefined; + return; + } + } + } + } + } + Loader { + id: textSelectionLoader + } + + onPressAndHold:{ + if (root.platformSelectable == false) return; // keep old behavior if selection is not requested + + textSelectionLoader.sourceComponent = textSelectionComponent; + + // select word that is covered by long press: + var cursorPos = textSelectionLoader.item.positionAt(mouse.x, mouse.y); + textSelectionLoader.item.cursorPosition = cursorPos; + if (platformEnableEditBubble) { + Popup.open(textSelectionLoader.item,textSelectionLoader.item.positionToRectangle(textSelectionLoader.item.cursorPosition)); + } + } + } +} --- src/meego/Sheet.qml +++ src/meego/Sheet.qml @@ -41,15 +41,15 @@ import QtQuick 1.1 import "." 1.0 -Item { +MouseArea { id: root width: parent ? parent.width : 0 height: parent ? parent.height : 0 - property alias title: titleBar.children + property alias title: header.children property alias content: contentField.children - property alias buttons: buttonRow.children + property alias buttons: header.children property Item visualParent property int status: DialogStatus.Closed @@ -109,20 +109,14 @@ return undefined; } - MouseArea { - id: blockMouseInput - anchors.fill: parent - } - Item { id: sheet //when the sheet is part of a page do nothing //when the sheet is a direct child of a PageStackWindow, consider the status bar - property int statusBarOffset: (typeof __isPage != "undefined") ? 0 - : (typeof __statusBarHeight == "undefined") ? 0 - : __statusBarHeight - + property int statusBarOffset: (parent.objectName != "windowContent") ? 0 + : (typeof __statusBarHeight == "undefined") ? 0 + : __statusBarHeight width: parent.width height: parent.height - statusBarOffset @@ -174,61 +168,46 @@ ] BorderImage { + id: contentField source: platformStyle.background width: parent.width anchors.top: header.bottom anchors.bottom: parent.bottom - Item { - id: contentField - anchors.fill: parent - } } - Item { + BorderImage { id: header width: parent.width - height: headerBackground.height - BorderImage { - id: headerBackground - border { - left: platformStyle.headerBackgroundMarginLeft - right: platformStyle.headerBackgroundMarginRight - top: platformStyle.headerBackgroundMarginTop - bottom: platformStyle.headerBackgroundMarginBottom - } - source: platformStyle.headerBackground - width: header.width - } - Item { - id: buttonRow - anchors.fill: parent - SheetButton { - id: rejectButton - objectName: "rejectButton" - anchors.left: parent.left - anchors.leftMargin: root.platformStyle.rejectButtonLeftMargin - anchors.verticalCenter: parent.verticalCenter - visible: text != "" - onClicked: close() - } - SheetButton { - id: acceptButton - objectName: "acceptButton" - anchors.right: parent.right - anchors.rightMargin: root.platformStyle.acceptButtonRightMargin - anchors.verticalCenter: parent.verticalCenter - platformStyle: SheetButtonAccentStyle { } - visible: text != "" - onClicked: close() - } - Component.onCompleted: { - acceptButton.clicked.connect(accepted) - rejectButton.clicked.connect(rejected) - } - } - Item { - id: titleBar - anchors.fill: parent + border { + left: platformStyle.headerBackgroundMarginLeft + right: platformStyle.headerBackgroundMarginRight + top: platformStyle.headerBackgroundMarginTop + bottom: platformStyle.headerBackgroundMarginBottom + } + source: platformStyle.headerBackground + + SheetButton { + id: rejectButton + objectName: "rejectButton" + anchors.left: parent.left + anchors.leftMargin: root.platformStyle.rejectButtonLeftMargin + anchors.verticalCenter: parent.verticalCenter + visible: text != "" + onClicked: close() + } + SheetButton { + id: acceptButton + objectName: "acceptButton" + anchors.right: parent.right + anchors.rightMargin: root.platformStyle.acceptButtonRightMargin + anchors.verticalCenter: parent.verticalCenter + platformStyle: SheetButtonAccentStyle { } + visible: text != "" + onClicked: close() + } + Component.onCompleted: { + acceptButton.clicked.connect(accepted) + rejectButton.clicked.connect(rejected) } } } --- src/meego/ToolBar.qml +++ src/meego/ToolBar.qml @@ -113,15 +113,15 @@ PropertyChanges { target: root; height: 0; visible: false; } }, State { - name: "" - when: !(privateVisibility == ToolBarVisibility.Visible || tools == null) + name: "visible" + when: (privateVisibility == ToolBarVisibility.Visible && tools != null) PropertyChanges { target: root; height: bgImage.height; visible: true; } } ] // Transition between active and inactive states. transitions: Transition { - from: ""; to: "hidden"; reversible: true; + from: "visible"; to: "hidden"; reversible: true; SequentialAnimation { PropertyAnimation { properties: "height"; @@ -182,7 +182,7 @@ // select container states based on the transition animation var transitions = { - "set": { "new": "", "old": "hidden" }, + "set": { "new": "default", "old": "hidden" }, "push": { "new": "right", "old": "left" }, "pop": { "new": "left", "old": "right" }, "replace": { "new": "front", "old": "back" } @@ -203,7 +203,7 @@ __currentContainer.state = animation["old"]; if (tools) { container.state = animation["new"]; - container.state = ""; + container.state = "default"; } __currentContainer = container; @@ -261,6 +261,11 @@ PropertyChanges { target: container; visible: true } PropertyChanges { target: container; scale: 0.85; opacity: 0.0 } }, + State { + name: "default" + PropertyChanges { target: container; visible: true } + PropertyChanges { target: container; scale: 1.0; opacity: 1.0; x: 0.0 } + }, // Inactive state. State { name: "hidden" @@ -272,7 +277,7 @@ transitions: [ // Pop entry and push exit transition. Transition { - from: ""; to: "left"; reversible: true + from: "default"; to: "left"; reversible: true SequentialAnimation { PropertyAnimation { properties: "x,opacity"; easing.type: Easing.InCubic; duration: platformStyle.contentTransitionDuration / 2 } PauseAnimation { duration: platformStyle.contentTransitionDuration / 2 } @@ -281,7 +286,7 @@ }, // Push entry and pop exit transition. Transition { - from: ""; to: "right"; reversible: true + from: "default"; to: "right"; reversible: true SequentialAnimation { PropertyAnimation { properties: "x,opacity"; easing.type: Easing.InCubic; duration: platformStyle.contentTransitionDuration / 2 } PauseAnimation { duration: platformStyle.contentTransitionDuration / 2 } @@ -290,14 +295,14 @@ }, Transition { // Replace entry transition. - from: "front"; to: ""; + from: "front"; to: "default"; SequentialAnimation { PropertyAnimation { properties: "scale,opacity"; easing.type: Easing.InOutExpo; duration: platformStyle.contentTransitionDuration } } }, Transition { // Replace exit transition. - from: ""; to: "back"; + from: "default"; to: "back"; SequentialAnimation { PropertyAnimation { properties: "scale,opacity"; easing.type: Easing.InOutExpo; duration: platformStyle.contentTransitionDuration } ScriptAction { script: if (state == "back") state = "hidden" } --- src/meego/meego.pro +++ src/meego/meego.pro @@ -169,6 +169,7 @@ style/MenuStyle.qml \ Fader.qml \ Label.qml \ + SelectableLabel.qml \ style/LabelStyle.qml \ AbstractMenu.qml \ Menu.qml \ --- src/meego/qmldir +++ src/meego/qmldir @@ -21,6 +21,7 @@ MultiSelectionDialog 1.0 MultiSelectionDialog.qml SelectionDialogStyle 1.0 SelectionDialogStyle.qml Label 1.0 Label.qml +SelectableLabel 1.2 SelectableLabel.qml LabelStyle 1.0 LabelStyle.qml Menu 1.0 Menu.qml MenuLayout 1.0 MenuLayout.qml ++++++ qt-components.yaml --- qt-components.yaml +++ qt-components.yaml @@ -1,6 +1,6 @@ Name: qt-components Summary: Qt Quick UX Components -Version: 1.4.3 +Version: 1.4.4 Release: 1 Group: System/Libraries License: BSD @@ -24,6 +24,8 @@ - contextsubscriber-1.0 - maliit-1.0 - mlite +Requires: + - mthemedaemon Configure: none Builder: make RunFdupes: submit: Project:MTF:MW / libmeegotouch -> CE:MW:Shared / libmeegotouch changes files: -------------- --- libmeegotouch.changes +++ libmeegotouch.changes @@ -0,0 +1,5 @@ +* Mon Oct 29 2012 Robin Burchell <[email protected]> - 0.30.0 +- Merge all pending patches from OBS +- Split mthemedaemon out into a seperate package/source tree +- Depend on new mthemedaemon package + old: ---- 0001-reformat-warning-messages-to-ease-parsing.patch 0002-add-configurable-logging-to-file-0.26.1.patch BMC_22845_move-var-run-to-home.patch BMC_4068_default_autodetect_conf.patch BMC_8268_show_statusbar_on_n900.patch allow-cursor-control-env.patch arm_egl_visibility.patch libmeegotouch-0.24.21-no-werror.patch libmeegotouch-0.25.6-link-with-missing-libs.patch libmeegotouch-0.26.1-fix-build.patch libmeegotouch-0.26.1-fix-inotify-build.patch libmeegotouch-0.26.1-support-theme-symlinks.patch meegotouch-libmeegotouch-0.26.1.tar.gz mthemedaemon.desktop mthemedaemon.service revert-MPanRecognizerTouch-usage-on-arm.patch new: ---- libmeegotouch-0.30.0.tar.bz2 spec files: ----------- --- libmeegotouch.spec +++ libmeegotouch.spec @@ -9,31 +9,17 @@ # << macros Summary: MeeGo Touch Framework -Version: 0.26.1 +Version: 0.30.0 Release: 1 Group: System/Libraries License: LGPLv2.1 URL: http://meego.gitorious.org/meegotouch/libmeegotouch -Source0: meegotouch-libmeegotouch-%{version}.tar.gz +Source0: %{name}-%{version}.tar.bz2 Source1: libmeegotouch.sh -Source2: mthemedaemon.desktop -Source3: mthemedaemon.service Source100: libmeegotouch.yaml -Patch0: arm_egl_visibility.patch -Patch1: BMC_8268_show_statusbar_on_n900.patch -Patch2: BMC_4068_default_autodetect_conf.patch -Patch3: BMC_22845_move-var-run-to-home.patch -Patch4: revert-MPanRecognizerTouch-usage-on-arm.patch -Patch5: allow-cursor-control-env.patch -Patch6: libmeegotouch-0.25.6-link-with-missing-libs.patch -Patch7: libmeegotouch-0.24.21-no-werror.patch -Patch8: 0001-reformat-warning-messages-to-ease-parsing.patch -Patch9: 0002-add-configurable-logging-to-file-0.26.1.patch -Patch10: libmeegotouch-0.26.1-support-theme-symlinks.patch -Patch11: libmeegotouch-0.26.1-fix-build.patch -Patch12: libmeegotouch-0.26.1-fix-inotify-build.patch Requires: meegotouch-theme >= 0.20.79 Requires: libmeegotouch-l10n-en +Requires: mthemedaemon Requires(post): /sbin/ldconfig Requires(postun): /sbin/ldconfig BuildRequires: pkgconfig(QtOpenGL) @@ -188,34 +174,8 @@ %prep -%setup -q -n meegotouch-%{name} +%setup -q -n %{name} -# arm_egl_visibility.patch -%patch0 -p1 -# BMC_8268_show_statusbar_on_n900.patch -%patch1 -p1 -# BMC_4068_default_autodetect_conf.patch -%patch2 -p1 -# BMC_22845_move-var-run-to-home.patch -%patch3 -p1 -# revert-MPanRecognizerTouch-usage-on-arm.patch -%patch4 -p1 -# allow-cursor-control-env.patch -%patch5 -p1 -# libmeegotouch-0.25.6-link-with-missing-libs.patch -%patch6 -p1 -# libmeegotouch-0.24.21-no-werror.patch -%patch7 -p1 -# 0001-reformat-warning-messages-to-ease-parsing.patch -%patch8 -p1 -# 0002-add-configurable-logging-to-file-0.26.1.patch -%patch9 -p1 -# libmeegotouch-0.26.1-support-theme-symlinks.patch -%patch10 -p1 -# libmeegotouch-0.26.1-fix-build.patch -%patch11 -p1 -# libmeegotouch-0.26.1-fix-inotify-build.patch -%patch12 -p1 # >> setup # << setup @@ -255,15 +215,9 @@ # << install pre mkdir -p %{buildroot}%{_sysconfdir}/profile.d cp -a %{SOURCE1} %{buildroot}%{_sysconfdir}/profile.d -mkdir -p %{buildroot}%{_sysconfdir}/xdg/autostart -cp -a %{SOURCE2} %{buildroot}%{_sysconfdir}/xdg/autostart -mkdir -p %{buildroot}%{_libdir}/systemd/user/ -cp -a %{SOURCE3} %{buildroot}%{_libdir}/systemd/user/ # >> install post -# Create the mthemedaemon cache directory -mkdir -p %{buildroot}/var/cache/meegotouch # Avoid mmoc confusion: ship script on ARM and binary on IA32 %ifarch %{ix86} rm -f %{buildroot}%{_bindir}/mmoc.pl @@ -281,23 +235,13 @@ %post -p /sbin/ldconfig -%postun -/sbin/ldconfig -# >> postun -if [ -d /var/cache/meegotouch ]; then -rm -rf /var/cache/meegotouch -fi -# << postun +%postun -p /sbin/ldconfig %files %defattr(-,root,root,-) # >> files -%config %{_sysconfdir}/meegotouch/themedaemonpriorities.conf %config %{_sysconfdir}/profile.d/libmeegotouch.sh -%config %{_sysconfdir}/xdg/autostart/mthemedaemon.desktop -%{_libdir}/systemd/user/mthemedaemon.service %{_bindir}/mservicemapper -%{_bindir}/mthemedaemon %{_libdir}/libmeegotouchcore.so.* %{_libdir}/libmeegotouchextensions.so.* %{_libdir}/libmeegotouchsettings.so.* @@ -334,7 +278,6 @@ %{_datadir}/themes/base/meegotouch/widgetsgallery/svg/multimedia-overlays.svg %{_datadir}/l10n/meegotouch/libmeegotouch.qm %{_datadir}/l10n/meegotouch/widgetsgallery.qm -%attr(1777, -, -) /var/cache/meegotouch # << files %files devel other changes: -------------- ++++++ libmeegotouch-0.30.0.tar.bz2 (new) ++++++ libmeegotouch.yaml --- libmeegotouch.yaml +++ libmeegotouch.yaml @@ -1,32 +1,18 @@ Name: libmeegotouch Summary: MeeGo Touch Framework -Version: 0.26.1 +Version: 0.30.0 Release: 1 Group: System/Libraries License: LGPLv2.1 URL: http://meego.gitorious.org/meegotouch/libmeegotouch Sources: - - "meegotouch-libmeegotouch-%{version}.tar.gz" - -Patches: - - arm_egl_visibility.patch - - BMC_8268_show_statusbar_on_n900.patch - - BMC_4068_default_autodetect_conf.patch - - BMC_22845_move-var-run-to-home.patch - - revert-MPanRecognizerTouch-usage-on-arm.patch - - allow-cursor-control-env.patch - - libmeegotouch-0.25.6-link-with-missing-libs.patch - - libmeegotouch-0.24.21-no-werror.patch - - 0001-reformat-warning-messages-to-ease-parsing.patch - - 0002-add-configurable-logging-to-file-0.26.1.patch - - libmeegotouch-0.26.1-support-theme-symlinks.patch - - libmeegotouch-0.26.1-fix-build.patch - - libmeegotouch-0.26.1-fix-inotify-build.patch + - "%{name}-%{version}.tar.bz2" Description: | Qt based MeeGo Touch Framework for developing touch based user interfaces. Requires: - meegotouch-theme >= 0.20.79 - libmeegotouch-l10n-en + - mthemedaemon PkgBR: - doxygen - icu @@ -57,9 +43,6 @@ Builder: none ExtraSources: - libmeegotouch.sh;%{_sysconfdir}/profile.d - - mthemedaemon.desktop;%{_sysconfdir}/xdg/autostart - - mthemedaemon.service;%{_libdir}/systemd/user/ - RunFdupes: - "%{_datadir}" UseAsNeeded: no ++++++ deleted files: --- 0001-reformat-warning-messages-to-ease-parsing.patch --- 0002-add-configurable-logging-to-file-0.26.1.patch --- BMC_22845_move-var-run-to-home.patch --- BMC_4068_default_autodetect_conf.patch --- BMC_8268_show_statusbar_on_n900.patch --- allow-cursor-control-env.patch --- arm_egl_visibility.patch --- libmeegotouch-0.24.21-no-werror.patch --- libmeegotouch-0.25.6-link-with-missing-libs.patch --- libmeegotouch-0.26.1-fix-build.patch --- libmeegotouch-0.26.1-fix-inotify-build.patch --- libmeegotouch-0.26.1-support-theme-symlinks.patch --- meegotouch-libmeegotouch-0.26.1.tar.gz --- mthemedaemon.desktop --- mthemedaemon.service --- revert-MPanRecognizerTouch-usage-on-arm.patch submit: Project:MTF:MW / mthemedaemon -> CE:MW:Shared / mthemedaemon changes files: -------------- ++++++ new changes file: --- mthemedaemon.changes +++ mthemedaemon.changes @@ -0,0 +1,3 @@ +* Mon Oct 29 2012 Robin Burchell <[email protected]> - 1.0.0 +- Initial packaging, split out from libmeegotouch. +- Remove libmeegotouch dependency. new: ---- mthemedaemon-1.0.0.tar.bz2 mthemedaemon.changes mthemedaemon.desktop mthemedaemon.service mthemedaemon.spec mthemedaemon.yaml spec files: ----------- ++++++ new spec file: --- mthemedaemon.spec +++ mthemedaemon.spec @@ -0,0 +1,81 @@ +# +# Do NOT Edit the Auto-generated Part! +# Generated by: spectacle version 0.25 +# + +Name: mthemedaemon + +# >> macros +# << macros + +Summary: Shared theme resource loader +Version: 1.0.0 +Release: 1 +Group: System/Libraries +License: LGPLv2.1 +URL: https://github.com/nemomobile/mthemedaemon +Source0: %{name}-%{version}.tar.bz2 +Source1: mthemedaemon.desktop +Source2: mthemedaemon.service +Source100: mthemedaemon.yaml +Requires: nemo-theme-default +BuildRequires: pkgconfig(QtOpenGL) +BuildRequires: pkgconfig(mlite) +BuildRequires: fdupes + +%description +Daemon for sharing theme pixmaps + + + +%prep +%setup -q -n %{name} + +# >> setup +# << setup + +%build +# >> build pre +# << build pre + +%qmake + +make %{?jobs:-j%jobs} + +# >> build post +# << build post + +%install +rm -rf %{buildroot} +# >> install pre +# << install pre +%qmake_install +mkdir -p %{buildroot}%{_sysconfdir}/xdg/autostart +cp -a %{SOURCE1} %{buildroot}%{_sysconfdir}/xdg/autostart +mkdir -p %{buildroot}%{_libdir}/systemd/user/ +cp -a %{SOURCE2} %{buildroot}%{_libdir}/systemd/user/ + + +# >> install post +# Create the mthemedaemon cache directory +mkdir -p %{buildroot}/var/cache/meegotouch +# << install post + +%fdupes %{buildroot}/%{_datadir} + +%postun +# >> postun +if [ -d /var/cache/meegotouch ]; then +rm -rf /var/cache/meegotouch +fi +# << postun + +%files +%defattr(-,root,root,-) +%{_bindir}/mthemedaemon +%{_libdir}/systemd/user/mthemedaemon.service +%{_sysconfdir}/xdg/autostart/mthemedaemon.desktop +%{_sysconfdir}/meegotouch/themedaemonpriorities.conf +# >> files +%attr(1777, -, -) /var/cache/meegotouch +# << files other changes: -------------- ++++++ mthemedaemon-1.0.0.tar.bz2 (new) ++++++ mthemedaemon.desktop (new) --- mthemedaemon.desktop +++ mthemedaemon.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Exec=/usr/bin/mthemedaemon +X-Moblin-Priority=Highest +X-Meego-Watchdog=Restart + ++++++ mthemedaemon.service (new) --- mthemedaemon.service +++ mthemedaemon.service @@ -0,0 +1,9 @@ +[Unit] +Description=The MTF theme daemon +After=xorg.target +Requires=dbus.socket xorg.target + +[Service] +ExecStart=/usr/bin/mthemedaemon + + ++++++ mthemedaemon.yaml (new) --- mthemedaemon.yaml +++ mthemedaemon.yaml @@ -0,0 +1,28 @@ +Name: mthemedaemon +Summary: Shared theme resource loader +Version: 1.0.0 +Release: 1 +Group: System/Libraries +License: LGPLv2.1 +URL: https://github.com/nemomobile/mthemedaemon +Sources: + - "%{name}-%{version}.tar.bz2" +Description: | + Daemon for sharing theme pixmaps +Requires: + - nemo-theme-default +PkgConfigBR: + - QtOpenGL + - mlite +Configure: none +Builder: qmake +ExtraSources: + - mthemedaemon.desktop;%{_sysconfdir}/xdg/autostart + - mthemedaemon.service;%{_libdir}/systemd/user/ +RunFdupes: + - "%{_datadir}" +Files: + - "%{_bindir}/mthemedaemon" + - "%{_libdir}/systemd/user/mthemedaemon.service" + - "%{_sysconfdir}/xdg/autostart/mthemedaemon.desktop" + - "%{_sysconfdir}/meegotouch/themedaemonpriorities.conf"
